Skip site navigation (1)Skip section navigation (2)
Date:      14 Jul 2003 14:48:20 -0400
From:      Joe Marcus Clarke <marcus@marcuscom.com>
To:        Maxim Sobolev <sobomax@portaone.com>
Cc:        portmgr@FreeBSD.org
Subject:   Re: Major flaws of the new make deinstall code
Message-ID:  <1058208499.299.80.camel@gyros>
In-Reply-To: <20030714184130.GD2875@vega.vega.com>
References:  <20030714165358.GC2875@vega.vega.com> <20030714184130.GD2875@vega.vega.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-cTihZcF40K7eBiRysRA2
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Mon, 2003-07-14 at 14:41, Maxim Sobolev wrote:
> On Mon, Jul 14, 2003 at 02:23:46PM -0400, Joe Marcus Clarke wrote:
> > On Mon, 2003-07-14 at 12:53, Maxim Sobolev wrote:
> > > Folks,
> > >=20
> > > I've noticed several misbehaviours of the new make deinstall code,
> > > particularly:
> > >=20
> > > 1. The new code behaves incorrectly when there are several @cwd
> > > statements in the packing list. Particularly, it affects many
> > > ports from games category, which usually create files and dirs
> > > under /var. For some reason, make deinstall code takes the second
> > > @cwd as the prefix of the installed package and obviously mismatch
> > > happens. This needs to be corrected ASAP.
> >=20
> > Do you have a specific port in mind?  I don't recall seeing this in
> > testing.
>=20
> This is an in-house port for our product, pkg-plist looks like following:
>=20
> bin/radlast
> bin/radtest
> bin/raduse
> bin/radwho
> bin/radzap
> lib/xtradius/perlAAA.soc
> sbin/checkrad
> sbin/radiusd
> @dirrm lib/xtradius
> @cwd /var
> @exec /bin/mkdir %D/log/radacc > /dev/null 2> /dev/null || /usr/bin/true
> @unexec /bin/rmdir %D/log/radacc > /dev/null 2> /dev/null || /usr/bin/tru=
e
> @unexec if cmp -s %D/db/raddb/clients %D/db/raddb/clients.sample; then rm=
 -f %D/db/raddb/clients; fi
> db/raddb/clients.sample
> @exec [ -f %B/clients ] || cp %B/%f %B/clients
> db/raddb/dictionary
> db/raddb/dictionary.ascend
> db/raddb/dictionary.cisco
> db/raddb/dictionary.compat
> db/raddb/dictionary.livingston
> db/raddb/dictionary.quintum
> db/raddb/dictionary.shiva
> db/raddb/dictionary.tunnel
> db/raddb/dictionary.usr
> db/raddb/dictionary.versanet
> db/raddb/dictionary.xtradius
> db/raddb/execparams
> db/raddb/hints
> db/raddb/huntgroups
> @unexec if cmp -s %D/db/raddb/naslist %D/db/raddb/naslist.sample; then rm=
 -f %D/db/raddb/naslist; fi
> db/raddb/naslist.sample
> @exec [ -f %B/naslist ] || cp %B/%f %B/naslist
> db/raddb/naspasswd
> db/raddb/realms
> db/raddb/users
> db/raddb/users.xtr
> @dirrm db/raddb
>=20
> For some reason, it picks /var from the installed package as a main
> prefix resulting in false positive. I have not checked other ports
> with multiple @cwd's though.

I'll take a look.

>=20
> > > 2. In general, prefix-safety feature of make deinstall is misdesigned=
,
> > > as it should not reject deinstalling package which has no dependants
> > > (i.e. packages that depend on it) regardless of its prefix, as
> > > replacing this package with one with a different prefix will not
> > > lead to any problems I can think of.
> >=20
> > Replacing a dependency (pkgconfig, for example) with a version in a
> > different prefix could have disasterous effects if you're dealing with
> > files you expect to exist in a certain location.  In any event, make
> > deinstall-all will remove all packages with a given ORIGIN regardless o=
f
> > PKGNAME or PREFIX.
>=20
> I am not talking about "replacing", but about deleting - deleting
> package with different prefix should be harmless if no packages
> depend on one being deleted.

Ah, I see what you're saying.  The old bsd.port.mk didn't do this
either.  It only deleted the package if PKGNAME matched exactly.  At
least with this version you have the ability to remove packages based on
ORIGIN (and PREFIX).  Plus, the deinstall-all option turns on the
"ignore PREFIX" mode.

Joe

>=20
> -Maxim
>=20
> >=20
> > Joe
> >=20
> > >=20
> > > -Maxim
> > --=20
> > PGP Key : http://www.marcuscom.com/pgp.asc
> >=20
> >=20
>=20
--=20
PGP Key : http://www.marcuscom.com/pgp.asc



--=-cTihZcF40K7eBiRysRA2
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (FreeBSD)

iD8DBQA/Evrzb2iPiv4Uz4cRAoKZAJ4/HdLD1IEguaEowBI/7dsfZWJ1nQCeOmoZ
+f9neZiE8WjEkfzD/01uhEs=
=Y0kJ
-----END PGP SIGNATURE-----

--=-cTihZcF40K7eBiRysRA2--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1058208499.299.80.camel>