diff options
author | riz <riz@pkgsrc.org> | 2013-02-26 17:42:59 +0000 |
---|---|---|
committer | riz <riz@pkgsrc.org> | 2013-02-26 17:42:59 +0000 |
commit | 19ba03ef9bf83a42489e9f23a9a2c21d7ea79028 (patch) | |
tree | 99290a58a26c595917f0dc27fbf0167415fc2dba /sysutils/ansible | |
parent | 8e67541c75793958f30953f3af66ffe4f2bdf2a3 (diff) | |
download | pkgsrc-19ba03ef9bf83a42489e9f23a9a2c21d7ea79028.tar.gz |
Some fixes for the package:
- install manpages
- replace "etc" with PKG_SYSCONFDIR in a number of locations
- replace "usr/share" with @PREFIX@/share in some places
- do some cleanup so things install with PKG_DEVELOPER set.
Diffstat (limited to 'sysutils/ansible')
-rw-r--r-- | sysutils/ansible/Makefile | 28 | ||||
-rw-r--r-- | sysutils/ansible/PLIST | 62 | ||||
-rw-r--r-- | sysutils/ansible/distinfo | 9 | ||||
-rw-r--r-- | sysutils/ansible/patches/patch-Makefile | 10 | ||||
-rw-r--r-- | sysutils/ansible/patches/patch-docs_man_man1_ansible-playbook.1 | 37 | ||||
-rw-r--r-- | sysutils/ansible/patches/patch-docs_man_man1_ansible.1 | 37 | ||||
-rw-r--r-- | sysutils/ansible/patches/patch-examples_ansible.cfg | 43 | ||||
-rw-r--r-- | sysutils/ansible/patches/patch-lib_ansible_constants.py | 49 |
8 files changed, 256 insertions, 19 deletions
diff --git a/sysutils/ansible/Makefile b/sysutils/ansible/Makefile index 9dff76384ce..8039adcde80 100644 --- a/sysutils/ansible/Makefile +++ b/sysutils/ansible/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2013/02/26 00:13:00 hubertf Exp $ +# $NetBSD: Makefile,v 1.2 2013/02/26 17:42:59 riz Exp $ # DISTNAME= ansible-1.0 @@ -17,8 +17,12 @@ REPLACE_PYTHON+=library/* SUBST_CLASSES+= prefix SUBST_STAGE.prefix= pre-configure -SUBST_FILES.prefix= lib/ansible/constants.py +SUBST_FILES.prefix= docs/man/man1/ansible-playbook.1 +SUBST_FILES.prefix+= docs/man/man1/ansible.1 +SUBST_FILES.prefix+= examples/ansible.cfg +SUBST_FILES.prefix+= lib/ansible/constants.py SUBST_SED.prefix= -e "s,@PREFIX@,${PREFIX}," +SUBST_SED.prefix+= -e "s,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR}," SUBST_CLASSES+= localbase SUBST_STAGE.localbase= pre-configure @@ -33,10 +37,30 @@ SUBST_FILES.localbase= \ library/virt SUBST_SED.localbase= -e "s,@LOCALBASE@,${LOCALBASE}," +SUBST_CLASSES+= pythonbin +SUBST_STAGE.pythonbin= pre-configure +SUBST_FILES.pythonbin= Makefile +SUBST_FILES.pythonbin= -e "s,@PYTHONBIN@,${PYTHONBIN}," + +MANPAGES= ansible-doc.1 ansible-pull.1 ansible-playbook.1 ansible.1 + DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml DEPENDS+= ${PYPKGPREFIX}-paramiko-[0-9]*:../../security/py-paramiko DEPENDS+= ${PYPKGPREFIX}-jinja2-[0-9]*:../../textproc/py-jinja2 +INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 ${PKGMANDIR}/man3 + +pre-install: + find ${WRKSRC} -name \*.orig -exec rm {} \; + +post-install: +.for f in ${MANPAGES} + ${INSTALL_MAN} ${WRKSRC}/docs/man/man1/$f \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/ +.endfor + ${INSTALL_MAN} ${WRKSRC}/docs/man/man3/* \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/man3/ + .include "../../lang/python/application.mk" .include "../../lang/python/distutils.mk" .include "../../mk/bsd.pkg.mk" diff --git a/sysutils/ansible/PLIST b/sysutils/ansible/PLIST index 0a0e46ae32c..b5a13dcba3f 100644 --- a/sysutils/ansible/PLIST +++ b/sysutils/ansible/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.1 2013/02/26 00:13:00 hubertf Exp $ +@comment $NetBSD: PLIST,v 1.2 2013/02/26 17:42:59 riz Exp $ bin/ansible bin/ansible-doc bin/ansible-playbook @@ -178,6 +178,66 @@ ${PYSITELIB}/ansible/utils/plugins.pyo ${PYSITELIB}/ansible/utils/template.py ${PYSITELIB}/ansible/utils/template.pyc ${PYSITELIB}/ansible/utils/template.pyo +man/man1/ansible.1 +man/man1/ansible-doc.1 +man/man1/ansible-playbook.1 +man/man1/ansible-pull.1 +man/man3/ansible.add_host.3 +man/man3/ansible.apt.3 +man/man3/ansible.apt_key.3 +man/man3/ansible.apt_repository.3 +man/man3/ansible.assemble.3 +man/man3/ansible.async_status.3 +man/man3/ansible.authorized_key.3 +man/man3/ansible.command.3 +man/man3/ansible.copy.3 +man/man3/ansible.cron.3 +man/man3/ansible.debug.3 +man/man3/ansible.easy_install.3 +man/man3/ansible.ec2.3 +man/man3/ansible.ec2_facts.3 +man/man3/ansible.facter.3 +man/man3/ansible.fail.3 +man/man3/ansible.fetch.3 +man/man3/ansible.file.3 +man/man3/ansible.fireball.3 +man/man3/ansible.get_url.3 +man/man3/ansible.git.3 +man/man3/ansible.group.3 +man/man3/ansible.group_by.3 +man/man3/ansible.hg.3 +man/man3/ansible.ini_file.3 +man/man3/ansible.lineinfile.3 +man/man3/ansible.mail.3 +man/man3/ansible.mount.3 +man/man3/ansible.mysql_db.3 +man/man3/ansible.mysql_user.3 +man/man3/ansible.nagios.3 +man/man3/ansible.ohai.3 +man/man3/ansible.pacman.3 +man/man3/ansible.pause.3 +man/man3/ansible.ping.3 +man/man3/ansible.pip.3 +man/man3/ansible.pkgin.3 +man/man3/ansible.postgresql_db.3 +man/man3/ansible.postgresql_user.3 +man/man3/ansible.raw.3 +man/man3/ansible.script.3 +man/man3/ansible.seboolean.3 +man/man3/ansible.selinux.3 +man/man3/ansible.service.3 +man/man3/ansible.setup.3 +man/man3/ansible.shell.3 +man/man3/ansible.slurp.3 +man/man3/ansible.subversion.3 +man/man3/ansible.supervisorctl.3 +man/man3/ansible.svr4pkg.3 +man/man3/ansible.sysctl.3 +man/man3/ansible.template.3 +man/man3/ansible.user.3 +man/man3/ansible.virt.3 +man/man3/ansible.wait_for.3 +man/man3/ansible.yum.3 share/ansible/add_host share/ansible/apt share/ansible/apt_key diff --git a/sysutils/ansible/distinfo b/sysutils/ansible/distinfo index db4403879fd..069f64edd5d 100644 --- a/sysutils/ansible/distinfo +++ b/sysutils/ansible/distinfo @@ -1,11 +1,14 @@ -$NetBSD: distinfo,v 1.1 2013/02/26 00:13:00 hubertf Exp $ +$NetBSD: distinfo,v 1.2 2013/02/26 17:42:59 riz Exp $ SHA1 (ansible-1.0.tar.gz) = 05c28bf696968ae8ef7779f8757b089ef4da6270 RMD160 (ansible-1.0.tar.gz) = 6526c7588ccf53250601f76e6c3b4d5afcc1beeb Size (ansible-1.0.tar.gz) = 222956 bytes -SHA1 (patch-Makefile) = 3a8eafe2c81c2684232e7345bf9f026a148cb3c4 +SHA1 (patch-Makefile) = c7e66169fcfdd130e04e6f6b4fcd9cf16828e27d +SHA1 (patch-docs_man_man1_ansible-playbook.1) = a7c4a1af3038615922e54f8c683daa0f9d920e0f +SHA1 (patch-docs_man_man1_ansible.1) = 41fa78147cfa7be140742f1fe781d9f5652f4d8a +SHA1 (patch-examples_ansible.cfg) = 631236fadaadfd28d71b7bc7cce33e62691ee407 SHA1 (patch-lib_ansible_callbacks.py) = e75a660e0f89f5a29ab69bea71c50d4e146cd55a -SHA1 (patch-lib_ansible_constants.py) = 52430ed0a4629c7774ab5ff9b4a1501ef6c0deaf +SHA1 (patch-lib_ansible_constants.py) = 0e6102658553a833b98c79be12340dfccda3e87d SHA1 (patch-library_lineinfile) = 36a0cffd048380247644306ac08626869249c770 SHA1 (patch-library_mysql_db) = ba034677a5f0e4727c37a1e0bbc9cd0314f4c4de SHA1 (patch-library_ping) = 6bb9b946df3a44ac938eee7e752bf2149936b8e6 diff --git a/sysutils/ansible/patches/patch-Makefile b/sysutils/ansible/patches/patch-Makefile index 4547af20ff0..624b6d6c7f2 100644 --- a/sysutils/ansible/patches/patch-Makefile +++ b/sysutils/ansible/patches/patch-Makefile @@ -1,4 +1,4 @@ -$NetBSD: patch-Makefile,v 1.1 2013/02/26 00:13:00 hubertf Exp $ +$NetBSD: patch-Makefile,v 1.2 2013/02/26 17:42:59 riz Exp $ --- Makefile.orig 2012-12-01 02:57:25.000000000 +0000 +++ Makefile @@ -7,7 +7,7 @@ $NetBSD: patch-Makefile,v 1.1 2013/02/26 00:13:00 hubertf Exp $ MANPAGES := docs/man/man1/ansible.1 docs/man/man1/ansible-playbook.1 docs/man/man1/ansible-pull.1 docs/man/man1/ansible-doc.1 -SITELIB = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") -+SITELIB = $(shell python2.7 -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") ++SITELIB = $(shell @PYTHONBIN@ -c "from distutils.sysconfig import get_python_lib; print get_python_lib()") # VERSION file provides one place to update the software version VERSION := $(shell cat VERSION) @@ -16,15 +16,15 @@ $NetBSD: patch-Makefile,v 1.1 2013/02/26 00:13:00 hubertf Exp $ python: - python setup.py build -+ python2.7 setup.py build ++ @PYTHONBIN@ setup.py build install: - python setup.py install -+ python2.7 setup.py install ++ @PYTHONBIN@ setup.py install sdist: clean docs - python setup.py sdist -t MANIFEST.in -+ python2.7 setup.py sdist -t MANIFEST.in ++ @PYTHONBIN@ setup.py sdist -t MANIFEST.in rpmcommon: sdist @mkdir -p rpm-build diff --git a/sysutils/ansible/patches/patch-docs_man_man1_ansible-playbook.1 b/sysutils/ansible/patches/patch-docs_man_man1_ansible-playbook.1 new file mode 100644 index 00000000000..4e398f0336f --- /dev/null +++ b/sysutils/ansible/patches/patch-docs_man_man1_ansible-playbook.1 @@ -0,0 +1,37 @@ +$NetBSD: patch-docs_man_man1_ansible-playbook.1,v 1.1 2013/02/26 17:42:59 riz Exp $ + +--- docs/man/man1/ansible-playbook.1.orig 2013-02-01 19:15:13.000000000 -0800 ++++ docs/man/man1/ansible-playbook.1 2013-02-25 11:45:48.000000000 -0800 +@@ -44,7 +44,7 @@ + The + \fIPATH\fR + to the inventory hosts file, which defaults to +-\fI/etc/ansible/hosts\fR\&. ++\fI@PKG_SYSCONFDIR@/ansible/hosts\fR\&. + .RE + .PP + \fB\-M\fR \fIDIRECTORY\fR, \fB\-\-module\-path=\fR\fIDIRECTORY\fR +@@ -52,7 +52,7 @@ + The + \fIDIRECTORY\fR + to load modules from\&. The default is +-\fI/usr/share/ansible\fR\&. ++\fI@PREFIX@/share/ansible\fR\&. + .RE + .PP + \fB\-e\fR \fIVARS\fR, \fB\-\-extra\-vars=\fR\fIVARS\fR +@@ -122,11 +122,11 @@ + ANSIBLE_LIBRARY \(em Override the default ansible module library path + .SH "FILES" + .sp +-/etc/ansible/hosts \(em Default inventory file ++@PKG_SYSCONFDIR@/ansible/hosts \(em Default inventory file + .sp +-/usr/share/ansible/ \(em Default module library ++@PREFIX@/share/ansible/ \(em Default module library + .sp +-/etc/ansible/ansible\&.cfg \(em Config file, used if present ++@PKG_SYSCONFDIR@/ansible/ansible\&.cfg \(em Config file, used if present + .sp + ~/\&.ansible\&.cfg \(em User config file, overrides the default config if present + .SH "AUTHOR" diff --git a/sysutils/ansible/patches/patch-docs_man_man1_ansible.1 b/sysutils/ansible/patches/patch-docs_man_man1_ansible.1 new file mode 100644 index 00000000000..060f6cf36c3 --- /dev/null +++ b/sysutils/ansible/patches/patch-docs_man_man1_ansible.1 @@ -0,0 +1,37 @@ +$NetBSD: patch-docs_man_man1_ansible.1,v 1.1 2013/02/26 17:42:59 riz Exp $ + +--- docs/man/man1/ansible.1.orig 2013-02-25 11:49:52.000000000 -0800 ++++ docs/man/man1/ansible.1 2013-02-25 11:50:30.000000000 -0800 +@@ -53,7 +53,7 @@ + The + \fIPATH\fR + to the inventory hosts file, which defaults to +-\fI/etc/ansible/hosts\fR\&. ++\fI@PKG_SYSCONFDIR@/ansible/hosts\fR\&. + .RE + .PP + \fB\-f\fR \fINUM\fR, \fB\-\-forks=\fR\fINUM\fR +@@ -79,7 +79,7 @@ + The + \fIDIRECTORY\fR + to load modules from\&. The default is +-\fI/usr/share/ansible\fR\&. ++\fI@PREFIX@/share/ansible\fR\&. + .RE + .PP + \fB\-a\fR \*(Aq\fIARGUMENTS\fR\*(Aq, \fB\-\-args=\fR\*(Aq\fIARGUMENTS\fR\*(Aq +@@ -177,11 +177,11 @@ + Ranges of hosts are also supported\&. For more information and additional options, see the documentation on http://ansible\&.github\&.com/\&. + .SH "FILES" + .sp +-/etc/ansible/hosts \(em Default inventory file ++@PKG_SYSCONFDIR@/ansible/hosts \(em Default inventory file + .sp +-/usr/share/ansible/ \(em Default module library ++@PREFIX@/share/ansible/ \(em Default module library + .sp +-/etc/ansible/ansible\&.cfg \(em Config file, used if present ++@PKG_SYSCONFDIR@/ansible/ansible\&.cfg \(em Config file, used if present + .sp + ~/\&.ansible\&.cfg \(em User config file, overrides the default config if present + .SH "ENVIRONMENT" diff --git a/sysutils/ansible/patches/patch-examples_ansible.cfg b/sysutils/ansible/patches/patch-examples_ansible.cfg new file mode 100644 index 00000000000..e5d8816deae --- /dev/null +++ b/sysutils/ansible/patches/patch-examples_ansible.cfg @@ -0,0 +1,43 @@ +$NetBSD: patch-examples_ansible.cfg,v 1.1 2013/02/26 17:42:59 riz Exp $ + +--- examples/ansible.cfg.orig 2013-02-25 11:33:44.000000000 -0800 ++++ examples/ansible.cfg 2013-02-25 11:36:25.000000000 -0800 +@@ -1,16 +1,16 @@ + # config file for ansible -- http://ansible.github.com + # nearly all parameters can be overridden in ansible-playbook or with command line flags +-# ansible will read ~/.ansible.cfg or /etc/ansible/ansible.cfg, whichever it finds first ++# ansible will read ~/.ansible.cfg or @PKG_SYSCONFDIR@/ansible/ansible.cfg, whichever it finds first + + [defaults] + + # location of inventory file, eliminates need to specify -i + +-hostfile = /etc/ansible/hosts ++hostfile = @PKG_SYSCONFDIR@/ansible/hosts + + # location of ansible library, eliminates need to specify --module-path + +-library = /usr/share/ansible ++library = @PREFIX@/share/ansible + + # default module name used in /usr/bin/ansible when -m is not specified + +@@ -104,12 +104,12 @@ + + # additional plugin paths for non-core plugins + +-action_plugins = /usr/share/ansible_plugins/action_plugins +-callback_plugins = /usr/share/ansible_plugins/callback_plugins +-connection_plugins = /usr/share/ansible_plugins/connection_plugins +-lookup_plugins = /usr/share/ansible_plugins/lookup_plugins +-vars_plugins = /usr/share/ansible_plugins/vars_plugins +-filter_plugins = /usr/share/ansible_plugins/filter_plugins ++action_plugins = @PREFIX@/share/ansible_plugins/action_plugins ++callback_plugins = @PREFIX@/share/ansible_plugins/callback_plugins ++connection_plugins = @PREFIX@/share/ansible_plugins/connection_plugins ++lookup_plugins = @PREFIX@/share/ansible_plugins/lookup_plugins ++vars_plugins = @PREFIX@/share/ansible_plugins/vars_plugins ++filter_plugins = @PREFIX@/share/ansible_plugins/filter_plugins + + [paramiko_connection] + diff --git a/sysutils/ansible/patches/patch-lib_ansible_constants.py b/sysutils/ansible/patches/patch-lib_ansible_constants.py index 8ee23a7d6a1..7b31ee69bf4 100644 --- a/sysutils/ansible/patches/patch-lib_ansible_constants.py +++ b/sysutils/ansible/patches/patch-lib_ansible_constants.py @@ -1,15 +1,48 @@ -$NetBSD: patch-lib_ansible_constants.py,v 1.1 2013/02/26 00:13:00 hubertf Exp $ +$NetBSD: patch-lib_ansible_constants.py,v 1.2 2013/02/26 17:42:59 riz Exp $ -diff --git a/lib/ansible/constants.py b/lib/ansible/constants.py -index b43986e..2e60046 100644 ---- lib/ansible/constants.py -+++ lib/ansible/constants.py -@@ -65,6 +65,8 @@ if getattr(sys, "real_prefix", None): +--- lib/ansible/constants.py.orig 2013-02-01 18:15:55.000000000 -0800 ++++ lib/ansible/constants.py 2013-02-25 11:58:52.000000000 -0800 +@@ -36,7 +36,7 @@ + p = ConfigParser.ConfigParser() + path1 = os.path.expanduser(os.environ.get('ANSIBLE_CONFIG', "~/.ansible.cfg")) + path2 = os.getcwd() + "/ansible.cfg" +- path3 = "/etc/ansible/ansible.cfg" ++ path3 = "@PKG_SYSCONFDIR@/ansible/ansible.cfg" + + if os.path.exists(path1): + p.read(path1) +@@ -64,13 +64,13 @@ + if getattr(sys, "real_prefix", None): DIST_MODULE_PATH = os.path.join(sys.prefix, 'share/ansible/') else: - DIST_MODULE_PATH = '/usr/share/ansible/' -+ # HF: work as non-root with python install --prefix=... +- DIST_MODULE_PATH = '/usr/share/ansible/' + DIST_MODULE_PATH = '@PREFIX@/share/ansible/' # sections in config file DEFAULTS='defaults' + + # configurable things +-DEFAULT_HOST_LIST = shell_expand_path(get_config(p, DEFAULTS, 'hostfile', 'ANSIBLE_HOSTS', '/etc/ansible/hosts')) ++DEFAULT_HOST_LIST = shell_expand_path(get_config(p, DEFAULTS, 'hostfile', 'ANSIBLE_HOSTS', '@PKG_SYSCONFDIR@/ansible/hosts')) + DEFAULT_MODULE_PATH = shell_expand_path(get_config(p, DEFAULTS, 'library', 'ANSIBLE_LIBRARY', DIST_MODULE_PATH)) + DEFAULT_REMOTE_TMP = shell_expand_path(get_config(p, DEFAULTS, 'remote_tmp', 'ANSIBLE_REMOTE_TEMP', '$HOME/.ansible/tmp')) + DEFAULT_MODULE_NAME = get_config(p, DEFAULTS, 'module_name', None, 'command') +@@ -95,12 +95,12 @@ + DEFAULT_SUDO_FLAGS = get_config(p, DEFAULTS, 'sudo_flags', 'ANSIBLE_SUDO_FLAGS', '-H') + DEFAULT_HASH_BEHAVIOUR = get_config(p, DEFAULTS, 'hash_behaviour', 'ANSIBLE_HASH_BEHAVIOUR', 'replace') + +-DEFAULT_ACTION_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'action_plugins', 'ANSIBLE_ACTION_PLUGINS', '/usr/share/ansible_plugins/action_plugins')) +-DEFAULT_CALLBACK_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'callback_plugins', 'ANSIBLE_CALLBACK_PLUGINS', '/usr/share/ansible_plugins/callback_plugins')) +-DEFAULT_CONNECTION_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'connection_plugins', 'ANSIBLE_CONNECTION_PLUGINS', '/usr/share/ansible_plugins/connection_plugins')) +-DEFAULT_LOOKUP_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'lookup_plugins', 'ANSIBLE_LOOKUP_PLUGINS', '/usr/share/ansible_plugins/lookup_plugins')) +-DEFAULT_VARS_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'vars_plugins', 'ANSIBLE_VARS_PLUGINS', '/usr/share/ansible_plugins/vars_plugins')) +-DEFAULT_FILTER_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'filter_plugins', 'ANSIBLE_FILTER_PLUGINS', '/usr/share/ansible_plugins/filter_plugins')) ++DEFAULT_ACTION_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'action_plugins', 'ANSIBLE_ACTION_PLUGINS', '@PREFIX@/share/ansible_plugins/action_plugins')) ++DEFAULT_CALLBACK_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'callback_plugins', 'ANSIBLE_CALLBACK_PLUGINS', '@PREFIX@/share/ansible_plugins/callback_plugins')) ++DEFAULT_CONNECTION_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'connection_plugins', 'ANSIBLE_CONNECTION_PLUGINS', '@PREFIX@/share/ansible_plugins/connection_plugins')) ++DEFAULT_LOOKUP_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'lookup_plugins', 'ANSIBLE_LOOKUP_PLUGINS', '@PREFIX@/share/ansible_plugins/lookup_plugins')) ++DEFAULT_VARS_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'vars_plugins', 'ANSIBLE_VARS_PLUGINS', '@PREFIX@/share/ansible_plugins/vars_plugins')) ++DEFAULT_FILTER_PLUGIN_PATH = shell_expand_path(get_config(p, DEFAULTS, 'filter_plugins', 'ANSIBLE_FILTER_PLUGINS', '@PREFIX@/share/ansible_plugins/filter_plugins')) + + # non-configurable things + DEFAULT_SUDO_PASS = None |