Opened 14 months ago

Closed 14 months ago

Last modified 14 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 14 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 14 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 14 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 to separately please.

Version 0, edited 14 months ago by Silvan Scherrer (next)
Note: See TracTickets for help on using tickets.