portupgrade + FLAVORS
Bob Willcox
bob at immure.com
Mon May 6 18:34:52 UTC 2019
On Sun, Apr 07, 2019 at 08:51:57PM -0500, Matthew D. Fuller wrote:
> For any portupgrade users still out there wishing for FLAVOR support,
> I have patches to add it. I've been running them here locally for a
> few weeks without incident (apart from an extra upgrade or two
> actually working without manual intervention/resort to portmaster,
> that is). Dropping the attached patch into
> $PORTS/ports-mgmt/portupgrade/files/patch-flavors and rebuilding it is
> a simple shortcut to getting it in place.
>
> I haven't done any testing of using portupgrade with pre-built
> packages (is there even any reason to post-pkg?), or using portinstall
> (never saw the point), but it seems to handle the upgrading path just
> fine.
>
>
> Also sitting in a PR upstream at
> https://github.com/freebsd/portupgrade/pull/72
>
>
> --
> Matthew Fuller (MF4839) | fullermd at over-yonder.net
> Systems/Network Administrator | http://www.over-yonder.net/~fullermd/
> On the Internet, nobody can hear you scream.
> --- bin/portupgrade.orig 2018-03-09 18:59:29 UTC
> +++ bin/portupgrade
> @@ -1147,6 +1147,11 @@ def get_make_args(origin, pkgname = nil)
> else
> args = $make_args.split(' ')
> end
> +
> + if flavor = origin[/@(.+)$/, 1]
> + args << 'FLAVOR=' + flavor
> + end
> +
> quoted = 0
> n = 0
> is_quoted = false
> --- lib/pkgtools/pkgdb.rb.orig 2018-03-09 18:59:29 UTC
> +++ lib/pkgtools/pkgdb.rb
> @@ -425,10 +425,20 @@ class PkgDB
> @installed_pkgs = []
> @installed_ports = []
> @db = {}
> +
> + flavors = {}
> + pkg_flavors = xbackquote(PkgDB::command(:pkg), 'annotate', '-Sa',
> + 'flavor').split("\n")
> + pkg_flavors.each do |line|
> + pkg, flavor = line.sub(/: Tag: flavor Value: /, ':').split(':')
> + flavors[pkg] = flavor
> + end
> +
> pkg_origins = xbackquote(PkgDB::command(:pkg), 'query', '%n-%v %o').split("\n")
> pkg_origins.each do |line|
> pkg, origin = line.split(' ')
> @installed_pkgs << pkg
> + origin << '@' + flavors[pkg] if flavors[pkg]
> add_origin(pkg, origin)
> end
> @installed_pkgs.freeze
> --- lib/pkgtools/portsdb.rb.orig 2018-03-09 18:59:29 UTC
> +++ lib/pkgtools/portsdb.rb
> @@ -325,6 +325,7 @@ class PortsDB
> end
>
> def portdir(port)
> + port = port.sub(/@.*$/, '')
> File.join(ports_dir, port)
> end
>
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
Hi Mathew,
Thanks for the flavors patch to portupgrade. As with some others here it is
still my preferred tool for keeping my ports up-to-date.
Any word on when/if your patch will be integraded into the port proper?
Thanks again,
Bob
--
Bob Willcox | "The only way to get rid of temptation is to yield to it...
bob at immure.com | I can resist everything but temptation."
Austin, TX | - Oscar Wilde
More information about the freebsd-ports
mailing list