Compare commits

..

No commits in common. "rawhide" and "f26" have entirely different histories.

10 changed files with 158 additions and 1339 deletions

37
.gitignore vendored
View file

@ -26,40 +26,3 @@
/initscripts-9.70.tar.gz
/initscripts-9.71.tar.gz
/initscripts-9.72.tar.gz
/initscripts-9.74.tar.gz
/initscripts-9.75.tar.gz
/initscripts-9.76.tar.gz
/initscripts-9.77.tar.gz
/initscripts-9.78.tar.gz
/initscripts-9.79.tar.gz
/initscripts-9.80.tar.gz
/initscripts-9.81.tar.gz
/initscripts-9.82.tar.gz
/initscripts-9.83.tar.gz
/initscripts-10.00.tar.gz
/initscripts-10.01.tar.gz
/initscripts-10.02.tar.gz
/initscripts-10.03.tar.gz
/initscripts-10.04.tar.gz
/initscripts-10.05.tar.gz
/initscripts-10.06.tar.gz
/initscripts-10.07.tar.gz
/initscripts-10.08.tar.gz
/initscripts-10.09.tar.gz
/initscripts-10.10.tar.gz
/initscripts-10.11.tar.gz
/initscripts-10.12.tar.gz
/initscripts-10.13.tar.gz
/initscripts-10.14.tar.gz
/initscripts-10.15.tar.gz
/initscripts-10.16.tar.gz
/initscripts-10.17.tar.gz
/initscripts-10.18.tar.gz
/initscripts-10.19.tar.gz
/initscripts-10.20.tar.gz
/initscripts-10.21.tar.gz
/initscripts-10.23.tar.gz
/initscripts-10.24.tar.gz
/initscripts-10.25.tar.gz
/initscripts-10.26.tar.gz
/initscripts-10.27.tar.gz

View file

@ -1,3 +0,0 @@
# Additional information
Check upstream's [README.md](https://github.com/fedora-sysv/initscripts/blob/master/README.md) for more info.

View file

