- Update to 1.18.21

- Consistently use mktemp if available, falling back to tempfile
     otherwise.
- Changes from 1.18.20
  - Fix a reversion in etckeeper init in version 1.18.19.
- Changes from 1.18.19
  - Added support for Gentoo (emerge, qlist, and cave)
  - Skip running pre-commit hook inside linked worktrees,
    to avoid it updating .etckeeper with the permissions of
    files not in /etc.
  - commit: Run bzr with --quiet, since it outputs non-errors to
    stderr. Closes: #1018874
- Rebase etckeeper-set-package-manager.patch
- Use %autosetup macro. Allows to eliminate the usage of deprecated
  %patchN.
- Do not have the main package recommend the bash-completion
  sub-package, but rather have the subpackage supplement the
  combination of etckeeper and bash-completion.
- Update to 1.18.18:
  * Replace deprecated egrep with grep -E.
  * Added support for Void Linux's xbps package manager.
- Update to 1.18.17:
  * Fix committing of files with spaces in name when perl is not available.
  * Ignore udev's FHS violating large binary cache file /etc/udev/hwdb.bin
  * Avoid warning messages from grep about binary files when there are
    filenames in /etc that do not correspond to the current locale settings.
- Update to 1.18.16:
  * Improve sorting stability.
  * Prefer mktemp over tempfile as the latter displays a deprecation
    warning since debianutils 4.10.
- Update to 1.18.15:
  * Use "command -v" rather than "which" to detect installed programs,
    as it is more portable.
  * Improve commit messages generated by package manager changes,
    listing packages that are responsible for the changed config files.
  * If gc.auto is not configured, override the default to make it gc
    ten times more frequently, to avoid wasting space with loose objects.
  * update-ignore: Preserve permissions from any preexisting VCS ignore file.
  * Removed the debian directory from the upstream source package as it's
    not being maintained; see the debian package for an up-to-date one.
  * debian/changelog moved to CHANGELOG and debian/copyright to COPYRIGHT.
- Rebase patches:
  * etckeeper-avoid-packagelist.patch
  * etckeeper-set-package-manager.patch
- Fix spec file 
- Update to 1.18.14:
  * pacman 5.2 deprecated File hooks, use Path.
    Thanks, Christian Hesse
  * Fix vcs subcommand setup for zsh completion.
    Thanks, James Rowe.
  * Added zsh completion.
    Thanks, James Rowe
  * commit: Recent changes added code that does not work on all POSIX shells.
    Fixed by Thorsten Glaser.
  * Fix bug in hostname determination in the previous release.
    Thanks, Christian Hesse
  * Support platforms without a hostname command, fall back to 
    reading /etc/hostname.
    Thanks, Chris Morgan
  * commit: Support -mmessage, without a space, since eg git commit
    can be used that way.
    Thanks, martin f. krafft
  * commit: When multiple parameters are given, use them all as the commit
    message, instead of the old behavior of only using the first parameter and
    throwing the rest away.
    Thanks, martin f. krafft
  * Avoid post-install failing when ps is from busybox or another
    version not supporting procps-specific options.
  * Use ps --no-headers rather than problimatic -h option.
  * When run during a package installation, include in the commit
    message the command line that caused etckeeper to run.
    Thanks, Laszlo Gombos 
- Remove idempotent %if..%endif guards.
- Fix incorrect trailing slash in make install line.
- Update RPM group for bash-completion.
- indicated that subpackages are noarch.
- modified the description longer.
- obsolete cron sub package on systemd machines
- use %license
- dropped non suse support
  - added etckeeper-set-package-manager.patch: set the package
    manager via a patch now that we only care about suse
- bzr support:
  - disable for now as it would force the whole package to be
    python2 bound. you can reenable it when building with
    --with=bzr or set the options in your prjconf:
    %define _with_bzr 1
    Macros:
    %_with_bzr 1
    :Macros
  - change bzr support to be in a subpackage if enabled
- build with python3 when not building with bzr support
  - patch shebang line in the zypper plugin to match that
