Why does poudriere insist on rebuilding the same packages over and over

Matthew Seaman matthew at FreeBSD.org
Sun Dec 15 14:37:42 UTC 2019


On 15/12/2019 12:57, Gerard E. Seibert wrote:
> This is probably a dumb question, but I'll ask it anyway. Why does
> 'poudriere' insist on rebuild the same package, over and over, when
> there has been no change.
> 
> EXAMPLE:
> 
> This morning I decided to install /usr/ports/x11/xscreensaver.
> Poudriere insisted on rebuilding hundreds of ports,
> including "ports-mgmt/pkg", even though they had not changed. I had
> just updated the ports tree with poudriere and updated all of the files
> on my system. There was no reason to rebuild all of the existing files.
> It seems that the "ports-mgmt/pkg" file is rebuild every time poudriere
> runs.
> 
> Is there a configuration setting to stop? It wastes a lot of time and
> resources to continually rebuild everything.
> 
> NOTE:
> 
> I made on change on an installed port the other day, and poudriere
> insisted on rebuild 1039 ports. That is just crazy.

That's not normal.  poudriere shouldn't need to rebuild as much as that
-- and anything it does rebuild it will print out the reason why.  In
particular, seeing pkg(8) continually being rebuilt without good reason
is a sign of something gone awry.

Off-hand I can think of three reasons off hand why poudriere might want
to rebuild /every/ package:

   1) You updated the poudriere jail -- that is, you ran

        poudriere jail -j yourjail -u

      or similar, so that you updated the OS within your jail. poudriere
      will rebuild all packages when the underlying jail gets updated.
      Just updating a ports tree wouldn't have this effect.

      In many cases, you don't need to always apply every available
      update to your poudriere jails straight away.  poudriere jails are
      relatively inexposed to attack, and typically the packages you
      build will not be affected at all by any vulerabilities in
      software within the build jail.  Just keep your host system
      scrupulously up to date and you'll be fine.

      The biggest exception to this rule are packages that install
      statically linked binaries on occasions where there is a
      vulnerability in one of the system libraries.  Thankfully that
      combination is pretty rare.

   2) You're giving 'poudriere bulk' the '-c' flag, which says to clean
      and rebuild everything.  This is just poudriere doing what you
      tell it to.

   3) Your system clock is doing weird things, and poudriere is getting
      confused because it can't tell what time it is.


	Cheers,

	Matthew

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 963 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20191215/06fea288/attachment.sig>


More information about the freebsd-questions mailing list