The deinstall target checks whether PREFIX equals the cwd registered at install time, but fails to resolve symlinks. Fix: Patch attached with submission follows: How-To-Repeat: mkdir -p /usr/tmp/prefix ln -sf prefix /usr/tmp/link sudo make -C /usr/ports/audio/etcd (whatever) install deinstall ===> Deinstalling for audio/etcd ===> etcd-1.0.1 has a different PREFIX: /usr/tmp/prefix, skipping
Responsible Changed From-To: freebsd-ports-bugs->portmgr bsd.port.mk is portmgr territory (via the GNATS Auto Assign Tool)
Responsible Changed From-To: portmgr->beat Take for exp-run.
State Changed From-To: open->closed Committed. Thanks!
/usr/bin/readlink does not have option -f but /usr/local/bin/readlink which is installed from ports/sysutils/readlink has it. readlink: illegal option -- f error occurred in the following procedure. # cd /usr/ports # svn up # ident Mk/bsd.port.mk Mk/bsd.port.mk: $FreeBSD: head/Mk/bsd.port.mk 303381 2012-08-30 15:31:25Z beat $ $NetBSD: $ $entry: category $ # mkdir -p /usr/tmp/prefix # ln -s /usr/tmp/prefix /usr/tmp/link # make -C /usr/ports/audio/etcd PREFIX=/usr/tmp/link install deinstall ===> Installing for etcd-1.0.1 ===> etcd-1.0.1 depends on shared library: SDL-1.2.11 - found ===> Generating temporary packing list ===> Checking if audio/etcd already installed install -s -o root -g wheel -m 555 /usr/ports/audio/etcd/work/etcd-1.0.1/etcd /usr/tmp/link/bin/ ===> Registering installation for etcd-1.0.1 ===> Deinstalling for audio/etcd readlink: illegal option -- f usage: readlink [-n] [file ...] ===> etcd-1.0.1 has a different PREFIX: /usr/tmp/link, skipping Please see also http://docs.freebsd.org/cgi/mid.cgi?201208311007.q7VA7WrN066173 . Thanks, -- TAKATSU Tomonari
FreeBSD 7.4 fails to grok readlink -f as well: ===> Deinstalling for benchmarks/netperf readlink: illegal option -- f usage: readlink [-n] [file ...] ===> netperf-2.5.0_2 has a different PREFIX: /usr/local, skipping ===> Installing for netperf-2.6.0 ===> Generating temporary packing list ===> Checking if benchmarks/netperf already installed ===> An older version of benchmarks/netperf is already installed (netperf-2.5.0_2) You may wish to ``make deinstall'' and install this port again by ``make reinstall'' to upgrade it properly. If you really wish to overwrite the old port of benchmarks/netperf without deleting it first, set the variable "FORCE_PKG_REGISTER" in your environment or the "make install" command line. *** Error code 1 Stop in /usr/ports/benchmarks/netperf. *** Error code 1 Stop in /usr/ports/benchmarks/netperf. # uname -a FreeBSD 7.4-STABLE FreeBSD 7.4-STABLE #0: Fri Aug 24 15:41:28 UTC 2012 root@bf049.west.isilon.com:/usr/obj/mnt/freebsd/stable/7/sys/ISI-GENERIC amd64 # readlink --help readlink: illegal option -- - usage: readlink [-n] [file ...]
Thanks Takatsu, Garrett, this has been backed off for now.. -- Pietro Cerutti The FreeBSD Project gahr@FreeBSD.org PGP Public Key: http://gahr.ch/pgp
State Changed From-To: closed->open Change has been backed out with r303524. Pietro, do you like to have another look at it?
Responsible Changed From-To: beat->gahr Change has been backed out with r303524. Pietro, do you like to have another look at it?
Responsible Changed From-To: gahr->portmgr An alternative solution has been suggested, back to portmgr@
Responsible Changed From-To: portmgr->bdrewery I'll take it.
Is this PR still relevant?
Nah, let's get rid of it.