- build the whole package as noarch if we don't build with python
  as we are just packaging a bunch of shell scripts
- move bash completion to a sub package, which is recommended to
  keep the default working, BR and Require the bash-completion
  package for path ownership
- downgrade to git-core so we only have the minimal git for small
  installs on servers
- no longer build the cron support on systemd machines. the systemd
  timer is more powerful and should be used instead.
- when uninstalling we should also disable and stop the systemd
  timer
- only ship the documentation files that are also shipped in the
  debian package
- update to 1.18.8:
  * Work around git commit's lack of robustness, by providing
    reasonable default values for GIT_COMMITTER_EMAIL etc.
    This was already done as part of the su/sudo handling,
    and is now always done.
  * Don't hardcode the master branch when pushing to PUSH_REMOTE.
    Instead, let git push whatever branches it is configured to
    push to that remote.
- Drop 0001-Remove-env-from-shebang-in-zypper-plugin.patch because
  now in upstream.
- update to 1.18.7:
  * Will work on systems that don't have perl. (Perl is still used
    when available).
  * Prevent LC_ALL overriding the LC_COLLATE used to sort metadata.
- includes changes from 1.18.6:
  * Only show errors (no progress indicators) when pushing
    Git/Mercurial repos to avoid unecessary cron mails.
  * Fix regex in 20-warn-problem-files.
  * Support added for apk (alpine linux)
- Lint spec file
- Point source URL to upstream tarball
- Mark dependency on python-base per rpmlint
- Patches / source modifications:
  * Add 0001-Remove-env-from-shebang-in-zypper-plugin.patch
    - fixes rpmlint warning about dependency detection
  * Rebase etckeeeper-avoid-packagelist.patch
  * Remove junk file caught by rpmlint (.mdwn)
- Remove redundant sections
- update Source to 1.18.5:
  - Make etckeeper commit store metadata changes. The pre-commit 
    hook has always (and continues) to do that, but pre-commit is 
    only run when there are changes to tommit. This makes 
    metadata-only changes get committed.
  - Move systemd files to /lib/systemd; /usr/lib/systemd is not 
    used on Debian.
- fix wrong path for systemd in rpm based distros with sed in spec
- update Source to 1.18.4:
  - Optimised find for special and hard linked files.
  - Adjust when Pacman 5 calls etckeeper hooks.
  - Only run Pacman hooks when files in /etc have changed.
  - Added systemd timer that can run etckeeper 10 minutes after boot, and also
    daily. It's not enabled by default, partly because of overlap with the
    cron job.
- update Source to 1.18.3:
  - Added support for pacmatic, contributed by nicolaichuk.
  - bzr: make sure EMAIL is defined
  - Fix Makefile version patterns to ignore non-native version number
  - Support ~/.config/git/config when determining the author name and email.
  - Added support for Arch's pacman package manager version 5.
  - Set HOME if it's not set, as is the case when using ubuntu's
    update-manager.
  - Move bash completion out of etc and into usr.
