Opened 8 weeks ago

Closed 7 weeks ago

Last modified 7 weeks ago

#333 closed defect (fixed)

rpm 4.13.0 does not accept backslashes in paths

Reported by: lewisr 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 8 weeks ago by diver

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 8 weeks ago by lewisr

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 7 weeks ago by diver

  • Resolution set to fixed
  • Status changed from new to closed

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 7 weeks ago by diver (previous) (diff)
Note: See TracTickets for help on using tickets.