summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorapb <apb@pkgsrc.org>2012-01-21 20:26:58 +0000
committerapb <apb@pkgsrc.org>2012-01-21 20:26:58 +0000
commitbcd63313e2aa38923139447dc6f5ad8c420adaa2 (patch)
tree56b347dad398eb286def8775bd51eedcfcc5c8d0
parentf789b84eded01962162e343015a84052c8c96f59 (diff)
downloadpkgsrc-bcd63313e2aa38923139447dc6f5ad8c420adaa2.tar.gz
Add salt-0.9.5
Salt is a powerful remote execution manager that can be used to administer servers in a fast and efficient way.
-rw-r--r--sysutils/salt/DESCR13
-rw-r--r--sysutils/salt/Makefile43
-rw-r--r--sysutils/salt/PLIST358
-rw-r--r--sysutils/salt/distinfo6
-rw-r--r--sysutils/salt/files/salt_master.sh19
-rw-r--r--sysutils/salt/files/salt_minion.sh19
-rw-r--r--sysutils/salt/patches/patch-setup.py49
7 files changed, 507 insertions, 0 deletions
diff --git a/sysutils/salt/DESCR b/sysutils/salt/DESCR
new file mode 100644
index 00000000000..6060d123892
--- /dev/null
+++ b/sysutils/salt/DESCR
@@ -0,0 +1,13 @@
+Salt is a powerful remote execution manager that can be used to
+administer servers in a fast and efficient way.
+
+Salt allows commands to be executed across large groups of servers. This
+means systems can be easily managed, but data can also be easily
+gathered. Quick introspection into running systems becomes a reality.
+
+Remote execution is usually used to set up a certain state on a remote
+system. Salt addresses this problem as well, the salt state system uses
+salt state files to define the state a server needs to be in.
+
+Between the remote execution system, and state management Salt addresses
+the backbone of cloud and data center management.
diff --git a/sysutils/salt/Makefile b/sysutils/salt/Makefile
new file mode 100644
index 00000000000..fea9a432268
--- /dev/null
+++ b/sysutils/salt/Makefile
@@ -0,0 +1,43 @@
+# $NetBSD: Makefile,v 1.1 2012/01/21 20:26:58 apb Exp $
+#
+
+DISTNAME= salt-0.9.5
+CATEGORIES= sysutils
+MASTER_SITES= https://github.com/downloads/saltstack/salt/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= https://github.com/downloads/saltstack/salt/
+COMMENT= Remote execution and configuration management system
+LICENSE= apache-2.0
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+SUBST_CLASSES+= fix-paths
+SUBST_STAGE.fix-paths= post-patch
+SUBST_MESSAGE.fix-paths=Fixing directory paths.
+SUBST_FILES.fix-paths+= conf/*
+SUBST_FILES.fix-paths+= doc/man/*
+SUBST_FILES.fix-paths+= salt/__init__.py
+SUBST_FILES.fix-paths+= salt/cli/__init__.py
+SUBST_FILES.fix-paths+= salt/client.py
+SUBST_FILES.fix-paths+= salt/config.py
+SUBST_FILES.fix-paths+= salt/modules/mysql.py
+SUBST_SED.fix-paths+= -e "s|/etc/salt|${PKG_SYSCONFDIR}|g"
+
+PKG_SYSCONFSUBDIR= salt
+
+EGDIR= ${PREFIX}/share/examples/salt
+CONF_FILES+= ${EGDIR}/master ${PKG_SYSCONFDIR}/master
+CONF_FILES+= ${EGDIR}/minion ${PKG_SYSCONFDIR}/minion
+
+RCD_SCRIPTS+= salt_master salt_minion
+
+PYTHON_VERSIONS_ACCEPTED= 26
+.include "../../lang/python/distutils.mk"
+DEPENDS+= zeromq>=2.1.9:../../net/zeromq
+DEPENDS+= ${PYPKGPREFIX}-zmq>=2.1.9:../../net/py-zmq
+DEPENDS+= ${PYPKGPREFIX}-m2crypto-[0-9]*:../../security/py-m2crypto
+DEPENDS+= ${PYPKGPREFIX}-crypto-[0-9]*:../../security/py-crypto
+DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/salt/PLIST b/sysutils/salt/PLIST
new file mode 100644
index 00000000000..17860c6a5fc
--- /dev/null
+++ b/sysutils/salt/PLIST
@@ -0,0 +1,358 @@
+@comment $NetBSD: PLIST,v 1.1 2012/01/21 20:26:58 apb Exp $
+${PLIST.eggfile}${PYSITELIB}/${EGG_FILE}
+${PYSITELIB}/salt/__init__.py
+${PYSITELIB}/salt/__init__.pyc
+${PYSITELIB}/salt/__init__.pyo
+${PYSITELIB}/salt/cli/__init__.py
+${PYSITELIB}/salt/cli/__init__.pyc
+${PYSITELIB}/salt/cli/__init__.pyo
+${PYSITELIB}/salt/cli/caller.py
+${PYSITELIB}/salt/cli/caller.pyc
+${PYSITELIB}/salt/cli/caller.pyo
+${PYSITELIB}/salt/cli/cp.py
+${PYSITELIB}/salt/cli/cp.pyc
+${PYSITELIB}/salt/cli/cp.pyo
+${PYSITELIB}/salt/cli/key.py
+${PYSITELIB}/salt/cli/key.pyc
+${PYSITELIB}/salt/cli/key.pyo
+${PYSITELIB}/salt/client.py
+${PYSITELIB}/salt/client.pyc
+${PYSITELIB}/salt/client.pyo
+${PYSITELIB}/salt/config.py
+${PYSITELIB}/salt/config.pyc
+${PYSITELIB}/salt/config.pyo
+${PYSITELIB}/salt/crypt.py
+${PYSITELIB}/salt/crypt.pyc
+${PYSITELIB}/salt/crypt.pyo
+${PYSITELIB}/salt/exceptions.py
+${PYSITELIB}/salt/exceptions.pyc
+${PYSITELIB}/salt/exceptions.pyo
+${PYSITELIB}/salt/ext/__init__.py
+${PYSITELIB}/salt/ext/__init__.pyc
+${PYSITELIB}/salt/ext/__init__.pyo
+${PYSITELIB}/salt/grains/__init__.py
+${PYSITELIB}/salt/grains/__init__.pyc
+${PYSITELIB}/salt/grains/__init__.pyo
+${PYSITELIB}/salt/grains/core.py
+${PYSITELIB}/salt/grains/core.pyc
+${PYSITELIB}/salt/grains/core.pyo
+${PYSITELIB}/salt/loader.py
+${PYSITELIB}/salt/loader.pyc
+${PYSITELIB}/salt/loader.pyo
+${PYSITELIB}/salt/log.py
+${PYSITELIB}/salt/log.pyc
+${PYSITELIB}/salt/log.pyo
+${PYSITELIB}/salt/master.py
+${PYSITELIB}/salt/master.pyc
+${PYSITELIB}/salt/master.pyo
+${PYSITELIB}/salt/minion.py
+${PYSITELIB}/salt/minion.pyc
+${PYSITELIB}/salt/minion.pyo
+${PYSITELIB}/salt/modules/__init__.py
+${PYSITELIB}/salt/modules/__init__.pyc
+${PYSITELIB}/salt/modules/__init__.pyo
+${PYSITELIB}/salt/modules/apache.py
+${PYSITELIB}/salt/modules/apache.pyc
+${PYSITELIB}/salt/modules/apache.pyo
+${PYSITELIB}/salt/modules/apt.py
+${PYSITELIB}/salt/modules/apt.pyc
+${PYSITELIB}/salt/modules/apt.pyo
+${PYSITELIB}/salt/modules/archive.py
+${PYSITELIB}/salt/modules/archive.pyc
+${PYSITELIB}/salt/modules/archive.pyo
+${PYSITELIB}/salt/modules/butterkvm.py
+${PYSITELIB}/salt/modules/butterkvm.pyc
+${PYSITELIB}/salt/modules/butterkvm.pyo
+${PYSITELIB}/salt/modules/cluster.py
+${PYSITELIB}/salt/modules/cluster.pyc
+${PYSITELIB}/salt/modules/cluster.pyo
+${PYSITELIB}/salt/modules/cmd.py
+${PYSITELIB}/salt/modules/cmd.pyc
+${PYSITELIB}/salt/modules/cmd.pyo
+${PYSITELIB}/salt/modules/cp.py
+${PYSITELIB}/salt/modules/cp.pyc
+${PYSITELIB}/salt/modules/cp.pyo
+${PYSITELIB}/salt/modules/cron.py
+${PYSITELIB}/salt/modules/cron.pyc
+${PYSITELIB}/salt/modules/cron.pyo
+${PYSITELIB}/salt/modules/cytest.pyx
+${PYSITELIB}/salt/modules/data.py
+${PYSITELIB}/salt/modules/data.pyc
+${PYSITELIB}/salt/modules/data.pyo
+${PYSITELIB}/salt/modules/disk.py
+${PYSITELIB}/salt/modules/disk.pyc
+${PYSITELIB}/salt/modules/disk.pyo
+${PYSITELIB}/salt/modules/ebuild.py
+${PYSITELIB}/salt/modules/ebuild.pyc
+${PYSITELIB}/salt/modules/ebuild.pyo
+${PYSITELIB}/salt/modules/file.py
+${PYSITELIB}/salt/modules/file.pyc
+${PYSITELIB}/salt/modules/file.pyo
+${PYSITELIB}/salt/modules/freebsdkmod.py
+${PYSITELIB}/salt/modules/freebsdkmod.pyc
+${PYSITELIB}/salt/modules/freebsdkmod.pyo
+${PYSITELIB}/salt/modules/freebsdpkg.py
+${PYSITELIB}/salt/modules/freebsdpkg.pyc
+${PYSITELIB}/salt/modules/freebsdpkg.pyo
+${PYSITELIB}/salt/modules/gentoo_service.py
+${PYSITELIB}/salt/modules/gentoo_service.pyc
+${PYSITELIB}/salt/modules/gentoo_service.pyo
+${PYSITELIB}/salt/modules/grains.py
+${PYSITELIB}/salt/modules/grains.pyc
+${PYSITELIB}/salt/modules/grains.pyo
+${PYSITELIB}/salt/modules/groupadd.py
+${PYSITELIB}/salt/modules/groupadd.pyc
+${PYSITELIB}/salt/modules/groupadd.pyo
+${PYSITELIB}/salt/modules/hosts.py
+${PYSITELIB}/salt/modules/hosts.pyc
+${PYSITELIB}/salt/modules/hosts.pyo
+${PYSITELIB}/salt/modules/kmod.py
+${PYSITELIB}/salt/modules/kmod.pyc
+${PYSITELIB}/salt/modules/kmod.pyo
+${PYSITELIB}/salt/modules/linux_sysctl.py
+${PYSITELIB}/salt/modules/linux_sysctl.pyc
+${PYSITELIB}/salt/modules/linux_sysctl.pyo
+${PYSITELIB}/salt/modules/mdadm.py
+${PYSITELIB}/salt/modules/mdadm.pyc
+${PYSITELIB}/salt/modules/mdadm.pyo
+${PYSITELIB}/salt/modules/moosefs.py
+${PYSITELIB}/salt/modules/moosefs.pyc
+${PYSITELIB}/salt/modules/moosefs.pyo
+${PYSITELIB}/salt/modules/mount.py
+${PYSITELIB}/salt/modules/mount.pyc
+${PYSITELIB}/salt/modules/mount.pyo
+${PYSITELIB}/salt/modules/mysql.py
+${PYSITELIB}/salt/modules/mysql.pyc
+${PYSITELIB}/salt/modules/mysql.pyo
+${PYSITELIB}/salt/modules/network.py
+${PYSITELIB}/salt/modules/network.pyc
+${PYSITELIB}/salt/modules/network.pyo
+${PYSITELIB}/salt/modules/pacman.py
+${PYSITELIB}/salt/modules/pacman.pyc
+${PYSITELIB}/salt/modules/pacman.pyo
+${PYSITELIB}/salt/modules/pip.py
+${PYSITELIB}/salt/modules/pip.pyc
+${PYSITELIB}/salt/modules/pip.pyo
+${PYSITELIB}/salt/modules/ps.py
+${PYSITELIB}/salt/modules/ps.pyc
+${PYSITELIB}/salt/modules/ps.pyo
+${PYSITELIB}/salt/modules/publish.py
+${PYSITELIB}/salt/modules/publish.pyc
+${PYSITELIB}/salt/modules/publish.pyo
+${PYSITELIB}/salt/modules/puppet.py
+${PYSITELIB}/salt/modules/puppet.pyc
+${PYSITELIB}/salt/modules/puppet.pyo
+${PYSITELIB}/salt/modules/pw_group.py
+${PYSITELIB}/salt/modules/pw_group.pyc
+${PYSITELIB}/salt/modules/pw_group.pyo
+${PYSITELIB}/salt/modules/pw_user.py
+${PYSITELIB}/salt/modules/pw_user.pyc
+${PYSITELIB}/salt/modules/pw_user.pyo
+${PYSITELIB}/salt/modules/rh_service.py
+${PYSITELIB}/salt/modules/rh_service.pyc
+${PYSITELIB}/salt/modules/rh_service.pyo
+${PYSITELIB}/salt/modules/saltutil.py
+${PYSITELIB}/salt/modules/saltutil.pyc
+${PYSITELIB}/salt/modules/saltutil.pyo
+${PYSITELIB}/salt/modules/selinux.py
+${PYSITELIB}/salt/modules/selinux.pyc
+${PYSITELIB}/salt/modules/selinux.pyo
+${PYSITELIB}/salt/modules/service.py
+${PYSITELIB}/salt/modules/service.pyc
+${PYSITELIB}/salt/modules/service.pyo
+${PYSITELIB}/salt/modules/shadow.py
+${PYSITELIB}/salt/modules/shadow.pyc
+${PYSITELIB}/salt/modules/shadow.pyo
+${PYSITELIB}/salt/modules/solr.py
+${PYSITELIB}/salt/modules/solr.pyc
+${PYSITELIB}/salt/modules/solr.pyo
+${PYSITELIB}/salt/modules/ssh.py
+${PYSITELIB}/salt/modules/ssh.pyc
+${PYSITELIB}/salt/modules/ssh.pyo
+${PYSITELIB}/salt/modules/state.py
+${PYSITELIB}/salt/modules/state.pyc
+${PYSITELIB}/salt/modules/state.pyo
+${PYSITELIB}/salt/modules/status.py
+${PYSITELIB}/salt/modules/status.pyc
+${PYSITELIB}/salt/modules/status.pyo
+${PYSITELIB}/salt/modules/systemd.py
+${PYSITELIB}/salt/modules/systemd.pyc
+${PYSITELIB}/salt/modules/systemd.pyo
+${PYSITELIB}/salt/modules/test.py
+${PYSITELIB}/salt/modules/test.pyc
+${PYSITELIB}/salt/modules/test.pyo
+${PYSITELIB}/salt/modules/tomcat.py
+${PYSITELIB}/salt/modules/tomcat.pyc
+${PYSITELIB}/salt/modules/tomcat.pyo
+${PYSITELIB}/salt/modules/useradd.py
+${PYSITELIB}/salt/modules/useradd.pyc
+${PYSITELIB}/salt/modules/useradd.pyo
+${PYSITELIB}/salt/modules/virt.py
+${PYSITELIB}/salt/modules/virt.pyc
+${PYSITELIB}/salt/modules/virt.pyo
+${PYSITELIB}/salt/modules/virtualenv.py
+${PYSITELIB}/salt/modules/virtualenv.pyc
+${PYSITELIB}/salt/modules/virtualenv.pyo
+${PYSITELIB}/salt/modules/win_disk.py
+${PYSITELIB}/salt/modules/win_disk.pyc
+${PYSITELIB}/salt/modules/win_disk.pyo
+${PYSITELIB}/salt/modules/win_service.py
+${PYSITELIB}/salt/modules/win_service.pyc
+${PYSITELIB}/salt/modules/win_service.pyo
+${PYSITELIB}/salt/modules/win_useradd.py
+${PYSITELIB}/salt/modules/win_useradd.pyc
+${PYSITELIB}/salt/modules/win_useradd.pyo
+${PYSITELIB}/salt/modules/yumpkg.py
+${PYSITELIB}/salt/modules/yumpkg.pyc
+${PYSITELIB}/salt/modules/yumpkg.pyo
+${PYSITELIB}/salt/modules/yumpkg5.py
+${PYSITELIB}/salt/modules/yumpkg5.pyc
+${PYSITELIB}/salt/modules/yumpkg5.pyo
+${PYSITELIB}/salt/msgpack/__init__.py
+${PYSITELIB}/salt/msgpack/__init__.pyc
+${PYSITELIB}/salt/msgpack/__init__.pyo
+${PYSITELIB}/salt/msgpack/__version__.py
+${PYSITELIB}/salt/msgpack/__version__.pyc
+${PYSITELIB}/salt/msgpack/__version__.pyo
+${PYSITELIB}/salt/msgpack/_msgpack.so
+${PYSITELIB}/salt/output.py
+${PYSITELIB}/salt/output.pyc
+${PYSITELIB}/salt/output.pyo
+${PYSITELIB}/salt/payload.py
+${PYSITELIB}/salt/payload.pyc
+${PYSITELIB}/salt/payload.pyo
+${PYSITELIB}/salt/renderers/__init__.py
+${PYSITELIB}/salt/renderers/__init__.pyc
+${PYSITELIB}/salt/renderers/__init__.pyo
+${PYSITELIB}/salt/renderers/json_jinja.py
+${PYSITELIB}/salt/renderers/json_jinja.pyc
+${PYSITELIB}/salt/renderers/json_jinja.pyo
+${PYSITELIB}/salt/renderers/json_mako.py
+${PYSITELIB}/salt/renderers/json_mako.pyc
+${PYSITELIB}/salt/renderers/json_mako.pyo
+${PYSITELIB}/salt/renderers/py.py
+${PYSITELIB}/salt/renderers/py.pyc
+${PYSITELIB}/salt/renderers/py.pyo
+${PYSITELIB}/salt/renderers/yaml_jinja.py
+${PYSITELIB}/salt/renderers/yaml_jinja.pyc
+${PYSITELIB}/salt/renderers/yaml_jinja.pyo
+${PYSITELIB}/salt/renderers/yaml_mako.py
+${PYSITELIB}/salt/renderers/yaml_mako.pyc
+${PYSITELIB}/salt/renderers/yaml_mako.pyo
+${PYSITELIB}/salt/returners/__init__.py
+${PYSITELIB}/salt/returners/__init__.pyc
+${PYSITELIB}/salt/returners/__init__.pyo
+${PYSITELIB}/salt/returners/cassandra_return.py
+${PYSITELIB}/salt/returners/cassandra_return.pyc
+${PYSITELIB}/salt/returners/cassandra_return.pyo
+${PYSITELIB}/salt/returners/local.py
+${PYSITELIB}/salt/returners/local.pyc
+${PYSITELIB}/salt/returners/local.pyo
+${PYSITELIB}/salt/returners/mongo_return.py
+${PYSITELIB}/salt/returners/mongo_return.pyc
+${PYSITELIB}/salt/returners/mongo_return.pyo
+${PYSITELIB}/salt/returners/redis_return.py
+${PYSITELIB}/salt/returners/redis_return.pyc
+${PYSITELIB}/salt/returners/redis_return.pyo
+${PYSITELIB}/salt/runner.py
+${PYSITELIB}/salt/runner.pyc
+${PYSITELIB}/salt/runner.pyo
+${PYSITELIB}/salt/runners/__init__.py
+${PYSITELIB}/salt/runners/__init__.pyc
+${PYSITELIB}/salt/runners/__init__.pyo
+${PYSITELIB}/salt/runners/manage.py
+${PYSITELIB}/salt/runners/manage.pyc
+${PYSITELIB}/salt/runners/manage.pyo
+${PYSITELIB}/salt/state.py
+${PYSITELIB}/salt/state.pyc
+${PYSITELIB}/salt/state.pyo
+${PYSITELIB}/salt/states/__init__.py
+${PYSITELIB}/salt/states/__init__.pyc
+${PYSITELIB}/salt/states/__init__.pyo
+${PYSITELIB}/salt/states/cmd.py
+${PYSITELIB}/salt/states/cmd.pyc
+${PYSITELIB}/salt/states/cmd.pyo
+${PYSITELIB}/salt/states/cron.py
+${PYSITELIB}/salt/states/cron.pyc
+${PYSITELIB}/salt/states/cron.pyo
+${PYSITELIB}/salt/states/file.py
+${PYSITELIB}/salt/states/file.pyc
+${PYSITELIB}/salt/states/file.pyo
+${PYSITELIB}/salt/states/group.py
+${PYSITELIB}/salt/states/group.pyc
+${PYSITELIB}/salt/states/group.pyo
+${PYSITELIB}/salt/states/host.py
+${PYSITELIB}/salt/states/host.pyc
+${PYSITELIB}/salt/states/host.pyo
+${PYSITELIB}/salt/states/kmod.py
+${PYSITELIB}/salt/states/kmod.pyc
+${PYSITELIB}/salt/states/kmod.pyo
+${PYSITELIB}/salt/states/mount.py
+${PYSITELIB}/salt/states/mount.pyc
+${PYSITELIB}/salt/states/mount.pyo
+${PYSITELIB}/salt/states/mysql_database.py
+${PYSITELIB}/salt/states/mysql_database.pyc
+${PYSITELIB}/salt/states/mysql_database.pyo
+${PYSITELIB}/salt/states/mysql_user.py
+${PYSITELIB}/salt/states/mysql_user.pyc
+${PYSITELIB}/salt/states/mysql_user.pyo
+${PYSITELIB}/salt/states/pkg.py
+${PYSITELIB}/salt/states/pkg.pyc
+${PYSITELIB}/salt/states/pkg.pyo
+${PYSITELIB}/salt/states/service.py
+${PYSITELIB}/salt/states/service.pyc
+${PYSITELIB}/salt/states/service.pyo
+${PYSITELIB}/salt/states/ssh_auth.py
+${PYSITELIB}/salt/states/ssh_auth.pyc
+${PYSITELIB}/salt/states/ssh_auth.pyo
+${PYSITELIB}/salt/states/sysctl.py
+${PYSITELIB}/salt/states/sysctl.pyc
+${PYSITELIB}/salt/states/sysctl.pyo
+${PYSITELIB}/salt/states/user.py
+${PYSITELIB}/salt/states/user.pyc
+${PYSITELIB}/salt/states/user.pyo
+${PYSITELIB}/salt/states/virtualenv.py
+${PYSITELIB}/salt/states/virtualenv.pyc
+${PYSITELIB}/salt/states/virtualenv.pyo
+${PYSITELIB}/salt/utils/__init__.py
+${PYSITELIB}/salt/utils/__init__.pyc
+${PYSITELIB}/salt/utils/__init__.pyo
+${PYSITELIB}/salt/utils/find.py
+${PYSITELIB}/salt/utils/find.pyc
+${PYSITELIB}/salt/utils/find.pyo
+${PYSITELIB}/salt/utils/jinja.py
+${PYSITELIB}/salt/utils/jinja.pyc
+${PYSITELIB}/salt/utils/jinja.pyo
+${PYSITELIB}/salt/utils/saltminionservice.py
+${PYSITELIB}/salt/utils/saltminionservice.pyc
+${PYSITELIB}/salt/utils/saltminionservice.pyo
+${PYSITELIB}/salt/utils/verify.py
+${PYSITELIB}/salt/utils/verify.pyc
+${PYSITELIB}/salt/utils/verify.pyo
+${PYSITELIB}/salt/utils/winservice.py
+${PYSITELIB}/salt/utils/winservice.pyc
+${PYSITELIB}/salt/utils/winservice.pyo
+${PYSITELIB}/salt/version.py
+${PYSITELIB}/salt/version.pyc
+${PYSITELIB}/salt/version.pyo
+bin/salt
+bin/salt-call
+bin/salt-cp
+bin/salt-key
+bin/salt-master
+bin/salt-minion
+bin/salt-run
+bin/salt-syndic
+share/examples/rc.d/salt_master
+share/examples/rc.d/salt_minion
+share/examples/salt/master
+share/examples/salt/minion
+${PKGMANDIR}/man1/salt-call.1
+${PKGMANDIR}/man1/salt-cp.1
+${PKGMANDIR}/man1/salt-key.1
+${PKGMANDIR}/man1/salt-master.1
+${PKGMANDIR}/man1/salt-minion.1
+${PKGMANDIR}/man1/salt-run.1
+${PKGMANDIR}/man1/salt-syndic.1
+${PKGMANDIR}/man1/salt.1
+${PKGMANDIR}/man7/salt.7
diff --git a/sysutils/salt/distinfo b/sysutils/salt/distinfo
new file mode 100644
index 00000000000..bf080800818
--- /dev/null
+++ b/sysutils/salt/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2012/01/21 20:26:58 apb Exp $
+
+SHA1 (salt-0.9.5.tar.gz) = b7540d8e6f20b8bcd125de108b39ef6971c38ee4
+RMD160 (salt-0.9.5.tar.gz) = beee5128226939f422cdb423614eedf4258fb463
+Size (salt-0.9.5.tar.gz) = 252878 bytes
+SHA1 (patch-setup.py) = 09599d9c5c8fada0d2ddcb3b93066a0d925f81a7
diff --git a/sysutils/salt/files/salt_master.sh b/sysutils/salt/files/salt_master.sh
new file mode 100644
index 00000000000..a040bf2c7a9
--- /dev/null
+++ b/sysutils/salt/files/salt_master.sh
@@ -0,0 +1,19 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: salt_master.sh,v 1.1 2012/01/21 20:26:58 apb Exp $
+#
+
+# PROVIDE: salt_master
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="salt_master"
+rcvar=$name
+command="@PREFIX@/bin/salt-master"
+command_args="-d"
+required_files="@PKG_SYSCONFDIR@/master"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/sysutils/salt/files/salt_minion.sh b/sysutils/salt/files/salt_minion.sh
new file mode 100644
index 00000000000..b1a64c6790f
--- /dev/null
+++ b/sysutils/salt/files/salt_minion.sh
@@ -0,0 +1,19 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: salt_minion.sh,v 1.1 2012/01/21 20:26:58 apb Exp $
+#
+
+# PROVIDE: salt_minion
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name="salt_minion"
+rcvar=$name
+command="@PREFIX@/bin/salt-minion"
+command_args="-d"
+required_files="@PKG_SYSCONFDIR@/minion"
+
+load_rc_config $name
+run_rc_command "$1"
diff --git a/sysutils/salt/patches/patch-setup.py b/sysutils/salt/patches/patch-setup.py
new file mode 100644
index 00000000000..614d7c595a4
--- /dev/null
+++ b/sysutils/salt/patches/patch-setup.py
@@ -0,0 +1,49 @@
+$NetBSD: patch-setup.py,v 1.1 2012/01/21 20:26:58 apb Exp $
+
+* Remove unused example_path and template_path;
+* Set etc_path to the directory where configfiles will be
+ installed, which is PREFIX/share/examples, not /etc or
+ PKG_SYSCONFDIR. The files are copied to PKG_SYSCONFDIR
+ via the CONFIG_FILES setting in the pkgsrc Makefile.
+* Install man pages in PKGMANDIR, not PREFIX/share/man.
+
+--- setup.py.orig 2012-01-15 22:10:25.000000000 +0000
++++ setup.py
+@@ -47,13 +47,14 @@ DESC = ('Portable, distributed, remote e
+ 'configuration management system')
+ mod_path = os.path.join(get_python_lib(), 'salt/modules')
+ doc_path = os.path.join(PREFIX, 'share/doc', NAME + '-' + VER)
+-example_path = os.path.join(doc_path, 'examples')
+-template_path = os.path.join(example_path, 'templates')
+
+-if 'SYSCONFDIR' in os.environ:
+- etc_path = os.environ['SYSCONFDIR']
++# for pkgsrc, install etc files in PREFIX/share/examples
++etc_path = os.path.join(PREFIX, 'share/examples')
++
++if 'PKGMANDIR' in os.environ:
++ man_path = os.environ['PKGMANDIR']
+ else:
+- etc_path = os.path.join(os.path.dirname(PREFIX), 'etc')
++ man_path = os.path.join(os.path.dirname(PREFIX), 'share/man')
+
+ # take care of extension modules.
+ if have_cython:
+@@ -125,7 +126,7 @@ setup(
+ ['conf/master',
+ 'conf/minion',
+ ]),
+- ('share/man/man1',
++ (os.path.join(man_path, 'man1'),
+ ['doc/man/salt-master.1',
+ 'doc/man/salt-key.1',
+ 'doc/man/salt.1',
+@@ -135,7 +136,7 @@ setup(
+ 'doc/man/salt-run.1',
+ 'doc/man/salt-minion.1',
+ ]),
+- ('share/man/man7',
++ (os.path.join(man_path, 'man7'),
+ ['doc/man/salt.7',
+ ]),
+ (mod_path,