Opened 13 months ago

Closed 12 months ago

Last modified 12 months ago

#333 closed defect (fixed)

rpm 4.13.0 does not accept backslashes in paths

Reported by: Lewis Rosenthal Owned by:
Priority: major Milestone:
Component: rpm Version:
Severity: highest Keywords:
Cc:

Description

It seems that when installing a package which is not in the current directory, rpm requires slashes as path separators, which is not very OS/2-friendly.

Example:

[C:\] rpm -i --replacepkgs c:\var\temp\myshinynew.rpm <Enter>
error: open of c:vartempmyshinynew.rpm failed: No such file or directory

Using slashes works as expected.

Downstream ticket reference:

https://mantis.arcanoae.com/view.php?id=2454

Change History (3)

comment:1 Changed 13 months ago by Silvan Scherrer

testfile uploaded to mantis.

note to myself:
rpmio/rpmfileutil.c changed

char * rpmEscapeSpaces(const char * s)
{
    const char * se;
    char * t;
    char * te;
    size_t nb = 0;

    for (se = s; *se; se++) {
#ifdef __OS2__
	if (isspace(*se) || *se == '\\')
#else
	if (isspace(*se))
#endif
	    nb++;
	nb++;
    }
    nb++;

    t = te = xmalloc(nb);
    for (se = s; *se; se++) {
#ifdef __OS2__
	if (isspace(*se) || *se == '\\')
#else
	if (isspace(*se))
#endif
	    *te++ = '\\';
	*te++ = *se;
    }
    *te = '\0';
    return t;
}

comment:2 Changed 13 months ago by Lewis Rosenthal

Unfortunately, the new rpmio7.dll requires libcn. Upgrading libc for this poses several other problems to the system (can't finish booting to the desktop, due to things not being able to launch from Startup, etc.).

This is going to take some time to figure out.

The path error for the single use case mentioned here seems to have been resolved (until a reboot, when the system becomes unusable).

comment:3 Changed 12 months ago by Silvan Scherrer

Resolution: fixed
Status: newclosed

r1621 fixes the issue. new rpm will be available soon

If you find issues with the new libcn, report it separately at our github please.

Last edited 12 months ago by Silvan Scherrer (previous) (diff)
Note: See TracTickets for help on using tickets.