xinetd-cn (1:2.3.14-2) stable; urgency=low
* Tranzicijski paket za buduci prelazak na Debian Lenny.
- * Deaktivacija novog 'INETD_COMPAT=Yes' zapisa unutar datoteke
- /etc/default/xinetd - isti se postavlja u 'INETD_COMPAT=No'.
- * Dodatne manje izmjene unutar debian/postinst datoteke.
- * debian/control - ovisnost o xinetd (>= 1:2.3.14-7~cn1).
- * Manje izmjene unutar README.CARNet datoteke.
+ * Datoteka debian/postinst:
+ + migracija na zasebnu xinetd konfiguraciju provodi se za sve
+ servise, neovisno o -inetd_compat opciji,
+ + brisanje zaostalih privremenih datoteka u slucaju da
+ migracija na odvojenu xinetd konfiguraciju nije uspjesna,
+ + deaktivacija novog 'INETD_COMPAT=Yes' zapisa unutar datoteke
+ /etc/default/xinetd - isti se postavlja u 'INETD_COMPAT=No',
+ + dodatne manje izmjene.
+ * Datoteka debian/control:
+ + ovisnost o xinetd (>= 1:2.3.14-7~cn1).
+ * Izmjene unutar README.CARNet datoteke.
-- Dragan Dosen <ddosen@ffzg.hr> Thu, 18 Dec 2008 18:26:46 +0100
INETDCONF=/etc/inetd.conf
DEFAULT=/etc/default/xinetd
-did_inetd_backup=0
-did_backup=0
need_restart=0
+temp_files=
-# First, we do backup (inetd, xinetd)
+# cleanup()
#
-if cp_check_and_backup "$INETDCONF"; then
- did_inetd_backup=1
-fi
-if cp_check_and_backup "$CONF"; then
- did_backup=1
-fi
+# Cleanup all temp files.
+#
+cleanup () {
+
+ local item
+ if [ -n "$temp_files" ]; then
+ for item in $temp_files; do
+ if [ -e "$item" ]; then
+ rm -f $item
+ fi
+ done
+ fi
+}
-# Print backup information
+
+# Set trap for deleting all temp files.
+#
+trap cleanup 0 1 2 15
+
+# First, we do backup (inetd, xinetd)
#
-cp_echo ""
-if [ $did_inetd_backup -eq 1 ]; then
+if cp_check_and_backup "$INETDCONF"; then
cp_echo "CN: Old $INETDCONF saved as /var/backups/`basename $INETDCONF`.bak."
fi
-if [ $did_backup -eq 1 ]; then
+if cp_check_and_backup "$CONF"; then
cp_echo "CN: Old $CONF saved as /var/backups/`basename $CONF`.bak."
fi
-# If there are some services enabled in /etc/inetd.conf, convert them to
-# temporary xinetd configuration file.
-#
-if [ -f "$DEFAULT" ]; then
- inetd_compat="`egrep '^[[:space:]]*XINETD_OPTS[[:space:]]*=.*\-inetd_compat' "$DEFAULT"`" || true
- if [ -z "$inetd_compat" ]; then
- inetd_compat="`egrep '^[[:space:]]*INETD_COMPAT[[:space:]]*=[[:space:]]*[Yy][Ee][Ss]' "$DEFAULT"`" || true
- fi
-fi
CONFTMP=`mktemp $CONF.tmp.XXXXXX`
+temp_files="$CONFTMP"
-if [ -f "$INETDCONF" ] && [ -n "$inetd_compat" ]; then
+if [ -f "$INETDCONF" ]; then
# Convert inetd.conf to temporary xinetd.conf file using xconv.pl tool
/usr/sbin/xconv.pl < $INETDCONF > $CONFTMP
# Parse /etc/xinetd.conf file and convert services' configuration to
# separated configurations in /etc/xinetd.d/ directory
#
-services_list="`cat $CONF $CONFTMP | grep "^service " | uniq | sed 's/service //g'`" || true
+conffile_list="$CONFTMP"
+if [ -f "$CONF" ]; then
+ conffile_list="$CONF $conffile_list"
+fi
+services_list="`cat $conffile_list | grep "^service " | uniq | sed 's/service //g'`" || true
if [ -n "$services_list" ]; then
+
for service in $services_list; do
if [ -f "/etc/xinetd.d/$service" ]; then
- cp_check_and_backup "/etc/xinetd.d/$service"
-
- if ! egrep -q "^# .* update by CARNet package" "/etc/xinetd.d/$service"; then
- rm -f /etc/xinetd.d/$service
+
+ if cp_check_and_backup "/etc/xinetd.d/$service"; then
+ cp_echo "CN: Old /etc/xinetd.d/$service saved as /var/backups/`basename /etc/xinetd.d/$service`.bak."
fi
+
+ rm -f /etc/xinetd.d/$service
fi
touch /etc/xinetd.d/$service || true
need_restart=1
done
- cp_echo ""
- cp_echo "CN: All services were converted from $CONF file to separated configuration"
- cp_echo "CN: files located in /etc/xinetd.d/ directory."
-
- if [ -n "$inetd_compat" ]; then
- cp_echo "CN: Since -inetd_compat option was active, all services in $INETDCONF"
- cp_echo "CN: file were also moved to /etc/xinetd.d/ directory."
+ if egrep -q "service " "$CONFTMP"; then
+ cp_echo "CN: All services were converted from $INETDCONF file to separated"
+ cp_echo "CN: configuration files located in /etc/xinetd.d/ directory."
fi
+ if [ -f "$CONF" ]; then
+ cp_echo "CN: All services were converted from $CONF file to separated"
+ cp_echo "CN: configuration files located in /etc/xinetd.d/ directory."
+ fi
fi
rm -f $CONFTMP
+# Configuration file /etc/xinetd.conf does not exist?
+#
+if [ ! -f "$CONF" ]; then
+ touch "$CONF"
+fi
+
# Remove services from /etc/xinetd.conf file
#
cp_check_and_sed "^service " \
fi
pgrep -u root -f /usr/sbin/xinetd > /dev/null || do=start
-cp_echo ""
if [ -n "$do" ]; then
# Restart xinetd.