etckeeper/etckeeper-avoid-packagelist.patch

91 lines
3.1 KiB
Diff
Raw Normal View History

Accepting request 244920 from home:Mitsutoshi:branches:utilities - updated Source to 1.13: + Ignore check-mk-agent-logwatch's FHS violating /etc/check_mk/logwatch.state. Closes: deb#753903 + Only allow [-a-z_] in etckeeper commands to avoid any possible directory traversal etc issues. + update-ignore, uninit: Fix parsing of ignore files containing '\' - added etckeeper-avoid-packagelist.patch: Because it is slow that some package manager make the packagelist (eg, rpm -qa), high-level package manager might time out (eg. zypper in/remove). So I added this patch. If you think that the packagelist is unnecessary, set AVOID_PACKAGELIST=1 in etckeeper.conf. Or if you want to avoid it temporarily, you can use environment variable ETCKEEPER_AVOID_PACKAGELIST=1 . (eg, ETCKEEPER_AVOID_PACKAGELIST=1 zypper update). This patch was sent to upstream, but Joey does not accept it yet. Please see also gh#joeyh/etckeeper#17 . - rename subpackage from pkgmanager-collabo to zypp-plugin or yum-plugin. please see also: http://lists.opensuse.org/archive/opensuse-factory/2014-07/msg00060.html - added "Provides:" for renaming: pkgmanager-collabo => (zypp|yum)-plugin. Please see also: https://en.opensuse.org/openSUSE:Package_dependencies#Renaming_a_packageage - added "Provides:" for split packages: etekeeper-cron and plugins. Please see also: https://en.opensuse.org/openSUSE:Package_dependencies#Splitting_off_a_sub-pack - added "Reccomends: git". please see also: http://lists.opensuse.org/archive/opensuse-factory/2014-07/msg00060.html - added bzr support files. Their files need "Buildrequires: python-devel bzr", but did not write them, so they were not installed untill now. - added Python Compatibility with older distributions codes. Please see also: https://en.opensuse.org/openSUSE:Packaging_Python#Compatibility_with_older_distributions - added version-release number to Recommendes and Requires. It is desirable that etckeeper packages are same version. - removed lib/zypp directories: They should belong libzypp. + remove them. + added "BuildRequire: zypp-plugin-python". OBS-URL: https://build.opensuse.org/request/show/244920 OBS-URL: https://build.opensuse.org/package/show/utilities/etckeeper?expand=0&rev=8
2014-08-16 21:25:19 +02:00
From: Mitsutoshi NAKANO <bkbin005@rinku.zaq.ne.jp>
Date: 2014-07-20 04:15:00 +0900
Subject: add: AVOID_PACKAGELIST & ETCKEEPER_AVOID_PACKAGELIST
References: gh#joeyh/etckeeper#17
Upstream: sent (but not accept yet)
Because it is slow that some package manager make the packagelist
(eg, rpm -qa), high-level package manager might time out
(eg. zypper in/remove).
If you think that the packagelist is unnecessary, set AVOID_PACKAGELIST=1
in etckeeper.conf.
Or if you want to avoid it temporarily,
you can use environment variable ETCKEEPER_AVOID_PACKAGELIST=1 .
(eg, ETCKEEPER_AVOID_PACKAGELIST=1 zypper update).
diff --git a/etckeeper b/etckeeper
index 554ada9..463a8e1 100755
--- a/etckeeper
+++ b/etckeeper
@@ -116,6 +116,13 @@ if [ -z "$VCS" ]; then
fi
export VCS
+#If environment variable ETCKEEPER_AVOID_PACKAGELIST is not null,
+# AVOID_PACKAGELIST in etckeeper.conf is overridden here.
+if [ -n "$ETCKEEPER_AVOID_PACKAGELIST" ]; then
+ AVOID_PACKAGELIST="$ETCKEEPER_AVOID_PACKAGELIST"
+fi
+export AVOID_PACKAGELIST
+
lsscripts() {
perl -e '
$dir=shift;
diff --git a/etckeeper.8 b/etckeeper.8
index 62ae976..5ecb183 100644
--- a/etckeeper.8
+++ b/etckeeper.8
@@ -65,7 +65,19 @@ prompting.)
/etc/etckeeper also contains directories containing the programs that are
run for each of the above commands.
.SH ENVIRONMENT VARIABLES
-ETCKEEPER_CONF_DIR path to configuration directory instead of default /etc/etckeeper.
+ETCKEEPER_CONF_DIR path to configuration directory instead of default
+/etc/etckeeper.
+.PP
+ETCKEEPER_AVOID_PACKAGELIST:
+Because it is slow that some package manager make the packagelist
+(eg, rpm -qa), high-level package manager might time out.
+If you think that the packagelist is unnecessary,
+set AVOID_PACKAGELIST=1. in etckeeper.conf
+Or if you want to avoid it temporarily,
+you can use environment variable ETCKEEPER_AVOID_PACKAGELIST=1 .
+(eg, ETCKEEPER_AVOID_PACKAGELIST=1 zypper update)
+AVOID_PACKAGELIST=1
+
.SH SEE ALSO
/usr/share/doc/etckeeper/README.md.gz
.SH AUTHOR
diff --git a/etckeeper.conf b/etckeeper.conf
index f988c10..43a1672 100644
--- a/etckeeper.conf
+++ b/etckeeper.conf
@@ -41,3 +41,12 @@ LOWLEVEL_PACKAGE_MANAGER=dpkg
# (eg, "origin" for git). Space-separated lists of multiple remotes
# also work (eg, "origin gitlab github" for git).
PUSH_REMOTE=""
+
+# Because it is slow that some package manager make the packagelist
+# (eg, rpm -qa), high-level package manager might time out.
+# If you think that the packagelist is unnecessary,
+# set AVOID_PACKAGELIST=1.
+# Or if you want to avoid it temporarily,
+# you can use environment variable ETCKEEPER_AVOID_PACKAGELIST=1 .
+# (eg, ETCKEEPER_AVOID_PACKAGELIST=1 zypper update)
+#AVOID_PACKAGELIST=1
diff --git a/pre-install.d/10packagelist b/pre-install.d/10packagelist
index e5fefa8..4bc8aa4 100755
--- a/pre-install.d/10packagelist
+++ b/pre-install.d/10packagelist
@@ -1,4 +1,9 @@
#!/bin/sh
+
+if [ "$AVOID_PACKAGELIST" = "1" ]; then
+ exit 0
+fi
+
# This list will be later used when committing.
mkdir -p /var/cache/etckeeper/
etckeeper list-installed > /var/cache/etckeeper/packagelist.pre-install