Compare commits
27 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8358faf640 | ||
|
|
7a61cc3a35 | ||
|
|
5199d7e760 | ||
|
|
9b0f83924e | ||
|
|
04d6edc7a4 | ||
|
|
8a0753dab8 | ||
|
|
e3ed99a50d | ||
|
|
7923a0ce5a | ||
|
|
33664db71d | ||
|
|
c8949ebd08 | ||
|
|
50f43d31f2 | ||
|
|
ab912e8b3a | ||
|
|
372a2922f5 | ||
|
|
f72cdb0433 | ||
|
|
3897cd3b7c | ||
|
|
edf022b275 | ||
|
|
c0cbf24c06 | ||
|
|
8a4a5b5f3f | ||
|
|
89a105fb62 | ||
|
|
ff4cf928ae | ||
|
|
7766eb004e | ||
|
|
6111ad3c0a | ||
|
|
728977c628 | ||
|
|
499fc91b50 | ||
|
|
e2683add9a | ||
|
|
66258c28ca | ||
|
|
3fb6bb1d40 |
20 changed files with 284 additions and 475 deletions
1
.fmf/version
Normal file
1
.fmf/version
Normal file
|
|
@ -0,0 +1 @@
|
|||
1
|
||||
13
.gitignore
vendored
13
.gitignore
vendored
|
|
@ -15,3 +15,16 @@
|
|||
/chkconfig-1.15.tar.gz
|
||||
/chkconfig-1.18.tar.gz
|
||||
/chkconfig-1.19.tar.gz
|
||||
/chkconfig-1.21.tar.gz
|
||||
/chkconfig-1.22.tar.gz
|
||||
/chkconfig-1.23.tar.gz
|
||||
/chkconfig-1.24.tar.gz
|
||||
/chkconfig-1.25.tar.gz
|
||||
/chkconfig-1.26.tar.gz
|
||||
/chkconfig-1.27.tar.gz
|
||||
/chkconfig-1.28.tar.gz
|
||||
/chkconfig-1.29.tar.gz
|
||||
/chkconfig-1.30.tar.gz
|
||||
/chkconfig-1.31.tar.gz
|
||||
/chkconfig-1.32.tar.gz
|
||||
/chkconfig-1.33.tar.gz
|
||||
|
|
|
|||
|
|
@ -0,0 +1,49 @@
|
|||
From 1cdf46d6c5d0fa094f46ecef7e4294144d956988 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Williamson <awilliam@redhat.com>
|
||||
Date: Fri, 24 Oct 2025 12:05:00 -0700
|
||||
Subject: [PATCH] Ignore alternatives that are binary-identical to existing
|
||||
ones
|
||||
|
||||
In https://bugzilla.redhat.com/show_bug.cgi?id=2363937 we found
|
||||
a problem that is ultimately triggered by alternatives configs
|
||||
having multiple entries that point to the same binary, or the
|
||||
same *effective* binary after /usr and /sbin merges (which is
|
||||
what streq_bin handles). I can't see a reason why we'd ever want
|
||||
to support this as a real thing, so when reading the config,
|
||||
let's just skip ingesting any alternative whose leader target is
|
||||
the same effective binary as an alternative we've already read.
|
||||
|
||||
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||
---
|
||||
alternatives.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/alternatives.c b/alternatives.c
|
||||
index 61a95ad..75d3a54 100644
|
||||
--- a/alternatives.c
|
||||
+++ b/alternatives.c
|
||||
@@ -520,6 +520,12 @@ static int readConfig(struct alternativeSet *set, const char *title,
|
||||
newAlt.followers[i - 1].target = (line && strlen(line)) ? strsteal(&line) : NULL;
|
||||
}
|
||||
|
||||
+ for (i = 0; i < set->numAlts; i++) {
|
||||
+ if (streq_bin(newAlt.leader.target, set->alts[i].leader.target)) {
|
||||
+ goto nextalt;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
set->alts = realloc(set->alts, (set->numAlts + 1) * sizeof(*set->alts));
|
||||
set->alts[set->numAlts] = newAlt;
|
||||
|
||||
@@ -527,7 +533,7 @@ static int readConfig(struct alternativeSet *set, const char *title,
|
||||
set->best = set->numAlts;
|
||||
|
||||
set->numAlts++;
|
||||
-
|
||||
+nextalt:
|
||||
memset(&newAlt, 0, sizeof(struct alternative));
|
||||
|
||||
nextLine(&buf, &line);
|
||||
--
|
||||
2.51.0
|
||||
|
||||
229
chkconfig.spec
229
chkconfig.spec
|
|
@ -1,11 +1,25 @@
|
|||
Summary: A system tool for maintaining the /etc/rc*.d hierarchy
|
||||
Name: chkconfig
|
||||
Version: 1.19
|
||||
Version: 1.33
|
||||
Release: 3%{?dist}
|
||||
License: GPLv2
|
||||
License: GPL-2.0-only
|
||||
URL: https://github.com/fedora-sysv/chkconfig
|
||||
Source: https://github.com/fedora-sysv/chkconfig/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
BuildRequires: newt-devel gettext popt-devel libselinux-devel beakerlib gcc systemd-devel make
|
||||
|
||||
# https://github.com/fedora-sysv/chkconfig/pull/157
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2363937
|
||||
# ignore 'duplicate' entries in config file (same effective binary)
|
||||
# avoids issue where package install/update disables service
|
||||
Patch: 0001-Ignore-alternatives-that-are-binary-identical-to-exi.patch
|
||||
|
||||
BuildRequires: gcc gettext libselinux-devel make newt-devel popt-devel pkgconfig(systemd)
|
||||
# beakerlib might not be available on CentOS Stream any more
|
||||
%if 0%{?fedora}
|
||||
BuildRequires: beakerlib
|
||||
%endif
|
||||
|
||||
%global merged_sbin %["%{_sbindir}" == "%{_bindir}"]
|
||||
|
||||
Conflicts: initscripts <= 5.30-1
|
||||
|
||||
Provides: /sbin/chkconfig
|
||||
|
|
@ -13,7 +27,7 @@ Provides: /sbin/chkconfig
|
|||
%description
|
||||
Chkconfig is a basic system utility. It updates and queries runlevel
|
||||
information for system services. Chkconfig manipulates the numerous
|
||||
symbolic links in /etc/rc.d, to relieve system administrators of some
|
||||
symbolic links in /etc/rc.d, to relieve system administrators of some
|
||||
of the drudgery of manually editing the symbolic links.
|
||||
|
||||
%package -n ntsysv
|
||||
|
|
@ -29,6 +43,11 @@ page), ntsysv configures the current runlevel (5 if you're using X).
|
|||
|
||||
%package -n alternatives
|
||||
Summary: A tool to maintain symbolic links determining default commands
|
||||
%if %{merged_sbin}
|
||||
Provides: /usr/sbin/alternatives
|
||||
Provides: /usr/sbin/update-alternatives
|
||||
Requires: filesystem(unmerged-sbin-symlinks)
|
||||
%endif
|
||||
|
||||
%description -n alternatives
|
||||
alternatives creates, removes, maintains and displays information about the
|
||||
|
|
@ -37,13 +56,16 @@ programs fulfilling the same or similar functions to be installed on a single
|
|||
system at the same time.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%make_build RPM_OPT_FLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS"
|
||||
%make_build RPM_OPT_FLAGS="$RPM_OPT_FLAGS" LDFLAGS="$RPM_LD_FLAGS" MERGED_SBIN=%{merged_sbin}
|
||||
|
||||
# tests are executed using tmt and tf on CentOS Stream and RHEL
|
||||
%if 0%{?fedora}
|
||||
%check
|
||||
make check
|
||||
%endif
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
|
@ -81,18 +103,195 @@ mkdir -p $RPM_BUILD_ROOT/etc/chkconfig.d
|
|||
%files -n alternatives
|
||||
%license COPYING
|
||||
%dir /etc/alternatives
|
||||
%ghost %dir %attr(755, root, root) /etc/alternatives.admindir
|
||||
%ghost %dir %attr(755, root, root) /var/lib/alternatives
|
||||
%{_sbindir}/update-alternatives
|
||||
%{_sbindir}/alternatives
|
||||
%{_mandir}/*/update-alternatives*
|
||||
%{_mandir}/*/alternatives*
|
||||
%dir /var/lib/alternatives
|
||||
|
||||
%changelog
|
||||
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
* Fri Oct 24 2025 Adam Williamson <awilliam@redhat.com> - 1.33-3
|
||||
- Backport PR #157 to fix MTA service disablement on package update (#2363937)
|
||||
|
||||
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.33-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Fri May 09 2025 Lukas Nykryn <lnykryn@redhat.com> - 1.33-1
|
||||
- alternatives: ignore all bin/sbin differences on systems with merged bin/sbin
|
||||
|
||||
* Thu Mar 13 2025 Jan Macku <jamacku@redhat.com> - 1.32-1
|
||||
- Allow paths with /usr/sbin and /usr/bin as equivalent
|
||||
- mkosi: update conf to match latest mkosi version
|
||||
- Translated using Weblate (Italian)
|
||||
|
||||
* Sun Jan 12 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.31-2
|
||||
- Rebuilt for the bin-sbin merge (2nd attempt)
|
||||
|
||||
* Wed Dec 18 2024 Jan Macku <jamacku@redhat.com> - 1.31-1
|
||||
- Translated using Weblate (Ukrainian)
|
||||
- Translated using Weblate (Ukrainian)
|
||||
- Translated using Weblate (French)
|
||||
- Update translation files
|
||||
- Translated using Weblate (Turkish)
|
||||
|
||||
* Wed Aug 07 2024 Jan Macku <jamacku@redhat.com> - 1.30-1
|
||||
- ostree: move admindir to /etc/alternatives.admindir
|
||||
- update po/chkconfig.pot
|
||||
|
||||
* Tue Jul 30 2024 Jan Macku <jamacku@redhat.com> - 1.29-1
|
||||
- add basic mkosi config
|
||||
- remove not used directory from makefile
|
||||
- ntsysv: fix leaks
|
||||
- leveldb: security_context_t is deprecated
|
||||
- leveldb: fix leak
|
||||
- leveldb: fix leak
|
||||
- leveldb: fix leak
|
||||
- leveldb: fix leak
|
||||
- leveldb: fix leak
|
||||
- chkconfig: fix leak
|
||||
- chkconfig: fix leak
|
||||
- chkconfig: fix memory leak when deleting a service
|
||||
- leveldb: add destructors for service
|
||||
- leveldb: fix memory leak
|
||||
- leveldb.c: fix memory leak
|
||||
- chkconfig: fix leak
|
||||
- leveldb: fix memory leak
|
||||
- alternatives: ensure the current alt. is freed if parsing fails
|
||||
- alternatives: ensure the current group is freed
|
||||
- Translated using Weblate (English (United Kingdom))
|
||||
- Translated using Weblate (Turkish)
|
||||
|
||||
* Fri Jun 21 2024 Jan Macku <jamacku@redhat.com> - 1.28-1
|
||||
- Prepare for bin-sbin merge
|
||||
- tests: fix integration with github actions
|
||||
|
||||
* Tue May 14 2024 Jan Macku <jamacku@redhat.com> - 1.27-1
|
||||
- alternatives: properly handle chars with const in normalize_path
|
||||
- alternatives: use exit in main instead of return for critical failures
|
||||
- alternatives: fix leak
|
||||
- alternatives: fix leak
|
||||
- alternatives: fix possible overrun
|
||||
- alternatives: fix all the leaks of groups in readConfig
|
||||
- alternatives: fix all the leaks of read line in readConfig
|
||||
- alternatives: fix leak
|
||||
- alternatives: fix memory leak
|
||||
- alternatives: fix memory leak
|
||||
- alternatives: initialize parameters in main to NULL
|
||||
- alternatives: fix memory leak
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (English (United Kingdom))
|
||||
- Translated using Weblate (Finnish)
|
||||
- Translated using Weblate (Finnish)
|
||||
- Translated using Weblate (Japanese)
|
||||
- Translated using Weblate (Swedish)
|
||||
- Translated using Weblate (Japanese)
|
||||
- Translated using Weblate (Polish)
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (Georgian)
|
||||
- Update translation files
|
||||
- Translated using Weblate (Japanese)
|
||||
- Fix systemd dependency
|
||||
|
||||
* Wed Jan 17 2024 Jan Macku <jamacku@redhat.com> - 1.26-1
|
||||
- fix(test): dot't call `basename` with empty string
|
||||
- spec: sort BuildRequires alphabetically
|
||||
- fix(test): remove dangling `rlPhase` fn call
|
||||
- ci: run tests using Packit and Testing Farm
|
||||
- build: update `.pot` file
|
||||
- ci: fix typo in test workflow
|
||||
- test: add support for running using tmt
|
||||
- Translated using Weblate (Czech)
|
||||
- Translated using Weblate (Punjabi)
|
||||
- build(deps): bump actions/upload-artifact from 3 to 4
|
||||
- build(deps): bump github/codeql-action from 2 to 3
|
||||
- leveldb: fix systemdActive()
|
||||
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck
|
||||
- Translated using Weblate (Hungarian)
|
||||
- build(deps): bump actions/checkout from 3 to 4
|
||||
|
||||
* Wed Aug 02 2023 Jan Macku <jamacku@redhat.com> - 1.25-1
|
||||
- alternatives: fix possible buffer overrun
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (Chinese (Simplified) (zh_CN))
|
||||
|
||||
* Thu May 04 2023 Jan Macku <jamacku@redhat.com> - 1.24-1
|
||||
- ci: fix `NEXT_VERSION` in Makefile
|
||||
- revert: releng: Enable Packit to handle Fedora updates
|
||||
- revert: releng: Convert to rpmautospec
|
||||
|
||||
* Thu May 04 2023 Jan Macku <jamacku@redhat.com> - 1.23-1
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (English (United Kingdom))
|
||||
- alternatives: --keep-foreign incorrectly handles non-existent files
|
||||
- alternatives: isLink should return 0 in case of lstat error
|
||||
- Translated using Weblate (Swedish)
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (Georgian)
|
||||
- Translated using Weblate (Finnish)
|
||||
- Translated using Weblate (Ukrainian)
|
||||
- Translated using Weblate (Polish)
|
||||
- Update translation files
|
||||
- Translated using Weblate (German)
|
||||
- doc: update translations
|
||||
- spec: remote changelog
|
||||
|
||||
* Thu Mar 23 2023 Jan Macku <jamacku@redhat.com> - 1.22-1
|
||||
- migrate to SPDX license
|
||||
- Translated using Weblate (English (United Kingdom))
|
||||
- Translated using Weblate (Japanese)
|
||||
- ci: Add locale linter
|
||||
- ci: update workflows
|
||||
- test: fix ShellCheck error[SC2070]
|
||||
- Bump redhat-plumbers-in-action/differential-shellcheck from 3 to 4 (#94)
|
||||
- releng: Packit remove extra job trigger
|
||||
- releng: Enable Packit to handle Fedora updates
|
||||
- releng: Convert to rpmautospec
|
||||
|
||||
* Wed Oct 05 2022 Jan Macku <jamacku@redhat.com> - 1.21-1
|
||||
- ci: Add CodeQL to replace LGTM
|
||||
- alternatives: replace master/slave with leader/follower
|
||||
- chkconfig: use correct cmp function
|
||||
- Bump redhat-plumbers-in-action/differential-shellcheck from 2 to 3
|
||||
- ci: Add Shell linter - Differential ShellCheck
|
||||
- ci: Use more inclusive terminology in workflows
|
||||
- ci: Update workflows, packit and dependabot
|
||||
- Translated using Weblate (Friulian)
|
||||
- Translated using Weblate (Swedish)
|
||||
- Translated using Weblate (Estonian)
|
||||
- Translated using Weblate (Georgian)
|
||||
- Translated using Weblate (Polish)
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (Czech)
|
||||
- Translations update from Fedora Weblate (#77)
|
||||
- Translations update from Fedora Weblate (#75)
|
||||
- Translations update from Fedora Weblate (#74)
|
||||
- Translations update from Fedora Weblate (#73)
|
||||
- Translated using Weblate (Ukrainian)
|
||||
- Update translation files
|
||||
- Family mentioned for --set in both man and help
|
||||
- Translated using Weblate (French)
|
||||
- build-sys: Ensure `systemd-sysv-install` symlink does not have `//`
|
||||
- Translated using Weblate (German)
|
||||
- Add LGTM badges to README
|
||||
- Merge remote-tracking branch 'weblate/master'
|
||||
- Translated using Weblate (Indonesian)
|
||||
- Translated using Weblate (Finnish)
|
||||
- Translated using Weblate (Korean)
|
||||
- Translated using Weblate (Ukrainian)
|
||||
- Translated using Weblate (Turkish)
|
||||
- Translated using Weblate (Polish)
|
||||
- Translated using Weblate (Norwegian Nynorsk)
|
||||
- Update translation files
|
||||
- Translated using Weblate (Finnish)
|
||||
- Translated using Weblate (Czech)
|
||||
- Translated using Weblate (Swedish)
|
||||
- Translated using Weblate (Italian)
|
||||
- Translated using Weblate (Spanish)
|
||||
- Translated using Weblate (Chinese (Simplified))
|
||||
|
||||
* Wed Jul 28 2021 Jan Macku <jamacku@redhat.com> - 1.20-1
|
||||
- spec: Replace not working awk command with sed (#62)
|
||||
|
||||
* Fri Jul 23 2021 Jan Macku <jamacku@redhat.com> - 1.19-1
|
||||
- spec: Add Provides /sbin/chkconfig in order to stay backwards compatible (#60)
|
||||
|
|
@ -114,12 +313,6 @@ mkdir -p $RPM_BUILD_ROOT/etc/chkconfig.d
|
|||
- Add basic CI and README
|
||||
- spec: sync specfile with Fedora
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.15-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.15-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Jan 21 2021 Jan Macku <jamacku@redhat.com> - 1.15-1
|
||||
- spec: sync specfile with Fedora
|
||||
- makefile: Use rpmdev-bumpspec's legacy date option
|
||||
|
|
@ -327,7 +520,7 @@ mkdir -p $RPM_BUILD_ROOT/etc/chkconfig.d
|
|||
- translation updates: as, bg, bn_IN, bs, ca, de, fr, hi, hu, id, ja,
|
||||
ka, ml, ms, nb, or, sk, sl
|
||||
- add resetpriorities to the man page (#197399)
|
||||
|
||||
|
||||
* Tue Feb 6 2007 Bill Nottingham <notting@redhat.com> 1.3.33-1
|
||||
- various changes from review - support alternate %%{_sbindir}, fix
|
||||
summaries, add version to requires, assorted other bits
|
||||
|
|
|
|||
9
plans/public.fmf
Normal file
9
plans/public.fmf
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
summary: Public (upstream) beakerlib tests
|
||||
|
||||
discover:
|
||||
- name: fedora
|
||||
how: fmf
|
||||
url: https://github.com/fedora-sysv/chkconfig.git
|
||||
|
||||
execute:
|
||||
how: tmt
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (chkconfig-1.19.tar.gz) = a7ff0a79f99317224500ec36a5aca710676a229144bdac4a883871036bb3ce20121d1aed55b37be83c17f616de3822d87d264ec3e5767c085419e7f0340705f9
|
||||
SHA512 (chkconfig-1.33.tar.gz) = 82a7a5e7d62537843cd81fa0c29a0f481ff8fe2798e0143fc409c028f02f01585b6c5d60faf5ce4a4c6dea11c4bba766dbd28e29978447f56708def65421739d
|
||||
|
|
|
|||
|
|
@ -1,62 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/chkconfig/Regression/alternatives-doesn-t-update-slave-links-with
|
||||
# Description: Test for BZ#1347541 (alternatives doesn't update slave links with)
|
||||
# Author: Jan Scotka <jscotka@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/chkconfig/Regression/alternatives-doesn-t-update-slave-links-with
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Jan Scotka <jscotka@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1347541 (alternatives doesn't update slave links with)" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 10m" >> $(METADATA)
|
||||
@echo "RunFor: chkconfig" >> $(METADATA)
|
||||
@echo "Requires: chkconfig" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1347541" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /CoreOS/chkconfig/Regression/alternatives-doesn-t-update-slave-links-with
|
||||
Description: Test for BZ#1347541 (alternatives doesn't update slave links with)
|
||||
Author: Jan Scotka <jscotka@redhat.com>
|
||||
Bug summary: alternatives doesn't update slave links with --install in manual mode
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1347541
|
||||
|
|
@ -1,50 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/chkconfig/Regression/alternatives-doesn-t-update-slave-links-with
|
||||
# Description: Test for BZ#1347541 (alternatives doesn't update slave links with)
|
||||
# Author: Jan Scotka <jscotka@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="chkconfig"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlPhaseEnd
|
||||
rlPhaseStartTest
|
||||
|
||||
rlRun "alternatives --install /usr/bin/xxx xxx /usr/bin/true 1 --slave /usr/bin/yyy yyy /usr/bin/true"
|
||||
rlRun "alternatives --set xxx /usr/bin/true"
|
||||
rlRun "alternatives --install /usr/bin/xxx xxx /usr/bin/true 1 --slave /usr/bin/yyy yyy /usr/bin/false"
|
||||
rlRun "readlink /etc/alternatives/yyy | grep /usr/bin/false"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "update-alternatives --remove xxx /usr/bin/true"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/chkconfig/Sanity/backport-family-option-from-upstream
|
||||
# Description: Test for BZ#1291340 (Backport --family option from upstream)
|
||||
# Author: Jan Scotka <jscotka@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/chkconfig/Sanity/backport-family-option-from-upstream
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Jan Scotka <jscotka@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: Test for BZ#1291340 (Backport --family option from upstream)" >> $(METADATA)
|
||||
@echo "Type: Sanity" >> $(METADATA)
|
||||
@echo "TestTime: 10m" >> $(METADATA)
|
||||
@echo "RunFor: chkconfig" >> $(METADATA)
|
||||
@echo "Requires: chkconfig" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 1291340" >> $(METADATA)
|
||||
@echo "Releases: -RHEL4 -RHELClient5 -RHELServer5" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /CoreOS/chkconfig/Sanity/backport-family-option-from-upstream
|
||||
Description: Test for BZ#1291340 (Backport --family option from upstream)
|
||||
Author: Jan Scotka <jscotka@redhat.com>
|
||||
Bug summary: Backport --family option from upstream
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1291340
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/chkconfig/Sanity/backport-family-option-from-upstream
|
||||
# Description: Test for BZ#1291340 (Backport --family option from upstream)
|
||||
# Author: Jan Scotka <jscotka@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2016 Red Hat, Inc.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/share/beakerlib/beakerlib.sh || exit 1
|
||||
|
||||
PACKAGE="chkconfig"
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
|
||||
rlRun "touch $TmpDir/a"
|
||||
rlRun "touch $TmpDir/b"
|
||||
rlRun "ln -s $TmpDir/a $TmpDir/link"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "alternatives --install $TmpDir/link testname $TmpDir/a 1 --family testfamily"
|
||||
rlRun "alternatives --install $TmpDir/link testname $TmpDir/b 2 --family testfamily"
|
||||
rlRun "alternatives --display testname |grep 'link.*$TmpDir/b'"
|
||||
rlRun "alternatives --display testname |grep 'link.*$TmpDir/a'" 1
|
||||
rlRun "alternatives --display testname |grep '$TmpDir/a.*testfamily priority 1'"
|
||||
rlRun "alternatives --list | grep 'testname.*$TmpDir/b'"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun " alternatives --remove testname $TmpDir/a"
|
||||
rlRun " alternatives --remove testname $TmpDir/b"
|
||||
rlRun "rm -rf $TmpDir"
|
||||
rlPhaseEnd
|
||||
rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Makefile of /CoreOS/chkconfig/Regression/chkconfig-prioritory-set-inconsistently
|
||||
# Description: chkconfig-prioritory-set-inconsistently
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
export TEST=/CoreOS/chkconfig/Regression/chkconfig-prioritory-set-inconsistently
|
||||
export TESTVERSION=1.0
|
||||
|
||||
BUILT_FILES=
|
||||
|
||||
FILES=$(METADATA) runtest.sh Makefile PURPOSE service-a-fake service-b-fake service-c-fake
|
||||
|
||||
.PHONY: all install download clean
|
||||
|
||||
run: $(FILES) build
|
||||
./runtest.sh
|
||||
|
||||
build: $(BUILT_FILES)
|
||||
test -x runtest.sh || chmod a+x runtest.sh
|
||||
|
||||
clean:
|
||||
rm -f *~ $(BUILT_FILES)
|
||||
|
||||
$(METADATA): Makefile
|
||||
@echo "Owner: Martin Cermak <mcermak@redhat.com>" > $(METADATA)
|
||||
@echo "Name: $(TEST)" >> $(METADATA)
|
||||
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||
@echo "Description: chkconfig-prioritory-set-inconsistently" >> $(METADATA)
|
||||
@echo "Type: Regression" >> $(METADATA)
|
||||
@echo "TestTime: 5m" >> $(METADATA)
|
||||
@echo "RunFor: chkconfig" >> $(METADATA)
|
||||
@echo "Requires: chkconfig" >> $(METADATA)
|
||||
@echo "Priority: Normal" >> $(METADATA)
|
||||
@echo "License: GPLv2" >> $(METADATA)
|
||||
@echo "Confidential: no" >> $(METADATA)
|
||||
@echo "Destructive: no" >> $(METADATA)
|
||||
@echo "Bug: 771455" >> $(METADATA)
|
||||
|
||||
rhts-lint $(METADATA)
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
PURPOSE of /CoreOS/chkconfig/Regression/chkconfig-prioritory-set-inconsistently
|
||||
Description: chkconfig-prioritory-set-inconsistently
|
||||
Author: Martin Cermak <mcermak@redhat.com>
|
||||
Bug summary: chkconfig S## prioritory set inconsistently for initscript with Requires-Start: $network
|
||||
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=771455
|
||||
|
|
@ -1,82 +0,0 @@
|
|||
#!/bin/bash
|
||||
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# runtest.sh of /CoreOS/chkconfig/Regression/chkconfig-prioritory-set-inconsistently
|
||||
# Description: chkconfig-prioritory-set-inconsistently
|
||||
# Author: Martin Cermak <mcermak@redhat.com>
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
#
|
||||
# Copyright (c) 2012 Red Hat, Inc. All rights reserved.
|
||||
#
|
||||
# This copyrighted material is made available to anyone wishing
|
||||
# to use, modify, copy, or redistribute it subject to the terms
|
||||
# and conditions of the GNU General Public License version 2.
|
||||
#
|
||||
# This program is distributed in the hope that it will be
|
||||
# useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
# PURPOSE. See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public
|
||||
# License along with this program; if not, write to the Free
|
||||
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
# Boston, MA 02110-1301, USA.
|
||||
#
|
||||
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Include Beaker environment
|
||||
. /usr/lib/beakerlib/beakerlib.sh
|
||||
|
||||
PACKAGE="chkconfig"
|
||||
|
||||
myGetPriority() {
|
||||
SERVICE=$1
|
||||
basename $( ls /etc/rc.d/rc3.d/S[0-9][0-9]$SERVICE ) | tr -d "[a-zA-Z\-]"
|
||||
}
|
||||
|
||||
# Test scenario:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=771455#c0
|
||||
|
||||
rlJournalStart
|
||||
rlPhaseStartSetup
|
||||
rlAssertRpm $PACKAGE
|
||||
rlRun "cp service-{a,b,c}-fake /etc/rc.d/init.d/"
|
||||
|
||||
# A has Required-Start on B or C, thus the reversed order:
|
||||
rlRun "/usr/lib/lsb/install_initd service-c-fake"
|
||||
rlRun "/usr/lib/lsb/install_initd service-b-fake"
|
||||
rlRun "/usr/lib/lsb/install_initd service-a-fake"
|
||||
|
||||
rlRun "chkconfig service-a-fake off"
|
||||
rlRun "chkconfig service-b-fake off"
|
||||
rlRun "chkconfig service-c-fake off"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartTest
|
||||
rlRun "chkconfig service-b-fake on"
|
||||
rlRun "chkconfig service-a-fake on"
|
||||
rlRun "PRIO=$( myGetPriority service-a-fake )"
|
||||
# now, the priority of A should be >= 40 (should be = 40 in ideal world)
|
||||
# and hopefully it is < 80
|
||||
rlRun "[ $PRIO -ge 40 ]"
|
||||
rlRun "[ $PRIO -lt 80 ]"
|
||||
|
||||
rlRun "chkconfig service-c-fake on"
|
||||
rlRun "PRIO=$( myGetPriority service-a-fake )"
|
||||
# MAIN TEST:
|
||||
# right after enabling C, A should raise its priority above 80
|
||||
# this should fail with unpatched package (e.g. chkconfig-1.3.47-1.el6)
|
||||
# ... and pass with patched one (e.g. chkconfig-1.3.49.3-2.el6)
|
||||
rlRun "[ $PRIO -gt 80 ]"
|
||||
rlPhaseEnd
|
||||
|
||||
rlPhaseStartCleanup
|
||||
rlRun "/usr/lib/lsb/remove_initd service-a-fake"
|
||||
rlRun "/usr/lib/lsb/remove_initd service-b-fake"
|
||||
rlRun "/usr/lib/lsb/remove_initd service-c-fake"
|
||||
rlRun "rm -rf /etc/rc.d/init.d/service-{a,b,c}-fake"
|
||||
rlPhaseEnd
|
||||
#rlJournalPrintText
|
||||
rlJournalEnd
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# service-a-fake
|
||||
|
||||
# chkconfig: 2345 40 89
|
||||
# description: Fake service a
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: service-a-fake
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 6
|
||||
# Required-Start: bz771455fakeservice
|
||||
# Short-Description: Fake service a
|
||||
# Description: Fake service a
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# service-b-fake
|
||||
|
||||
# chkconfig: 2345 14 89
|
||||
# description: Fake service b
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: bz771455fakeservice
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 6
|
||||
# Short-Description: Fake service b
|
||||
# Description: Fake service b
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# service-c-fake
|
||||
|
||||
# chkconfig: 2345 80 89
|
||||
# description: Fake service c
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: bz771455fakeservice
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 6
|
||||
# Short-Description: Fake service c
|
||||
# Description: Fake service c
|
||||
### END INIT INFO
|
||||
|
||||
|
||||
|
|
@ -1 +0,0 @@
|
|||
localhost
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
# This first play always runs on the local staging system
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-beakerlib
|
||||
tags:
|
||||
- classic
|
||||
- container
|
||||
tests:
|
||||
- alternatives-doesn-t-update-slave-links-with
|
||||
- backport-family-option-from-upstream
|
||||
- chkconfig-prioritory-set-inconsistently
|
||||
required_packages:
|
||||
- chkconfig
|
||||
- lsb
|
||||
Loading…
Add table
Add a link
Reference in a new issue