Date: Sun, 13 Oct 2013 12:57:41 +0100 From: Matthew Seaman <matthew@FreeBSD.org> To: Ekkehard Gehm <freebsd@doom-labs.net>, freebsd-ports@freebsd.org Subject: Re: stagedir vs. jail Message-ID: <525A8AB5.9000102@FreeBSD.org> In-Reply-To: <20131013105853.GA63463@doom-labs.net> References: <20131013105853.GA63463@doom-labs.net>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --NirtoAHrWTO9F3MJuql6ciHiui7lrRDFa Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On 13/10/2013 11:58, Ekkehard Gehm wrote: > I resently have some problems installing/updating ports. The main > problem is that the stagedir path is somehow messed up. >=20 > The system is running FreeBSD 9.1-RELEASE-p6 and I'm working in a > jail. While building it creates the stagedir in > /s/portbuild/usr/ports/...../usr/local/ BUT: When it comes to the pkg > building it suddently is looking in .../usr-local/.. witch acctualy > is a part of the symlink. (In the jail /usr/local is a symlink to > /s/usr-local). Resulting in an failure. >=20 > The only workiaround is disabling stage completly thru make.conf...=20 > As this is very quick'n'dirty I wonder if there is any other > solution! Your subject line is (perhaps) a bit misleading: this seems to be nothing specific to the use of jails, but due to having sym-links in various paths. It could happen just the same if you laid out your host filesystem using sym-links. Anyhow, this looks like a bug to me -- using sym-links to put your filesystem together should not result in chaos. Are you using pkg(8)? There are differences in the way a package is generated from the staging directory between pkg(8) and pkg_create(1) which might make all the difference. Is it all ports that are affected? Does the use of PLIST_FILES or PLIST_DIRS in the port Makefile make any difference compared to having a pkg-plist file? A possible work-around: instead of sym-linking /s/usr-local -> /usr/local use a nullfs mount instead. mount -t nullfs /s/usr-local /usr/local (Actually, you'ld probably do that from outside the jail so adjust the paths accordingly.) Another workaround: set up your own poudriere instance to build packages for all your jails. poudriere(8) will create its own jails to do package building in, and manage paths etc. itself. It's a natural partner to pkg(8) and zfs(8) but it will work without either of those. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey --NirtoAHrWTO9F3MJuql6ciHiui7lrRDFa Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.20 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQJ8BAEBCgBmBQJSWoq8XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkATOf0P/1xqdyT9+BH5/tIC9YFKQFYs 63We7WGVkpfAh+Oj4LTeQtUUr/Z0sOPM8fT30T2Q5NtrkHyDxM77FhF7TokOH1Yx JRYCKvdqAXfBOqZN1UgX95wCP6spgz7y9237U/iNL3tEUACdhrRKyNimP44rMKFg e9qLwFmfnmbOWuP6I9mXjCwzKswplHiCA8haozW1dG+XXWGl+tqxnC30xS43kIYm rJy77XSuXxgzhAkbRPimmvAeoCcrVk3gA8IfVk5jVJQNo+lb3UdH7U5/i64E+ehy yr7I0cOC/9ZmrZT6d3odxqJA3iwyHYdPq+DTF7LgLpJFr1SDkGrQPzxHjT5S1xcU zX7i3x7BSCms86DxNh1y7Eu1XBxQMkodLOD97I5hCZUc3RDi8d+nvbAo3HBDhgLI tfYP3/omuiKuHh7dWXWwpJVsJc1/Zz38WJQiovp87vT6dE5SHX6lY+cN67jvyPJ3 2mP065mzk+rk0qCsz+NpIOxbHiFEklh7vv6KHp0OCUYSuowUUPedyrtXKsDco+bG 7Z+7PDDh4H/6QF7nJoBhQtTZvTzLDxwQKUuUxX1QZudJawWvjfMMc3uTaKgQzVF5 xE2sWyJsF769fOnS6kbKlc2u8a3ZI3p/xtPwIi6ZufySgUiIwWNsSc5ypIDtDeu8 TrfKtqCpmmugA0D90An3 =o0Q/ -----END PGP SIGNATURE----- --NirtoAHrWTO9F3MJuql6ciHiui7lrRDFa--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?525A8AB5.9000102>