Date: 14 Jul 2003 15:28:27 -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: <1058210907.299.82.camel@gyros> In-Reply-To: <1058208499.299.80.camel@gyros> References: <20030714165358.GC2875@vega.vega.com> <1058208499.299.80.camel@gyros>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-CH+bquypz8882HNy1xTO Content-Type: multipart/mixed; boundary="=-Yc0r+AmPAhScJ2qZA4a2" --=-Yc0r+AmPAhScJ2qZA4a2 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Mon, 2003-07-14 at 14:48, Joe Marcus Clarke wrote: > 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 followin= g: > >=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/tru= e > > @unexec /bin/rmdir %D/log/radacc > /dev/null 2> /dev/null || /usr/bin/t= rue > > @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. >=20 > I'll take a look. This patch should take care of the problem. Joe >=20 > >=20 > > > > 2. In general, prefix-safety feature of make deinstall is misdesign= ed, > > > > as it should not reject deinstalling package which has no dependant= s > > > > (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 wit= h > > > files you expect to exist in a certain location. In any event, make > > > deinstall-all will remove all packages with a given ORIGIN regardless= of > > > 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. >=20 > 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. >=20 > Joe >=20 > >=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 --=-Yc0r+AmPAhScJ2qZA4a2 Content-Disposition: attachment; filename=bsd.port.mk.diff Content-Transfer-Encoding: base64 Content-Type: text/plain; name=bsd.port.mk.diff; charset=iso-8859-1 LS0tIC91c3IvcG9ydHMvTWsvYnNkLnBvcnQubWsJU2F0IEp1bCAxMiAxNTowMToxNyAyMDAzDQor KysgYnNkLnBvcnQubWsJTW9uIEp1bCAxNCAxNTowMDowMiAyMDAzDQpAQCAtMzAxMiw3ICszMDEy LDcgQEANCiAJCUBhbHJlYWR5X2luc3RhbGxlZD1gJHtQS0dfSU5GT30gLXEgLU8gJHtQS0dPUklH SU59IDI+IC9kZXYvbnVsbGA7IFwNCiAJCWlmIFsgLW4gIiQke2FscmVhZHlfaW5zdGFsbGVkfSIg XTsgdGhlbiBcDQogCQkJCWZvciBwIGluICQke2FscmVhZHlfaW5zdGFsbGVkfTsgZG8gXA0KLQkJ CQkJCXByZng9YCR7UEtHX0lORk99IC1xIC1wICQke3B9IDI+IC9kZXYvbnVsbCB8ICR7U0VEfSAt ZSAnc3xeQGN3ZCB8fCdgOyBcDQorCQkJCQkJcHJmeD1gJHtQS0dfSU5GT30gLXEgLXAgJCR7cH0g Mj4gL2Rldi9udWxsIHwgJHtIRUFEfSAtbiAxIHwgJHtTRUR9IC1lICdzfF5AY3dkIHx8J2A7IFwN CiAJCQkJCQlpZiBbICJ4JHtQUkVGSVh9IiA9ICJ4JCR7cHJmeH0iIF07IHRoZW4gXA0KIAkJCQkJ CQkJZGY9YCR7UEtHX0lORk99IC1xIC1mICQke3B9IDI+IC9kZXYvbnVsbCB8ICR7R1JFUH0gLXYg Il5AIiB8ICR7Q09NTX0gLTEyIC0gJHtUTVBQTElTVH1gOyBcDQogCQkJCQkJCQlpZiBbIC1uICIk JHtkZn0iIF07IHRoZW4gXA0KQEAgLTM0MDMsNyArMzQwMyw3IEBADQogCWZvciBwIGluICQke2Zv dW5kX25hbWVzfTsgZG8gXA0KIAkJCWNoZWNrX25hbWU9YCR7RUNIT30gJCR7cH0gfCAke1NFRH0g LWUgJ3MvLVteLV0qJCQvLydgOyBcDQogCQkJaWYgWyAiJCR7Y2hlY2tfbmFtZX0iID0gIiR7UEtH QkFTRX0iIF07IHRoZW4gXA0KLQkJCQkJcHJmeD1gJHtQS0dfSU5GT30gLXEgLXAgJCR7cH0gMj4g L2Rldi9udWxsIHwgJHtTRUR9IC1lICdzfF5AY3dkIHx8J2A7IFwNCisJCQkJCXByZng9YCR7UEtH X0lORk99IC1xIC1wICQke3B9IDI+IC9kZXYvbnVsbCB8ICR7SEVBRH0gLW4gMSB8ICR7U0VEfSAt ZSAnc3xeQGN3ZCB8fCdgOyBcDQogCQkJCQlpZiBbICJ4JHtQUkVGSVh9IiA9ICJ4JCR7cHJmeH0i IF07IHRoZW4gXA0KIAkJCQkJCQkke0VDSE9fTVNHfSAiPT09PiAgIERlaW5zdGFsbGluZyAkJHtw fSI7IFwNCiAJCQkJCQkJJHtQS0dfREVMRVRFfSAtZiAkJHtwfTsgXA0K --=-Yc0r+AmPAhScJ2qZA4a2-- --=-CH+bquypz8882HNy1xTO 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/EwRbb2iPiv4Uz4cRAhg/AKCG+lLelgmdGmawMV202vNro9uAGgCeMGRl jlthc+tDsZpVHpuFueGZLCM= =6KQN -----END PGP SIGNATURE----- --=-CH+bquypz8882HNy1xTO--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1058210907.299.82.camel>