sleep 1
systemctl --quiet is-active NetworkManager.service
NM_RC=$?
-WAITED=0
+CYCLES_WAITED=0
while [ $NM_RC -ne 0 ]
do
+ if [ $CYCLES_WAITED -ge 10 ]
+ then
+ exit 1
+ fi
echo -n .
sleep 1
- WAITED=1
+ CYCLES_WAITED=$(( $CYCLES_WAITED + 1 ))
systemctl --quiet is-active NetworkManager.service
NM_RC=$?
done
-[ $WAITED -eq 1 ] && echo
+[ $CYCLES_WAITED -gt 0 ] && echo
-CONNECTIONS=$(nmcli --terse connection show | wc -l)
-while [ $CONNECTIONS -ne 1 ]
+# wait for one/the network connection to come up
+CONNECTION_DEVICES_UP=$(nmcli --terse connection show \
+ | grep --invert-match ':$' | wc -l)
+CYCLES_WAITED=0
+while [ $CONNECTION_DEVICES_UP -lt 1 ]
do
- echo "Number of connections: $CONNECTIONS" >&2
+ if [ $CYCLES_WAITED -ge 10 ]
+ then
+ nmcli connection show
+ exit 1
+ fi
+ echo -n .
sleep 1
- CONNECTIONS=$(nmcli --terse connection show | wc -l)
+ CYCLES_WAITED=$(( $CYCLES_WAITED + 1 ))
+ CONNECTION_DEVICES_UP=$(nmcli --terse connection show \
+ | grep --invert-match ':$' | wc -l)
done
+[ $CYCLES_WAITED -gt 0 ] && echo
-nmcli --terse connection show | grep ':$' >/dev/null
-ALL_CONNECTION_DEVICES_KNOWN=$?
-while [ $ALL_CONNECTION_DEVICES_KNOWN -eq 0 ]
-do
- echo "Not all connection devices are known yet" >&2
- sleep 1
- nmcli --terse connection show | grep ':$' >/dev/null
- ALL_CONNECTION_DEVICES_KNOWN=$?
-done
+CONNECTIONS=$(nmcli --terse connection show | wc -l)
+if [ $CONNECTIONS -ne 1 ]
+then
+ echo "Number of connections: $CONNECTIONS" >&2
+ exit 1
+fi
CONNECTION_LINE=$(nmcli --terse connection show)
CONNECTION_UUID=$(echo $CONNECTION_LINE | cut -f 2 -d ':')
--- /dev/null
+#!/bin/sh
+
+
+systemctl enable named.service
+systemctl start named.service
+systemctl enable NetworkManager-wait-online.service
+systemctl start NetworkManager-wait-online.service
+
+systemctl enable logrotate.timer
+systemctl start logrotate.timer
--- /dev/null
+# mode file (relative to /c3d)
+755 firstboot/scripts/*.sh
+640 postinstall/install-data/etc/named.conf
+600 postinstall/install-data/var/named/*.private
+640 postinstall/install-data/var/named/*.zonesource
+755 postinstall/scripts/*.sh
--- /dev/null
+# owner file (relative to /c3d)
+root.named postinstall/install-data/etc/named.conf
+named.named postinstall/install-data/var/named/*
--- /dev/null
+#!/bin/sh
+
+
+sed --in-place=.orig \
+ '/^After=.*network\.target.*$/a After=network-online.target\nWants=network-online.target' \
+ /usr/lib/systemd/system/named.service
--- /dev/null
+#!/bin/sh
+
+
+systemctl disable named.service
+systemctl disable NetworkManager-wait-online.service
+
+systemctl disable logrotate.timer
EXTERNAL_FILE=$(echo $FILE | sed 's/zonesource$/external.zone/')
INTERNAL_FILE=$(echo $FILE | sed 's/zonesource$/internal.zone/')
PERIMETER_FILE=$(echo $FILE | sed 's/zonesource$/perimeter.zone/')
- grep -v 'E: *[-n]' $FILE >$EXTERNAL_FILE
- grep -v 'I: *[-n]' $FILE >$INTERNAL_FILE
- grep -v 'P: *[-n]' $FILE >$PERIMETER_FILE
+ grep --invert-match 'E: *[-n]' $FILE >$EXTERNAL_FILE
+ grep --invert-match 'I: *[-n]' $FILE >$INTERNAL_FILE
+ grep --invert-match 'P: *[-n]' $FILE >$PERIMETER_FILE
done
-#rm -f *.zonesource
-chown named.named *.zone
-chmod 640 *.zone
# set serial in zone files
SERIAL=$(date "+%s")
do
sed --in-place "s/__SERIAL__/$SERIAL/" $FILE
done
+
+chmod 640 *.zone
+chown named.named *.zone
pm.useribm.hu
fi
-# Sign Zones
+# Sign Zones (for 180 days)
cd /var/named
for VIEW in external internal perimeter
do
#dnssec-signzone -e +15552000 -N unixtime -o in.useribm.hu in.useribm.hu.${VIEW}.zone
#dnssec-signzone -e +15552000 -N unixtime -o pm.useribm.hu pm.useribm.hu.${VIEW}.zone
done
+
+chmod 640 *.signed
chown named.named dsset-* *.signed
DISTRIBUTION=Fedora
DISTRIBUTION_VERSION=35
-ROOT_PACKAGES="hostname initscripts iproute rootfiles systemd-udev"
-BASE_PACKAGES="NetworkManager iputils logrotate rsyslog tar vim-minimal"
SPEC_PACKAGES="bind bind-utils"
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-
-echo rm -Rf $REAL_PATH
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-SOURCE_PATH=$REAL_PATH/install
-
-chown -R root.root $SOURCE_PATH/*
-
-chgrp named $SOURCE_PATH/etc/named.conf
-
-chown -R named.named $SOURCE_PATH/var/named
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-SOURCE_PATH=$REAL_PATH/install
-
-chmod 640 $SOURCE_PATH/etc/named.conf
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-
-tar --create \
- --directory=$REAL_PATH \
- --exclude=.placeholder \
- --to-stdout \
- install \
- | tar --extract \
- --backup \
- --directory=/ \
- --no-overwrite-dir \
- --strip-components=1 \
- --suffix=.orig
+++ /dev/null
-#!/bin/sh
-
-
-sed --in-place=.orig \
- 's/^After=\(.*\)network\.target\(.*\)$/After=\1network-online.target\2/' \
- /usr/lib/systemd/system/named.service
+++ /dev/null
-#!/bin/sh
-
-
-systemctl enable named.service
-systemctl enable NetworkManager-wait-online.service
+++ /dev/null
-#!/bin/sh
-
-
-REAL_PATH=$(dirname $(realpath $0))
-
-echo rm -Rf $REAL_PATH