Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jan 2017 09:57:20 +0000
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        freebsd-pkg@freebsd.org
Subject:   Re: Does poudriere remove unnecessary packages?
Message-ID:  <783c327b-697e-2296-146d-0036a2c57844@FreeBSD.org>
In-Reply-To: <20170128085339.GA55073@admin.sibptus.transneft.ru>
References:  <20170128085339.GA55073@admin.sibptus.transneft.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--oklvcNUgTgoNrxFMkkNFNRFCqSEdUEa8Q
Content-Type: multipart/mixed; boundary="cr6GU0EtidwTm9VNQo54liwjhvX8PdLCq";
 protected-headers="v1"
From: Matthew Seaman <matthew@FreeBSD.org>
To: freebsd-pkg@freebsd.org
Message-ID: <783c327b-697e-2296-146d-0036a2c57844@FreeBSD.org>
Subject: Re: Does poudriere remove unnecessary packages?
References: <20170128085339.GA55073@admin.sibptus.transneft.ru>
In-Reply-To: <20170128085339.GA55073@admin.sibptus.transneft.ru>

--cr6GU0EtidwTm9VNQo54liwjhvX8PdLCq
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On 28/01/2017 08:53, Victor Sudakov wrote:
> When poudriere has built some packages as dependencies, and I later on
> change the build options so that those dependencies are no longer
> needed, will poudriere automatically clean them up from
> $POUDRIERE_DATA/packages, or do I have to run "bulk -c" to start from
> scratch?

poudriere will not remove those no-longer required dependency packages
for an incremental bulk unless they or one of their own dependencies
should be updated -- ie. new version, change in options settings etc.

If you watch the poudriere output while it is building, it's not too
hard to follow what is going on.  This all happens fairly quickly at the
beginning where poudriere is working out what work it needs to do.
Basically poudriere takes a copy of the repo[*], deletes from it
everything that needs rebuilding (out of date, options changed, etc.)
and then removes everything that itsself depends on a removed package.
Then it takes the list of packages you give it which you want to have in
the repo, expands the list to include all of the dependencies those
packages require to both build and run and then generates all of the
packages that currently are missing from the repo.

This actually does do quite a bit more work than is strictly necessary
-- poudriere deliberately errs on the side of caution in order to ensure
that the generated repo is completely self consistent.

'poudriere bulk -c' just elides the step of working out what needs
updating and starts with an empty repository, so building every package
you need in order to produce the packages you want.

This also means that (if you choose the options in pkg.conf
appropriately) that you can keep older revisions of a pkg repo around,
which you can revert to if you need it.

	Cheers,

	Matthew

[*] Loosely "copy" in that it make links to the existing packages from
previous builds, so being rather more space efficient than literally
copying the packages every time.


--cr6GU0EtidwTm9VNQo54liwjhvX8PdLCq--

--oklvcNUgTgoNrxFMkkNFNRFCqSEdUEa8Q
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQJ8BAEBCgBmBQJYjGsGXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC
QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkATkP0P/A9pbb9qj1XccB0x9+myyj1e
VHGr7D2Jl3pKhEg8WC28V3HbvEQy0WaZoXtN8S4DvKY15gAb5CYC6rXAC1qTryVp
MZ87d0G3TaVgVtfMO5pOKWL6imT56F35Yhu8Gsf4+TfslY7f1zZkA2LDREYuFGjR
XDgeD9z6VFAsSMU8L5HSGW2Z7egYkRhICCBgxnAYshDH1BtB6pC+tbg8zooMP7R6
5Mm5xHgfuKoEniWP+09rlYf1pieVJSGdKgWXH0dgLvhBYn6rR1MmHDHjkFnUA4h2
vKDsoBjSw8ak1uwQjZWo0yd5DrbdiwVERnFuIpG2c81hChegPyOs33lJ8JP/7tWQ
gHn/dumFzwKNhfXQbIp6Q7lW+xO+9mRDtQRzsS92bP+0ghe9KPaFiQjRhgwzaQWw
HsVmjIwdqfRzQ2sdpSqyzz+3d6cx1eRsk5p7D0kQLVejFO4WBER5z5WXvh43hIAM
gmFw+EL43W69AWXX+8yrY0LoJzavR77QQRpQeRSFYImku54La+qlyAVFkSl41d/Z
Vb+jU+0WLzVXugC9jMr+Ke3R9kxs2RBIiOL4StuvH9bj5tS6eRGB4vRZE9t2hnX9
jFl9ka9Amvm51FhYdvauYxle2zmM3QFxxEcbil9Si5rufAGQXITFLRRVH/OXEFNa
h2DEofYVc2eu532N9HZ9
=eHqO
-----END PGP SIGNATURE-----

--oklvcNUgTgoNrxFMkkNFNRFCqSEdUEa8Q--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?783c327b-697e-2296-146d-0036a2c57844>