Date: Sat, 19 Apr 2014 01:51:10 -0500 From: Bryan Drewery <bdrewery@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org, ports-developers@FreeBSD.org Subject: check-orphans updates and renamed check-plist Message-ID: <53521CDE.8040209@FreeBSD.org> In-Reply-To: <201404190644.s3J6iuaM097417@svn.freebsd.org> References: <201404190644.s3J6iuaM097417@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --k9mrhdiIXrx2BXrR1SxaUXIp8SlbiIpXv Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Please take note of all of this carefully. "check-orphans" should be far less false-positive prone now (false-positive in the sense of files that are already in plist or owned by a dependency). Please let me know of any that come up. I.e., PORTDOCS/PORTEXAMPLES issues are fixed. Lots more= =2E Poudriere will be updated in the next week to utilize all of this instead of its own logic. I will also be working with Tinderbox/crees to get it hooked into all of this as well as r351446 which creates 1 central whitelist for leftovers. On 4/19/2014 1:44 AM, Bryan Drewery wrote: > Author: bdrewery > Date: Sat Apr 19 06:44:56 2014 > New Revision: 351587 > URL: http://svnweb.freebsd.org/changeset/ports/351587 > QAT: https://qat.redports.org/buildarchive/r351587/ >=20 > Log: > - Rename check-orphans to check-plist. Keep the old for backwards-com= pat. > - Bug fixes: > makeplist/check-plist: > - Fix showing directories owned by RUN_DEPENDS/LIB_DEPENDS [1] > - Use proper "rmdir PATH" syntax, not "rmdir >/dev/null... PATH" w= hich > pkg will not recognize. > - Never consider base /etc/mtree/BSD.usr.dist or LOCLABASE > Templates/BSD.local.dist as needing @dirrm handling. > check-plist: > - Fix showing PORTDOCS/PORTEXAMPLES files when the OPTIONS are not= set. > makeplist will still suggest them. > - Fix showing files installed through unselected OPTIONS as orphan= s, > by considering "@comment file" to be ignored. [2] > - Fix @sample, @fc, @fcfontsdir, @fontsdir support > - Fix return status when orphans are found to be non-zero > - Add note when PREFIX=3D!LOCALBASE > - Be more clear when orphans/no orphans are found. > - Add a whitelist mechanism for globally approved ignores. > - Add *.bak/*.orig to orphan whitelist for now. > - Fix false-positive with dirs installed to /, such as with > archivers/dpkg creating /var/db/dpkg > - Fix false-positive with @dirrm ending in /, such as with > ports-mgmt/poudriere with a @dirrmtry share/zsh/ > - There are likely still some false-positives. I fixed as many as = I could > find. Please let me know of others. > * One in particular that is not easily fixable is installing a fi= le into > a directory owned by another port where that other port is not = a run-time > dependency. So the leaf port may create all of the parent dirs = and never > clean them up. Cleaning them up is not proper unless no other p= ackage is > depending on them. This will be addressed by pkg(8) once pkg_in= stall is > EOL, or sooner. > - Consider @dirrm of directories owned by run-time dependencies, o= r > /etc/mtree/* or Templates/BSD.local.dist (at LOCALBASE) as fatal= errors. > These should not be removed in the plist. @comment lines are not= > considered for this; they will not ignore an error. > =3D=3D=3D> Checking for directories owned by dependencies or = MTREEs > Error: Owned by dependency: @dirrmtry share/locale/af/LC_MESS= AGES > Error: Owned by dependency: @dirrmtry share/locale/af > Error: Owned by dependency: @dirrmtry %%PERL5_MAN3%% > - Detect files in plist that do not exist in the stagedir. Pkgng a= lready did > this, but now we have it unified with this check. @comment lines= are > not considered for this; they will not ignore an error. > =3D=3D=3D> Checking for items in pkg-plist which are not in S= TAGEDIR > Error: Missing: foo > Error: Missing: @dirrmtry bar > - Change orphaned output due to several new errors introduced: > =3D=3D=3D> Checking for items in STAGEDIR missing from pkg-pl= ist > Error: Orphaned: foo > - Send errors to stderr > check_leftovers.sh: > - Prefer longer values for PLIST_SUB. > bsd.options.mk: > - Fix NOPORTDOCS/WITHOUT_NLS/NOPORTEXAMPLES not unsetting their re= spective > OPTIONS. > - Mark NOPORTDOCS/NOPORTEXAMPLES deprecated and hook them into the= > OPTIONS_WARNING to tell users the new format. > - check-stagedir.sh refactoring: > - Switch to using new PLIST_SUB_SED > - Use ! instead of , in sed(1) regex to allow files/dirs with ',' > - Rework PORTEXAMPLES/PORTDOCS handling so it acts on PLIST_SUB_SED= 'd > value and not absolutes. Also simplify the regex for these a bit = to > allow reuse. > - No longer need DOCSDIRS/EXAMPLESDIR in env > - Wrap long lines > - Unset some vars in env when they are done being used to free spac= e for > larger sed vars > - Cleanup redundant sed regexes > - Add a Scripts/plist_sub_sed_sort.sh to prefer longer values when su= bstituting > over shorter values. > =20 > - To make check-plist ignore a file *as an orphan* do one of the foll= owing: > 1. Install it > 2. post-install: ${RM} ${STAGEDIR}file > 3. Put the file behind an OPTION with a PLIST_SUB: %%OPTION%%file > 4. Add to plist as a @comment [2]: > @comment file > @comment @dirrmtry dir > =20 > Reviewed by: mat (much earlier version) > Discussed with: mat, antoine, bapt, swills (various bits) > With hat: portmgr > PR: ports/185561 [1] > Reported By: Alexander Yerenkow <yerenkow@gmail.com> [1] > Tested with: pkg and pkg_install > Reported by: many (false-positives) > =20 > [2] This is a partial solution, we may still need a plist.ignore too.= It > doesn't make much sense to add files in main pkg-plist we don't c= are about, > but maybe it does since you'll see and reconsider them being igno= red > someday. @comment is used as all the OPTION PLIST_SUB deactivatio= ns use > @comment instead of something like @ignore. >=20 > Added: > head/Mk/Scripts/plist_sub_sed_sort.sh (contents, props changed) > Modified: > head/CHANGES > head/Mk/Scripts/check-stagedir.sh > head/Mk/Scripts/check_leftovers.sh > head/Mk/bsd.options.mk > head/Mk/bsd.stage.mk >=20 > Modified: head/CHANGES > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D > --- head/CHANGES Sat Apr 19 06:43:21 2014 (r351586) > +++ head/CHANGES Sat Apr 19 06:44:56 2014 (r351587) > @@ -10,6 +10,22 @@ in the release notes and/or placed into=20 > =20 > All ports committers are allowed to commit to this file. > =20 > +20140419: > +AUTHOR: bdrewery@FreeBSD.org > + > + check-orphans has been renamed to check-plist. It now checks: > + A. Files in STAGEDIR that are missing from plist. > + To make check-plist ignore a file *as an orphan* do one of the > + following: > + 1. Install it > + 2. post-install: ${RM} ${STAGEDIR}file > + 3. Put the file behind an OPTION with a PLIST_SUB: %%OPTION%%f= ile > + 4. Add to plist as a @comment > + @comment file > + @comment @dirrmtry dir > + B. Files in plist missing from STAGEDIR > + C. Files in plist which are owned by dependencies/MTREEs > + --=20 Regards, Bryan Drewery --k9mrhdiIXrx2BXrR1SxaUXIp8SlbiIpXv Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJTUhzeAAoJEDXXcbtuRpfPJZwH/3M8/Lez6lw/fhWpUzY4Uh+Q HLfNXJDl991oQ3yEAlbXoq0pNXnlzirDZvHpCE0S0M0Qe/0ZCt37d6wZc0g8lLJ7 UF0qm4KXLOG32rsMldOeatH/jSNGSRyvURNTTaFGlVl/KCQWBKLxmZhfi+hgQ/SY BD0YbFhwmvClsyZQ5VYFO954yLQwcpej7g0vGbwTafGjPb/wZuXuZJ0wUZG3ol2v 6theBSYATUlXKjVlJ6JaNNonQ9gz59MIDF4xbyEoXp0lwi4KtEB7N12llhCmxrJq STFOsK/hwyu5K08S26cgd6zgLPmp9QwEuKQwWlTPREKE/oPkavFwA12vCEcDYpw= =uTIj -----END PGP SIGNATURE----- --k9mrhdiIXrx2BXrR1SxaUXIp8SlbiIpXv--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53521CDE.8040209>