On my laptop, I try to keep things fairly up-to-date: I perform source updates daily on stable/10, and then update the installed ports (using portmaster); I keep a local private mirror of the FreeBSD SVN repo (which I update automagically overnight) locally on the laptop.
Back on 20 Nov, one of the ports that was updated was security/gnupg -- updating that port from gnupg-2.0 to -2.1. I then discovered (empirically) that gnupg-2.1 would not decrypt some rather important information that I had stored, though at the time, I didn't know what caused this (and I wasn't expecting such a silent POLA-contravening change merely from a revision number bump). After a bit of flailing about (on my part), I found that: portmaster -o security/gnupg20 gnupg-2.1\* (thus forcing a reversion to gnupg-2.0) resolved the problem in a way that preserved my access to the information in question. This morning, one of the ports for which an update was attempted was emulators/pipelight: ===>>> The following actions will be taken if you choose to proceed: ... Upgrade pipelight-0.2.7.3_5 to pipelight-0.2.7.3_6 Install security/gnupg Now, I plead "guilty as charged" to failing to note the stated intent to try to "Install security/gnupg". (That attempt failed, by the way: ... ===> Installing for gnupg-2.1.0_1 ===> Registering installation for gnupg-2.1.0_1 as automatic Installing gnupg-2.1.0_1... pkg-static: gnupg-2.1.0_1 conflicts with gnupg20-2.0.26_2 (installs files into the same place). Problematic file: /usr/local/bin/gpg-agent .... But that's not the focus of this note.) Apparently "gpg2 is a BUILD_DEPENDS for emulators/pipelight: # Created by: Kris Moore <kmo...@freebsd.org> # $FreeBSD: head/emulators/pipelight/Makefile 374755 2014-12-15 17:00:22Z kmoore $ PORTNAME= pipelight DISTVERSION= 0.2.7.3 PORTREVISION= 6 CATEGORIES= emulators ... BUILD_DEPENDS= ${LOCALBASE}/bin/gpg2:${PORTSDIR}/security/gnupg \ ${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash LIB_DEPENDS= libxml2.so:${PORTSDIR}/textproc/libxml2 .... And I have "gpg2" available: g1-253(11.0-C)[19] ls -lToi `which gpg2` 16133409 -r-xr-xr-x 1 root wheel - 652956 Nov 22 05:00:32 2014 /usr/local/bin/gpg2 But I have it from security/gnupg20: g1-253(11.0-C)[23] pkg-static which `which gpg2` pkg-static: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended /usr/local/bin/gpg2 was installed by package gnupg20-2.0.26_2 Is there, perhaps, a way to construct the BUILD_DEPENDS for pipelight so that it can use gpg2 from ... well, wherever it was installed from, and revert to bringing in a new port only if gpg2 isn't already available? [PS: Don't let the above-quoted whines about "Major OS version upgrade detected..." distract you: I had attempted the emulators/pipelight update under stable/10, as described above. At the time of this writing, I had flipped the laptop to boot from a different slice, where I am performing my daily update of head.] Peace, david -- David H. Wolfskill da...@catwhisker.org Actions have consequences ... as do inactions. See http://www.catwhisker.org/~david/publickey.gpg for my public key.
pgpos53apNtj0.pgp
Description: PGP signature