@ -1,702 +1,181 @@
# === GLOBAL MACROS ===========================================================
# According to Fedora Package Guidelines, it is advised that packages that can
# process untrusted input are build with position-idenpendent code (PIC).
#
# Koji should override the compilation flags and add the -fPIC or -fPIE flags by
# default. This is here just in case this wouldn't happen for some reason.
# For more info: https://fedoraproject.org/wiki/Packaging:Guidelines#PIE
%global _hardened_build 1
%global shared_requirements \
Requires: bash \
Requires: filesystem >= 3 \
Requires: coreutils \
Requires: gawk \
# =============================================================================
Name: initscripts
Summary: Basic support for legacy System V init scripts
Version: 10.27
Release: 1%{?dist}
License: GPL-2.0-only
URL: https://github.com/fedora-sysv/initscripts
Source: https://github.com/fedora-sysv/initscripts/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
%shared_requirements
Requires: findutils
Requires: grep
Requires: procps-ng
Requires: setup
Requires: systemd
Requires: util-linux
Requires: chkconfig
Requires: initscripts-service
Requires: initscripts-rename-device
Requires(pre): shadow-utils
Requires(post): coreutils
BuildRequires: filesystem >= 3
BuildRequires: gcc
BuildRequires: git
BuildRequires: gettext
BuildRequires: glib2-devel
BuildRequires: pkgconfig
BuildRequires: popt-devel
BuildRequires: setup
BuildRequires: make
%{?systemd_requires}
BuildRequires: systemd
Obsoletes: %{name} < 10.16-1
Obsoletes: network-scripts < 10.25-1
# === PATCHES =================================================================
# NOTE: 'autosetup' macro (below) uses 'git' for applying the patches:
# ->> All the patches should be provided in 'git format-patch' format.
# ->> Auxiliary repository will be created during 'fedpkg prep', you
# can see all the applied patches there via 'git log'.
# Upstream patches -- official upstream patches released by upstream since the
# ---------------- last rebase that are necessary for any reason:
#Patch000: example000.patch
# Downstream patches -- these should be always included when doing rebase:
# ------------------
#Patch100: example100.patch
# Downstream patches for RHEL -- patches that we keep only in RHEL for various
# --------------------------- reasons, but are not enabled in Fedora:
%if %{defined rhel} || %{defined centos}
#Patch200: example200.patch
%endif
# Patches to be removed -- deprecated functionality which shall be removed at
# --------------------- some point in the future:
Summary: Scripts to bring up network interfaces and legacy utilities
Name: initscripts
Version: 9.72
License: GPLv2
Group: System Environment/Base
Release: 1%{?dist}
URL: https://github.com/fedora-sysv/initscripts
Source: https://github.com/fedora-sysv/initscripts/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Requires: /bin/awk, sed, coreutils
Requires: grep
Requires: module-init-tools
Requires: util-linux >= 2.16
Requires: bash >= 3.0
Requires: procps-ng >= 3.3.8-16
Requires: ipcalc
Conflicts: systemd < 216-3
Conflicts: lvm2 < 2.02.98-3
Conflicts: dmraid < 1.0.0.rc16-18
Conflicts: policycoreutils < 2.5-6
Requires: systemd
Requires: iproute, /sbin/arping, findutils
# Not strictly required, but nothing else requires it
Requires: /etc/system-release
Requires: cpio
Requires: hostname
Conflicts: ipsec-tools < 0.8.0-2
Conflicts: NetworkManager < 0.9.9.0-37.git20140131.el7
Conflicts: ppp < 2.4.6-4
Requires(pre): /usr/sbin/groupadd
Requires(post): /sbin/chkconfig, coreutils
Requires(preun): /sbin/chkconfig
BuildRequires: glib2-devel popt-devel gettext pkgconfig systemd
Provides: /sbin/service
%description
This package provides basic support for legacy System V init scripts, and some
other legacy tools & utilities.
This package contains the script that activates and deactivates most
network interfaces, some utilities, and other legacy files.
# === SUBPACKAGES =============================================================
%package -n debugmode
Summary: Scripts for running in debug mode
Requires: initscripts
Group: System Environment/Base
%package -n initscripts-rename-device
Summary: Udev helper utility that provides network interface naming
%description -n debugmode
The debugmode package contains some basic scripts that are used to run
the system in a debug mode.
%shared_requirements
%description -n initscripts-rename-device
Udev helper utility that provides network interface naming
# ---------------
%package -n initscripts-service
Summary: Support for service command
BuildArch: noarch
%shared_requirements
Requires: systemd
Provides: /sbin/service
%description -n initscripts-service
This package provides service command.
# ---------------
%package -n netconsole-service
Summary: Service for initializing of network console logging
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%shared_requirements
Requires: glibc-common
Requires: iproute
Requires: iputils
Requires: kmod
Requires: sed
Requires: util-linux
Obsoletes: %{name} < 9.82-2
%description -n netconsole-service
This packages provides a 'netconsole' service for loading of netconsole kernel
module with the configured parameters. The netconsole kernel module itself then
allows logging of kernel messages over the network.
# ---------------
%package -n readonly-root
Summary: Service for configuring read-only root support
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%shared_requirements
Requires: cpio
Requires: findutils
Requires: hostname
Requires: iproute
Requires: ipcalc
Requires: util-linux
Obsoletes: %{name} < 9.82-2
%description -n readonly-root
This package provides script & configuration file for setting up read-only root
support. Additional configuration is required after installation.
Please note that readonly-root package is considered deprecated with limited support.
Please use systemd-volatile-root functionality instead, if possible.
# === BUILD INSTRUCTIONS ======================================================
Currently, this consists of various memory checking code.
%prep
%autosetup -S git
# ---------------
%setup -q
%build
%make_build PYTHON=%{__python3}
# ---------------
make
%install
%make_install NO_NETWORK_SCRIPTS=true
make ROOT=%{buildroot} SUPERUSER=`id -un` SUPERGROUP=`id -gn` mandir=%{_mandir} install
# This installs the NLS language files:
%find_lang %{name}
%if "%{_sbindir}" == "%{_bindir}"
# Some files get installed wrong, but if $(sbindir) is overriden, the build fails :(
mv -v %{buildroot}/usr/sbin/* %{buildroot}%{_bindir}/
%ifnarch s390 s390x
rm -f \
%{buildroot}%{_sysconfdir}/sysconfig/network-scripts/ifup-ctc \
%else
rm -f \
%{buildroot}%{_sysconfdir}/sysconfig/init.s390
%endif
# =============================================================================
rm -f %{buildroot}%{_sysconfdir}/rc.d/rc.local %{buildroot}%{_sysconfdir}/rc.local
touch %{buildroot}%{_sysconfdir}/rc.d/rc.local
chmod 755 %{buildroot}%{_sysconfdir}/rc.d/rc.local
%post
%systemd_post import-state.service loadmodules.service
/usr/sbin/chkconfig --add network > /dev/null 2>&1 || :
/usr/sbin/chkconfig --add netconsole > /dev/null 2>&1 || :
if [ $1 -eq 1 ]; then
/usr/bin/systemctl daemon-reload > /dev/null 2>&1 || :
fi
%preun
%systemd_preun import-state.service loadmodules.service
if [ $1 = 0 ]; then
/usr/sbin/chkconfig --del network > /dev/null 2>&1 || :
/usr/sbin/chkconfig --del netconsole > /dev/null 2>&1 || :
fi
%postun
%systemd_postun import-state.service loadmodules.service
# ---------------
%post -n netconsole-service
%systemd_post netconsole.service
%preun -n netconsole-service
%systemd_preun netconsole.service
%postun -n netconsole-service
%systemd_postun netconsole.service
# ---------------
%post -n readonly-root
%systemd_post readonly-root.service
%preun -n readonly-root
%systemd_preun readonly-root.service
%postun -n readonly-root
%systemd_postun readonly-root.service
# === PACKAGING INSTRUCTIONS ==================================================
if [ $1 -ge 1 ]; then
/usr/bin/systemctl daemon-reload > /dev/null 2>&1 || :
fi
%files -f %{name}.lang
%license COPYING
%doc doc/sysconfig.txt
# NOTE: /etc/profile.d/ is owned by setup package.
# /etc/sysconfig/ is owned by filesystem package.
%dir %{_sysconfdir}/rc.d
%dir %{_sysconfdir}/rc.d/init.d
%dir %{_sysconfdir}/rc.d/rc[0-6].d
%defattr(-,root,root)
%dir %{_sysconfdir}/sysconfig/network-scripts
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/adjtime
%config(noreplace) %{_sysconfdir}/sysconfig/init
%config(noreplace) %{_sysconfdir}/sysconfig/netconsole
%config(noreplace) %{_sysconfdir}/sysconfig/readonly-root
%{_sysconfdir}/sysconfig/network-scripts/ifdown
%{_sbindir}/ifdown
%{_sysconfdir}/sysconfig/network-scripts/ifdown-post
%{_sysconfdir}/sysconfig/network-scripts/ifup
%{_sbindir}/ifup
%dir %{_sysconfdir}/sysconfig/console
%dir %{_sysconfdir}/sysconfig/modules
%dir %{_libexecdir}/%{name}
%dir %{_libexecdir}/%{name}/legacy-actions
# ---------------
%{_sysconfdir}/rc.d/init.d/functions
# RC symlinks:
%{_sysconfdir}/rc[0-6].d
%{_sysconfdir}/init.d
# ---------------
%{_bindir}/usleep
%{_sbindir}/consoletype
%{_sbindir}/genhostid
%{_libexecdir}/import-state
%{_libexecdir}/loadmodules
%{_prefix}/lib/systemd/system/import-state.service
%{_prefix}/lib/systemd/system/loadmodules.service
%{_mandir}/man1/*
# =============================================================================
%files -n initscripts-rename-device
%license COPYING
%{_prefix}/lib/udev/rename_device
%{_udevrulesdir}/*
# ---------------
%files -n initscripts-service
%license COPYING
%dir %{_libexecdir}/%{name}
%dir %{_libexecdir}/%{name}/legacy-actions
%{_sbindir}/service
%{_mandir}/man8/service.*
# ---------------
%files -n netconsole-service
%license COPYING
%config(noreplace) %{_sysconfdir}/sysconfig/netconsole
%{_libexecdir}/netconsole
%{_prefix}/lib/systemd/system/netconsole.service
# ---------------
%files -n readonly-root
%license COPYING
%dir %{_sharedstatedir}/stateless
%dir %{_sharedstatedir}/stateless/state
%dir %{_sharedstatedir}/stateless/writable
%{_sysconfdir}/sysconfig/network-scripts/network-functions
%{_sysconfdir}/sysconfig/network-scripts/network-functions-ipv6
%{_sysconfdir}/sysconfig/network-scripts/init.ipv6-global
%config(noreplace) %{_sysconfdir}/sysconfig/network-scripts/ifcfg-lo
%{_sysconfdir}/sysconfig/network-scripts/ifup-post
%{_sysconfdir}/sysconfig/network-scripts/ifup-routes
%{_sysconfdir}/sysconfig/network-scripts/ifdown-routes
%{_sysconfdir}/sysconfig/network-scripts/ifup-plip
%{_sysconfdir}/sysconfig/network-scripts/ifup-plusb
%{_sysconfdir}/sysconfig/network-scripts/ifup-bnep
%{_sysconfdir}/sysconfig/network-scripts/ifdown-bnep
%{_sysconfdir}/sysconfig/network-scripts/ifup-eth
%{_sysconfdir}/sysconfig/network-scripts/ifdown-eth
%{_sysconfdir}/sysconfig/network-scripts/ifup-ipv6
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ipv6
%{_sysconfdir}/sysconfig/network-scripts/ifup-sit
%{_sysconfdir}/sysconfig/network-scripts/ifdown-sit
%{_sysconfdir}/sysconfig/network-scripts/ifup-tunnel
%{_sysconfdir}/sysconfig/network-scripts/ifdown-tunnel
%{_sysconfdir}/sysconfig/network-scripts/ifup-aliases
%{_sysconfdir}/sysconfig/network-scripts/ifup-ippp
%{_sysconfdir}/sysconfig/network-scripts/ifdown-ippp
%{_sysconfdir}/sysconfig/network-scripts/ifup-wireless
%{_sysconfdir}/sysconfig/network-scripts/ifup-isdn
%{_sysconfdir}/sysconfig/network-scripts/ifdown-isdn
%ifarch s390 s390x
%{_sysconfdir}/sysconfig/network-scripts/ifup-ctc
%endif
%config(noreplace) %{_sysconfdir}/networks
%config(noreplace) %{_sysconfdir}/rwtab
%config(noreplace) %{_sysconfdir}/statetab
%config(noreplace) %{_sysconfdir}/sysconfig/readonly-root
%dir %{_sysconfdir}/rwtab.d
%dir %{_sysconfdir}/statetab.d
%{_prefix}/lib/systemd/fedora-*
%{_prefix}/lib/systemd/system/*
%dir %{_sysconfdir}/rc.d
%dir %{_sysconfdir}/rc.d/rc[0-9].d
%{_sysconfdir}/rc[0-9].d
%dir %{_sysconfdir}/rc.d/init.d
%{_sysconfdir}/rc.d/init.d/*
%ghost %verify(not md5 size mtime) %config(noreplace,missingok) %{_sysconfdir}/rc.d/rc.local
%{_prefix}/lib/sysctl.d/00-system.conf
%exclude %{_sysconfdir}/profile.d/debug*
%{_sysconfdir}/profile.d/*
%{_sbindir}/sys-unconfig
%{_bindir}/usleep
%attr(4755,root,root) %{_sbindir}/usernetctl
%{_sbindir}/consoletype
%{_sbindir}/genhostid
%{_sbindir}/sushell
%attr(2755,root,root) %{_sbindir}/netreport
%{_udevrulesdir}/*
%{_prefix}/lib/udev/rename_device
%{_sbindir}/service
%{_mandir}/man*/*
%dir %attr(775,root,root) /var/run/netreport
%dir %{_sysconfdir}/NetworkManager
%dir %{_sysconfdir}/NetworkManager/dispatcher.d
%{_sysconfdir}/NetworkManager/dispatcher.d/00-netreport
%doc sysconfig.txt sysvinitfiles static-routes-ipv6 ipv6-tunnel.howto ipv6-6to4.howto changes.ipv6
%doc examples
%{!?_licensedir:%global license %%doc}
%license COPYING
%{_sharedstatedir}/stateless
%{_tmpfilesdir}/initscripts.conf
%dir %{_libexecdir}/initscripts
%dir %{_libexecdir}/initscripts/legacy-actions
%{_libexecdir}/readonly-root
%{_prefix}/lib/systemd/system/readonly-root.service
# =============================================================================
%files -n debugmode
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/sysconfig/debug
%{_sysconfdir}/profile.d/debug*
%changelog
* Thu Dec 11 2025 Jan Macku <jamacku@redhat.com> - 10.27-1
- spec: add missing license files
- build(deps): bump actions/checkout from 5 to 6
- build(deps): bump actions/upload-artifact from 4 to 5
- build(deps): bump github/codeql-action from 3 to 4
- ci: fix issues with missing base commit
- Translated using Weblate (Georgian)
- Translated using Weblate (Indonesian)
- Translated using Weblate (English (United Kingdom))
- Translated using Weblate (Korean)
- Translated using Weblate (Turkish)
- man: add ifdown.8
- build(deps): bump actions/checkout from 4 to 5
- Translated using Weblate (Spanish)
- Translated using Weblate (Georgian)
- Translated using Weblate (Korean)
- Translated using Weblate (Portuguese (Brazil))
- Translated using Weblate (Polish)
- Translated using Weblate (Greek)
- Translated using Weblate (Greek)
- Translated using Weblate (Spanish)
- Translated using Weblate (Georgian)
- Translated using Weblate (Greek)
- Translated using Weblate (Italian)
- Translated using Weblate (Chinese (Traditional) (zh_TW))
- Translated using Weblate (Spanish)
- Translated using Weblate (Finnish)
- retry arping one more time in ifup-eth when sendto failed
- Translated using Weblate (French)
- ci: add dependency glib-2.0
- network-functions: Fix a bug in is_nm_handling()
* Tue Aug 27 2024 Jan Macku <jamacku@redhat.com> - 10.26-1
- Translated using Weblate (Turkish)
- netconsole: var/lock -> run/lock
- netconsole: source sysconfig/network only if it exists
- netconsole: remove unused variables
- netconsole: remove trailing whitespaces
- Translated using Weblate (Turkish)
* Tue Jun 25 2024 Jan Macku <jamacku@redhat.com> - 10.25-1
- Revert "fix: return support for network-scripts for Fedora 40"
* Wed May 29 2024 Jan Macku <jamacku@redhat.com> - 10.24-1
- Fix build when %_bindir==%_sbindir
* Tue Apr 16 2024 Jan Macku <jamacku@redhat.com> - 10.23-1
- fix: return support for network-scripts for Fedora 40
* Wed Mar 06 2024 Jan Macku <jamacku@redhat.com> - 10.22-1
- Translated using Weblate (Georgian)
- rename_device: free path after it is used
- rename_device: remove trailing whitespaces
* Wed Feb 07 2024 Jan Macku <jamacku@redhat.com> - 10.21-1
- fedora: don't build network-scripts rpm in f40+ (2/2)
- ci: trigger copr build on every push to main branch
- ifup-routes: print warning when ADDRESS0 entry is missing
- fedora: don't build network-scripts rpm in f40+
* Tue Jan 30 2024 Jan Macku <jamacku@redhat.com> - 10.20-1
- Translated using Weblate (Georgian)
- Add -r to while read as per shellcheck
- Fix splitting spaces in paths from statetab files
- build(deps): bump actions/upload-artifact from 3 to 4
- build(deps): bump github/codeql-action from 2 to 3
- Translated using Weblate (Georgian)
- Translated using Weblate (Czech)
- Translated using Weblate (Punjabi)
- Translated using Weblate (Portuguese (Brazil))
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck
- build(deps): bump actions/checkout from 3 to 4
- Translated using Weblate (Hungarian)
- Translated using Weblate (Finnish)
- Translated using Weblate (Georgian)
- Translated using Weblate (Chinese (Simplified) (zh_CN))
- Translated using Weblate (English (United Kingdom))
- Translated using Weblate (Korean)
- Translated using Weblate (Ukrainian)
- Translated using Weblate (Swedish)
- Translated using Weblate (Polish)
- Update translation files
- Translated using Weblate (Korean)
* Fri May 05 2023 Jan Macku <jamacku@redhat.com> - 10.19-1
- ci: update Packit configuration
- spec: add missing changelog entry
- Revert "releng: Enable Packit to handle Fedora updates"
- Revert "releng: Convert to rpmautospec"
- doc: update translations
- spec: remove changelog
* Thu Mar 23 2023 Jan Macku <jamacku@redhat.com> - 10.18-1
- Translated using Weblate (English (United Kingdom))
- migrate to SPDX license
- ci(Mergify): configuration update
- Translated using Weblate (German)
- Translated using Weblate (English (United Kingdom))
- doc: update badges
- ci(lint): Add Differential PyLint GitHub Action
- ci(lint): Add permission `security-events: write`
- ci: Update Differential ShellCheck to `@v4`
- doc: fix markdown warnings and update badge
- ci: Setup CodeQL to replace deprecated LGTM
- releng: Enable Packit to handle Fedora updates
- releng: Convert to rpmautospec
- build(deps): bump redhat-plumbers-in-action/differential-shellcheck
* Wed Aug 24 2022 Jan Macku <jamacku@redhat.com> - 10.17-1
- service: Exit when `/etc/init.d` is missing
- ci: Update workflows to run on main branch
- ci: remove differential-shellcheck configs
- doc: Use main branch in links
- dependabot: Monthly updates
- ci(Mergify): configuration update
- Translated using Weblate (Georgian)
- Translated using Weblate (Georgian)
- ci: Update `packit.yml`
- ci: Update Github workflows & add Dependabot
- Translated using Weblate (Estonian)
- Translated using Weblate (Georgian)
- Translated using Weblate (Georgian)
- Translated using Weblate (Czech)
- Drop unnecessary obsoletes
* Wed Feb 23 2022 Adam Williamson <awilliam@redhat.com> - 10.16-2
- Drop unnecessary obsoletes
* Wed Feb 23 2022 Jan Macku <jamacku@redhat.com> - 10.16-1
- spec: Move rename_device to subpackage `initscripts-rename-device`
* Tue Feb 15 2022 Jan Macku <jamacku@redhat.com> - 10.15-1
- spec: network-scripts needs to depend on dbus-tools for NetworkManager detection
- packit: Run copr builds on release as well
- ci: Update `.packit.yml` to run on `c8s` `c9s` and `rawhide`
- Translated using Weblate (Finnish)
- ci: Use Differential ShellCheck action
- ci(Mergify): configuration update
* Mon Jan 24 2022 Jan Macku <jamacku@redhat.com> - 10.14-1
- ifup-routes: Revert quotes
- ifup-routes: Use `ip replace` only on type `route`
- ci(Mergify): configuration update
- ci: remove testing branch from `shellcheck_test.yml`
* Thu Jan 13 2022 Jan Macku <jamacku@redhat.com> - 10.13-1
- ifup-routes: Log when using `ip $type replace`
- ifup-routes: Use `ip route repace` to avoid race
- Translated using Weblate (German)
- Add LGTM badges to README
- ci: set default merge method to rebase
- ci: disable comments under opened PR in order to fix CI
- network scripts: do not use c-style for-loop
- network scripts: replace "<<<" with pipe
- rc.d/functions: do not use "+=" to concatenate string
- ci: Use default github-token (#395)
- ci(Mergify): configuration update (#394)
- ci: Output shellcheck results using PR comments (#393)
- ci: Update path to csdiff repository (#391)
- spec: Fix issue with $NEXT_VERSION (#390)
- Translated using Weblate (Indonesian)
- Translated using Weblate (Spanish)
- Translated using Weblate (Czech)
* Fri Sep 03 2021 Jan Macku <jamacku@redhat.com> - 10.12-1
- spec: Update relation between initscripts and initscripts-service (#386)
* Fri Aug 27 2021 Jan Macku <jamacku@redhat.com> - 10.11-1
- specfile: Update obsoletes to allow upgrades (#385)
* Thu Aug 26 2021 Jan Macku <jamacku@redhat.com> - 10.10-1
- Translated using Weblate (Friulian) (#381)
- Translations update from Weblate (#378)
- added veth support
- ifup-eth: add a new PERSISTENT_DHCLIENT_IPV6 option for IPv6 dhclient daemon
- ifdown removes veth pair if both peers are down
- rename_device: also support dracut-style kernel cmdline configuration
- spec: Mark network-scripts as deprecated
- spec: Initscripts now requires chkconfig (#374)
- Translations update from Weblate (#371)
- spec: Move service script into subpackage
- ci: Onboard initscripts to Packit
- ci: Migrate from Travis to GH Actions
* Mon Feb 15 2021 Jan Macku <jamacku@redhat.com> - 10.09-1
- doc: Document ARPING_WAIT and ARPING_UPDATE_WAIT
- network scripts: Avoid infinite loop of arping
* Thu Feb 4 2021 Jan Macku <jamacku@redhat.com> - 10.08-1
- network: fix condition in set_link_up()
- spec: sync with Fedora
* Fri Jan 22 2021 Jan Macku <jamacku@redhat.com> - 10.07-1
- doc: Fix "Duplicated string found in the file."
- doc: Documents RES_OPTIONS option
- doc: Documents ifcfg option LINKSTATUS
- ci: use up to date keywords and fix some warnings
- network: fix set_link_up()
- network: add option to keep the link down
- Rework of shell ci
- Translations update from Weblate
* Fri Nov 13 2020 Jan Macku <jamacku@redhat.com> - 10.06-1
- service: catch unsupported action keywords
- makefile: Use rpmdev-bumpspec's legacy date option
* Fri Nov 06 2020 Jan Macku <jamacku@redhat.com> - 10.05-1
- service: Prevent variables from globbing
- init.d/functions: Make usage msgs more clear
- network-scripts: Use net_log() instead of logger
- Allow updating rfkill switch status while in readonly root mode
- Add info into specfile about readonly-root deprecation
- Allow updating mlocate.db while in readonly root mode
- rc.d/functions: replace grep's --quiet with -q
- Add warning to warn user when ETHTOOL_OPTS is set and ethtool binary is missing - Olav Vitters
- Fix spacing in Makefile
- Add optional 'dev' keyword
* Tue Jul 14 2020 Jan Macku <jamacku@redhat.com> - 10.04-1
- Maintain permisision to set umask
- rwtab: Add support for chrony
- Correct spelling, IP,
- Fix spelling, for more info
- Fix spelling of SELinux
- Translations update from Weblate
* Tue Mar 24 2020 Jan Macku <jamacku@redhat.com> - 10.03-1
- Replace grep -EL with subshell since -L changed behaviour
- Wait for scope link addresses as well as for scope global addresses
- Remove deprecated option -m of pidof
- Use function is_true for testing true conditions
- Adding new travis job for testing shell-scripts
- Remove zanata conf
- pull latest translations
- Update of translations and remove files with no translations
- Fix service network stop cmd
- Change spacing of service file to folow spacing of project
- network-function: bridges are created by ifup-eth
- Initscripts no longer care about rc.local
- Repalace hardcoded tests for yes and no with testing functions
- ifup-eth: Fix bridge setting stp option
- Fix bug in service(8)
- ifup-eth: Check that device name is set
- Fix missing python3 during build phase
- rc.d/functions: fix escape sequence being output under systemd service units
- Add ip6gre tunnel option
- ifup/ifdown: print DEPRECATION_WARNING_ISSUED waring info after source_config
* Fri Jun 28 2019 Jan Macku <jamacku@redhat.com> - 10.02-1
- network: don't fail with IFDOWN_ON_SHUTDOWN
- rc.d/functions: remove support cgroups
- Create symlink (/etc/init.d) to /etc/rc.d/init.d
- Add option to wait until target is reachable
- ifup-eth: apply PERSISTENT_DHCLIENT to IPv6 dhclient daemon
- ifup-post: fix incorrect condition for RESOLV_MODS
- make tag: updated message
- make release-commit: do not create tag automatically
* Mon Aug 06 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 10.01-1
- network/ifup/ifdown: deprecations warnings redirected to stderr
- ifup-eth: use 'bc' instead of 'expr' when computing $forward_delay
- network/ifup/ifdown: deprecation warnings for 'network-scripts' added
- network: parsing of /proc/mounts returned
* Thu Jun 21 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 10.00-1
- Move the /etc/rwtab.d & /etc/statetab.d folders to 'filesystem'
- specfile: fix failing build because of incorrect use of %{_isa}
* Thu Jun 14 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.83-1
- network-scripts: Add previously dropped error checking
- network-scripts: Replace brctl with ip-link
- Makefile: new release-commit rule added
- src/rename_device.c: GCC warnings about unused return value suppressed
- src/usernetctl.c: GCC warnings about unused return value suppressed
- Makefile: allow sub-makefiles to run in parallel
- specfile: netconsole service moved to /usr/libexec
- specfile: services from /usr/lib/systemd moved to /usr/libexec
- specfile: summary & description updated
- specfile: no longer needed conflicts dropped
- specfile: requirements cleanup
- specfile: obsoletes on previous version of initscripts package added
- specfile: network-scripts subpackage created
- specfile: readonly-root subpackage created
- specfile: netconsole-service subpackage created
- README.md: Travis CI build icon added
- .travis.yml: check the 'make install' proceeds as well
- .travis.yml: initial commit
- README.md: bug reporting described
- README.dm: future of initscripts described
- README.md: description added
- README.md: references to old git branches added
- README.md: initial commit
- network-scripts: setting of firewall ZONE fixed
- ifdown-post: artifact whitespace removed from the DBus call
- l10n: drop .tx directory
- l10n: add zanata.xml
* Mon Jun 04 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.82-1
- Makefile: make the creation of symlinks relative to path again
- specfile: trailing file of netreport removed
* Thu May 31 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.81-1
- src/consoletype.c: deprecation warning added
- src/genhostid.c: deprecation warning added
- src/genhostid.c: fixed to not override /etc/hostid if it already exists
- src/usleep.c: GCC warnings fixed
- nis-domainname.service removed
- fedora-* services renamed to more general names
- specfile: missing fedora-domainname.service returned in systemd macros
- COPYING updated to latest GNU version (GPLv2+)
- network-scripts: control 'network' service with alternatives as well
- netreport functionality dropped
- networks moved into 'setup' package
- lang.{sh,csh} moved into setup package
- lang.{sh,csh} cleanup before moving to 'setup' package
- src/sushell moved into 'policycoreutils' package
- src/shvar.* removed
- po/xgettext_sh removed
- sys-unconfig removed
- Outdated files from doc/ folder removed
- make archive: ChangeLog generating removed
- network-scripts: ifup & ifdown -- use alternatives system
- adjtime moved into 'util-linux' package
- specfile: simplified & updated to new repository layout
- .gitignore files updated to new repository layout
- Makefile simplified & updated to new repository layout
- po/Makefile simplified & updated to new repository layout
- src/Makefile simplified & updated to new repository layout
- Repository scheme updated to new layout
- fedora-readonly: command substitution warning fixed (null-byte input)
* Fri May 25 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.80-1
- sysconfig/readonly-root: Clarify the usage of readonly-root
- use proper shebang where appropriate
- specfile: remove the systemctl call in the %postun phase
- network-functions: use tr to upper case strings rather than awk
- network-functions: add error messages for bonding installation
- ifdown-eth: no longer needed 'pidof -x dhclient' condition removed
- netconsole: LSB header added
- po/xgettext_sh*: converted to use to python3
- network.service: 'reload' removed
- ifup-tunnel: Support 'external' tunnels
- spec: add gcc to BuildRequires
- init.d/functions: fix sourcing for ksh
* Tue Jan 02 2018 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.79-1
- ifdown-post: fix logical error in commit 5d61564
- network: add knob to optionally keep interfaces up during shutdown
- network-functions: use POSIX forwarding instead of bash-ism
* Wed Nov 08 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.78-1
- specfile: drop dependancy on /etc/system-release
- ifup-post: always update nameserver & search entries in /etc/resolv.conf
- network-scripts: forward DBus calls to /dev/null
- Spelling fixes
- Tell git to ignore *.o
- Use grep -E instead of deprecated egrep
- Avoid some unnecessary stat calls
- systemd/system: symlinks for fedora-* services removed
- network-scripts: firewall-cmd replaced with DBus calls
- 'debugmode' subpackage dropped completely
- sysconfig/init* files dropped
- sysctl.conf.s390 dropped
- usleep: change the error message to print the full replacement commandline
* Tue Aug 15 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.77-1
- specfile: Fix failing build for s390* architecture
- Drop no longer supported SPARC architecture
* Mon Aug 07 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.76-1
- Makefile: return make archive for testing purposes
- Revert "Makefile: replace /var/run with /run"
* Mon Aug 07 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.75-1
- Makefile: $ROOT variable is now empty by default
- Makefile: Fix additional error in commit b119d37d1
- ifup-eth: wait for STP to complete setup on bridge if $DELAY is not set
- init.d/functions: is_true() & is_false() extended by ON/OFF support
- init.d/functions: convert2sec() function added
* Fri Aug 04 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.74-1
- Makefile: fix whitespace error in commit b119d37d1
* Thu Aug 03 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.73-1
- Makefile: replace /var/run with /run
- Replace /var/run with /run everywhere
- Update references to sysctl.conf
- Drop sysctl.d/00-system.conf
- Drop 256term.{sh,csh}
- ARPUPDATE introduced
* Thu May 25 2017 David Kaspar [Dee'Kej] <dkaspar@redhat.com> - 9.72-1
- rename_device.c: rewrite of isCfg() function
- Add *.old to list of ignored files
@ -876,7 +355,7 @@ ng
* Tue Jan 14 2014 Lukáš Nykrýn <lnykryn@redhat.com> 9.51-1
- readonly-root: bind-mount only necessary subset of entries in rwtab
- readonly-root: Add /var/log/audit/audit.log to rwtab
- readonly-root: restore SELinux context after bind mount
- readonly-root: restore selinux context after bind mount
- rename_device: remove comments and trailing whitespaces
- service: suggest using systemctl if unknown action is used
- ifup-eth: fix typo in error message
@ -905,7 +384,7 @@ ng
* Fri May 31 2013 Lukáš Nykrýn <lnykryn@redhat.com> - 9.47-1
- network-functions: to determine state of nscd check socket not lock (#960779)
- sysconfig.txt advised saslauthd -a instead of -v
- sysconfig.txt advised saslauthd -a instad of -v
- update translations from transifex
- drop translation for other initscripts
- tweak ifup/ifdown usage and man page (#961917)
@ -1551,7 +1030,7 @@ ng
by booting)
- serial: add a crude hack to wait for runlevels to finish (#437379)
- serial: frob /etc/securetty when necessary (#437381)
- add an upstart-specific inittab
- add a upstart-specific inittab
- translation updates: as, bn_IN, cs, de, es, fi, fr, gu, hi, it, ja, kn, ml, mr, nb,
nl, pa, pl, pt_BR, ru, sk, sr, ta, te, zh_CN
@ -2042,7 +1521,7 @@ ng
- network-functions: don't error out if hotplug doesn't exist (#140008)
- ifup: always return errors on trying to bring up nonexistent devices (#131461)
- ifup: fix error message (#143674)
- rc.sysinit: add an autorelabel boot target (#154496)
- rc.sysinit: add a autorelabel boot target (#154496)
- prefdm: if something else is specified as $DISPLAYMANAGER, try that (#147304)
- remove support for the old firewall type
- network: optimize some (#138557, <drepper@redhat.com>)
@ -2368,7 +1847,7 @@ ng
- readonly root fixes (<alexl@redhat.com>)
* Tue May 25 2004 Karsten Hopp <karsten@redhat.de> 7.56-1
- special TYPE for qeth devices to differentiate them from ethX
- special TYPE for qeth devices to differenciate them from ethX
* Mon May 24 2004 Bill Nottingham <notting@redhat.com>
- fix pppd vs. ppp typo in conflicts (#123680)
@ -2892,7 +2371,7 @@ ng
* Sun Sep 2 2001 Than Ngo <than@redhat.com>
- add ISDN patches from pekkas@netcore.fi and pb@bieringer.de (bug #52491)
- fix handling of ISDN LSZ Compression
- fix handling of ISDN LSZ Compresssion
* Thu Aug 30 2001 Than Ngo <than@redhat.com>
- po/de.po: fix typo bug, lo instead 1o

View file

@ -1,29 +1,7 @@
#!/bin/bash
# We always do a rebase to new upstream's tarball for Fedora Rawhide.
#
# For non-Rawhide Fedora releases, we can sometimes backport specific patches,
# if the rebase is not possible.
#
# This scripts automates this process.
# Since we are operating in a dist-git repository where we can't fix things with
# --force-push if something goes wrong, we need to be extra careful and exit
# immediately if something fails.
set -e
curl https://raw.githubusercontent.com/fedora-sysv/initscripts/master/initscripts.spec -o initscripts.spec || exit 1
spectool -g initscripts.spec
# Make a local scratch build in mock first. If it fails, do not upload new tarball!
# srpm_file="$(basename $(fedpkg srpm | grep -i "wrote" | cut -d ':' -f 2))"
# arch="$(uname -p)"
# mock -r "fedora-rawhide-${arch}" "${srpm_file}" || exit 2
# Scratch build passed, the build should pass in Koji as well. Let's proceed:
fedpkg new-sources "$(basename $(spectool -S -l initscripts.spec | gawk '{print $2;}'))" || exit 3
curl https://raw.githubusercontent.com/fedora-sysv/initscripts/master/initscripts.spec -o initscripts.spec
git add initscripts.spec
git commit -m "$(grep Version initscripts.spec | gawk '{print $2;}')"
git show
spectool -g initscripts.spec
fedpkg new-sources $(basename $(spectool -S -l initscripts.spec | awk '{print $2;}'))
git commit -m $(grep Version initscripts.spec | awk '{print $2;}')

View file

@ -1 +1 @@
SHA512 (initscripts-10.27.tar.gz) = 951f88158eaf7409f7d65c9875c9ba2611e6a805c17112ddbb34167a1638d87d2433c3962d20e66564669f3424dd7be1265cbe03a1a7d6b1c5413ed43d80148d
SHA512 (initscripts-9.72.tar.gz) = b6ed38f9576e9227c2ecf047e2d60e1e872f40d51d13861b0c91dddb282f10f7e6b79706a4d1435d7a57a14a0b73a1b71541cfe44c00e8e03ef96b08de19ec32

View file

@ -1,64 +0,0 @@
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Makefile of /CoreOS/initscripts/Sanity/init-scripts-LSB
# Description: Init scripts should meet LSB specifications
# Author: Yulia Kopkova <ykopkova@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2009 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/initscripts/Sanity/init-scripts-LSB
export TESTVERSION=1.4
BUILT_FILES=
FILES=$(METADATA) runtest.sh Makefile PURPOSE
.PHONY: all install download clean
run: $(FILES) build
./runtest.sh
build: $(BUILT_FILES)
chmod a+x runtest.sh
clean:
rm -f *~ $(BUILT_FILES)
include /usr/share/rhts/lib/rhts-make.include
$(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: Init scripts should meet LSB specifications" >> $(METADATA)
@echo "Type: Sanity" >> $(METADATA)
@echo "TestTime: 5m" >> $(METADATA)
@echo "RunFor: initscripts" >> $(METADATA)
@echo "Requires: initscripts" >> $(METADATA)
@echo "Priority: Normal" >> $(METADATA)
@echo "License: GPLv2" >> $(METADATA)
@echo "Confidential: no" >> $(METADATA)
@echo "Destructive: no" >> $(METADATA)
@echo "Releases: RedHatEnterpriseLinux6" >> $(METADATA)
rhts-lint $(METADATA)

View file

@ -1,3 +0,0 @@
PURPOSE of /CoreOS/initscripts/Sanity/init-scripts-LSB
Description: Init scripts should meet LSB specifications
Author: Yulia Kopkova <ykopkova@redhat.com>

View file

@ -1,228 +0,0 @@
#!/bin/bash
# vim: dict=/usr/share/rhts-library/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/initscripts/Sanity/init-scripts-LSB
# Description: Init scripts should meet LSB specifications
# Author: Jan Scotka <jscotka@redhat.com>, Yulia Kopkova <ykopkova@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2009 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 rhts environment
. /usr/bin/rhts-environment.sh
. /usr/share/rhts-library/rhtslib.sh
PACKAGE="initscripts"
SRV_NETCONSOLE=netconsole
SRV_NETFS=netfs
TRG_REMOTEFS=remote-fs.target
SRV_NETWORK=network
rlJournalStart
rlPhaseStartSetup
rlAssertRpm $PACKAGE
rlRun "useradd testuserqa" 0 "Add test user"
rlFileBackup /etc/sysconfig/netconsole
if rlIsRHEL '<7'; then #there is no syslog in rhel7 and highier
rlRun "sed -i -e 's,^# SYSLOGADDR=,SYSLOGADDR=redhat.com,' /etc/sysconfig/netconsole" 0 "Set remote syslog server address /etc/sysconfig/netconsole"
fi
rlPhaseEnd
rlPhaseStartTest "netconsole service LSB compliance test"
if ls /lib*/modules/*/kernel/drivers/net/netconsole.ko*; then
rlRun "ls /lib*/modules/*/kernel/drivers/net/netconsole.ko*" 0
if rlIsRHEL '<7'; then
SERVICE=$SRV_NETCONSOLE
rlServiceStop $SERVICE
rlLog ">>>>>>>>> service start"
rlRun "service $SERVICE start" 0 " Service must start without problem "
rlRun "service $SERVICE status" 0 " Then Status command "
rlRun "service $SERVICE start" 0 " Already started service "
rlRun "service $SERVICE status" 0 " Again status command "
rlLog ">>>>>>>>> service restart"
rlRun "service $SERVICE restart" 0 " Restarting of service "
rlRun "service $SERVICE status" 0 " Status command "
rlLog ">>>>>>>>> service stop"
rlRun "service $SERVICE stop" 0 " Stopping service "
rlRun "service $SERVICE status" 3 " Status of stopped service "
rlRun "service $SERVICE stop" 0 " Stopping service again "
rlRun "service $SERVICE status" 3 " Status of stopped service "
rlLog ">>>>>>>>> insufficient rights"
rlRun "service $SERVICE start " 0 " Starting service for restarting under nonpriv user "
rlRun "su testuserqa -c 'service $SERVICE restart'" 1 "Insufficient rights, restarting resrvice under nonprivileged user must fail "
rlLog ">>>>>>>>> operations"
rlServiceStop $SERVICE
rlRun "service $SERVICE start" 0 " Service have to implement start function "
rlRun "service $SERVICE restart" 0 " Service have to implement restart function "
rlRun "service $SERVICE status" 0 " Service have to implement status function "
rlRun "service $SERVICE condrestart" 0 " Service have to implement condrestart function "
rlRun "service $SERVICE reload" 0 " Service have to implement reload function "
rlRun "service $SERVICE force-reload" 0 " Service have to implement force-reload function "
rlLog ">>>>>>>>> nonexist operations"
rlRun "service $SERVICE noexistop" 2 " Testing proper return code when nonexisting function "
rlServiceRestore $SERVICE
fi # rhel 6 or less
else
rlLog ">>>> no netconsole kernel module appear here"
rlRun "ls /lib*/modules/*/kernel/drivers/net/netconsole.ko*" 1,2
fi
rlLog "NIC should support polling, NETPOLL should be compliled in kernel and netconsole module should be loaded"
rlLog "`cat /usr/src/kernels/$(uname -r)/.config | grep -i poll`"
rlLog "netconsole module: `lsmod | grep -i netconsole && echo true || echo false`"
rlLog "`cat /var/log/messages | grep -i netconsole | tail -n 10`"
rlPhaseEnd
# for RHEL6 and lower
if rlIsRHEL '<7'; then
rlPhaseStartTest "netfs service LSB compliance test"
SERVICE=$SRV_NETFS
rlServiceStop $SERVICE
rlLog ">>>>>>>>> service start"
rlRun "service $SERVICE start" 0 " Service must start without problem "
rlRun "service $SERVICE status" 0 " Then Status command "
rlRun "service $SERVICE start" 0 " Already started service "
rlRun "service $SERVICE status" 0 " Again status command "
rlLog ">>>>>>>>> service restart"
rlRun "service $SERVICE restart" 0 " Restarting of service "
rlRun "service $SERVICE status" 0 " Status command "
rlLog ">>>>>>>>> service stop"
rlRun "service $SERVICE stop" 0 " Stopping service "
rlRun "service $SERVICE status" 3 " Status of stopped service "
rlRun "service $SERVICE stop" 0 " Stopping service again "
rlRun "service $SERVICE status" 3 " Status of stopped service "
rlLog ">>>>>>>>> insufficient rights"
rlRun "service $SERVICE start " 0 " Starting service for restarting under nonpriv user "
rlRun "su testuserqa -c 'service $SERVICE restart'" 4 "Insufficient rights, restarting resrvice under nonprivileged user must fail "
rlLog ">>>>>>>>> operations"
rlServiceStop $SERVICE
rlRun "service $SERVICE start" 0 " Service have to implement start function "
rlRun "service $SERVICE restart" 0 " Service have to implement restart function "
rlRun "service $SERVICE status" 0 " Service have to implement status function "
rlLog ">>>>>>>>> nonexist operations"
rlRun "service $SERVICE noexistop" 2 " Testing proper return code when nonexisting function "
rlServiceRestore $SERVICE
rlPhaseEnd
else
rlPhaseStartTest "remote-fs target LSB compliance test"
TARGET=$TRG_REMOTEFS
rlServiceStop $TARGET
rlLog ">>>>>>>>> target start"
rlRun "service $TARGET start" 0 " Target must start without problem "
rlRun "service $TARGET status" 0 " Then Status command "
rlRun "service $TARGET start" 0 " Already started target "
rlRun "service $TARGET status" 0 " Again status command "
rlLog ">>>>>>>>> target restart"
rlRun "service $TARGET restart" 0 " Restarting target "
rlRun "service $TARGET status" 0 " Status command "
rlLog ">>>>>>>>> target stop"
rlRun "service $TARGET stop" 0 " Stopping target "
rlRun "service $TARGET status" 3 " Status of stopped target "
rlRun "service $TARGET stop" 0 " Stopping target again "
rlRun "service $TARGET status" 3 " Status of stopped target "
rlLog ">>>>>>>>> insufficient rights"
rlRun "service $TARGET start " 0 " Starting target for restarting under nonpriv user "
rlRun "su testuserqa -c 'service $TARGET restart'" 1 " Insufficient rights, restarting target under nonprivileged user must fail " # returns 1 instead of 4 because of polkit
rlLog ">>>>>>>>> operations"
rlServiceStop $TARGET
rlRun "service $TARGET start" 0 " Target have to implement start function "
rlRun "service $TARGET restart" 0 " Target have to implement restart function "
rlRun "service $TARGET status" 0 " Target have to implement status function "
rlLog ">>>>>>>>> nonexist operations"
rlRun "service $TARGET noexistop" 2 " Testing proper return code when nonexisting function "
rlServiceRestore $TARGET
rlPhaseEnd
fi
# rlPhaseStartTest "$SRV_NETWORK service LSB compliance test"
#
# SERVICE=$SRV_NETWORK
# rlServiceStop $SERVICE
# rlLog ">>>>>>>>> service start"
# rlRun "service $SERVICE start" 0 " Service must start without problem "
# rlRun "service $SERVICE status" 0 " Then Status command "
# rlRun "service $SERVICE start" 1,0 " Already started service "
# rlRun "service $SERVICE status" 0 " Again status command "
# rlLog ">>>>>>>>> service restart"
# rlRun "service $SERVICE restart" 0 " Restarting of service "
# rlRun "service $SERVICE status" 0 " Status command "
# rlLog ">>>>>>>>> service stop"
# rlRun "service $SERVICE stop" 0 " Stopping service "
# rlRun "service $SERVICE status" 0 " Status of stopped service "
# rlRun "service $SERVICE stop" 0 " Stopping service again "
# rlRun "service $SERVICE status" 0 " Status of stopped service "
# rlLog ">>>>>>>>> insufficient rights"
# rlRun "service $SERVICE start " 0 " Starting service for restarting under nonpriv user "
# rlRun "su testuserqa -c 'service $SERVICE restart'" 4 "Insufficient rights, restarting resrvice under nonprivileged user must fail "
# rlLog ">>>>>>>>> operations"
# rlServiceStop $SERVICE
# rlRun "service $SERVICE start" 0 " Service have to implement start function "
# rlRun "service $SERVICE restart" 0 " Service have to implement restart function "
# rlRun "service $SERVICE status" 0 " Service have to implement status function "
# rlRun "service $SERVICE reload" 0 " Service have to implement reload function "
# rlRun "service $SERVICE force-reload" 0 " Service have to implement force-reload function "
# rlLog ">>>>>>>>> nonexist operations"
# rlRun "service $SERVICE noexistop" 2 " Testing proper return code when nonexisting function "
# rlServiceRestore $SERVICE
# service $SERVICE start
rlPhaseEnd
rlPhaseStartCleanup
rlRun "userdel -fr testuserqa" 0 "Remove test user"
rlFileRestore
rlPhaseEnd
rlJournalPrintText
rlJournalEnd

View file

@ -1,291 +0,0 @@
#!/usr/bin/env python
import argparse
import errno
import json
import os
import shutil
import shlex
import signal
import socket
import subprocess
import sys
import tempfile
import time
import distutils.util
IDENTITY = """
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA1DrTSXQRF8isQQfPfK3U+eFC4zBrjur+Iy15kbHUYUeSHf5S
jXPYbHYqD1lHj4GJajC9okle9rykKFYZMmJKXLI6987wZ8vfucXo9/kwS6BDAJto
ZpZSj5sWCQ1PI0Ce8CbkazlTp5NIkjRfhXGP8mkNKMEhdNjaYceO49ilnNCIxhpb
eH5dH5hybmQQNmnzf+CGCCLBFmc4g3sFbWhI1ldyJzES5ZX3ahjJZYRUfnndoUM/
TzdkHGqZhL1EeFAsv5iV65HuYbchch4vBAn8jDMmHh8G1ixUCL3uAlosfarZLLyo
3HrZ8U/llq7rXa93PXHyI/3NL/2YP3OMxE8baQIDAQABAoIBAQCxuOUwkKqzsQ9W
kdTWArfj3RhnKigYEX9qM+2m7TT9lbKtvUiiPc2R3k4QdmIvsXlCXLigyzJkCsqp
IJiPEbJV98bbuAan1Rlv92TFK36fBgC15G5D4kQXD/ce828/BSFT2C3WALamEPdn
v8Xx+Ixjokcrxrdeoy4VTcjB0q21J4C2wKP1wEPeMJnuTcySiWQBdAECCbeZ4Vsj
cmRdcvL6z8fedRPtDW7oec+IPkYoyXPktVt8WsQPYkwEVN4hZVBneJPCcuhikYkp
T3WGmPV0MxhUvCZ6hSG8D2mscZXRq3itXVlKJsUWfIHaAIgGomWrPuqC23rOYCdT
5oSZmTvFAoGBAPs1FbbxDDd1fx1hisfXHFasV/sycT6ggP/eUXpBYCqVdxPQvqcA
ktplm5j04dnaQJdHZ8TPlwtL+xlWhmhFhlCFPtVpU1HzIBkp6DkSmmu0gvA/i07Z
pzo5Z+HRZFzruTQx6NjDtvWwiXVLwmZn2oiLeM9xSqPu55OpITifEWNjAoGBANhH
XwV6IvnbUWojs7uiSGsXuJOdB1YCJ+UF6xu8CqdbimaVakemVO02+cgbE6jzpUpo
krbDKOle4fIbUYHPeyB0NMidpDxTAPCGmiJz7BCS1fCxkzRgC+TICjmk5zpaD2md
HCrtzIeHNVpTE26BAjOIbo4QqOHBXk/WPen1iC3DAoGBALsD3DSj46puCMJA2ebI
2EoWaDGUbgZny2GxiwrvHL7XIx1XbHg7zxhUSLBorrNW7nsxJ6m3ugUo/bjxV4LN
L59Gc27ByMvbqmvRbRcAKIJCkrB1Pirnkr2f+xx8nLEotGqNNYIawlzKnqr6SbGf
Y2wAGWKmPyEoPLMLWLYkhfdtAoGANsFa/Tf+wuMTqZuAVXCwhOxsfnKy+MNy9jiZ
XVwuFlDGqVIKpjkmJyhT9KVmRM/qePwgqMSgBvVOnszrxcGRmpXRBzlh6yPYiQyK
2U4f5dJG97j9W7U1TaaXcCCfqdZDMKnmB7hMn8NLbqK5uLBQrltMIgt1tjIOfofv
BNx0raECgYEApAvjwDJ75otKz/mvL3rUf/SNpieODBOLHFQqJmF+4hrSOniHC5jf
f5GS5IuYtBQ1gudBYlSs9fX6T39d2avPsZjfvvSbULXi3OlzWD8sbTtvQPuCaZGI
Df9PUWMYZ3HRwwdsYovSOkT53fG6guy+vElUEDkrpZYczROZ6GUcx70=
-----END RSA PRIVATE KEY-----
"""
USER_DATA = """#cloud-config
users:
- default
- name: root
groups: sudo
shell: /bin/bash
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUOtNJdBEXyKxBB898rdT54ULjMGuO6v4jLXmRsdRhR5Id/lKNc9hsdioPWUePgYlqML2iSV72vKQoVhkyYkpcsjr3zvBny9+5xej3+TBLoEMAm2hmllKPmxYJDU8jQJ7wJuRrOVOnk0iSNF+FcY/yaQ0owSF02Nphx47j2KWc0IjGGlt4fl0fmHJuZBA2afN/4IYIIsEWZziDewVtaEjWV3InMRLllfdqGMllhFR+ed2hQz9PN2QcapmEvUR4UCy/mJXrke5htyFyHi8ECfyMMyYeHwbWLFQIve4CWix9qtksvKjcetnxT+WWrutdr3c9cfIj/c0v/Zg/c4zETxtp standard-test-qcow2
ssh_pwauth: True
chpasswd:
list: |
root:foobar
expire: False
runcmd:
- mkfs.ext4 /dev/sdb
- mount /dev/sdb /usr/local
- sudo mount -o remount,rw /usr
- mkdir /expected /output
"""
def main(argv):
parser = argparse.ArgumentParser(description="Inventory for a QCow2 test image")
parser.add_argument("--list", action="store_true", help="Verbose output")
parser.add_argument('--host', help="Get host variables")
parser.add_argument("subjects", nargs="*", default=shlex.split(os.environ.get("TEST_SUBJECTS", "")))
opts = parser.parse_args()
try:
if opts.host:
data = host(opts.host)
else:
data = list(opts.subjects)
sys.stdout.write(json.dumps(data, indent=4, separators=(',', ': ')))
except RuntimeError as ex:
sys.stderr.write("{0}: {1}\n".format(os.path.basename(sys.argv[0]), str(ex)))
return 1
return 0
def list(subjects):
hosts = []
variables = {}
for subject in subjects:
if subject.endswith((".qcow2", ".qcow2c")):
vars = host(subject)
if vars:
hosts.append(subject)
variables[subject] = vars
return {"localhost": {"hosts": hosts, "vars": {}}, "subjects": {"hosts": hosts, "vars": {}},
"_meta": {"hostvars": variables}}
def start_qemu(image, cloudinit, log, disk_directory=None, disk_size=None, portrange=(2222, 5555)):
for port in xrange(*portrange):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
sock.bind(("127.0.0.3", port))
if disk_size:
return subprocess.Popen(["/usr/bin/qemu-system-x86_64", "-m", "1024", image,
"-enable-kvm", "-snapshot", "-cdrom", cloudinit,
"-hdb", disk_directory,
"-net", "nic,model=virtio", "-net",
"user,hostfwd=tcp:127.0.0.3:{0}-:22".format(port),
"-device", "isa-serial,chardev=pts2", "-chardev", "file,id=pts2,path=" + log,
"-display", "none"], stdout=open(os.devnull, 'w')), port
else:
return subprocess.Popen(["/usr/bin/qemu-system-x86_64", "-m", "1024", image,
"-enable-kvm", "-snapshot", "-cdrom", cloudinit,
"-net", "nic,model=virtio", "-net",
"user,hostfwd=tcp:127.0.0.3:{0}-:22".format(port),
"-device", "isa-serial,chardev=pts2", "-chardev", "file,id=pts2,path=" + log,
"-display", "none"], stdout=open(os.devnull, 'w')), port
except IOError:
pass
finally:
sock.close()
else:
raise RuntimeError("unable to find free local port to map SSH to")
def host(image):
null = open(os.devnull, 'w')
try:
tty = os.open("/dev/tty", os.O_WRONLY)
os.dup2(tty, 2)
except OSError:
tty = None
pass
# A directory for temporary stuff
directory = tempfile.mkdtemp(prefix="inventory-cloud")
identity = os.path.join(directory, "identity")
with open(identity, 'w') as f:
f.write(IDENTITY)
os.chmod(identity, 0o600)
metadata = os.path.join(directory, "meta-data")
with open(metadata, 'w') as f:
f.write("")
userdata = os.path.join(directory, "user-data")
with open(userdata, 'w') as f:
f.write(USER_DATA)
# Create additional disk
disk_size = None
disk_directory = None
try:
disk_size = os.environ.get("EXTEND_DISK_SIZE")
if disk_size:
sys.stderr.write("\nCreate additional cloud init disk DISK SIZE {}\n".format(disk_size))
disk_directory = "{}/atomic-host-disk2-{}".format(directory, disk_size)
subprocess.check_call(["qemu-img", "create", "-f", "qcow2", disk_directory, disk_size], stdout=null)
except KeyError:
sys.stderr.write("\nCouldn't create additional cloud init disk DISK SIZE\n")
pass
# Create our cloud init so we can log in
cloudinit = os.path.join(directory, "cloud-init.iso")
subprocess.check_call(["/usr/bin/genisoimage", "-input-charset", "utf-8",
"-volid", "cidata", "-joliet", "-rock", "-quiet",
"-output", cloudinit, userdata, metadata], stdout=null)
# Determine if virtual machine should be kept available for diagnosis after completion
try:
diagnose = distutils.util.strtobool(os.getenv("TEST_DEBUG", "0"))
except ValueError:
diagnose = 0
sys.stderr.write("Launching virtual machine for {0}\n".format(image))
# And launch the actual VM
artifacts = os.environ.get("TEST_ARTIFACTS", os.path.join(os.getcwd(), "artifacts"))
try:
os.makedirs(artifacts)
except OSError as exc:
if exc.errno != errno.EEXIST or not os.path.isdir(artifacts):
raise
log = os.path.join(artifacts, "{0}.log".format(os.path.basename(image)))
proc = None # for failure detection
cpe = None # for exception scoping
for tries in xrange(0, 5):
try:
proc, port = start_qemu(image, cloudinit, log, disk_directory=disk_directory, disk_size=disk_size)
break
except subprocess.CalledProcessError as cpe:
time.sleep(1)
continue
if proc is None:
raise RuntimeError("Could not launch VM for qcow2 image"
" '{0}':{1}".format(image, cpe.output))
# The variables
variables = {"ansible_ssh_port": "{0}".format(port),
"ansible_ssh_host": "127.0.0.3",
"ansible_ssh_user": "root",
"ansible_ssh_pass": "foobar",
"ansible_ssh_private_key_file": identity,
"ansible_ssh_common_args": "-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"}
# Write out a handy inventory file, for our use and for debugging
args = " ".join(["{0}='{1}'".format(*item) for item in variables.items()])
inventory = os.path.join(directory, "inventory")
with open(inventory, "w") as f:
f.write("[subjects]\nlocalhost {1}\n".format(image, args))
# Wait for ssh to come up
ping = ["/usr/bin/ansible", "--inventory", inventory, "localhost", "--module-name", "raw", "--args", "/bin/true"]
for tries in xrange(0, 30):
try:
(pid, ret) = os.waitpid(proc.pid, os.WNOHANG)
if pid != 0:
raise RuntimeError("qemu failed to launch qcow2 image: {0}".format(image))
subprocess.check_call(ping, stdout=null, stderr=null)
break
except subprocess.CalledProcessError:
time.sleep(3)
else:
# Kill the qemu process
try:
os.kill(proc.pid, signal.SIGTERM)
except OSError:
pass
raise RuntimeError("could not access launched qcow2 image: {0}".format(image))
# Process of our parent
ppid = os.getppid()
child = os.fork()
if child:
return variables
# Daemonize and watch the processes
os.chdir("/")
os.setsid()
os.umask(0)
if tty is None:
tty = null.fileno()
# Duplicate standard input to standard output and standard error.
os.dup2(null.fileno(), 0)
os.dup2(tty, 1)
os.dup2(tty, 2)
# Now wait for the parent process to go away, then kill the VM
while True:
time.sleep(3)
try:
os.kill(ppid, 0)
os.kill(proc.pid, 0)
except OSError:
break # Either of the processes no longer exist
if diagnose:
sys.stderr.write("\n")
sys.stderr.write("DIAGNOSE: ssh -p {0} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "
"root@{1} # password: {2}\n".format(port, "127.0.0.3", "foobar"))
sys.stderr.write("DIAGNOSE: export ANSIBLE_INVENTORY={0}\n".format(inventory))
sys.stderr.write("DIAGNOSE: kill {0} # when finished\n".format(os.getpid()))
def _signal_handler(*args):
sys.stderr.write("\nDIAGNOSE ending...\n")
signal.signal(signal.SIGTERM, _signal_handler)
signal.pause()
# Kill the qemu process
try:
os.kill(proc.pid, signal.SIGTERM)
except OSError:
pass
shutil.rmtree(directory)
sys.exit(0)
if __name__ == '__main__':
sys.exit(main(sys.argv))

View file

@ -1,12 +0,0 @@
---
- hosts: localhost
roles:
- role: standard-test-beakerlib
tags:
- classic
- container
- atomic
tests:
- Sanity-init-scripts-LSB
required_packages:
- initscripts