Compare commits
5 Commits
Author | SHA1 | Date |
---|---|---|
Alexey Lyubimov | 3df0f973f1 | 2 years ago |
Alexey Lyubimov | 4a61d27571 | 2 years ago |
Alexey Lyubimov | e7d8977b7d | 2 years ago |
Alexey Lyubimov | d6fd9c7155 | 2 years ago |
Alexey Lyubimov | aae1d8d2cf | 2 years ago |
@ -0,0 +1 @@
|
|||||||
|
78b762c1895faa659a4f25a903778ce4a5c3d086 SOURCES/addon-context-linux-6.6.0.tar.gz
|
@ -0,0 +1 @@
|
|||||||
|
SOURCES/addon-context-linux-6.6.0.tar.gz
|
@ -0,0 +1,44 @@
|
|||||||
|
diff --git a/generate.sh b/generate.sh
|
||||||
|
index c9e3b82..413aec2 100755
|
||||||
|
--- a/generate.sh
|
||||||
|
+++ b/generate.sh
|
||||||
|
@@ -30,11 +30,11 @@ set +e
|
||||||
|
###
|
||||||
|
|
||||||
|
if [ -z "${RELEASE}" ]; then
|
||||||
|
- if git describe --contains "$(git rev-parse HEAD)" &>/dev/null; then
|
||||||
|
+ if true; then
|
||||||
|
RELEASE=1
|
||||||
|
else
|
||||||
|
DATE=${DATE:-$(date +%Y%m%d)}
|
||||||
|
- GIT=$(git rev-parse --short HEAD)
|
||||||
|
+ GIT=
|
||||||
|
RELEASE="0.${DATE}git${GIT}"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
@@ -85,7 +85,6 @@ fi
|
||||||
|
set -e
|
||||||
|
|
||||||
|
UNAME_PATH=$(mktemp -d)
|
||||||
|
-BUILD_DIR=$(mktemp -d)
|
||||||
|
|
||||||
|
_POSTIN=$(mktemp)
|
||||||
|
_PREUN=$(mktemp)
|
||||||
|
@@ -93,7 +92,7 @@ _POSTUN=$(mktemp)
|
||||||
|
_POSTUP=$(mktemp)
|
||||||
|
|
||||||
|
# shellcheck disable=SC2064
|
||||||
|
-trap "rm -rf ${UNAME_PATH} ${BUILD_DIR} ${_POSTIN} ${_PREUN} ${_POSTUN} ${_POSTUP}" EXIT
|
||||||
|
+trap "rm -rf ${UNAME_PATH} ${_POSTIN} ${_PREUN} ${_POSTUN} ${_POSTUP}" EXIT
|
||||||
|
|
||||||
|
while IFS= read -r -d $'\0' SRC; do
|
||||||
|
F_TAGS=${SRC##*##}
|
||||||
|
@@ -185,7 +184,7 @@ else
|
||||||
|
"${BUILD_DIR}/usr/sbin/onesysprep"
|
||||||
|
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
- fpm --name "${NAME}" --version "${VERSION}" --iteration "${RELEASE_FULL}" \
|
||||||
|
+echo 'Info: Composed fpm command is' fpm --name "${NAME}" --version "${VERSION}" --iteration "${RELEASE_FULL}" \
|
||||||
|
--architecture all --license "${LICENSE}" \
|
||||||
|
--vendor "${VENDOR}" --maintainer "${MAINTAINER}" \
|
||||||
|
--description "${DESCRIPTION}" --url "${URL}" \
|
@ -0,0 +1,97 @@
|
|||||||
|
commit 773e74d25eacaeb123594c5144d5597fdae29cf7
|
||||||
|
Author: Eugene Zamriy <eugene@zamriy.info>
|
||||||
|
Date: Wed Apr 5 20:36:32 2023 +0300
|
||||||
|
|
||||||
|
Adds MSVSphere distribution support
|
||||||
|
|
||||||
|
diff --git a/README.md b/README.md
|
||||||
|
index ff1b5f5..5f59b3e 100644
|
||||||
|
--- a/README.md
|
||||||
|
+++ b/README.md
|
||||||
|
@@ -37,6 +37,7 @@ List of tested platforms only:
|
||||||
|
| Devuan | 2 |
|
||||||
|
| Fedora | 34, 35 |
|
||||||
|
| FreeBSD | 12, 13 |
|
||||||
|
+| MSVSphere | 8, 9 |
|
||||||
|
| openSUSE | 15 |
|
||||||
|
| Oracle Linux | 7, 8 |
|
||||||
|
| Red Hat Enterprise Linux | 7, 8, 9 |
|
||||||
|
@@ -77,20 +78,20 @@ Following IPv6 configuration methods are supported via NIC attribute `IP6_METHOD
|
||||||
|
|
||||||
|
Selectable configuration types and IP configuration methods are **supported only on the following platforms**:
|
||||||
|
|
||||||
|
-| Platform | Network Type (`NETCFG_TYPE`) |
|
||||||
|
-|---------------------------------------------------------------|-------------------------------------------|
|
||||||
|
-| Alpine Linux 3.14+ | `interfaces` |
|
||||||
|
-| ALT Linux p10, Sisyphus | `networkd`, `nm` |
|
||||||
|
-| Amazon Linux 2 | `scripts` |
|
||||||
|
-| Debian 10+ | `interfaces`, `netplan`, `nm`, `networkd` |
|
||||||
|
-| Devuan 2 | `interfaces` |
|
||||||
|
-| Fedora 34+ | `scripts`, `nm`, `networkd` |
|
||||||
|
-| FreeBSD 12+ | `bsd` |
|
||||||
|
-| openSUSE 15 | `scripts` |
|
||||||
|
-| RHEL-like 7 (CentOS, Oracle Linux) | `scripts` |
|
||||||
|
-| RHEL-like 8 (CentOS, Oracle/Rocky/AlmaLinux) | `scripts`, `nm`, `networkd` |
|
||||||
|
-| RHEL-like 9 (CentOS Stream 9, Oracle/Rocky/AlmaLinux) | `nm`, `networkd` |
|
||||||
|
-| Ubuntu 18.04, 20.04, 21.10, 22.04 | `interfaces`, `netplan`, `nm`, `networkd` |
|
||||||
|
+| Platform | Network Type (`NETCFG_TYPE`) |
|
||||||
|
+|-----------------------------------------------------------------|-------------------------------------------|
|
||||||
|
+| Alpine Linux 3.14+ | `interfaces` |
|
||||||
|
+| ALT Linux p10, Sisyphus | `networkd`, `nm` |
|
||||||
|
+| Amazon Linux 2 | `scripts` |
|
||||||
|
+| Debian 10+ | `interfaces`, `netplan`, `nm`, `networkd` |
|
||||||
|
+| Devuan 2 | `interfaces` |
|
||||||
|
+| Fedora 34+ | `scripts`, `nm`, `networkd` |
|
||||||
|
+| FreeBSD 12+ | `bsd` |
|
||||||
|
+| openSUSE 15 | `scripts` |
|
||||||
|
+| RHEL-like 7 (CentOS, Oracle Linux) | `scripts` |
|
||||||
|
+| RHEL-like 8 (CentOS, Oracle/Rocky/AlmaLinux/MSVSphere) | `scripts`, `nm`, `networkd` |
|
||||||
|
+| RHEL-like 9 (CentOS Stream 9, Oracle/Rocky/AlmaLinux/MSVSphere) | `nm`, `networkd` |
|
||||||
|
+| Ubuntu 18.04, 20.04, 21.10, 22.04 | `interfaces`, `netplan`, `nm`, `networkd` |
|
||||||
|
|
||||||
|
(other than listed platforms are not supported for using `NETCFG_TYPE` nor `METHOD`/`IP6_METHOD`!):
|
||||||
|
|
||||||
|
diff --git a/src/etc/one-context.d/loc-10-network b/src/etc/one-context.d/loc-10-network
|
||||||
|
index 600102b..b37f7e5 100755
|
||||||
|
--- a/src/etc/one-context.d/loc-10-network
|
||||||
|
+++ b/src/etc/one-context.d/loc-10-network
|
||||||
|
@@ -39,7 +39,7 @@ if [ -z "${NETCFG_TYPE}" ] ; then
|
||||||
|
debian|devuan|ubuntu)
|
||||||
|
NETCFG_TYPE='interfaces netplan nm networkd'
|
||||||
|
;;
|
||||||
|
- fedora|centos|rhel|almalinux|ol|rocky)
|
||||||
|
+ fedora|centos|rhel|almalinux|ol|rocky|msvsphere)
|
||||||
|
NETCFG_TYPE='scripts nm networkd'
|
||||||
|
;;
|
||||||
|
opensuse*|sles|sled)
|
||||||
|
diff --git a/src/usr/sbin/onesysprep b/src/usr/sbin/onesysprep
|
||||||
|
index f13f66f..2a77d9b 100755
|
||||||
|
--- a/src/usr/sbin/onesysprep
|
||||||
|
+++ b/src/usr/sbin/onesysprep
|
||||||
|
@@ -513,7 +513,7 @@ syscheck()
|
||||||
|
debian|ubuntu|devuan)
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
- fedora|centos|rhel|almalinux|ol|rocky|amzn)
|
||||||
|
+ fedora|centos|rhel|almalinux|ol|rocky|amzn|msvsphere)
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
opensuse*|sles|sled)
|
||||||
|
@@ -553,7 +553,7 @@ enter_single_mode()
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
- debian|ubuntu|devuan|fedora|centos|rhel|almalinux|ol|rocky|altlinux|opensuse*)
|
||||||
|
+ debian|ubuntu|devuan|fedora|centos|rhel|almalinux|ol|rocky|msvsphere|altlinux|opensuse*)
|
||||||
|
_runlevel=$(runlevel | cut -d" " -f2)
|
||||||
|
case "$_runlevel" in
|
||||||
|
1|S)
|
||||||
|
@@ -589,7 +589,7 @@ enter_single_mode()
|
||||||
|
msg "Entering single user mode..."
|
||||||
|
rc single
|
||||||
|
;;
|
||||||
|
- debian|ubuntu|devuan|fedora|centos|rhel|almalinux|ol|rocky|altlinux|opensuse*)
|
||||||
|
+ debian|ubuntu|devuan|fedora|centos|rhel|almalinux|ol|rocky|msvsphere|altlinux|opensuse*)
|
||||||
|
ask_to_enter_single_user_mode
|
||||||
|
msg "Entering single user mode..."
|
||||||
|
telinit 1
|
@ -0,0 +1,367 @@
|
|||||||
|
# Use md5 file digest method.
|
||||||
|
%define _binary_filedigest_algorithm 1
|
||||||
|
|
||||||
|
# Use gzip payload compression
|
||||||
|
%define _binary_payload w9.gzdio
|
||||||
|
|
||||||
|
Name: one-context
|
||||||
|
Version: 6.6.0
|
||||||
|
Release: 1%{?dist}.inferit
|
||||||
|
Summary: OpenNebula Contextualization Package
|
||||||
|
AutoReqProv: no
|
||||||
|
Group: System Environment/Base
|
||||||
|
License: Apache 2.0
|
||||||
|
Vendor: MSVSphere
|
||||||
|
URL: http://opennebula.org
|
||||||
|
Packager: MSVSphere <packager@msvsphere.ru>
|
||||||
|
Source: https://github.com/OpenNebula/%{name}/archive/refs/tags/addon-context-linux-%{version}.tar.gz
|
||||||
|
Patch1: addon-context-linux-msvsphere.patch
|
||||||
|
Patch2: addon-context-linux-generate.patch
|
||||||
|
|
||||||
|
Requires: util-linux
|
||||||
|
Requires: bash
|
||||||
|
Requires: curl
|
||||||
|
Requires: bind-utils
|
||||||
|
Requires: cloud-utils-growpart
|
||||||
|
Requires: parted
|
||||||
|
Requires: ruby
|
||||||
|
Requires: rubygem-json
|
||||||
|
Requires: sudo
|
||||||
|
Requires: shadow-utils
|
||||||
|
Requires: openssh-server
|
||||||
|
Requires: qemu-guest-agent
|
||||||
|
Requires: gawk
|
||||||
|
Requires: virt-what
|
||||||
|
Recommends: open-vm-tools
|
||||||
|
Conflicts: cloud-init
|
||||||
|
Conflicts: one-context-ec2
|
||||||
|
Obsoletes: cloud-init <= 21.4
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
# Disable shebang mangling
|
||||||
|
%undefine __brp_mangle_shebangs
|
||||||
|
|
||||||
|
%description
|
||||||
|
Contextualization tools for the virtual machine running in the OpenNebula
|
||||||
|
cloud. Based on parameters provided by the cloud controller configures the
|
||||||
|
networking, initial user password, SSH keys, runs custom start scripts,
|
||||||
|
resizes the root filesystem, and provides tools to communicate with
|
||||||
|
OneGate service.
|
||||||
|
Check the OpenNebula web page (http://opennebula.org) to get the support.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -v -n addon-context-linux-%{version} -p1
|
||||||
|
|
||||||
|
%build
|
||||||
|
TARGET=el9 NAME=one-context BUILD_DIR=./out ./generate.sh
|
||||||
|
|
||||||
|
%install
|
||||||
|
cp -a out/* %{buildroot}/
|
||||||
|
|
||||||
|
%post
|
||||||
|
upgrade() {
|
||||||
|
:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Reload udev rules
|
||||||
|
udevadm control --reload >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
### Enable services ########################################
|
||||||
|
|
||||||
|
SERVICES=${SERVICES:-one-context-local one-context-online one-context}
|
||||||
|
TIMERS=${TIMERS:-one-context-reconfigure.timer}
|
||||||
|
|
||||||
|
if which systemctl >/dev/null 2>&1 && \
|
||||||
|
[ -d /etc/systemd ] && \
|
||||||
|
[ -f /usr/lib/systemd/system/one-context.service ];
|
||||||
|
then
|
||||||
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
for S in ${SERVICES} ${TIMERS}; do
|
||||||
|
systemctl enable "${S}" >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if which chkconfig >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
chkconfig --add "${S}" >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
# EL6: refresh initramfs via dracut for growroot module
|
||||||
|
if [ -f /usr/share/dracut/modules.d/50growroot/install ]; then
|
||||||
|
for I in $(find /boot -name 'initramfs-*.img'); do
|
||||||
|
KERNEL_VERS=$(echo "${I}" | sed -e 's/.*initramfs-\(.*\)\.img/\1/')
|
||||||
|
dracut -f "${I}" "${KERNEL_VERS}" || :
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif which update-rc.d >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
update-rc.d "${S}" enable >/dev/null 2>&1
|
||||||
|
update-rc.d "${S}" defaults >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
elif which rc-update >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
rc-update add "${S}" boot >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add crontab action for 1min schedules
|
||||||
|
if ! crontab -l -u root | grep -qF '/etc/periodic/1min'; then
|
||||||
|
(
|
||||||
|
crontab -l -u root
|
||||||
|
echo -e '\n# Added by one-context'
|
||||||
|
echo -e '* * * * * run-parts /etc/periodic/1min'
|
||||||
|
) | crontab -u root -
|
||||||
|
fi
|
||||||
|
|
||||||
|
# When existing file is changed, the new one might be created with
|
||||||
|
# .apk-new suffix. Such files need to be processed by update-conf.
|
||||||
|
if update-conf -al 2>/dev/null | grep -q context; then
|
||||||
|
echo 'WARNING: Run update-conf to process any updated one-context files in /etc!' >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ -x /bin/freebsd-version ]; then
|
||||||
|
:
|
||||||
|
|
||||||
|
else
|
||||||
|
echo 'WARNING: Contextualization service not enabled automatically' >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
_install() {
|
||||||
|
:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SERVICES=${SERVICES:-one-context-local one-context-online one-context}
|
||||||
|
TIMERS=${TIMERS:-one-context-reconfigure.timer}
|
||||||
|
|
||||||
|
rm -f /etc/udev/rules.d/70-persistent-cd.rules
|
||||||
|
rm -f /etc/udev/rules.d/70-persistent-net.rules
|
||||||
|
|
||||||
|
# Reload udev rules
|
||||||
|
udevadm control --reload >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
|
||||||
|
### Enable services ########################################
|
||||||
|
|
||||||
|
if which systemctl >/dev/null 2>&1 && \
|
||||||
|
[ -d /etc/systemd ] && \
|
||||||
|
[ -f /usr/lib/systemd/system/one-context.service ];
|
||||||
|
then
|
||||||
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
for S in ${SERVICES} ${TIMERS}; do
|
||||||
|
systemctl enable "${S}" >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if which chkconfig >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
chkconfig --add "${S}" >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
# EL6: refresh initramfs via dracut for growroot module
|
||||||
|
if [ -f /usr/share/dracut/modules.d/50growroot/install ]; then
|
||||||
|
for I in $(find /boot -name 'initramfs-*.img'); do
|
||||||
|
KERNEL_VERS=$(echo "${I}" | sed -e 's/.*initramfs-\(.*\)\.img/\1/')
|
||||||
|
dracut -f "${I}" "${KERNEL_VERS}" || :
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif which update-rc.d >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
update-rc.d "${S}" enable >/dev/null 2>&1
|
||||||
|
update-rc.d "${S}" defaults >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
elif which rc-update >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
rc-update add "${S}" boot >/dev/null 2>&1
|
||||||
|
done
|
||||||
|
|
||||||
|
# Add crontab action for 1min schedules
|
||||||
|
if ! crontab -l -u root | grep -qF '/etc/periodic/1min'; then
|
||||||
|
(
|
||||||
|
crontab -l -u root
|
||||||
|
echo -e '\n# Added by one-context'
|
||||||
|
echo -e '* * * * * run-parts /etc/periodic/1min'
|
||||||
|
) | crontab -u root -
|
||||||
|
fi
|
||||||
|
|
||||||
|
# When existing file is changed, the new one might be created with
|
||||||
|
# .apk-new suffix. Such files need to be processed by update-conf.
|
||||||
|
if update-conf -al 2>/dev/null | grep -q context; then
|
||||||
|
echo 'WARNING: Run update-conf to process any updated one-context files in /etc!' >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
elif [ -x /bin/freebsd-version ]; then
|
||||||
|
:
|
||||||
|
|
||||||
|
else
|
||||||
|
echo 'WARNING: Contextualization service not enabled automatically' >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
### Cleanup network configuration ##########################
|
||||||
|
|
||||||
|
if [ -f /etc/sysctl.d/50-one-context.conf ]; then
|
||||||
|
rm -f /etc/sysctl.d/50-one-context.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Debian based distros
|
||||||
|
if [ -d /etc/network ]; then
|
||||||
|
# Prepare network files
|
||||||
|
cp /etc/network/interfaces "/etc/network/interfaces.$(date '+%s')"
|
||||||
|
rm -rf /etc/network/interfaces.d
|
||||||
|
|
||||||
|
cat > /etc/network/interfaces <<EOT
|
||||||
|
# The loopback network interface
|
||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# Do not reconfigure network interfaces on boot
|
||||||
|
# if [ -f /etc/default/networking ]; then
|
||||||
|
# if ! grep -q ^CONFIGURE_INTERFACES /etc/default/networking; then
|
||||||
|
# echo 'CONFIGURE_INTERFACES=no' >> /etc/default/networking
|
||||||
|
# fi
|
||||||
|
# fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Red Hat based distros
|
||||||
|
if [ -d /etc/sysconfig/network-scripts/ ]; then
|
||||||
|
# Prepare network files
|
||||||
|
find /etc/sysconfig/network-scripts -type f \
|
||||||
|
\( -name 'ifcfg-*' -o -name 'route-*' -o -name 'route6-*' \) \
|
||||||
|
! -name 'ifcfg-lo' ! -name 'route-lo' ! -name 'route6-lo' \
|
||||||
|
-exec rm -f {} \;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# openSUSE based distros
|
||||||
|
if [ -d /etc/sysconfig/network/ ]; then
|
||||||
|
# Prepare network files
|
||||||
|
find /etc/sysconfig/network -type f \
|
||||||
|
\( -name 'ifcfg-*' -o -name 'ifroute-*' -o -name 'ifsysctl-*' \) \
|
||||||
|
! -name 'ifcfg-lo' ! -name 'ifroute-lo' ! -name 'ifsysctl-lo' \
|
||||||
|
-exec rm -f {} \;
|
||||||
|
|
||||||
|
rm -f /etc/sysconfig/network/routes /etc/sysconfig/network/ifsysctl
|
||||||
|
|
||||||
|
sed -i '/^NETCONFIG_DNS_STATIC_SERVERS=/ s/=.*$/=""/' /etc/sysconfig/network/config
|
||||||
|
sed -i '/^NETCONFIG_DNS_STATIC_SEARCHLIST=/ s/=.*$/=""/' /etc/sysconfig/network/config
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Netplan
|
||||||
|
if [ -d /etc/netplan/ ]; then
|
||||||
|
rm -f /etc/netplan/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
# NetworkManager
|
||||||
|
if [ -d /etc/NetworkManager/system-connections/ ]; then
|
||||||
|
rm -f /etc/NetworkManager/system-connections/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
# systemd-networkd
|
||||||
|
if [ -d /etc/systemd/network/ ]; then
|
||||||
|
rm -f \
|
||||||
|
/etc/systemd/networkd/*.network \
|
||||||
|
/etc/systemd/networkd/*.link
|
||||||
|
fi
|
||||||
|
|
||||||
|
# FreeBSD based distros
|
||||||
|
#TODO: pfsense paths?
|
||||||
|
if [ -x /bin/freebsd-version ]; then
|
||||||
|
rm -f /etc/rc.conf.d/network /etc/rc.conf.d/routing
|
||||||
|
|
||||||
|
if [ -f /etc/rc.conf ]; then
|
||||||
|
sed -i '' \
|
||||||
|
-e '/^ifconfig_/d' \
|
||||||
|
-e '/^route_/d' \
|
||||||
|
-e '/^static_routes/d' \
|
||||||
|
-e '/^defaultrouter/d' \
|
||||||
|
/etc/rc.conf
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
if [ "${1}" -eq 1 ]
|
||||||
|
then
|
||||||
|
# "after install" goes here
|
||||||
|
_install
|
||||||
|
elif [ "${1}" -gt 1 ]
|
||||||
|
then
|
||||||
|
# "after upgrade" goes here
|
||||||
|
upgrade
|
||||||
|
fi
|
||||||
|
%preun
|
||||||
|
if [ "${1}" -eq 0 ]
|
||||||
|
then
|
||||||
|
:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SERVICES=${SERVICES:-one-context one-context-online one-context-local one-context-reconfigure one-context-reconfigure-delayed}
|
||||||
|
TIMERS=${TIMERS:-one-context-reconfigure.timer}
|
||||||
|
|
||||||
|
# Disable services
|
||||||
|
if which systemctl >/dev/null 2>&1 && [ -d /etc/systemd ]; then
|
||||||
|
for S in ${TIMERS} ${SERVICES}; do
|
||||||
|
systemctl --no-reload disable "${S}" >/dev/null 2>&1 || :
|
||||||
|
systemctl stop "${S}" >/dev/null 2>&1 || :
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if which chkconfig >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
chkconfig --del "${S}" >/dev/null 2>&1 || :
|
||||||
|
done
|
||||||
|
|
||||||
|
elif which update-rc.d >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
update-rc.d -f "${S}" remove >/dev/null 2>&1 || :
|
||||||
|
done
|
||||||
|
|
||||||
|
elif which rc-update >/dev/null 2>&1; then
|
||||||
|
for S in ${SERVICES}; do
|
||||||
|
rc-update del "${S}" boot >/dev/null 2>&1 || :
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
%postun
|
||||||
|
if [ "${1}" -eq 0 ]
|
||||||
|
then
|
||||||
|
:
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
udevadm control --reload >/dev/null 2>&1 || :
|
||||||
|
|
||||||
|
if which systemctl >/dev/null 2>&1 && [ -d /etc/systemd ]; then
|
||||||
|
systemctl daemon-reload >/dev/null 2>&1 || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%config(noreplace) /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
|
||||||
|
%config(noreplace) /etc/NetworkManager/conf.d/one-context.conf
|
||||||
|
%config(noreplace) /etc/udev/rules.d/75-cd-aliases-generator.rules
|
||||||
|
%config(noreplace) /etc/udev/rules.d/75-persistent-net-generator.rules
|
||||||
|
|
||||||
|
%dir /etc/one-context.d
|
||||||
|
%dir /etc/one-context.d/loc-10-network.d
|
||||||
|
/etc/one-context.d/*
|
||||||
|
/etc/one-context.d/loc-10-network.d/*
|
||||||
|
/lib/udev/rules.d/*
|
||||||
|
/usr/bin/*
|
||||||
|
/usr/lib/systemd/system/*
|
||||||
|
/usr/sbin/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Fri Apr 28 2023 Alexey Lyubimov <a.lyubimov@msvsphere.ru> - 6.6.0-1.inferit
|
||||||
|
- De-branded for MSVSphere
|
||||||
|
- Initial built for MSVSphere 9.1
|
||||||
|
|
Loading…
Reference in new issue