portmaster/portupgrade -P/PP + pkg, ports package sources

Bryan Drewery bdrewery at FreeBSD.org
Wed Mar 19 12:25:11 UTC 2014


I plan to enable this support soon in both tools.

I actually see 4 different modes here. Note I made up --local-only for
this discussion, I am not changing the flags in either tool.

  -P: Use package if available, otherwise build from source.
  -P --local-only: Use local package if available, otherwise build from
  -PP: Only use packages
  -PP --local-only: Only use local packages.

I did not quite understand the use-case for it and was not convinced it
was needed until recently.

I will be adding a majority of the logic into the ports framework
though. A lot of this logic already exists, just needs to be refined and
hooked together.

Ports will have a flags to enable the use cases above (only for pkgng).
It will search local package dir and then remote for the package before
installing. These flags will all be off by default.
Portmaster/Portupgrade/Poudriere all will utilize them. Yes, poudriere
has a need here for installing dependencies from local packages for
interactive testing where it is more efficient to do it in the framework.

One of the reasons I plan to put this logic into ports is so the same
consistent (smart) logic can be used in both tools. In general I believe
that all logic like this should be in ports and not in tools such as
portmaster/portupgrade/poudriere/tinderbox. There is still some
unrelated lingering logic in poudriere that needs to be moved to the
framework in fact.

One of the blockers to making this work properly is having an official
repository installed out-of-the-box. I am working on getting an EN out
to publish the repository and fingerprints for pkg. As a last resort we
may publish this in ports as well in /Templates/repo, which pkg(8) can
utilize as a last resort for this ports feature. If it comes to that I
will give more details on it. This repo could be disabled in the same
way as the FreeBSD one is today, by creating a file in
/usr/local/etc/pkg/repos/FreeBSD.conf with contents "FreeBSD: { enabled:
false }"

Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 553 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20140319/786685a9/attachment.sig>

More information about the freebsd-ports mailing list