• Status Assigned
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category tools → pkgutils
  • Assigned To No-one
  • Operating System CRUX
  • Severity Low
  • Priority Very Low
  • Reported Version Development
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: CRUX
Opened by mark - 18.03.2006
Last edited by Anonymous Submitter - 03.06.2006

FS#15 - pkgutils: symlink handling

When uninstalling a package that had files in /usr/var, something strange happened on removal:

# pkgrm foo
pkgrm: could not remove /usr/var/: Not a directory

This was unexpected because /usr/var is owned by \'filesystem\'. Use attached Pkgfile to reproduce.

BTW: A pkgutils category under tools would be nice.

   Pkgfile (0.1 KiB)
mark commented on 19.03.2006 11:18

Ugh, this one\'s ugly: I installed a package with a /var/tmp directory in it. Its mode was drwxr-xr-x whereas filesystem\'s is drwxrwxrwt. Installing the package results in the mode being switched to drwxr-xr-x without pkgadd complaining (which in turn resulted in X not being able to store its xkb data, so my keyboard freaked out).

jw commented on 07.04.2006 08:30

Those are two issues which are both not trivial to solve, however we\'ll look into it.

Regarding symlinks: \'pkginfo -o\' and \'pkgadd -u\' are both unaware of them too, which can lead to confusing errors.

mark commented on 13.04.2006 15:00

I think the right approach would be to detect the mismatch as a conflict, since it\'s most likely unintended. For the very few cases where the behaviour could possibly be intended (I know of none), it\'s a good idea to require user interaction (-f) anyway, as it will affect his system permanently, so he should be aware.

mark commented on 29.04.2006 18:25

I have opened a seperate bug (#63) about the directory permission issue.

sepen commented on 04.10.2008 03:15

with (pkgutils) 5.32.0, I've this results:

$ $sudo pkgadd foo#1.0-1.pkg.tar.gz
$ pkginfo -o var/foo
Package File
foo usr/var/foo/
$ sudo pkgadd -u foo#1.0-1.pkg.tar.gz
$ echo $?
0
$ sudo pkgrm foo
$ echo $?
0

I think that ATM is fixed.

Admin
jue commented on 05.04.2013 16:34

The bug wrt symlink handling of pkgadd is still alive, see Johannes' comment #2 above

I run into the issue again:

json-c, version 0.10, installs some headers into /usr/include/json. As of version 0.11 the directory /usr/include/json-c is used instead, but to keep backwards compatibility a symbolic link json-c -> json is added.

An update with pkgadd fails:

pkgadd -u json-c#0.11-1.pkg.tar.gz
usr/include/json
pkgadd: listed file(s) already installed (use -f to ignore and overwrite)

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing