Few how-it-works questions
Grzegorz Junka
list1 at gjunka.com
Sun Nov 11 12:50:07 UTC 2018
Hi All,
I would like to understand a bit better how the ports infrastructure works.
1. Recommended way of upgrading ports is "poudriere ports -p local -u",
right? But this always gets me the latest version, in which some ports
may not compile, depending on my luck. I know I can use SVN to checkout
a specific version of ports instead, but is it possible to find out in
which SVN version which ports are compiling and which are not? In other
words, can I open the history of builds of FreeBSD ports on the build
servers and check which ports are building in a specific SVN version,
then checkout that version to build on my server?
- also, is the ports tree mirrored in Git/GitHub?
2. Every time poudriere builds a new set of packages, it deletes those
which have changed in ports or for which the options have changed, then
it tries to build them again. But because the ports change, some may no
longer build. In that case I am left with no packages to install on a
system unless I am lucky enough to be able to cleanly build all ports
again. What is the preferred strategy to maintain old packages until a
new set is build correctly? Copy the whole folder aside? Is it possible
to tell poudriere to create a new folder with packages for each new
build (eventually with the option to use already built packages when
they have not changed)? I suspect poudriere doesn't maintain such state
internally, it simply deletes what's no longer relevant and then builds
what's missing?
3. When a package doesn't build because of a patch error:
===> Patching for ImageMagick6-6.9.10.14,1
===> Applying FreeBSD patches for ImageMagick6-6.9.10.14,1
1 out of 1 hunks failed--saving rejects to config/policy.xml.rej
=> FreeBSD patch patch-config_policy.xml failed to apply cleanly.
*** Error code 1
Is this a problem with the ports tree, the upstream package, or some
other package? In other words, can that problem be fixed without having
an updated version of the port (e.g. assuming the upstream package or
the other package gets updated and rebuilding the same package without a
new version of the ports tree may fix this). Are patches always kept in
the ports tree or sometimes they may be kept separately (e.g. in another
repo versioned independently)?
Many thanks for your time
GrzegorzJ
More information about the freebsd-ports
mailing list