356253d0e0
which sets ${PACKAGES} to a subdir of ${PKGSRCDIR}/packages (on the same NFS mount) so that the generated packages all land in one place. From my Debian, Devuan, Ubuntu, and CentOS 8 (but not 7) VMs, copying ${STAGE_PKGFILE} to ${PKGFILE} fails to preserve permissions, which fails the copy and the "package" target with it. The error looks like so: ===> Building binary package for foo-4.2 => Creating binary package /home/schmonz/trees/pkgsrc-cvs/packages/Debian/All/foo-4.2.tgz /bin/cp: preserving permissions for ‘/home/schmonz/trees/pkgsrc-cvs/packages/Debian/All/foo-4.2.tgz’: Operation not permitted Assuming permissions on built packages are merely a nice-to-have, avoid failing if we couldn't preserve them. Patch from sjmulder@, for whom this fixes a similar problem with FreeBSD with ZFS. |
||
---|---|---|
.. | ||
pkg | ||
bsd.pkgformat-vars.mk | ||
bsd.pkgformat.mk | ||
README |
$NetBSD: README,v 1.3 2016/04/10 15:58:03 joerg Exp $ = Introduction = A package format is a packaging system that is supported by pkgsrc. Currently, there is only one (the native pkgsrc tools), but maybe we can support RPM, dpkg or the Solaris native packages someday. It can also be used to test new variants of the packaging tools. NOTE: The Google Summer of Code 2011 project includes rpm and debian http://addpackageforma.sourceforge.net/ The PKG_FORMAT variable is used to select the format. The default format is ``pkg''. = Interface = == Variables usable at load-time == A package system format must define the following variables so that they can be used when loading Makefiles. (That is, no references to undefined variables.) === Legacy === * PKG_DBDIR (TODO: Make the other parts of pkgsrc independent of that variable; this should go away.) === Packaging commands === The following variables all refer to shell commands, which must accept some command line options that are detailed in the respective man pages. (TODO: Find out which command line options are really used and which ones are useful. Document them.) * PKG_ADD * PKG_ADMIN * PKG_CREATE * PKG_DELETE * PKG_INFO * LINKFARM * PKG_BEST_EXISTS The following variables must be defined so that they can be used in shell commands. They may contain references to all other variables. * PKG_FILELIST_CMD XXX: Why isn't this variable in the previous list? == Make targets == The following make targets must be implemented: * _pkgformat-check-vulnerable * _pkgformat-deinstall * _pkgformat-show-depends * _pkgformat-install-dependencies * bootstrap-depends * tarup (XXX: This doesn't sound like a target that should be defined here.) * tarup-pkg * package-install * _pkgformat-replace * _pkgformat-destdir-replace * _pkgformat-undo-replace