Skip site navigation (1)Skip section navigation (2)
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>