ports/184175: sysutils/salt does not install
Paul Dokas
paul at dokas.name
Fri Nov 22 18:10:00 UTC 2013
>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 at 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:
More information about the freebsd-ports-bugs
mailing list