Date: Tue, 24 Sep 2013 17:35:38 +0400 (MSK) From: Dmitry Marakasov <amdmi3@FreeBSD.org> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/182347: install target does nothing for pkgng + staging + NO_PKG_REGISTER case Message-ID: <20130924133538.B9C73303@hades.panopticon> Resent-Message-ID: <201309241340.r8ODe0bp042772@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 182347 >Category: ports >Synopsis: install target does nothing for pkgng + staging + NO_PKG_REGISTER case >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Sep 24 13:40:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Dmitry Marakasov >Release: FreeBSD 9.1-RELEASE-p4 amd64 >Organization: >Environment: System: FreeBSD hades.panopticon 9.1-RELEASE-p4 FreeBSD 9.1-RELEASE-p4 #0 r251956: Tue Jun 18 21:41:37 MSK 2013 root@hades.panopticon:/usr/obj/usr/src/sys/HADES amd64 >Description: When pkgng is used and the port supports staging, `make install` with NO_PKG_REGISTER set does nothing - no files are installed to the system. This seeminlgy happens because the package installation and pkgdb registration are now done in the same time with pkg, and whole fake-pkg target which runs this pkg is wrapped in .if !defined(NO_PKG_REGISTER): --- fake-pkg: create-manifest .if !defined(NO_PKG_REGISTER) .if defined(INSTALLS_DEPENDS) @${ECHO_MSG} "===> Registering installation for ${PKGNAME} as automatic" .else @${ECHO_MSG} "===> Registering installation for ${PKGNAME}" .endif .if defined(INSTALLS_DEPENDS) @${SETENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CMD} -d ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST} .else @${SETENV} FORCE_POST="${_FORCE_POST_PATTERNS}" ${PKG_CMD} ${STAGE_ARGS} -m ${METADIR} -f ${TMPPLIST} .endif @${RM} -rf ${METADIR} .else @${DO_NADA} .endif .endif --- >How-To-Repeat: Try `make install` any port with NO_PKG_REGISTER. >Fix: Likely a mode needs to be added to pkg which does installation but not registration, and it should be used in pkgng.mk Also, this probably may be achieved with using -l argument of `pkg register` and fake PKG_DBDIR, but I haven't tested. >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130924133538.B9C73303>