- update Source to 1.18.2:
  - Use getent utility instead of perl. (Elan Ruusamäe)
  - Initial FreeBSD support with pkgng plugin. (William Johansson)
  - Fix README.md symlink in package (Sebastian Schmidt, Antoine Beaupré,
    closes: #791566)
  - Fix typo of GIT_COMMITTER_EMAIL.
- update Source to 1.18.1
  - Add myself as maintainer (Closes: #768516)
  - Keeping the package native as I do not intend to diverge from
    upstream.
  - Update git URL in control file.
- update to Sourcce to 1.18:
  - Send yum pre-commit output to /dev/null
  - Set LANG=C internally when doing some operations that have
    been reported to fail in other locales.
- update Source to 1.17:
  - Fix name of DNF plugin.
  - Add --version
    Thanks Andreas Wansner.
  - New website, http://etckeeper.branchable.com/
  - Add build-depends on dh-python.
- update Source to 1.16:
  - Added support for Fedora's DNF highlevel package manager.
  - Add architecture info to dpkg list-installed. Closes: #768145
  - Orphaned the Debian package.
- rebase patch etckeeper-avoid-packagelist.patch
- change source url to github
- remove unnecessary file etckeeper-rpmlintrc
- update Source to 1.15:
  - Recommend cron-daemon, rather than cron, as etckeeper only needs
    cron.daily functionality. Closes: #762721
- update Source to 1.14:
  - Handle failure to commit in post-install, pre-install by showing a
    warning, rather than propigating the error to apt.
    This avoids breaking the apt run when eg, git is misconfigured and
    cannot commit.
    pre-install already did this when it was able to use debconf to display a
    message, but now debconf is not used, and it always behaves this way.
    Closes: #760011
- change to new url
- renamed to etckeeper-rpmlintrc from etckeeper.rpmlintrc:
  To follow the packaging guidelines.
  Please see also:
  https://build.opensuse.org/request/show/244964#request_history
  http://lists.opensuse.org/opensuse-packaging/2007-07/msg00000.html
- 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".
- modified etckeeper.spec style
  by "osc service run format_spec_file".
- removed lint code 'rm -rf "%{buildroot}%{_prefix}/lib"/python*'.
  This line does not work.
- removed "Requires: git".
  users can select VCS.
- divide etckeeper package into 3.
  + etckeeper:
    main function.
  + etckeeper-cron:
    cron function.
  + etckeeper-pkgmanager-collabo:
    collaboration with package manager.
- fix (bnc#884154): forgot to reqire zypp-plugin-python.
- fix (bnc#884154).  change permission and locale.
  + added etckeeper-zypp.patch
    1) changed zypper-etckeeper.py 's permission from 644 to 755
      (in Makefile).
    2) in zypper-etckeeper.py set LANG to C.
  please see also:
  http://lists.opensuse.org/archive/opensuse-factory/2014-06/msg00090.html
- version up to 1.12 from 1.7
  + README's filename changed from README to README.md.
  + fix some bugs.
  + fix some typos.
  for detail,
  please do "git clone git://git.kitenet.net/etckeeper.git"
  and "git log".
- don't require git to build
- relax git version requirement 
- initial version (1.7)

OBS-URL: https://build.opensuse.org/package/show/utilities/etckeeper?expand=0&rev=32
This commit is contained in:
Michael Vetter 2024-09-11 13:43:03 +00:00 committed by Git OBS Bridge
commit a270ac0053
8 changed files with 718 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

3
etckeeper-1.18.18.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:390c82d1fcfaf4cac5a3ca6fffb16fea0e1ada31a1bfe20220ac3b317d663f61
size 101845

3
etckeeper-1.18.21.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a87c5e9c847c29f761da933c1cd907779545c7ddf92fb75de8ef692b90fc9e5d
size 116961

View File

@ -0,0 +1,90 @@
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).
Index: etckeeper-1.18.5/etckeeper
===================================================================
--- etckeeper-1.18.5.orig/etckeeper
+++ etckeeper-1.18.5/etckeeper
@@ -126,6 +126,13 @@
export VCS
if command -v perl >/dev/null; then
+ #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() {
LANG=C perl -e '
$dir=shift;
Index: etckeeper-1.18.5/etckeeper.8
===================================================================
--- etckeeper-1.18.5.orig/etckeeper.8
+++ etckeeper-1.18.5/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
Index: etckeeper-1.18.5/etckeeper.conf
===================================================================
--- etckeeper-1.18.5.orig/etckeeper.conf
+++ etckeeper-1.18.5/etckeeper.conf
@@ -43,3 +43,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
Index: etckeeper-1.18.5/pre-install.d/10packagelist
===================================================================
--- etckeeper-1.18.5.orig/pre-install.d/10packagelist
+++ etckeeper-1.18.5/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

View File

@ -0,0 +1,18 @@
Index: etckeeper-1.18.21/etckeeper.conf
===================================================================
--- etckeeper-1.18.21.orig/etckeeper.conf
+++ etckeeper-1.18.21/etckeeper.conf
@@ -33,11 +33,11 @@ DARCS_COMMIT_OPTIONS="-a"
# The high-level package manager that's being used.
# (apt, pacman, pacman-g2, yum, dnf, zypper, apk, xbps, emerge, cave, etc)
-HIGHLEVEL_PACKAGE_MANAGER=apt
+HIGHLEVEL_PACKAGE_MANAGER=zypper
# The low-level package manager that's being used.
# (dpkg, rpm, pacman, pacmatic, pacman-g2, apk, xbps, cave, qlist, etc)
-LOWLEVEL_PACKAGE_MANAGER=dpkg
+LOWLEVEL_PACKAGE_MANAGER=rpm
# To push each commit to a remote, put the name of the remote here.
# (eg, "origin" for git). Space-separated lists of multiple remotes

369
etckeeper.changes Normal file
View File

@ -0,0 +1,369 @@
-------------------------------------------------------------------
Thu Aug 8 11:16:35 UTC 2024 - ecsos <ecsos@opensuse.org>
- Update to 1.18.21
- Consistently use mktemp if available, falling back to tempfile
otherwise.
- Changes from 1.18.20
- Fix a reversion in etckeeper init in version 1.18.19.
- Changes from 1.18.19
- Added support for Gentoo (emerge, qlist, and cave)
- Skip running pre-commit hook inside linked worktrees,
to avoid it updating .etckeeper with the permissions of
files not in /etc.
- commit: Run bzr with --quiet, since it outputs non-errors to
stderr. Closes: #1018874
- Rebase etckeeper-set-package-manager.patch
-------------------------------------------------------------------
Wed Feb 21 15:42:14 UTC 2024 - Michael Vetter <mvetter@suse.com>
- Use %autosetup macro. Allows to eliminate the usage of deprecated
%patchN.
-------------------------------------------------------------------
Thu Nov 17 13:52:20 UTC 2022 - Dominique Leuenberger <dimstar@opensuse.org>
- Do not have the main package recommend the bash-completion
sub-package, but rather have the subpackage supplement the
combination of etckeeper and bash-completion.
-------------------------------------------------------------------
Mon Sep 26 02:32:00 UTC 2022 - André Werlang <beppe85@gmail.com>
- Update to 1.18.18:
* Replace deprecated egrep with grep -E.
* Added support for Void Linux's xbps package manager.
- Update to 1.18.17:
* Fix committing of files with spaces in name when perl is not available.
* Ignore udev's FHS violating large binary cache file /etc/udev/hwdb.bin
* Avoid warning messages from grep about binary files when there are
filenames in /etc that do not correspond to the current locale settings.
- Update to 1.18.16:
* Improve sorting stability.
* Prefer mktemp over tempfile as the latter displays a deprecation
warning since debianutils 4.10.
- Update to 1.18.15:
* Use "command -v" rather than "which" to detect installed programs,
as it is more portable.
* Improve commit messages generated by package manager changes,
listing packages that are responsible for the changed config files.
* If gc.auto is not configured, override the default to make it gc
ten times more frequently, to avoid wasting space with loose objects.
* update-ignore: Preserve permissions from any preexisting VCS ignore file.
* Removed the debian directory from the upstream source package as it's
not being maintained; see the debian package for an up-to-date one.
* debian/changelog moved to CHANGELOG and debian/copyright to COPYRIGHT.
- Rebase patches:
* etckeeper-avoid-packagelist.patch
* etckeeper-set-package-manager.patch
-------------------------------------------------------------------
Wed Feb 12 09:28:21 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
- Fix spec file
-------------------------------------------------------------------
Tue Feb 4 07:37:47 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
- Update to 1.18.14:
* pacman 5.2 deprecated File hooks, use Path.
Thanks, Christian Hesse
* Fix vcs subcommand setup for zsh completion.
Thanks, James Rowe.
* Added zsh completion.
Thanks, James Rowe
* commit: Recent changes added code that does not work on all POSIX shells.
Fixed by Thorsten Glaser.
* Fix bug in hostname determination in the previous release.
Thanks, Christian Hesse
* Support platforms without a hostname command, fall back to
reading /etc/hostname.
Thanks, Chris Morgan
* commit: Support -mmessage, without a space, since eg git commit
can be used that way.
Thanks, martin f. krafft
* commit: When multiple parameters are given, use them all as the commit
message, instead of the old behavior of only using the first parameter and
throwing the rest away.
Thanks, martin f. krafft
* Avoid post-install failing when ps is from busybox or another
version not supporting procps-specific options.
* Use ps --no-headers rather than problimatic -h option.
* When run during a package installation, include in the commit
message the command line that caused etckeeper to run.
Thanks, Laszlo Gombos
-------------------------------------------------------------------
Tue Oct 2 09:38:10 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
- Remove idempotent %if..%endif guards.
- Fix incorrect trailing slash in make install line.
- Update RPM group for bash-completion.
-------------------------------------------------------------------
Sun Sep 30 07:09:48 UTC 2018 - bkbin005@rinku.zaq.ne.jp
- indicated that subpackages are noarch.
- modified the description longer.
-------------------------------------------------------------------
Thu Sep 13 07:34:35 UTC 2018 - Marcus Rueckert <mrueckert@suse.de>
- obsolete cron sub package on systemd machines
-------------------------------------------------------------------
Thu Sep 13 07:29:24 UTC 2018 - Marcus Rueckert <mrueckert@suse.de>
- use %license
-------------------------------------------------------------------
Wed Sep 12 23:31:38 UTC 2018 - Marcus Rueckert <mrueckert@suse.de>
- dropped non suse support
- added etckeeper-set-package-manager.patch: set the package
manager via a patch now that we only care about suse
- bzr support:
- disable for now as it would force the whole package to be
python2 bound. you can reenable it when building with
--with=bzr or set the options in your prjconf:
%define _with_bzr 1
Macros:
%_with_bzr 1
:Macros
- change bzr support to be in a subpackage if enabled
- build with python3 when not building with bzr support
- patch shebang line in the zypper plugin to match that
- build the whole package as noarch if we don't build with python
as we are just packaging a bunch of shell scripts
- move bash completion to a sub package, which is recommended to
keep the default working, BR and Require the bash-completion
package for path ownership
- downgrade to git-core so we only have the minimal git for small
installs on servers
- no longer build the cron support on systemd machines. the systemd
timer is more powerful and should be used instead.
- when uninstalling we should also disable and stop the systemd
timer
- only ship the documentation files that are also shipped in the
debian package
-------------------------------------------------------------------
Tue Sep 11 07:34:30 UTC 2018 - ecsos@opensuse.org
- update to 1.18.8:
* Work around git commit's lack of robustness, by providing
reasonable default values for GIT_COMMITTER_EMAIL etc.
This was already done as part of the su/sudo handling,
and is now always done.
* Don't hardcode the master branch when pushing to PUSH_REMOTE.
Instead, let git push whatever branches it is configured to
push to that remote.
- Drop 0001-Remove-env-from-shebang-in-zypper-plugin.patch because
now in upstream.
-------------------------------------------------------------------
Wed Oct 18 07:35:13 UTC 2017 - aavindraa@gmail.com
- update to 1.18.7:
* Will work on systems that don't have perl. (Perl is still used
when available).
* Prevent LC_ALL overriding the LC_COLLATE used to sort metadata.
- includes changes from 1.18.6:
* Only show errors (no progress indicators) when pushing
Git/Mercurial repos to avoid unecessary cron mails.
* Fix regex in 20-warn-problem-files.
* Support added for apk (alpine linux)
- Lint spec file
- Point source URL to upstream tarball
- Mark dependency on python-base per rpmlint
- Patches / source modifications:
* Add 0001-Remove-env-from-shebang-in-zypper-plugin.patch
- fixes rpmlint warning about dependency detection
* Rebase etckeeeper-avoid-packagelist.patch
* Remove junk file caught by rpmlint (.mdwn)
-------------------------------------------------------------------
Sat Oct 22 17:39:27 UTC 2016 - jengelh@inai.de
- Remove redundant sections
-------------------------------------------------------------------
Sat Oct 15 09:34:41 UTC 2016 - ecsos@opensuse.org
- update Source to 1.18.5:
- Make etckeeper commit store metadata changes. The pre-commit
hook has always (and continues) to do that, but pre-commit is
only run when there are changes to tommit. This makes
metadata-only changes get committed.
- Move systemd files to /lib/systemd; /usr/lib/systemd is not
used on Debian.
- fix wrong path for systemd in rpm based distros with sed in spec
-------------------------------------------------------------------
Sun Jul 3 10:09:23 UTC 2016 - ecsos@opensuse.org
- update Source to 1.18.4:
- Optimised find for special and hard linked files.
- Adjust when Pacman 5 calls etckeeper hooks.
- Only run Pacman hooks when files in /etc have changed.
- Added systemd timer that can run etckeeper 10 minutes after boot, and also
daily. It's not enabled by default, partly because of overlap with the
cron job.
- update Source to 1.18.3:
- Added support for pacmatic, contributed by nicolaichuk.
- bzr: make sure EMAIL is defined
- Fix Makefile version patterns to ignore non-native version number
- Support ~/.config/git/config when determining the author name and email.
- Added support for Arch's pacman package manager version 5.
- Set HOME if it's not set, as is the case when using ubuntu's
update-manager.
- Move bash completion out of etc and into usr.
- update Source to 1.18.2:
- Use getent utility instead of perl. (Elan Ruusamäe)
- Initial FreeBSD support with pkgng plugin. (William Johansson)
- Fix README.md symlink in package (Sebastian Schmidt, Antoine Beaupré,
closes: #791566)
- Fix typo of GIT_COMMITTER_EMAIL.
- update Source to 1.18.1
- Add myself as maintainer (Closes: #768516)
- Keeping the package native as I do not intend to diverge from
upstream.
- Update git URL in control file.
- update to Sourcce to 1.18:
- Send yum pre-commit output to /dev/null
- Set LANG=C internally when doing some operations that have
been reported to fail in other locales.
- update Source to 1.17:
- Fix name of DNF plugin.
- Add --version
Thanks Andreas Wansner.
- New website, http://etckeeper.branchable.com/
- Add build-depends on dh-python.
- update Source to 1.16:
- Added support for Fedora's DNF highlevel package manager.
- Add architecture info to dpkg list-installed. Closes: #768145
- Orphaned the Debian package.
- rebase patch etckeeper-avoid-packagelist.patch
- change source url to github
- remove unnecessary file etckeeper-rpmlintrc
-------------------------------------------------------------------
Fri Jun 3 09:05:31 UTC 2016 - ecsos@opensuse.org
- update Source to 1.15:
- Recommend cron-daemon, rather than cron, as etckeeper only needs
cron.daily functionality. Closes: #762721
- update Source to 1.14:
- Handle failure to commit in post-install, pre-install by showing a
warning, rather than propigating the error to apt.
This avoids breaking the apt run when eg, git is misconfigured and
cannot commit.
pre-install already did this when it was able to use debconf to display a
message, but now debconf is not used, and it always behaves this way.
Closes: #760011
- change to new url
-------------------------------------------------------------------
Mon Aug 18 11:55:42 UTC 2014 - bkbin005@rinku.zaq.ne.jp
- renamed to etckeeper-rpmlintrc from etckeeper.rpmlintrc:
To follow the packaging guidelines.
Please see also:
https://build.opensuse.org/request/show/244964#request_history
http://lists.opensuse.org/opensuse-packaging/2007-07/msg00000.html
-------------------------------------------------------------------
Fri Aug 15 22:15:20 UTC 2014 - bkbin005@rinku.zaq.ne.jp
- 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".
-------------------------------------------------------------------
Mon Jul 7 21:21:34 UTC 2014 - bkbin005@rinku.zaq.ne.jp
- modified etckeeper.spec style
by "osc service run format_spec_file".
- removed lint code 'rm -rf "%{buildroot}%{_prefix}/lib"/python*'.
This line does not work.
- removed "Requires: git".
users can select VCS.
- divide etckeeper package into 3.
+ etckeeper:
main function.
+ etckeeper-cron:
cron function.
+ etckeeper-pkgmanager-collabo:
collaboration with package manager.
- fix (bnc#884154): forgot to reqire zypp-plugin-python.
-------------------------------------------------------------------
Wed Jul 2 20:33:59 UTC 2014 - bkbin005@rinku.zaq.ne.jp
- fix (bnc#884154). change permission and locale.
+ added etckeeper-zypp.patch
1) changed zypper-etckeeper.py 's permission from 644 to 755
(in Makefile).
2) in zypper-etckeeper.py set LANG to C.
please see also:
http://lists.opensuse.org/archive/opensuse-factory/2014-06/msg00090.html
- version up to 1.12 from 1.7
+ README's filename changed from README to README.md.
+ fix some bugs.
+ fix some typos.
for detail,
please do "git clone git://git.kitenet.net/etckeeper.git"
and "git log".
-------------------------------------------------------------------
Wed Aug 21 16:59:59 UTC 2013 - dvaleev@suse.com
- don't require git to build
- relax git version requirement
-------------------------------------------------------------------
Sat Aug 10 10:33:54 CET 2013 - pascal.bleser@opensuse.org
- initial version (1.7)

211
etckeeper.spec Normal file
View File

@ -0,0 +1,211 @@
# vim: set sw=4 ts=4 et nu:
#
# spec file for package etckeeper
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2014 Mitsutoshi NAKANO <bkbin005@rinku.zaq.ne.jp>
# Copyright (c) 2013 Pascal Bleser <pascal.bleser@opensuse.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# this would pull python2
%bcond_with bzr
%bcond_without systemd
%if %{with bzr}
%define python_versioned python
%define python_args PYTHON_INSTALL_OPTS="--prefix=%{_prefix} --install-purelib=%{python_sitearch}"
%else
%define python_versioned python3
%define python_args %{nil}
%endif
%define make_args systemddir=%{_unitdir} PYTHON=%{python_versioned} %{python_args}
Name: etckeeper
Version: 1.18.21
Release: 0
Summary: Store /etc under Version Control
License: GPL-2.0-or-later
Group: System/Management
Source: https://git.joeyh.name/index.cgi/etckeeper.git/snapshot/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM etckeeper-avoid-packagelist.patch gh#joeyh/etckeeper#17 bkbin005@rinku.zaq.ne.jp -- add AVOID_PACKAGELIST
Patch0: etckeeper-avoid-packagelist.patch
Patch1: etckeeper-set-package-manager.patch
URL: http://etckeeper.branchable.com/
%if ! %{with bzr}
BuildArch: noarch
%endif
BuildRequires: %{python_versioned}-devel
%if 0%{suse_version} >= 1500
BuildRequires: bash-completion-devel
%else
BuildRequires: bash-completion
%endif
BuildRequires: make
# for the path ownership
BuildRequires: %{python_versioned}-zypp-plugin
BuildRequires: libzypp
BuildRequires: systemd-rpm-macros
%if %{with bzr}
BuildRequires: bzr
%endif
Recommends: %{name}-zypp-plugin = %{version}-%{release}
Recommends: git-core
%if %{with bzr}
Recommends: %{name}-bzr = %{version}-%{release}
%endif
%if %{with systemd}
%{?systemd_requires}
Obsoletes: %{name}-cron = %{version}-%{release}
%else
Recommends: %{name}-cron = %{version}-%{release}
%endif
%description
The etckeeper program is a tool to let /etc be stored in a git,
mercurial, bzr or darcs repository. It hooks into yum to automatically
commit changes made to /etc during package upgrades. It tracks file
metadata that version control systems do not normally support, but that
is important for /etc, such as the permissions of /etc/shadow. It is
quite modular and configurable, while also being simple to use if you
understand the basics of working with version control.
%package cron
Summary: The etckeeper cron function
Group: System/Management
%if ! %{with bzr}
BuildArch: noarch
%endif
Requires: etckeeper = %{version}-%{release}
Provides: etckeeper:%{_sysconfdir}/cron.daily/etckeeper
Requires: cron
%description cron
The etckeeper-cron calls etckeeper from cron.
%package zypp-plugin
Summary: The etckeeper integration function with ZYpp
Group: System/Management
%if ! %{with bzr}
BuildArch: noarch
%endif
Requires: %{python_versioned}-zypp-plugin
Requires: etckeeper = %{version}-%{release}
Obsoletes: etckeeper-pkgmanager-collabo < %{version}-%{release}
Provides: etckeeper-pkgmanager-collabo = %{version}-%{release}
Provides: etckeeper:%{_prefix}/lib/zypp/plugins/commit/zypper-etckeeper.py
%description zypp-plugin
The etckeeper-zypp-plugin calls etckeeper from ZYpp.
%package bzr
Summary: The etckeeper integration function with bzr
Group: System/Management
Requires: %{python_versioned}-base
Requires: etckeeper = %{version}-%{release}
%description bzr
The etckeeper integration function with bzr
%package bash-completion
Summary: The bash completion for etckeeper
Group: System/Shells
Requires: bash-completion
Requires: etckeeper = %{version}-%{release}
Supplements: (%{name} and bash-completion)
%description bash-completion
Bash command line completion support for %{name}.
%package zsh-completion
Summary: The zsh completion for etckeeper
Group: System/Shells
Requires: etckeeper = %{version}-%{release}
%description zsh-completion
zsh command line completion support for %{name}.
%prep
%autosetup -p1
%build
find -type f -name ".gitignore" -delete
rm -f ./doc/todo/.mdwn
rm README.md
cp -a doc/README.mdwn README.md
perl -p -i -e 's|%{_bindir}/python|%{_bindir}/%{python_versioned}|g' zypper-etckeeper.py
make %{?_smp_mflags} %{make_args}
%install
%make_install %{make_args}
%if ! %{with systemd}
install -D debian/cron.daily "%{buildroot}/etc/cron.daily/%{name}"
%endif
mkdir %{buildroot}%{_sbindir}
ln -s ../bin/%{name} %{buildroot}%{_sbindir}/%{name}
ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc%{name}
%pre
%service_add_pre etckeeper.timer etckeeper.service
%preun
%service_del_preun etckeeper.timer etckeeper.service
%post
%service_add_post etckeeper.timer etckeeper.service
%postun
%service_del_postun etckeeper.timer etckeeper.service
%files
%doc README.md
%license GPL
%{_unitdir}/etckeeper.timer
%{_unitdir}/etckeeper.service
%{_bindir}/etckeeper
%{_sbindir}/etckeeper
%{_sbindir}/rcetckeeper
%dir %{_sysconfdir}/etckeeper
%dir %{_sysconfdir}/etckeeper/*.d
%{_sysconfdir}/etckeeper/daily
%config(noreplace) %{_sysconfdir}/etckeeper/etckeeper.conf
%config %{_sysconfdir}/etckeeper/*.d/*
%{_mandir}/man8/etckeeper.8*
%if ! %{with systemd}
%files cron
%config(noreplace) %{_sysconfdir}/cron.daily/etckeeper
%endif
%files bash-completion
%{_datadir}/bash-completion/completions/etckeeper
%files zsh-completion
%{_datadir}/zsh
%{_datadir}/zsh/vendor-completions
%{_datadir}/zsh/vendor-completions/_etckeeper
%files zypp-plugin
%{_prefix}/lib/zypp/plugins/commit/zypper-etckeeper.py
%if %{with bzr}
%files bzr
%{python_sitearch}/bzrlib/plugins/%{name}/
%{python_sitearch}/bzr_%{name}-*.egg-info
%endif
%changelog