Skip site navigation (1)Skip section navigation (2)
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>