Date: Fri, 22 Nov 2013 12:01:14 -0600 (CST) From: Paul Dokas <paul@dokas.name> To: FreeBSD-gnats-submit@freebsd.org Subject: ports/184175: sysutils/salt does not install Message-ID: <20131122180115.18BC28F4A05@gothmog.dokas.name> Resent-Message-ID: <201311221810.rAMIA0Rv068668@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 184175 >Category: ports >Synopsis: sysutils/salt does not install >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Nov 22 18:10:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Paul Dokas >Release: FreeBSD 9.1-RELEASE-p7 amd64 >Organization: none >Environment: System: FreeBSD host.dokas.name 9.1-RELEASE-p7 FreeBSD 9.1-RELEASE-p7 #5 r255449: Tue Sep 10 11:59:51 CDT 2013 root@host.dokas.name:/usr/obj/usr/src/sys/GENERIC amd64 >Description: Attempting to install sysutils/salt using the Makefile currently in the port results in this: % cd /usr/ports/sysutils/salt % make install . . . changing mode of /usr/ports/sysutils/salt/work/stage/usr/local/bin/salt to 755 changing mode of /usr/ports/sysutils/salt/work/stage/usr/local/bin/salt-key to 755 running install_data copying doc/man/salt-master.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt-key.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt-cp.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt-call.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt-syndic.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt-run.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt-minion.1 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man1 copying doc/man/salt.7 -> /usr/ports/sysutils/salt/work/stage/usr/local/man/man7 running install_egg_info Writing /usr/ports/sysutils/salt/work/stage/usr/local/lib/python2.7/site-packages/salt-0.10.4-py2.7.egg-info /bin/mkdir -p /usr/local/etc/salt install -o root -g wheel -m 444 /usr/ports/sysutils/salt/work/salt-0.10.4/conf/master.template /usr/local/etc/salt/master.sample install -o root -g wheel -m 444 /usr/ports/sysutils/salt/work/salt-0.10.4/conf/minion.template /usr/local/etc/salt/minion.sample ============================================== To configure a Salt Master, do the following: o Copy /usr/local/etc/salt/master.sample to /usr/local/etc/salt/master o Update to meet your needs o Set salt_master_enable="YES" in rc.conf ---------------------------------------------- To configure a Salt Minion, do the following: o Copy /usr/local/etc/salt/minion.sample to /usr/local/etc/salt/minion o Update config to point to your Salt Master o Set salt_minion_enable="YES" in rc.conf ============================================= ====> Compressing man pages (compress-man) ===> Staging rc.d startup script(s) ===> Installing for salt-0.10.4 ===> Checking if sysutils/salt already installed ===> Registering installation for salt-0.10.4 as automatic pkg-static: lstat(/usr/ports/sysutils/salt/work/stage/usr/local/etc/salt/master.sample): No such file or directory pkg-static: lstat(/usr/ports/sysutils/salt/work/stage/usr/local/etc/salt/minion.sample): No such file or directory pkg-static: lstat(/usr/ports/sysutils/salt/work/stage/usr/local/etc/salt/): No such file or directory pkg-static: unknown keyword stopdaemon, ignoring @stopdaemon pkg-static: unknown keyword stopdaemon, ignoring @stopdaemon pkg-static: unknown keyword stopdaemon, ignoring @stopdaemon *** [fake-pkg] Error code 74 Stop in /usr/ports/sysutils/salt. >How-To-Repeat: Attempt to install sysutils/salt >Fix: iThe issue here seems to be that salt is installed into a staging directory (sysutils/salt/work/stage) and then installed into $PREFIX from there. Unfortunately, the post-install target in the current Makefile will install sample configuration files into ${PREFIX}/etc/salt/ (which is /usr/local/etc/salt/ for me). This breaks the staging area since these files are specified in pkg-plist, but don't exist inwork/stage/. To fix this, I changed post-install to install the sample configuration and man files into ${STAGEDIR}${PREFIX}. I don't know if this is the correct fix, but it at least allowed me to install salt. Also, while I'm here, the man pages are installed, but are not listed in pkg-plist. *** Makefile Fri Nov 22 10:52:13 2013 --- Makefile.orig Mon Dec 3 21:53:49 2012 *************** *** 52,62 **** .endfor post-install: ! ${MKDIR} ${STAGEDIR}${ETCDIR} ! ${INSTALL_DATA} ${WRKSRC}/conf/master.template ${STAGEDIR}${PREFIX}/etc/salt/master.sample ! ${INSTALL_DATA} ${WRKSRC}/conf/minion.template ${STAGEDIR}${PREFIX}/etc/salt/minion.sample ! @${INSTALL_MAN} ${MAN1:S,^,${WRKSRC}/doc/man/,} ${STAGEDIR}${MANPREFIX}/man/man1/ ! @${INSTALL_MAN} ${WRKSRC}/doc/man/${MAN7} ${STAGEDIR}${MANPREFIX}/man/man7/ @${CAT} ${PKGMESSAGE} .include <bsd.port.mk> --- 52,62 ---- .endfor post-install: ! ${MKDIR} ${ETCDIR} ! ${INSTALL_DATA} ${WRKSRC}/conf/master.template ${PREFIX}/etc/salt/master.sample ! ${INSTALL_DATA} ${WRKSRC}/conf/minion.template ${PREFIX}/etc/salt/minion.sample ! @${INSTALL_MAN} ${MAN1:S,^,${WRKSRC}/doc/man/,} ${MANPREFIX}/man/man1/ ! @${INSTALL_MAN} ${WRKSRC}/doc/man/${MAN7} ${MANPREFIX}/man/man7/ @${CAT} ${PKGMESSAGE} .include <bsd.port.mk> >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131122180115.18BC28F4A05>