Date: Tue, 7 Oct 2008 21:00:13 GMT From: Steve Atwell <satwell@disjoint.net> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/127911: New port: sysutils/slack - Simple configuration management utility Message-ID: <200810072100.m97L0Drp035987@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/127911; it has been noted by GNATS. From: Steve Atwell <satwell@disjoint.net> To: bug-followup@FreeBSD.org Cc: Subject: Re: ports/127911: New port: sysutils/slack - Simple configuration management utility Date: Tue, 7 Oct 2008 13:58:36 -0700 --pWyiEgJYm5f9v55/ Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline Oops, looks like the encoding was wrong on the attachment. This one should be better. Sorry about all the updates. --pWyiEgJYm5f9v55/ Content-Type: application/x-shar Content-Disposition: attachment; filename="slack.shar" # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # slack # slack/Makefile # slack/distinfo # slack/files # slack/files/patch-installpaths # slack/pkg-descr # slack/pkg-plist # echo c - slack mkdir -p slack > /dev/null 2>&1 echo x - slack/Makefile sed 's/^X//' >slack/Makefile << 'END-of-slack/Makefile' X# New ports collection makefile for: slack X# Date created: 3 October 2008 X# Whom: Steve Atwell X# X# $FreeBSD$ X# X XPORTNAME= slack XPORTVERSION= 0.15.2 XCATEGORIES= sysutils XMASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} \ X http://www.sundell.net/~alan/projects/slack/ X XMAINTAINER= satwell@disjoint.net XCOMMENT= Configuration management system designed to appeal to lazy admins X XRUN_DEPENDS= rsync:${PORTSDIR}/net/rsync X XUSE_PERL5_RUN= 5.6.0+ XUSE_GMAKE= yes X XMAN1= slack-diff.1 XMAN5= slack.conf.5 XMAN8= slack.8 X XPORTDOCS= ChangeLog COPYING CREDITS FAQ GPL README TODO \ X fixfiles-and-dirs.txt slack-intro X XMAKE_ARGS= prefix=${PREFIX} exec_prefix=${PREFIX} \ X libexecdir=${PREFIX}/libexec mandir=${PREFIX}/man \ X localstatedir=/var X Xpost-build: X @for f in ${WRKSRC}/src/build/*; do \ X ${REINPLACE_CMD} -e '1s,^#!.*perl,#!${PERL},' $$f; \ X done X Xpost-install: X @${INSTALL_DATA} ${WRKSRC}/src/slack.conf ${PREFIX}/etc/slack.conf.sample X.if !defined(NOPORTDOCS) X @${MKDIR} ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/COPYING ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/CREDITS ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/FAQ ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/GPL ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/TODO ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/doc/fixfiles-and-dirs.txt ${DOCSDIR} X @${INSTALL_DATA} ${WRKSRC}/doc/slack-intro ${DOCSDIR} X.endif X X.include <bsd.port.mk> END-of-slack/Makefile echo x - slack/distinfo sed 's/^X//' >slack/distinfo << 'END-of-slack/distinfo' XMD5 (slack-0.15.2.tar.gz) = 4056df8e7e152a6e4e6730708a86bd25 XSHA256 (slack-0.15.2.tar.gz) = 5c11a6d29035bbb202a5c20c180ae86e8d9fa8ecc89b7f110713d0e0bedf21ce XSIZE (slack-0.15.2.tar.gz) = 51555 END-of-slack/distinfo echo c - slack/files mkdir -p slack/files > /dev/null 2>&1 echo x - slack/files/patch-installpaths sed 's/^X//' >slack/files/patch-installpaths << 'END-of-slack/files/patch-installpaths' Xdiff -uNr ./Makefile.common ../slack-0.15.2/Makefile.common X--- ./Makefile.common 2008-04-20 18:06:15.000000000 -0700 X+++ ../slack-0.15.2/Makefile.common 2008-10-05 09:04:50.000000000 -0700 X@@ -6,7 +6,7 @@ X X DESTDIR = X X-prefix = / X+prefix = X exec_prefix = /usr X sysconfdir = ${prefix}/etc X mandir = ${exec_prefix}/share/man Xdiff -uNr ./src/Makefile ../slack-0.15.2/src/Makefile X--- ./src/Makefile 2008-04-20 18:06:15.000000000 -0700 X+++ ../slack-0.15.2/src/Makefile 2008-10-06 22:48:40.000000000 -0700 X@@ -2,35 +2,53 @@ X X include ../Makefile.common X X+BUILDDIR = build X+ X BACKENDS = slack-getroles slack-installfiles slack-runscript slack-sync slack-stage slack-rolediff X X-all: X+TARGETS = $(addprefix $(BUILDDIR)/,$(BACKENDS)) \ X+ $(BUILDDIR)/Slack.pm \ X+ $(BUILDDIR)/slack \ X+ $(BUILDDIR)/slack-diff \ X+ $(BUILDDIR)/slack.conf X+ X+all: $(TARGETS) X+ X+$(BUILDDIR)/%: % X+ mkdir -p $(BUILDDIR) X+ sed -e 's#@SYSCONFDIR@#$(sysconfdir)#g' \ X+ -e 's#@SLACK_LIBDIR@#$(slack_libdir)#g' \ X+ -e 's#@SLACK_LIBEXECDIR@#$(slack_libexecdir)#g' \ X+ -e 's#@SLACK_LOCALSTATEDIR@#$(slack_localstatedir)#g' \ X+ -e 's#@SLACK_LOCALCACHEDIR@#$(slack_localcachedir)#g' $< > $@ X X install: install-bin install-conf install-lib install-man X X install-bin: all X $(MKDIR) $(DESTDIR)$(sbindir) X- $(INSTALL) slack $(DESTDIR)$(sbindir) X+ $(INSTALL) $(BUILDDIR)/slack $(DESTDIR)$(sbindir) X $(MKDIR) $(DESTDIR)$(bindir) X- $(INSTALL) slack-diff $(DESTDIR)$(bindir) X+ $(INSTALL) $(BUILDDIR)/slack-diff $(DESTDIR)$(bindir) X $(MKDIR) $(DESTDIR)$(slack_libexecdir) X @set -ex;\ X for i in $(BACKENDS); do \ X- $(INSTALL) $$i $(DESTDIR)$(slack_libexecdir); done X+ $(INSTALL) $(BUILDDIR)/$$i $(DESTDIR)$(slack_libexecdir); done X $(INSTALL) -d -m $(PRIVDIRMODE) $(DESTDIR)$(slack_localstatedir) X $(INSTALL) -d -m $(PRIVDIRMODE) $(DESTDIR)$(slack_localcachedir) X X install-conf: all X $(MKDIR) $(DESTDIR)$(sysconfdir) X- $(INSTALL) -m 0644 slack.conf $(DESTDIR)$(sysconfdir) X+ test -f $(DESTDIR)$(sysconfdir)/slack.conf || \ X+ $(INSTALL) -m 0644 $(BUILDDIR)/slack.conf $(DESTDIR)$(sysconfdir) X X install-lib: all X $(MKDIR) $(DESTDIR)$(slack_libdir) X- $(INSTALL) -m 0644 Slack.pm $(DESTDIR)$(slack_libdir) X+ $(INSTALL) -m 0644 $(BUILDDIR)/Slack.pm $(DESTDIR)$(slack_libdir) X X install-man: all X X clean: X+ rm -rf $(BUILDDIR) X X realclean: clean X Xdiff -uNr ./src/slack ../slack-0.15.2/src/slack X--- ./src/slack 2008-04-20 18:06:15.000000000 -0700 X+++ ../slack-0.15.2/src/slack 2008-10-06 20:38:16.000000000 -0700 X@@ -19,8 +19,8 @@ X use File::Find; X use POSIX; # for strftime X X-use constant LIBEXEC_DIR => '/usr/lib/slack'; X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIBEXEC_DIR => '@SLACK_LIBEXECDIR@'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X Xdiff -uNr ./src/slack.conf ../slack-0.15.2/src/slack.conf X--- ./src/slack.conf 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/slack.conf 2008-10-06 20:37:03.000000000 -0700 X@@ -3,7 +3,7 @@ X # See slack.conf(5) X ROLE_LIST=etc/roles.conf X SOURCE=slack-master::slack X-CACHE=/var/cache/slack X-STAGE=/var/lib/slack/stage X+CACHE=@SLACK_LOCALCACHEDIR@ X+STAGE=@SLACK_LOCALSTATEDIR@/stage X ROOT=/ X-BACKUP_DIR=/var/lib/slack/backups X+BACKUP_DIR=@SLACK_LOCALSTATEDIR@/backups Xdiff -uNr ./src/slack-getroles ../slack-0.15.2/src/slack-getroles X--- ./src/slack-getroles 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/slack-getroles 2008-10-06 20:37:17.000000000 -0700 X@@ -17,7 +17,7 @@ X X use File::Path; X X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X Xdiff -uNr ./src/slack-installfiles ../slack-0.15.2/src/slack-installfiles X--- ./src/slack-installfiles 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/slack-installfiles 2008-10-06 20:37:26.000000000 -0700 X@@ -17,7 +17,7 @@ X X use File::Path; X X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X Xdiff -uNr ./src/Slack.pm ../slack-0.15.2/src/Slack.pm X--- ./src/Slack.pm 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/Slack.pm 2008-10-06 20:37:38.000000000 -0700 X@@ -19,7 +19,7 @@ X @EXPORT = qw(); X @EXPORT_OK = qw(); X X-$DEFAULT_CONFIG_FILE = '/etc/slack.conf'; X+$DEFAULT_CONFIG_FILE = '@SYSCONFDIR@/slack.conf'; X X my $term; X Xdiff -uNr ./src/slack-rolediff ../slack-0.15.2/src/slack-rolediff X--- ./src/slack-rolediff 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/slack-rolediff 2008-10-06 20:37:45.000000000 -0700 X@@ -18,7 +18,7 @@ X use File::Path; X use File::Find; X X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X Xdiff -uNr ./src/slack-runscript ../slack-0.15.2/src/slack-runscript X--- ./src/slack-runscript 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/slack-runscript 2008-10-06 20:37:52.000000000 -0700 X@@ -17,7 +17,7 @@ X use File::Path; X use File::Find; X X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X Xdiff -uNr ./src/slack-stage ../slack-0.15.2/src/slack-stage X--- ./src/slack-stage 2008-04-20 18:06:15.000000000 -0700 X+++ ../slack-0.15.2/src/slack-stage 2008-10-06 20:38:01.000000000 -0700 X@@ -19,7 +19,7 @@ X use File::Path; X use File::Find; X X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X Xdiff -uNr ./src/slack-sync ../slack-0.15.2/src/slack-sync X--- ./src/slack-sync 2008-04-20 18:06:14.000000000 -0700 X+++ ../slack-0.15.2/src/slack-sync 2008-10-06 20:38:07.000000000 -0700 X@@ -17,7 +17,7 @@ X X use File::Path; X X-use constant LIB_DIR => '/usr/lib/slack'; X+use constant LIB_DIR => '@SLACK_LIBDIR@'; X use lib LIB_DIR; X use Slack; X END-of-slack/files/patch-installpaths echo x - slack/pkg-descr sed 's/^X//' >slack/pkg-descr << 'END-of-slack/pkg-descr' Xslack is an evolution from the usual "put files in some central directory" Xthat is fairly common practice. It's descended from an earlier system its Xauthor also wrote, called "subsets", and uses a multi-stage rsync to fix Xsome of the problems he had there. X XBasically, it's a glorified wrapper around rsync. X XWWW: http://code.google.com/p/slack/ END-of-slack/pkg-descr echo x - slack/pkg-plist sed 's/^X//' >slack/pkg-plist << 'END-of-slack/pkg-plist' X@unexec if cmp -s %D/etc/slack.conf.sample %D/etc/slack.conf; then rm -f %D/etc/slack.conf; fi Xetc/slack.conf.sample X@exec if [ ! -f %D/etc/slack.conf ]; then cp -p %D/%F %B/slack.conf; fi Xbin/slack-diff Xlib/slack/Slack.pm Xlibexec/slack/slack-getroles Xlibexec/slack/slack-installfiles Xlibexec/slack/slack-rolediff Xlibexec/slack/slack-runscript Xlibexec/slack/slack-stage Xlibexec/slack/slack-sync Xsbin/slack X@exec install -d -m 0700 /var/lib/slack X@exec install -d -m 0700 /var/cache/slack X@unexec rmdir /var/lib/slack 2>/dev/null || true X@unexec rmdir /var/lib 2>/dev/null || true X@unexec rmdir /var/cache/slack 2>/dev/null || true X@unexec rmdir /var/cache 2>/dev/null || true X@dirrm lib/slack X@dirrm libexec/slack END-of-slack/pkg-plist exit --pWyiEgJYm5f9v55/--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200810072100.m97L0Drp035987>