mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] Change some install_alternative to install_config
@ 2012-03-14 15:10 Benoît Burnichon
  2012-03-14 21:08 ` George McCollister
  0 siblings, 1 reply; 4+ messages in thread
From: Benoît Burnichon @ 2012-03-14 15:10 UTC (permalink / raw)
  To: ptxdist

To avoid loss of configuration when upgrading packages with default
configurations.

Signed-off-by: Benoît Burnichon <benoit.burnichon@airtag.com>
---
 rules/alsa-lib.make           |    2 +-
 rules/alsa-utils.make         |    2 +-
 rules/apache2.make            |    2 +-
 rules/at.make                 |    2 +-
 rules/avahi.make              |   14 +++++++-------
 rules/boa.make                |    2 +-
 rules/busybox.make            |   10 +++++-----
 rules/classpath.make          |    2 +-
 rules/connman.make            |   10 +++++-----
 rules/crda.make               |    2 +-
 rules/cvs.make                |    2 +-
 rules/dbus.make               |    6 +++---
 rules/dhcp.make               |    6 +++---
 rules/dibbler.make            |    8 ++++----
 rules/directfb.make           |    4 ++--
 rules/dnsmasq.make            |    4 ++--
 rules/e2fsprogs.make          |    2 +-
 rules/fam.make                |    2 +-
 rules/fontconfig.make         |    2 +-
 rules/frodo.make              |    2 +-
 rules/gstreamer.make          |    2 +-
 rules/inadyn.make             |    2 +-
 rules/inetutils.make          |    6 +++---
 rules/initmethod-bbinit.make  |    6 +++---
 rules/initmethod-systemd.make |    2 +-
 rules/ipkg.make               |    2 +-
 rules/irssi.make              |    2 +-
 rules/lighttpd.make           |    6 +++---
 rules/lvm2.make               |    2 +-
 rules/minicom.make            |    2 +-
 rules/net-snmp.make           |    2 +-
 rules/networkmanager.make     |    4 ++--
 rules/ntp.make                |    4 ++--
 rules/openntpd.make           |    2 +-
 rules/openssh.make            |    8 ++++----
 rules/opkg.make               |    2 +-
 rules/php5.make               |    2 +-
 rules/portmap.make            |    2 +-
 rules/ppp.make                |   12 ++++++------
 rules/prelink.make            |    2 +-
 rules/procps.make             |    2 +-
 rules/proftpd.make            |    2 +-
 rules/pureftpd.make           |    2 +-
 rules/qt4-demos.make          |    2 +-
 rules/qt4.make                |    2 +-
 rules/readline.make           |    2 +-
 rules/rootfs.make             |   32 ++++++++++++++++----------------
 rules/rsync.make              |    6 +++---
 rules/rsync3.make             |    4 ++--
 rules/rsyslog.make            |    2 +-
 rules/samba.make              |    4 ++--
 rules/screen.make             |    2 +-
 rules/smartmontools.make      |    2 +-
 rules/sudo.make               |    2 +-
 rules/syslogng.make           |    2 +-
 rules/systemd.make            |    2 +-
 rules/tcpwrapper.make         |    4 ++--
 rules/tslib.make              |    2 +-
 rules/u-boot-tools.make       |    2 +-
 rules/udev.make               |   10 +++++-----
 rules/upstart.make            |   24 ++++++++++++------------
 rules/watchdog.make           |    2 +-
 rules/wpa_supplicant.make     |    2 +-
 rules/xorg-server.make        |    4 ++--
 64 files changed, 139 insertions(+), 139 deletions(-)

diff --git a/rules/alsa-lib.make b/rules/alsa-lib.make
index 16c5572..1176f5e 100644
--- a/rules/alsa-lib.make
+++ b/rules/alsa-lib.make
@@ -191,7 +191,7 @@ endif
 endif
 
 ifdef PTXCONF_ALSA_LIB_ASOUND_CONF
-	@$(call install_alternative, alsa-lib, 0, 0, 0644, /etc/asound.conf)
+	@$(call install_config, alsa-lib, 0, 0, 0644, /etc/asound.conf)
 endif
 
 	@$(call install_finish, alsa-lib)
diff --git a/rules/alsa-utils.make b/rules/alsa-utils.make
index b666a8d..378d7a8 100644
--- a/rules/alsa-utils.make
+++ b/rules/alsa-utils.make
@@ -134,7 +134,7 @@ ifdef PTXCONF_ALSA_UTILS_SYSTEMD_UNIT
 endif
 
 ifdef PTXCONF_ALSA_UTILS_ASOUND_STATE
-	@$(call install_alternative, alsa-utils, 0, 0, 0644, \
+	@$(call install_config, alsa-utils, 0, 0, 0644, \
 		/etc/asound.state, n)
 endif
 	@$(call install_finish, alsa-utils)
diff --git a/rules/apache2.make b/rules/apache2.make
index aa024b6..5ee3e41 100644
--- a/rules/apache2.make
+++ b/rules/apache2.make
@@ -290,7 +290,7 @@ endif
 endif
 
 ifdef PTXCONF_PRELINK
-	@$(call install_alternative, apache2, 0, 0, 0644, \
+	@$(call install_config, apache2, 0, 0, 0644, \
 		/etc/prelink.conf.d/apache2)
 endif
 
diff --git a/rules/at.make b/rules/at.make
index aa97136..1b74002 100644
--- a/rules/at.make
+++ b/rules/at.make
@@ -73,7 +73,7 @@ $(STATEDIR)/at.targetinstall:
 	@$(call install_fixup, at,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>")
 	@$(call install_fixup, at,DESCRIPTION,missing)
 
-	@$(call install_alternative, at, 0, 0, 0640, /etc/at.deny)
+	@$(call install_config, at, 0, 0, 0640, /etc/at.deny)
 
 	@$(call install_copy, at, 0, 0, 1770, /var/spool/cron/atjobs)
 	@$(call install_copy, at, 0, 0, 1770, /var/spool/cron/atspool)
diff --git a/rules/avahi.make b/rules/avahi.make
index e29f2a4..deedcb8 100644
--- a/rules/avahi.make
+++ b/rules/avahi.make
@@ -113,7 +113,7 @@ $(STATEDIR)/avahi.targetinstall:
 	@$(call install_lib, avahi, 0, 0, 0644, libavahi-common)
 
 ifdef PTXCONF_AVAHI_DBUS
-	@$(call install_alternative, avahi, 0, 0, 0644, \
+	@$(call install_config, avahi, 0, 0, 0644, \
 		/etc/dbus-1/system.d/avahi-dbus.conf)
 endif
 
@@ -134,9 +134,9 @@ ifdef PTXCONF_AVAHI_DAEMON
 #	depends on expat
 	@$(call install_copy, avahi, 0, 0, 0755, -, /usr/sbin/avahi-daemon)
 
-	@$(call install_alternative, avahi, 0, 0, 0644, \
+	@$(call install_config, avahi, 0, 0, 0644, \
 		/etc/avahi/avahi-daemon.conf)
-	@$(call install_alternative, avahi, 0, 0, 0644, /etc/avahi/hosts)
+	@$(call install_config, avahi, 0, 0, 0644, /etc/avahi/hosts)
 
 ifdef PTXCONF_INITMETHOD_BBINIT
 	@$(call install_alternative, avahi, 0, 0, 0755, /etc/init.d/avahi-daemon)
@@ -144,14 +144,14 @@ ifdef PTXCONF_INITMETHOD_BBINIT
 		/etc/rc.d/S35avahi-daemon)
 endif
 ifdef PTXCONF_INITMETHOD_UPSTART
-	@$(call install_alternative, avahi, 0, 0, 0644, \
+	@$(call install_config, avahi, 0, 0, 0644, \
 		/etc/init/avahi-daemon.conf)
 endif
 ifdef PTXCONF_INITMETHOD_SYSTEMD
 ifdef PTXCONF_AVAHI_SYSTEMD_UNIT
-	@$(call install_alternative, avahi, 0, 0, 0644, \
+	@$(call install_config, avahi, 0, 0, 0644, \
 		/lib/systemd/system/avahi-daemon.socket)
-	@$(call install_alternative, avahi, 0, 0, 0644, \
+	@$(call install_config, avahi, 0, 0, 0644, \
 		/lib/systemd/system/avahi-daemon.service)
 	@$(call install_link, avahi, ../avahi-daemon.service, \
 		/lib/systemd/system/multi-user.target.wants/avahi-daemon.service)
@@ -176,7 +176,7 @@ ifdef PTXCONF_AVAHI_DNSCONFD
 		/etc/avahi/avahi-dnsconfd.action)
 ifdef PTXCONF_INITMETHOD_SYSTEMD
 ifdef PTXCONF_AVAHI_SYSTEMD_UNIT
-	@$(call install_alternative, avahi, 0, 0, 0644, \
+	@$(call install_config, avahi, 0, 0, 0644, \
 		/lib/systemd/system/avahi-dnsconfd.service)
 	@$(call install_link, avahi, ../avahi-dnsconfd.service, \
 		/lib/systemd/system/multi-user.target.wants/avahi-dnsconfd.service)
diff --git a/rules/boa.make b/rules/boa.make
index 26187b4..688bacc 100644
--- a/rules/boa.make
+++ b/rules/boa.make
@@ -67,7 +67,7 @@ $(STATEDIR)/boa.targetinstall:
 	@$(call install_alternative, boa, 0, 0, 0755, /etc/init.d/boa)
 
 ifdef PTXCONF_BOA_INSTALL_CONFIG
-	@$(call install_alternative, boa, 0, 0, 0644, /etc/boa/boa.conf)
+	@$(call install_config, boa, 0, 0, 0644, /etc/boa/boa.conf)
 endif
 	@$(call install_finish, boa)
 
diff --git a/rules/busybox.make b/rules/busybox.make
index cf12329..8b7d7a7 100644
--- a/rules/busybox.make
+++ b/rules/busybox.make
@@ -93,7 +93,7 @@ $(STATEDIR)/busybox.targetinstall:
 ifdef PTXCONF_BUSYBOX_FEATURE_SUID
 	@$(call install_copy, busybox, 0, 0, 4755, -, /bin/busybox)
 ifdef PTXCONF_BUSYBOX_FEATURE_SUID_CONFIG
-	@$(call install_alternative, busybox, 0, 0, 0644, /etc/busybox.conf)
+	@$(call install_config, busybox, 0, 0, 0644, /etc/busybox.conf)
 endif
 else
 	@$(call install_copy, busybox, 0, 0, 755, -, /bin/busybox)
@@ -109,11 +109,11 @@ endif
 	done
 
 ifdef PTXCONF_BUSYBOX_FTPD_INETD
-	@$(call install_alternative, busybox, 0, 0, 0644, /etc/inetd.conf.d/ftpd)
+	@$(call install_config, busybox, 0, 0, 0644, /etc/inetd.conf.d/ftpd)
 endif
 
 ifdef PTXCONF_BUSYBOX_TELNETD_INETD
-	@$(call install_alternative, busybox, 0, 0, 0644, /etc/inetd.conf.d/telnetd)
+	@$(call install_config, busybox, 0, 0, 0644, /etc/inetd.conf.d/telnetd)
 endif
 
 #	#
@@ -177,11 +177,11 @@ endif # PTXCONF_INITMETHOD_BBINIT
 #	#
 
 ifdef PTXCONF_BUSYBOX_FEATURE_MDEV_CONF
-	@$(call install_alternative, busybox, 0, 0, 0644, /etc/mdev.conf)
+	@$(call install_config, busybox, 0, 0, 0644, /etc/mdev.conf)
 endif
 
 ifdef PTXCONF_BUSYBOX_UDHCPC
-	@$(call install_alternative, busybox, 0, 0, 0754, /etc/udhcpc.script)
+	@$(call install_config, busybox, 0, 0, 0754, /etc/udhcpc.script)
 	@$(call install_link, busybox, ../../../etc/udhcpc.script, /usr/share/udhcpc/default.script)
 endif
 
diff --git a/rules/classpath.make b/rules/classpath.make
index 1cb47f2..7b5d09e 100644
--- a/rules/classpath.make
+++ b/rules/classpath.make
@@ -163,7 +163,7 @@ $(STATEDIR)/classpath.targetinstall:
 	@$(call install_copy, classpath, 0, 0, 0644, -, /usr/lib/logging.properties)
 
 ifdef PTXCONF_PRELINK
-	@$(call install_alternative, classpath, 0, 0, 0644, \
+	@$(call install_config, classpath, 0, 0, 0644, \
 		/etc/prelink.conf.d/classpath)
 endif
 
diff --git a/rules/connman.make b/rules/connman.make
index 2a46b5a..feefd8a 100644
--- a/rules/connman.make
+++ b/rules/connman.make
@@ -155,24 +155,24 @@ endif
 endif
 endif
 ifdef PTXCONF_CONNMAN_SYSTEMD_UNIT
-	@$(call install_alternative, connman, 0, 0, 0644, \
+	@$(call install_config, connman, 0, 0, 0644, \
 		/lib/systemd/system/connman.service)
 	@$(call install_link, connman, ../connman.service, \
 		/lib/systemd/system/multi-user.target.wants/connman.service)
-	@$(call install_alternative, connman, 0, 0, 0644, \
+	@$(call install_config, connman, 0, 0, 0644, \
 		/lib/systemd/system/connman-ignore.service)
 	@$(call install_link, connman, ../connman-ignore.service, \
 		/lib/systemd/system/connman.service.wants/connman-ignore.service)
-	@$(call install_alternative, connman, 0, 0, 0755, \
+	@$(call install_config, connman, 0, 0, 0755, \
 		/lib/systemd/connman-ignore)
 endif
 
 #	# ship settings which enable wired interfaces per default
-	@$(call install_alternative, connman, 0, 0, 0600, \
+	@$(call install_config, connman, 0, 0, 0600, \
 		/var/lib/connman/settings)
 
 #	# dbus config
-	@$(call install_alternative, connman, 0, 0, 0644, /etc/dbus-1/system.d/connman.conf)
+	@$(call install_config, connman, 0, 0, 0644, /etc/dbus-1/system.d/connman.conf)
 
 #	#
 #	# plugins
diff --git a/rules/crda.make b/rules/crda.make
index 944c57e..d853f64 100644
--- a/rules/crda.make
+++ b/rules/crda.make
@@ -61,7 +61,7 @@ $(STATEDIR)/crda.targetinstall:
 
 	# regulatory.bin was downloaded from:
 	# git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-regdb.git
-	@$(call install_alternative, crda, 0, 0, 0644, \
+	@$(call install_config, crda, 0, 0, 0644, \
 		/usr/lib/crda/regulatory.bin)
 
 	@$(call install_finish, crda)
diff --git a/rules/cvs.make b/rules/cvs.make
index 5b953eb..2d64735 100644
--- a/rules/cvs.make
+++ b/rules/cvs.make
@@ -124,7 +124,7 @@ $(STATEDIR)/cvs.targetinstall:
 	@$(call install_fixup, cvs,DESCRIPTION,missing)
 
 ifdef PTXCONF_CVS_INETD
-	@$(call install_alternative, cvs, 0, 0, 0644, /etc/inetd.conf.d/cvs, n)
+	@$(call install_config, cvs, 0, 0, 0644, /etc/inetd.conf.d/cvs, n)
 ifneq ($(call remove_quotes, $(PTXCONF_CVS_SERVER_REPOSITORY)),)
 #	# add info about repository's root
 	@$(call install_replace, cvs, /etc/inetd.conf.d/cvs, \
diff --git a/rules/dbus.make b/rules/dbus.make
index ef3954a..d476146 100644
--- a/rules/dbus.make
+++ b/rules/dbus.make
@@ -140,7 +140,7 @@ $(STATEDIR)/dbus.targetinstall:
 #	# install /etc/dbus-1/system.conf config file
 #	#
 ifdef PTXCONF_DBUS_SYSTEM_CONF
-	@$(call install_alternative, dbus, 0, 0, 0644, /etc/dbus-1/system.conf)
+	@$(call install_config, dbus, 0, 0, 0644, /etc/dbus-1/system.conf)
 	@$(call install_replace, dbus, /etc/dbus-1/system.conf, @DBUS_USER@, $(PTXCONF_DBUS_USER))
 endif
 
@@ -148,7 +148,7 @@ endif
 #	# instal /etc/dbus-1/session.conf config file
 #	#
 ifdef PTXCONF_DBUS_SESSION_CONF
-	@$(call install_alternative, dbus, 0, 0, 0644, /etc/dbus-1/session.conf)
+	@$(call install_config, dbus, 0, 0, 0644, /etc/dbus-1/session.conf)
 endif
 
 #	#
@@ -182,7 +182,7 @@ endif
 
 ifdef PTXCONF_INITMETHOD_UPSTART
 ifdef PTXCONF_DBUS_STARTSCRIPT
-	@$(call install_alternative, dbus, 0, 0, 0644, /etc/init/dbus.conf)
+	@$(call install_config, dbus, 0, 0, 0644, /etc/init/dbus.conf)
 endif
 endif
 
diff --git a/rules/dhcp.make b/rules/dhcp.make
index fc42a87..cea6ccd 100644
--- a/rules/dhcp.make
+++ b/rules/dhcp.make
@@ -63,7 +63,7 @@ ifdef PTXCONF_DHCP_SERVER
 endif
 
 ifdef PTXCONF_DHCP_DHCPD_CONF
-	@$(call install_alternative, dhcp, 0, 0, 0644, /etc/dhcpd.conf)
+	@$(call install_config, dhcp, 0, 0, 0644, /etc/dhcpd.conf)
 endif
 
 ifdef PTXCONF_DHCP_CLIENT
@@ -76,11 +76,11 @@ ifdef PTXCONF_DHCP_CLIENT
 endif
 
 ifdef PTXCONF_DHCP_DHCLIENT_SCRIPT
-	@$(call install_alternative, dhcp, 0, 0, 0755, /etc/dhclient-script)
+	@$(call install_config, dhcp, 0, 0, 0755, /etc/dhclient-script)
 endif
 
 ifdef PTXCONF_DHCP_DHCLIENT_CONF
-	@$(call install_alternative, dhcp, 0, 0, 0644, /etc/dhclient.conf)
+	@$(call install_config, dhcp, 0, 0, 0644, /etc/dhclient.conf)
 endif
 
 ifdef PTXCONF_DHCP_RELAY
diff --git a/rules/dibbler.make b/rules/dibbler.make
index e170cd2..fb89fc6 100644
--- a/rules/dibbler.make
+++ b/rules/dibbler.make
@@ -83,7 +83,7 @@ $(STATEDIR)/dibbler.targetinstall:
 ifdef PTXCONF_DIBBLER_SERVER
 	@$(call install_copy, dibbler, 0, 0, 0755, -, /usr/sbin/dibbler-server)
 	@$(call install_copy, dibbler, 0, 0, 0644, -, /etc/dibbler/server.conf)
-	@$(call install_alternative, dibbler, 0, 0, 0644, /etc/dibbler/server-stateless.conf)
+	@$(call install_config, dibbler, 0, 0, 0644, /etc/dibbler/server-stateless.conf)
 endif
 
 ifdef PTXCONF_DIBBLER_SERVER_STARTSCRIPT
@@ -98,8 +98,8 @@ endif
 
 ifdef PTXCONF_DIBBLER_CLIENT
 	@$(call install_copy, dibbler, 0, 0, 0755, -, /usr/sbin/dibbler-client)
-	@$(call install_alternative, dibbler, 0, 0, 0644, /etc/dibbler/client.conf)
-	@$(call install_alternative, dibbler, 0, 0, 0644, /etc/dibbler/client-stateless.conf)
+	@$(call install_config, dibbler, 0, 0, 0644, /etc/dibbler/client.conf)
+	@$(call install_config, dibbler, 0, 0, 0644, /etc/dibbler/client-stateless.conf)
 endif
 
 ifdef PTXCONF_DIBBLER_CLIENT_STARTSCRIPT
@@ -114,7 +114,7 @@ endif
 
 ifdef PTXCONF_DIBBLER_RELAY
 	@$(call install_copy, dibbler, 0, 0, 0755, -, /usr/sbin/dibbler-relay)
-	@$(call install_alternative, dibbler, 0, 0, 0644, /etc/dibbler/relay.conf)
+	@$(call install_config, dibbler, 0, 0, 0644, /etc/dibbler/relay.conf)
 endif
 
 ifdef PTXCONF_DIBBLER_RELAY_STARTSCRIPT
diff --git a/rules/directfb.make b/rules/directfb.make
index 96bbfb8..acc1957 100644
--- a/rules/directfb.make
+++ b/rules/directfb.make
@@ -192,11 +192,11 @@ $(STATEDIR)/directfb.targetinstall:
 	@$(call install_fixup, directfb,DESCRIPTION,missing)
 
 ifdef PTXCONF_DIRECTFB_CONFIG_DIRECTFBRC
-	@$(call install_alternative, directfb, 0, 0, 0644, /etc/directfbrc)
+	@$(call install_config, directfb, 0, 0, 0644, /etc/directfbrc)
 endif
 
 ifdef PTXCONF_PRELINK
-	@$(call install_alternative, directfb, 0, 0, 0644, \
+	@$(call install_config, directfb, 0, 0, 0644, \
 		/etc/prelink.conf.d/directfb)
 endif
 
diff --git a/rules/dnsmasq.make b/rules/dnsmasq.make
index a5a7396..0a438ee 100644
--- a/rules/dnsmasq.make
+++ b/rules/dnsmasq.make
@@ -72,7 +72,7 @@ $(STATEDIR)/dnsmasq.targetinstall:
 	@$(call install_copy, dnsmasq, 0, 0, 0755, -, /usr/sbin/dnsmasq)
 
 ifdef PTXCONF_DNSMASQ_INETD
-	@$(call install_alternative, dnsmasq, 0, 0, 0644, /etc/inetd.conf.d/dnsmasq, n)
+	@$(call install_config, dnsmasq, 0, 0, 0644, /etc/inetd.conf.d/dnsmasq, n)
 endif
 
 ifdef PTXCONF_INITMETHOD_BBINIT
@@ -87,7 +87,7 @@ endif
 endif
 endif
 
-	@$(call install_alternative, dnsmasq, 0, 0, 0644, /etc/dnsmasq.conf, n)
+	@$(call install_config, dnsmasq, 0, 0, 0644, /etc/dnsmasq.conf, n)
 
 # for the 'dnsmasq.leases' file
 	@$(call install_copy, dnsmasq, 0, 0, 0755, /var/lib/misc)
diff --git a/rules/e2fsprogs.make b/rules/e2fsprogs.make
index 858aeac..d31b7bd 100644
--- a/rules/e2fsprogs.make
+++ b/rules/e2fsprogs.make
@@ -184,7 +184,7 @@ ifdef PTXCONF_E2FSPROGS_INSTALL_TUNE2FS
 	@$(call install_copy, e2fsprogs, 0, 0, 0755, -, /usr/sbin/tune2fs)
 endif
 
-	@$(call install_alternative, e2fsprogs, 0, 0, 0644, /etc/mke2fs.conf, n)
+	@$(call install_config, e2fsprogs, 0, 0, 0644, /etc/mke2fs.conf, n)
 
 	@$(call install_finish, e2fsprogs)
 
diff --git a/rules/fam.make b/rules/fam.make
index 53534a1..dfd2d1d 100644
--- a/rules/fam.make
+++ b/rules/fam.make
@@ -87,7 +87,7 @@ endif
 endif
 
 ifdef PTXCONF_FAM_INETD_SERVER
-	@$(call install_alternative, fam, 0, 0, 0644, /etc/inetd.conf.d/fam)
+	@$(call install_config, fam, 0, 0, 0644, /etc/inetd.conf.d/fam)
 endif
 
 	@$(call install_finish, fam)
diff --git a/rules/fontconfig.make b/rules/fontconfig.make
index 0f55e89..61a1978 100644
--- a/rules/fontconfig.make
+++ b/rules/fontconfig.make
@@ -104,7 +104,7 @@ ifdef PTXCONF_FONTCONFIG_CONFS_DEFAULT
 endif
 
 ifdef PTXCONF_FONTCONFIG_CONFS_CUSTOM
-	@$(call install_alternative, fontconfig, 0, 0, 0644, \
+	@$(call install_config, fontconfig, 0, 0, 0644, \
 		/etc/fonts/fonts.conf)
 endif
 
diff --git a/rules/frodo.make b/rules/frodo.make
index efa0258..04d0122 100644
--- a/rules/frodo.make
+++ b/rules/frodo.make
@@ -86,7 +86,7 @@ $(STATEDIR)/frodo.targetinstall:
 	@$(call install_copy, frodo, 0, 0, 0644, -, /home/Char ROM)
 	@$(call install_copy, frodo, 0, 0, 0644, -, /home/Kernal ROM)
 
-	@$(call install_alternative, frodo, 0, 0, 0644, /etc/frodorc, n)
+	@$(call install_config, frodo, 0, 0, 0644, /etc/frodorc, n)
 	@$(call install_link, frodo, ../etc/frodorc, /home/.frodorc)
 
 	@$(call install_finish, frodo)
diff --git a/rules/gstreamer.make b/rules/gstreamer.make
index cc80528..28102e9 100644
--- a/rules/gstreamer.make
+++ b/rules/gstreamer.make
@@ -146,7 +146,7 @@ endif
 		/usr/libexec/gstreamer-0.10/gst-plugin-scanner)
 
 ifdef PTXCONF_PRELINK
-	@$(call install_alternative, gstreamer, 0, 0, 0644, \
+	@$(call install_config, gstreamer, 0, 0, 0644, \
 		/etc/prelink.conf.d/gstreamer)
 endif
 
diff --git a/rules/inadyn.make b/rules/inadyn.make
index df83fca..0c59773 100644
--- a/rules/inadyn.make
+++ b/rules/inadyn.make
@@ -57,7 +57,7 @@ $(STATEDIR)/inadyn.targetinstall:
 	@$(call install_fixup, inadyn,DESCRIPTION,missing)
 
 	@$(call install_copy, inadyn, 0, 0, 0755, -, /sbin/inadyn)
-	@$(call install_alternative, inadyn, 0, 0, 0600, /etc/inadyn.conf)
+	@$(call install_config, inadyn, 0, 0, 0600, /etc/inadyn.conf)
 
 	@$(call install_finish, inadyn)
 
diff --git a/rules/inetutils.make b/rules/inetutils.make
index 2b804fe..f775642 100644
--- a/rules/inetutils.make
+++ b/rules/inetutils.make
@@ -152,7 +152,7 @@ ifdef PTXCONF_INETUTILS_RSH
 endif
 ifdef PTXCONF_INETUTILS_RSHD
 	@$(call install_copy, inetutils, 0, 0, 0755, -, /usr/sbin/rshd)
-	@$(call install_alternative, inetutils, 0, 0, 0644, \
+	@$(call install_config, inetutils, 0, 0, 0644, \
 		/etc/inetd.conf.d/inetutils-rshd, n)
 endif
 ifdef PTXCONF_INETUTILS_SYSLOGD
@@ -170,7 +170,7 @@ ifneq ($(call remove_quotes, $(PTXCONF_INETUTILS_SYSLOGD_BBINIT_LINK)),)
 endif
 endif
 ifdef PTXCONF_INETUTILS_SYSLOGD_CONFIG
-	@$(call install_alternative, inetutils, 0, 0, 0644, \
+	@$(call install_config, inetutils, 0, 0, 0644, \
 		/etc/syslog.conf, n)
 endif
 ifdef PTXCONF_INETUTILS_TFTPD
@@ -181,7 +181,7 @@ ifneq ($(PTXCONF_INETUTILS_TFTPD_BASE_DIR),"")
 	@$(call install_copy, inetutils, 99, 0, 0755, \
 		$(PTXCONF_INETUTILS_TFTPD_BASE_DIR) )
 endif
-	@$(call install_alternative, inetutils, 0, 0, 0644, /etc/inetd.conf.d/tftp, n)
+	@$(call install_config, inetutils, 0, 0, 0644, /etc/inetd.conf.d/tftp, n)
 	@$(call install_replace, inetutils, \
 		/etc/inetd.conf.d/tftp, \
 		@ROOT@, \
diff --git a/rules/initmethod-bbinit.make b/rules/initmethod-bbinit.make
index b71d1af..7f9ace7 100644
--- a/rules/initmethod-bbinit.make
+++ b/rules/initmethod-bbinit.make
@@ -36,7 +36,7 @@ $(STATEDIR)/initmethod-bbinit.targetinstall:
 	@$(call install_copy, initmethod-bbinit, 0, 0, 0755, /etc/init.d)
 	@$(call install_copy, initmethod-bbinit, 0, 0, 0755, /etc/rc.d)
 	@$(call install_alternative, initmethod-bbinit, 0, 0, 0755, /etc/init.d/rcS, n)
-	@$(call install_alternative, initmethod-bbinit, 0, 0, 0644, /etc/inittab, n)
+	@$(call install_config, initmethod-bbinit, 0, 0, 0644, /etc/inittab, n)
 	@$(call install_replace, initmethod-bbinit, /etc/inittab, \
 		@CONSOLE@, $(PTXCONF_CONSOLE_NAME))
 	@$(call install_replace, initmethod-bbinit, /etc/inittab, \
@@ -48,7 +48,7 @@ $(STATEDIR)/initmethod-bbinit.targetinstall:
 #	#
 ifdef PTXCONF_INITMETHOD_BBINIT_ETC_INITD_MODULES
 	@$(call install_alternative, initmethod-bbinit, 0, 0, 0755, /etc/init.d/modules, n)
-	@$(call install_alternative, initmethod-bbinit, 0, 0, 0644, /etc/modules, n)
+	@$(call install_config, initmethod-bbinit, 0, 0, 0644, /etc/modules, n)
 endif
 
 ifdef PTXCONF_INITMETHOD_BBINIT_ETC_INITD_LOGROTATE
@@ -57,7 +57,7 @@ endif
 
 ifdef PTXCONF_INITMETHOD_BBINIT_ETC_INITD_NETWORKING
 	@$(call install_alternative, initmethod-bbinit, 0, 0, 0755, /etc/init.d/networking, n)
-	@$(call install_alternative, initmethod-bbinit, 0, 0, 0644, /etc/network/interfaces, n)
+	@$(call install_config, initmethod-bbinit, 0, 0, 0644, /etc/network/interfaces, n)
 	@$(call install_copy, initmethod-bbinit, 0, 0, 0755, /etc/network/if-down.d)
 	@$(call install_copy, initmethod-bbinit, 0, 0, 0755, /etc/network/if-up.d)
 	@$(call install_copy, initmethod-bbinit, 0, 0, 0755, /etc/network/if-post-down.d)
diff --git a/rules/initmethod-systemd.make b/rules/initmethod-systemd.make
index 4a0667f..52214b8 100644
--- a/rules/initmethod-systemd.make
+++ b/rules/initmethod-systemd.make
@@ -46,7 +46,7 @@ ifdef PTXCONF_INITMETHOD_SYSTEMD_IFUPDOWN
 	@$(call install_link, initmethod-systemd, ../network.target, \
 		/lib/systemd/system/multi-user.target.wants/network.target)
 
-	@$(call install_alternative, initmethod-systemd, 0, 0, 0644, /etc/network/interfaces)
+	@$(call install_config, initmethod-systemd, 0, 0, 0644, /etc/network/interfaces)
 	@$(call install_copy, initmethod-systemd, 0, 0, 0755, /etc/network/if-down.d)
 	@$(call install_copy, initmethod-systemd, 0, 0, 0755, /etc/network/if-up.d)
 	@$(call install_copy, initmethod-systemd, 0, 0, 0755, /etc/network/if-post-down.d)
diff --git a/rules/ipkg.make b/rules/ipkg.make
index fe1c7dc..a4b4ee6 100644
--- a/rules/ipkg.make
+++ b/rules/ipkg.make
@@ -93,7 +93,7 @@ ifdef PTXCONF_IPKG_HASH_TEST
 endif
 
 ifdef PTXCONF_IPKG_IPKG_CONF
-	@$(call install_alternative, ipkg, 0, 0, 0644, /etc/ipkg.conf)
+	@$(call install_config, ipkg, 0, 0, 0644, /etc/ipkg.conf)
 	@$(call install_replace, ipkg, /etc/ipkg.conf, @SRC@, \
 		$(PTXCONF_IPKG_IPKG_CONF_URL))
 	@$(call install_replace, ipkg, /etc/ipkg.conf, @ARCH@, \
diff --git a/rules/irssi.make b/rules/irssi.make
index 45533f5..b35a037 100644
--- a/rules/irssi.make
+++ b/rules/irssi.make
@@ -61,7 +61,7 @@ $(STATEDIR)/irssi.targetinstall:
 	@$(call install_fixup, irssi,DESCRIPTION,missing)
 
 	@$(call install_copy, irssi, 0, 0, 0755, -, /usr/bin/irssi)
-	@$(call install_alternative, irssi, 0, 0, 0644, /etc/irssi.conf)
+	@$(call install_config, irssi, 0, 0, 0644, /etc/irssi.conf)
 
 	@$(call install_finish, irssi)
 
diff --git a/rules/lighttpd.make b/rules/lighttpd.make
index f91eb31..c5a1488 100644
--- a/rules/lighttpd.make
+++ b/rules/lighttpd.make
@@ -93,7 +93,7 @@ $(STATEDIR)/lighttpd.targetinstall:
 #	#
 #	# configs
 #	#
-	@$(call install_alternative, lighttpd, 0, 0, 0644, /etc/lighttpd/lighttpd.conf)
+	@$(call install_config, lighttpd, 0, 0, 0644, /etc/lighttpd/lighttpd.conf)
 
 	@$(call install_replace, lighttpd, /etc/lighttpd/lighttpd.conf, \
 		@CGI@, $(call ptx/ifdef, PTXCONF_PHP5_SAPI_CGI,,#))
@@ -124,7 +124,7 @@ endif
 endif
 
 ifdef PTXCONF_INITMETHOD_UPSTART
-	@$(call install_alternative, lighttpd, 0, 0, 0755, /etc/init/lighttpd.conf)
+	@$(call install_config, lighttpd, 0, 0, 0755, /etc/init/lighttpd.conf)
 endif
 
 ifdef PTXCONF_LIGHTTPD_SYSTEMD_UNIT
@@ -132,7 +132,7 @@ ifdef PTXCONF_LIGHTTPD_SYSTEMD_UNIT
 		/lib/systemd/system/lighttpd.service)
 	@$(call install_link, lighttpd, ../lighttpd.service, \
 		/lib/systemd/system/multi-user.target.wants/lighttpd.service)
-	@$(call install_alternative, lighttpd, 0, 0, 0644, \
+	@$(call install_config, lighttpd, 0, 0, 0644, \
 		/usr/lib/tmpfiles.d/lighttpd.conf)
 endif
 
diff --git a/rules/lvm2.make b/rules/lvm2.make
index 1e96745..a1a6b12 100644
--- a/rules/lvm2.make
+++ b/rules/lvm2.make
@@ -116,7 +116,7 @@ $(STATEDIR)/lvm2.targetinstall:
 	@$(call install_link, lvm2, lvm, /usr/sbin/vgscan)
 	@$(call install_link, lvm2, lvm, /usr/sbin/vgsplit)
 
-	@$(call install_alternative, lvm2, 0, 0, 0644, /etc/lvm/lvm.conf)
+	@$(call install_config, lvm2, 0, 0, 0644, /etc/lvm/lvm.conf)
 
 	@$(call install_lib, lvm2, 0, 0, 0644, libdevmapper)
 
diff --git a/rules/minicom.make b/rules/minicom.make
index f0b3f89..9c33c99 100644
--- a/rules/minicom.make
+++ b/rules/minicom.make
@@ -69,7 +69,7 @@ $(STATEDIR)/minicom.targetinstall:
 	@$(call install_copy, minicom, 0, 0, 0755, -, /usr/bin/ascii-xfr)
 
 ifdef PTXCONF_MINICOM_DEFCONFIG
-	@$(call install_alternative, minicom, 0, 0, 0644, /etc/minirc.dfl)
+	@$(call install_config, minicom, 0, 0, 0644, /etc/minirc.dfl)
 endif
 	@$(call install_finish, minicom)
 
diff --git a/rules/net-snmp.make b/rules/net-snmp.make
index ad2d360..0fbb39a 100644
--- a/rules/net-snmp.make
+++ b/rules/net-snmp.make
@@ -279,7 +279,7 @@ ifdef PTXCONF_NET_SNMP_AGENT
 	@$(call install_lib, net-snmp, 0, 0, 0644, libnetsnmphelpers)
 
 # agent configuration
-	@$(call install_alternative, net-snmp, 0, 0, 0644, /etc/snmp/snmpd.conf)
+	@$(call install_config, net-snmp, 0, 0, 0644, /etc/snmp/snmpd.conf)
 endif
 
 ifdef PTXCONF_NET_SNMP_APPLICATIONS
diff --git a/rules/networkmanager.make b/rules/networkmanager.make
index 32d11ed..1bfc8b3 100644
--- a/rules/networkmanager.make
+++ b/rules/networkmanager.make
@@ -82,12 +82,12 @@ $(STATEDIR)/networkmanager.targetinstall:
 	@$(call install_fixup, networkmanager,AUTHOR,"Jan Luebbe <j.luebbe@pengutronix.de>")
 	@$(call install_fixup, networkmanager,DESCRIPTION,missing)
 
-	@$(call install_alternative, networkmanager, 0, 0, 0644, /etc/NetworkManager/NetworkManager.conf)
+	@$(call install_config, networkmanager, 0, 0, 0644, /etc/NetworkManager/NetworkManager.conf)
 	@$(call install_copy, networkmanager, 0, 0, 0755, /etc/NetworkManager/dispatcher.d/)
 	@$(call install_copy, networkmanager, 0, 0, 0755, /etc/NetworkManager/system-connections/)
 
 #	# unmanage NFS root devices
-	@$(call install_alternative, networkmanager, 0, 0, 0755, /lib/init/nm-unmanage.sh)
+	@$(call install_config, networkmanager, 0, 0, 0755, /lib/init/nm-unmanage.sh)
 
 ifdef PTXCONF_INITMETHOD_BBINIT
 ifdef PTXCONF_NETWORKMANAGER_STARTSCRIPT
diff --git a/rules/ntp.make b/rules/ntp.make
index 62c2dec..5b8fc22 100644
--- a/rules/ntp.make
+++ b/rules/ntp.make
@@ -316,7 +316,7 @@ endif
 ifdef PTXCONF_NTP_NTPD
 	@$(call install_copy, ntp, 0, 0, 0755, -, \
 		/usr/sbin/ntpd)
-	@$(call install_alternative, ntp, 0, 0, 0644, /etc/ntp-server.conf)
+	@$(call install_config, ntp, 0, 0, 0644, /etc/ntp-server.conf)
 endif
 
 ifdef PTXCONF_INITMETHOD_BBINIT
@@ -337,7 +337,7 @@ endif
 ifdef PTXCONF_NTP_NTPDC
 	@$(call install_copy, ntp, 0, 0, 0755, -, \
 		/usr/sbin/ntpdc)
-	@$(call install_alternative, ntp, 0, 0, 0644, /etc/ntp-client.conf)
+	@$(call install_config, ntp, 0, 0, 0644, /etc/ntp-client.conf)
 endif
 
 ifdef PTXCONF_INITMETHOD_BBINIT
diff --git a/rules/openntpd.make b/rules/openntpd.make
index 2f468e2..8077b7f 100644
--- a/rules/openntpd.make
+++ b/rules/openntpd.make
@@ -72,7 +72,7 @@ $(STATEDIR)/openntpd.targetinstall:
 	# config
 	#
 
-	@$(call install_alternative, openntpd, 0, 0, 0644, /etc/ntp-server.conf, n)
+	@$(call install_config, openntpd, 0, 0, 0644, /etc/ntp-server.conf, n)
 
 	#
 	# busybox init
diff --git a/rules/openssh.make b/rules/openssh.make
index e942de4..41757bb 100644
--- a/rules/openssh.make
+++ b/rules/openssh.make
@@ -77,13 +77,13 @@ $(STATEDIR)/openssh.targetinstall:
 	@$(call install_fixup, openssh,DESCRIPTION,missing)
 
 ifdef PTXCONF_OPENSSH_SSH
-	@$(call install_alternative, openssh, 0, 0, 0644, /etc/ssh/ssh_config)
+	@$(call install_config, openssh, 0, 0, 0644, /etc/ssh/ssh_config)
 	@$(call install_copy, openssh, 0, 0, 0755, -, \
 		/usr/bin/ssh)
 endif
 
 ifdef PTXCONF_OPENSSH_SSHD
-	@$(call install_alternative, openssh, 0, 0, 0644, /etc/ssh/sshd_config)
+	@$(call install_config, openssh, 0, 0, 0644, /etc/ssh/sshd_config)
 	@$(call install_copy, openssh, 0, 0, 0644, -, \
 		/etc/ssh/moduli)
 	@$(call install_copy, openssh, 0, 0, 0755, -, \
@@ -110,13 +110,13 @@ ifdef PTXCONF_OPENSSH_SSHD_SYSTEMD_UNIT
 		/lib/systemd/system/sshd@.service)
 	@$(call install_link, openssh, ../sshd.socket, \
 		/lib/systemd/system/sockets.target.wants/sshd.socket)
-	@$(call install_alternative, openssh, 0, 0, 0644, \
+	@$(call install_config, openssh, 0, 0, 0644, \
 		/usr/lib/tmpfiles.d/ssh.conf)
 endif
 endif
 
 ifdef PTXCONF_INITMETHOD_UPSTART
-	@$(call install_alternative, openssh, 0, 0, 0644, /etc/init/ssh.conf)
+	@$(call install_config, openssh, 0, 0, 0644, /etc/init/ssh.conf)
 endif
 
 ifdef PTXCONF_OPENSSH_SCP
diff --git a/rules/opkg.make b/rules/opkg.make
index 29719e4..3fc8c3f 100644
--- a/rules/opkg.make
+++ b/rules/opkg.make
@@ -102,7 +102,7 @@ ifdef PTXCONF_IMAGE_IPKG_SIGN_OPENSSL
 endif
 
 ifdef PTXCONF_OPKG_OPKG_CONF
-	@$(call install_alternative, opkg, 0, 0, 0644, /etc/opkg/opkg.conf)
+	@$(call install_config, opkg, 0, 0, 0644, /etc/opkg/opkg.conf)
 	@$(call install_replace, opkg, /etc/opkg/opkg.conf, @SRC@, \
 		$(PTXCONF_OPKG_OPKG_CONF_URL))
 	@$(call install_replace, opkg, /etc/opkg/opkg.conf, @ARCH@, \
diff --git a/rules/php5.make b/rules/php5.make
index 04976a5..6039174 100644
--- a/rules/php5.make
+++ b/rules/php5.make
@@ -328,7 +328,7 @@ ifdef PTXCONF_PHP5_SAPI_CGI
 endif
 
 ifdef PTXCONF_PHP5_INI
-	@$(call install_alternative, php5, 0, 0, 0644, /etc/php5/php.ini)
+	@$(call install_config, php5, 0, 0, 0644, /etc/php5/php.ini)
 endif
 
 	@$(call install_finish, php5)
diff --git a/rules/portmap.make b/rules/portmap.make
index 4bf643a..e38873c 100644
--- a/rules/portmap.make
+++ b/rules/portmap.make
@@ -76,7 +76,7 @@ endif
 endif
 
 ifdef PTXCONF_PORTMAP_INETD_SERVER
-	@$(call install_alternative, portmap, 0, 0, 0644, /etc/inetd.conf.d/portmap, n)
+	@$(call install_config, portmap, 0, 0, 0644, /etc/inetd.conf.d/portmap, n)
 endif
 
 	@$(call install_finish, portmap)
diff --git a/rules/ppp.make b/rules/ppp.make
index 9d47463..9127a15 100644
--- a/rules/ppp.make
+++ b/rules/ppp.make
@@ -165,13 +165,13 @@ ifdef PTXCONF_PPP_INST_CHAT
 endif
 
 ifdef PTXCONF_PPP_INST_DEFAULT_CONFIG_FILES
-	@$(call install_alternative, ppp, 0, 0, 0600, /etc/ppp/options)
-	@$(call install_alternative, ppp, 0, 0, 0750, /etc/ppp/ip-up)
-	@$(call install_alternative, ppp, 0, 0, 0750, /etc/ppp/ip-down)
-	@$(call install_alternative, ppp, 0, 0, 0600, /etc/ppp/pap-secrets)
+	@$(call install_config, ppp, 0, 0, 0600, /etc/ppp/options)
+	@$(call install_config, ppp, 0, 0, 0750, /etc/ppp/ip-up)
+	@$(call install_config, ppp, 0, 0, 0750, /etc/ppp/ip-down)
+	@$(call install_config, ppp, 0, 0, 0600, /etc/ppp/pap-secrets)
 
-	@$(call install_alternative, ppp, 0, 0, 0600, /etc/ppp/peers/provider)
-	@$(call install_alternative, ppp, 0, 0, 0600, /etc/chatscripts/provider)
+	@$(call install_config, ppp, 0, 0, 0600, /etc/ppp/peers/provider)
+	@$(call install_config, ppp, 0, 0, 0600, /etc/chatscripts/provider)
 endif
 
 #	#
diff --git a/rules/prelink.make b/rules/prelink.make
index 0df38e5..80bdbf6 100644
--- a/rules/prelink.make
+++ b/rules/prelink.make
@@ -58,7 +58,7 @@ $(STATEDIR)/prelink.targetinstall:
 	@$(call install_fixup, prelink,AUTHOR,"Marc Kleine-Budde <mkl@pengutronix.de>")
 	@$(call install_fixup, prelink,DESCRIPTION,missing)
 
-	@$(call install_alternative, prelink, 0, 0, 0644, /etc/prelink.conf)
+	@$(call install_config, prelink, 0, 0, 0644, /etc/prelink.conf)
 	@$(call install_copy, prelink, 0, 0, 0755, -, /usr/sbin/prelink)
 
 ifdef PTXCONF_PRELINK_RC_ONCE
diff --git a/rules/procps.make b/rules/procps.make
index 7ab3786..0bb47d2 100644
--- a/rules/procps.make
+++ b/rules/procps.make
@@ -88,7 +88,7 @@ ifdef PTXCONF_PROCPS_SYSCTL
 	@$(call install_copy, procps, 0, 0, 0755, -, \
 		/sbin/sysctl)
 
-	@$(call install_alternative, procps, 0, 0, 0644, /etc/sysctl.conf, n)
+	@$(call install_config, procps, 0, 0, 0644, /etc/sysctl.conf, n)
 endif
 ifdef PTXCONF_PROCPS_PS
 	@$(call install_copy, procps, 0, 0, 0755, -, \
diff --git a/rules/proftpd.make b/rules/proftpd.make
index 5297a8a..3576022 100644
--- a/rules/proftpd.make
+++ b/rules/proftpd.make
@@ -92,7 +92,7 @@ $(STATEDIR)/proftpd.targetinstall:
 	@$(call install_copy, proftpd, 0, 0, 0755, -, \
 		/usr/sbin/proftpd)
 
-	@$(call install_alternative, proftpd, 0, 0, 0644, /etc/proftpd.conf)
+	@$(call install_config, proftpd, 0, 0, 0644, /etc/proftpd.conf)
 
 #	#
 #	# busybox init
diff --git a/rules/pureftpd.make b/rules/pureftpd.make
index 4760507..09a6e60 100644
--- a/rules/pureftpd.make
+++ b/rules/pureftpd.make
@@ -115,7 +115,7 @@ $(STATEDIR)/pureftpd.targetinstall:
 	@$(call install_copy, pureftpd, 0, 0, 0755, -, \
 		/usr/sbin/pure-ftpd)
 
-	@$(call install_alternative, pureftpd, 0, 0, 0644, /etc/pure-ftpd.conf)
+	@$(call install_config, pureftpd, 0, 0, 0644, /etc/pure-ftpd.conf)
 
 ifdef PTXCONF_PUREFTPD_UPLOADSCRIPT
 	@$(call install_copy, pureftpd, 0, 0, 0755, -, \
diff --git a/rules/qt4-demos.make b/rules/qt4-demos.make
index aaf5248..be50616 100644
--- a/rules/qt4-demos.make
+++ b/rules/qt4-demos.make
@@ -172,7 +172,7 @@ ifdef PTXCONF_QT4_DEMOS_EMBEDDED_FLUIDLAUNCHER_LOCALCONFIG
 	@$(call install_tree, qt4-demos, 0, 0, \
 		${PTXDIST_WORKSPACE}/projectroot$(PTXCONF_QT4_DEMOS_INSTALL_DIR)/embedded/fluidlauncher/slides, \
 		$(PTXCONF_QT4_DEMOS_INSTALL_DIR)/embedded/fluidlauncher/slides)
-	@$(call install_alternative, qt4-demos, 0, 0, 0644, \
+	@$(call install_config, qt4-demos, 0, 0, 0644, \
 		$(PTXCONF_QT4_DEMOS_INSTALL_DIR)/embedded/fluidlauncher/config.xml)
 else
 	@$(call install_tree, qt4-demos, 0, 0, \
diff --git a/rules/qt4.make b/rules/qt4.make
index 97725b6..2c46a9b 100644
--- a/rules/qt4.make
+++ b/rules/qt4.make
@@ -572,7 +572,7 @@ endif
 			/usr/lib/fonts/$(font));)
 
 ifdef PTXCONF_PRELINK
-	@$(call install_alternative, qt4, 0, 0, 0644, \
+	@$(call install_config, qt4, 0, 0, 0644, \
 		/etc/prelink.conf.d/qt4)
 endif
 
diff --git a/rules/readline.make b/rules/readline.make
index d5a8ec0..deed2fa 100644
--- a/rules/readline.make
+++ b/rules/readline.make
@@ -66,7 +66,7 @@ $(STATEDIR)/readline.targetinstall:
 	@$(call install_lib, readline, 0, 0, 0644, libreadline)
 
 ifdef PTXCONF_READLINE_ETC_INPUTRC
-	@$(call install_alternative, readline, 0, 0, 0644, /etc/inputrc)
+	@$(call install_config, readline, 0, 0, 0644, /etc/inputrc)
 endif
 	@$(call install_finish, readline)
 
diff --git a/rules/rootfs.make b/rules/rootfs.make
index ed30235..6ba6a6a 100644
--- a/rules/rootfs.make
+++ b/rules/rootfs.make
@@ -128,22 +128,22 @@ endif
 #	# install files in rootfs
 #	#
 ifdef PTXCONF_ROOTFS_PASSWD
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/passwd)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/passwd)
 endif
 ifdef PTXCONF_ROOTFS_SHADOW
-	@$(call install_alternative, rootfs, 0, 0, 0640, /etc/shadow)
+	@$(call install_config, rootfs, 0, 0, 0640, /etc/shadow)
 endif
 ifdef PTXCONF_ROOTFS_GROUP
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/group)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/group)
 endif
 ifdef PTXCONF_ROOTFS_GSHADOW
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/gshadow)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/gshadow)
 endif
 ifdef PTXCONF_ROOTFS_FSTAB
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/fstab)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/fstab)
 endif
 ifdef PTXCONF_ROOTFS_MTAB_FILE
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/mtab)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/mtab)
 endif
 ifdef PTXCONF_ROOTFS_MTAB_LINK_MOUNTS
 	@$(call install_link, rootfs, /proc/mounts, /etc/mtab)
@@ -157,14 +157,14 @@ ifdef PTXCONF_ROOTFS_MTAB_LINK_VAR
 	@$(call install_link, rootfs, /var/tmp/mtab, /etc/mtab)
 endif
 ifdef PTXCONF_ROOTFS_HOSTNAME
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/hostname)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/hostname)
 	@$(call install_replace, rootfs, /etc/hostname, \
 		@HOSTNAME@, \
 		$(call remove_quotes,$(PTXCONF_ROOTFS_ETC_HOSTNAME)))
 endif
 # must be after HOSTNAME!
 ifdef PTXCONF_ROOTFS_ISSUE
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/issue)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/issue)
 
 	@$(call install_replace, rootfs, /etc/issue, \
 		@PROJECT@, $(PTXCONF_PROJECT))
@@ -200,23 +200,23 @@ ifdef PTXCONF_ROOTFS_ISSUE
 endif
 
 ifdef PTXCONF_ROOTFS_HOSTS
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/hosts)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/hosts)
 endif
 ifdef PTXCONF_ROOTFS_MODPROBE_CONF
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/modprobe.conf)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/modprobe.conf)
 endif
 ifdef PTXCONF_ROOTFS_NSSWITCH_CONF
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/nsswitch.conf)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/nsswitch.conf)
 endif
 ifdef PTXCONF_ROOTFS_PROFILE
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/profile)
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/profile.environment)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/profile)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/profile.environment)
 endif
 ifdef PTXCONF_ROOTFS_PROTOCOLS
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/protocols)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/protocols)
 endif
 ifdef PTXCONF_ROOTFS_RESOLV
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/resolv.conf)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/resolv.conf)
 #	# replace either by PTXCONF_BOARDSETUP_GATEWAY or nothing if not defined
 ifneq ($(PTXCONF_BOARDSETUP_GATEWAY),)
 	@$(call install_replace, rootfs, /etc/resolv.conf, \
@@ -227,7 +227,7 @@ else
 endif
 endif
 ifdef PTXCONF_ROOTFS_SERVICES
-	@$(call install_alternative, rootfs, 0, 0, 0644, /etc/services)
+	@$(call install_config, rootfs, 0, 0, 0644, /etc/services)
 endif
 
 	@$(call install_finish, rootfs)
diff --git a/rules/rsync.make b/rules/rsync.make
index 1aac4d0..a991777 100644
--- a/rules/rsync.make
+++ b/rules/rsync.make
@@ -74,8 +74,8 @@ $(STATEDIR)/rsync.targetinstall:
 	@$(call install_copy, rsync, 0, 0, 0755, -, \
 		/usr/bin/rsync)
 
-	@$(call install_alternative, rsync, 0, 0, 0644, /etc/rsyncd.conf, n)
-	@$(call install_alternative, rsync, 0, 0, 0644, /etc/rsyncd.secrets, n)
+	@$(call install_config, rsync, 0, 0, 0644, /etc/rsyncd.conf, n)
+	@$(call install_config, rsync, 0, 0, 0644, /etc/rsyncd.secrets, n)
 
 ifdef PTXCONF_RSYNC_STARTUP_TYPE_STANDALONE
 ifdef PTXCONF_INITMETHOD_BBINIT
@@ -95,7 +95,7 @@ endif
 endif
 
 ifdef PTXCONF_RSYNC_INETD_SERVER
-	@$(call install_alternative, rsync, 0, 0, 0644, /etc/inetd.conf.d/rsync, n)
+	@$(call install_config, rsync, 0, 0, 0644, /etc/inetd.conf.d/rsync, n)
 	@$(call install_replace, rsync, /etc/inetd.conf.d/rsync, \
 		@CONFIG@, "--config=$(PTXCONF_RSYNC_CONFIG_FILE)" )
 endif
diff --git a/rules/rsync3.make b/rules/rsync3.make
index b6a7192..caebb83 100644
--- a/rules/rsync3.make
+++ b/rules/rsync3.make
@@ -71,8 +71,8 @@ $(STATEDIR)/rsync3.targetinstall:
 	@$(call install_copy, rsync3, 0, 0, 0755, -, \
 		/usr/bin/rsync)
 
-	@$(call install_alternative, rsync3, 0, 0, 0644, /etc/rsyncd.conf, n)
-	@$(call install_alternative, rsync3, 0, 0, 0640, /etc/rsyncd.secrets, n)
+	@$(call install_config, rsync3, 0, 0, 0644, /etc/rsyncd.conf, n)
+	@$(call install_config, rsync3, 0, 0, 0640, /etc/rsyncd.secrets, n)
 
 	#
 	# busybox init
diff --git a/rules/rsyslog.make b/rules/rsyslog.make
index 6cb847a..11e785e 100644
--- a/rules/rsyslog.make
+++ b/rules/rsyslog.make
@@ -131,7 +131,7 @@ $(STATEDIR)/rsyslog.targetinstall:
 
 	@$(call install_copy, rsyslog, 0, 0, 0755, -, /usr/sbin/rsyslogd)
 
-	@$(call install_alternative, rsyslog, 0, 0, 0644, /etc/rsyslog.conf)
+	@$(call install_config, rsyslog, 0, 0, 0644, /etc/rsyslog.conf)
 
 ifdef PTXCONF_RSYSLOG_SYSTEMD_UNIT
 	@$(call install_copy, rsyslog, 0, 0, 0644, -, \
diff --git a/rules/samba.make b/rules/samba.make
index f0d1233..d43aaf9 100644
--- a/rules/samba.make
+++ b/rules/samba.make
@@ -170,12 +170,12 @@ ifdef PTXCONF_SAMBA_SERVER
 endif
 
 ifdef PTXCONF_SAMBA_SMB_CONF
-	@$(call install_alternative, samba, 0, 0, 0644, \
+	@$(call install_config, samba, 0, 0, 0644, \
 		/etc/samba/smb.conf)
 endif
 
 ifdef PTXCONF_SAMBA_SECRETS_USER
-	@$(call install_alternative, samba, 0, 0, 0600, \
+	@$(call install_config, samba, 0, 0, 0600, \
 		/etc/samba/secrets.tdb)
 endif
 
diff --git a/rules/screen.make b/rules/screen.make
index 232e4b8..449fa55 100644
--- a/rules/screen.make
+++ b/rules/screen.make
@@ -62,7 +62,7 @@ $(STATEDIR)/screen.targetinstall:
 	@$(call install_copy, screen, 0, 0, 0755, -, /usr/bin/screen)
 
 ifdef PTXCONF_SCREEN_ETC_SCREENRC
-	@$(call install_alternative, screen, 0, 0, 0644, /etc/screenrc, n)
+	@$(call install_config, screen, 0, 0, 0644, /etc/screenrc, n)
 endif
 
 	@$(call install_finish, screen)
diff --git a/rules/smartmontools.make b/rules/smartmontools.make
index 8074c03..f1fd521 100644
--- a/rules/smartmontools.make
+++ b/rules/smartmontools.make
@@ -65,7 +65,7 @@ ifdef PTXCONF_SMARTMONTOOLS_SMARTD
 	@$(call install_copy, smartmontools, 0, 0, 0755, -, /usr/sbin/smartd)
 endif
 ifdef PTXCONF_SMARTMONTOOLS_SMARTD_CONFIG
-	@$(call install_alternative, smartmontools, 0, 0, 0644, /etc/smartd.conf)
+	@$(call install_config, smartmontools, 0, 0, 0644, /etc/smartd.conf)
 endif
 ifdef PTXCONF_SMARTMONTOOLS_SMARTD_INITD
 	@$(call install_alternative, smartmontools, 0, 0, 0755, /etc/init.d/smartd)
diff --git a/rules/sudo.make b/rules/sudo.make
index 428d92b..40f0b31 100644
--- a/rules/sudo.make
+++ b/rules/sudo.make
@@ -151,7 +151,7 @@ $(STATEDIR)/sudo.targetinstall:
 		/usr/libexec/sudo_noexec.so)
 
 ifdef PTXCONF_SUDO_INSTALL_ETC_SUDOERS
-	@$(call install_alternative, sudo, 0, 0, 0440, /etc/sudoers, n)
+	@$(call install_config, sudo, 0, 0, 0440, /etc/sudoers, n)
 endif
 
 ifdef PTXCONF_SUDO_INSTALL_VISUDO
diff --git a/rules/syslogng.make b/rules/syslogng.make
index f260378..abd2dd1 100644
--- a/rules/syslogng.make
+++ b/rules/syslogng.make
@@ -84,7 +84,7 @@ $(STATEDIR)/syslogng.targetinstall:
 
 #	# config
 ifdef PTXCONF_SYSLOGNG_CONFIG
-	@$(call install_alternative, syslogng, 0, 0, 0644, /etc/syslog-ng.conf, n)
+	@$(call install_config, syslogng, 0, 0, 0644, /etc/syslog-ng.conf, n)
 endif
 
 #	# bb init: start scripts
diff --git a/rules/systemd.make b/rules/systemd.make
index 140b267..bd9796a 100644
--- a/rules/systemd.make
+++ b/rules/systemd.make
@@ -137,7 +137,7 @@ endif
 	# units
 	@$(call install_tree, systemd, 0, 0, -, /lib/systemd)
 
-	@$(call install_alternative, systemd, 0, 0, 0644, /etc/vconsole.conf)
+	@$(call install_config, systemd, 0, 0, 0644, /etc/vconsole.conf)
 
 	# systemd expects this directory to exist.
 	@$(call install_copy, systemd, 0, 0, 0755, /var/cache/man)
diff --git a/rules/tcpwrapper.make b/rules/tcpwrapper.make
index dc0f459..1468aaf 100644
--- a/rules/tcpwrapper.make
+++ b/rules/tcpwrapper.make
@@ -70,8 +70,8 @@ ifdef PTXCONF_TCPWRAPPER_INSTALL_TCPD
 endif
 
 ifdef PTXCONF_TCPWRAPPER_INSTALL_HOSTS_ACCESS_CONFIGS
-	@$(call install_alternative, tcpwrapper, 0, 0, 0644, /etc/hosts.allow)
-	@$(call install_alternative, tcpwrapper, 0, 0, 0644, /etc/hosts.deny)
+	@$(call install_config, tcpwrapper, 0, 0, 0644, /etc/hosts.allow)
+	@$(call install_config, tcpwrapper, 0, 0, 0644, /etc/hosts.deny)
 endif
 
 	@$(call install_finish, tcpwrapper)
diff --git a/rules/tslib.make b/rules/tslib.make
index 9744214..b305d51 100644
--- a/rules/tslib.make
+++ b/rules/tslib.make
@@ -58,7 +58,7 @@ $(STATEDIR)/tslib.targetinstall:
 	@$(call install_fixup, tslib,AUTHOR,"Robert Schwebel <r.schwebel@pengutronix.de>")
 	@$(call install_fixup, tslib,DESCRIPTION,missing)
 
-	@$(call install_alternative, tslib, 0, 0, 0644, \
+	@$(call install_config, tslib, 0, 0, 0644, \
 		/etc/ts.conf)
 
 	@$(call install_lib, tslib, 0, 0, 0644, libts-0.0)
diff --git a/rules/u-boot-tools.make b/rules/u-boot-tools.make
index 937a49d..20d2028 100644
--- a/rules/u-boot-tools.make
+++ b/rules/u-boot-tools.make
@@ -72,7 +72,7 @@ endif
 ifdef PTXCONF_U_BOOT_TOOLS_TOOL_ENV
 	@$(call install_copy, u-boot-tools, 0, 0, 0755, -, /usr/sbin/fw_printenv)
 	@$(call install_link, u-boot-tools, fw_printenv, /usr/sbin/fw_setenv)
-	@$(call install_alternative, u-boot-tools, 0, 0, 0644, /etc/fw_env.config)
+	@$(call install_config, u-boot-tools, 0, 0, 0644, /etc/fw_env.config)
 endif
 
 	@$(call install_finish, u-boot-tools)
diff --git a/rules/udev.make b/rules/udev.make
index 6a99204..f150530 100644
--- a/rules/udev.make
+++ b/rules/udev.make
@@ -142,7 +142,7 @@ $(STATEDIR)/udev.targetinstall:
 	@$(call install_fixup, udev,DESCRIPTION,missing)
 
 ifdef PTXCONF_UDEV_ETC_CONF
-	@$(call install_alternative, udev, 0, 0, 0644, /etc/udev/udev.conf)
+	@$(call install_config, udev, 0, 0, 0644, /etc/udev/udev.conf)
 endif
 
 ifdef PTXCONF_UDEV_LEGACY
@@ -204,10 +204,10 @@ ifneq ($(call remove_quotes,$(PTXCONF_UDEV_BBINIT_LINK)),)
 endif
 endif
 ifdef PTXCONF_INITMETHOD_UPSTART
-	@$(call install_alternative, udev, 0, 0, 0644, /etc/init/udev.conf)
-	@$(call install_alternative, udev, 0, 0, 0644, /etc/init/udevmonitor.conf)
-	@$(call install_alternative, udev, 0, 0, 0644, /etc/init/udevtrigger.conf)
-	@$(call install_alternative, udev, 0, 0, 0644, /etc/init/udev-finish.conf)
+	@$(call install_config, udev, 0, 0, 0644, /etc/init/udev.conf)
+	@$(call install_config, udev, 0, 0, 0644, /etc/init/udevmonitor.conf)
+	@$(call install_config, udev, 0, 0, 0644, /etc/init/udevtrigger.conf)
+	@$(call install_config, udev, 0, 0, 0644, /etc/init/udev-finish.conf)
 endif
 endif
 ifdef PTXCONF_UDEV_SYSTEMD
diff --git a/rules/upstart.make b/rules/upstart.make
index efe1412..05b1721 100644
--- a/rules/upstart.make
+++ b/rules/upstart.make
@@ -94,18 +94,18 @@ $(STATEDIR)/upstart.targetinstall:
 
 	@$(call install_copy, upstart, 0, 0, 0644, -, /etc/dbus-1/system.d/Upstart.conf)
 
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/rcS.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/rc.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/mount.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/networking.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/network-interface.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/hostname.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/ttyS.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/syslogd.conf)
-
-	@$(call install_alternative, upstart, 0, 0, 0755, /etc/network/interfaces)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/init/loadmodules.conf)
-	@$(call install_alternative, upstart, 0, 0, 0644, /etc/modules)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/rcS.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/rc.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/mount.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/networking.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/network-interface.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/hostname.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/ttyS.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/syslogd.conf)
+
+	@$(call install_config, upstart, 0, 0, 0755, /etc/network/interfaces)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/init/loadmodules.conf)
+	@$(call install_config, upstart, 0, 0, 0644, /etc/modules)
 	@$(call install_finish, upstart)
 
 	@$(call touch)
diff --git a/rules/watchdog.make b/rules/watchdog.make
index a8dbec9..2f2e3ed 100644
--- a/rules/watchdog.make
+++ b/rules/watchdog.make
@@ -52,7 +52,7 @@ $(STATEDIR)/watchdog.targetinstall:
 	@$(call install_fixup, watchdog,AUTHOR,"Jon Ringle")
 	@$(call install_fixup, watchdog,DESCRIPTION,missing)
 
-	@$(call install_alternative, watchdog, 0, 0, 0644, /etc/watchdog.conf)
+	@$(call install_config, watchdog, 0, 0, 0644, /etc/watchdog.conf)
 	@$(call install_copy, watchdog, 0, 0, 0755, -, /usr/sbin/watchdog)
 
 	@$(call install_finish, watchdog)
diff --git a/rules/wpa_supplicant.make b/rules/wpa_supplicant.make
index 03a043a..d53b02b 100644
--- a/rules/wpa_supplicant.make
+++ b/rules/wpa_supplicant.make
@@ -122,7 +122,7 @@ $(STATEDIR)/wpa_supplicant.targetinstall:
 		/sbin/wpa_cli)
 
 ifdef PTXCONF_WPA_SUPPLICANT_CTRL_IFACE_DBUS
-	@$(call install_alternative, wpa_supplicant, 0, 0, 0644, \
+	@$(call install_config, wpa_supplicant, 0, 0, 0644, \
 		/etc/dbus-1/system.d/wpa_supplicant.conf)
 	@$(call install_alternative, wpa_supplicant, 0, 0, 0644, \
 		/usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service)
diff --git a/rules/xorg-server.make b/rules/xorg-server.make
index 5a20e3d..78350c3 100644
--- a/rules/xorg-server.make
+++ b/rules/xorg-server.make
@@ -382,12 +382,12 @@ $(STATEDIR)/xorg-server.targetinstall:
 	@$(call install_fixup, xorg-server,DESCRIPTION,missing)
 
 ifdef PTXCONF_XORG_SERVER_CONFIG_FILES_XORG_CONF
-	@$(call install_alternative, xorg-server, 0, 0, 0644, \
+	@$(call install_config, xorg-server, 0, 0, 0644, \
 		/etc/X11/xorg.conf)
 endif
 
 ifdef PTXCONF_PRELINK
-	@$(call install_alternative, xorg-server, 0, 0, 0644, \
+	@$(call install_config, xorg-server, 0, 0, 0644, \
 		/etc/prelink.conf.d/xorg)
 endif
 
-- 
1.7.2.5


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH] Change some install_alternative to install_config
  2012-03-14 15:10 [ptxdist] [PATCH] Change some install_alternative to install_config Benoît Burnichon
@ 2012-03-14 21:08 ` George McCollister
  2012-03-15  9:43   ` Michael Olbrich
  0 siblings, 1 reply; 4+ messages in thread
From: George McCollister @ 2012-03-14 21:08 UTC (permalink / raw)
  To: ptxdist

On 03/14/2012 10:10 AM, Benoît Burnichon wrote:
> To avoid loss of configuration when upgrading packages with default
> configurations.
This is a tricky subject. On some embedded systems it may be expected 
for a user or configuration utility to change some configs while not 
other configs. On some embedded systems it may be impossible (or 
unlikely) for the user to modify configurations.

When a package is upgraded sometimes new configuration options are added 
and sometimes they are deleted, sometimes the format of the 
configuration is changed entirely or moved to a different location. 
Other times the upgrade is just a maintenance release and only contains 
minor fixes.

If you mark a file as a config file by default opkg won't upgrade that 
file during a package upgrade, even if the user never made any 
modifications. At this point you are basically deciding to leave the 
original file unchanged and putting the burden of merging old and new 
config files on the user.

We've dealt with this by leaving install_alternative for all config 
files by default and only making custom rules with install_config for 
files we intend for users to change. For our device it makes sense for 
instance that a user may want to modify ntp.conf to add an ntp time 
source (we provide a web based utility to do this), yet it makes no 
sense for a user to change the dbus configuration. If during the course 
of a version upgrade a configuration option is renamed, eliminated or 
added, we provide a .postinstall script to modify the user configuration 
and make the required changes so the user doesn't end up with a broken 
device.

Ultimately I think a better frame work is needed to handle management of 
configs. Suppose your user wants to backup his device's configuration 
files to a PC. Then suppose said user's device is burnt to a crisp when 
lightning strikes an improperly arrested antenna (this has happened). He 
orders replacement but it arrives with new firmware. He sends his backed 
up config files to it from a and it doesn't work because the name of a 
setting in one of the config files changed.

Ideally you could provide a single script to migrate a config file from 
one package version to another. This script could be used when the 
package is upgraded OR when users send configuration files to the device.

Regards,
George McCollister


-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH] Change some install_alternative to install_config
  2012-03-14 21:08 ` George McCollister
@ 2012-03-15  9:43   ` Michael Olbrich
  2012-03-15 10:14     ` Benoît BURNICHON
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Olbrich @ 2012-03-15  9:43 UTC (permalink / raw)
  To: ptxdist

On Wed, Mar 14, 2012 at 04:08:42PM -0500, George McCollister wrote:
> On 03/14/2012 10:10 AM, Benoît Burnichon wrote:
> >To avoid loss of configuration when upgrading packages with default
> >configurations.
> This is a tricky subject. On some embedded systems it may be
> expected for a user or configuration utility to change some configs
> while not other configs. On some embedded systems it may be
> impossible (or unlikely) for the user to modify configurations.
> 
> When a package is upgraded sometimes new configuration options are
> added and sometimes they are deleted, sometimes the format of the
> configuration is changed entirely or moved to a different location.
> Other times the upgrade is just a maintenance release and only
> contains minor fixes.
> 
> If you mark a file as a config file by default opkg won't upgrade
> that file during a package upgrade, even if the user never made any
> modifications. At this point you are basically deciding to leave the
> original file unchanged and putting the burden of merging old and
> new config files on the user.

Exactly, and last time I checked opkg didn't have a way to forcefully
overwrite the old config file without prompting.

> We've dealt with this by leaving install_alternative for all config
> files by default and only making custom rules with install_config
> for files we intend for users to change. For our device it makes
> sense for instance that a user may want to modify ntp.conf to add an
> ntp time source (we provide a web based utility to do this), yet it
> makes no sense for a user to change the dbus configuration. If
> during the course of a version upgrade a configuration option is
> renamed, eliminated or added, we provide a .postinstall script to
> modify the user configuration and make the required changes so the
> user doesn't end up with a broken device.
> 
> Ultimately I think a better frame work is needed to handle
> management of configs. Suppose your user wants to backup his
> device's configuration files to a PC. Then suppose said user's
> device is burnt to a crisp when lightning strikes an improperly
> arrested antenna (this has happened). He orders replacement but it
> arrives with new firmware. He sends his backed up config files to it
> from a and it doesn't work because the name of a setting in one of
> the config files changed.
> 
> Ideally you could provide a single script to migrate a config file
> from one package version to another. This script could be used when
> the package is upgraded OR when users send configuration files to
> the device.

An idea I just had: maybe introduce a new install_* command. And then,
depending on an option in ptxconfig, install the file as a config file or
not. Also, you'll need to create individual patches for each package, and
the current patch contains far too many files that are certainly not meant
to be changed by the user.

Michael

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH] Change some install_alternative to install_config
  2012-03-15  9:43   ` Michael Olbrich
@ 2012-03-15 10:14     ` Benoît BURNICHON
  0 siblings, 0 replies; 4+ messages in thread
From: Benoît BURNICHON @ 2012-03-15 10:14 UTC (permalink / raw)
  To: ptxdist

> > If you mark a file as a config file by default opkg won't upgrade
> > that file during a package upgrade, even if the user never made any
> > modifications. At this point you are basically deciding to leave the
> > original file unchanged and putting the burden of merging old and
> > new config files on the user.
>
> Exactly, and last time I checked opkg didn't have a way to forcefully
> overwrite the old config file without prompting.
>

I did not checked into opkg's code but there supposed to be a '-force-maintainer' option to do this. Otherwise the '-force-default' prevents prompting before leaving the file as is.

So, if opkg is run manually without arguments (apart the install or upgrade command), it will prompt before leaving a file as is and check with diff what has actually changed between the two versions.

> > We've dealt with this by leaving install_alternative for all config
> > files by default and only making custom rules with install_config
> > for files we intend for users to change. For our device it makes
> > sense for instance that a user may want to modify ntp.conf to add an
> > ntp time source (we provide a web based utility to do this), yet it
> > makes no sense for a user to change the dbus configuration. If
> > during the course of a version upgrade a configuration option is
> > renamed, eliminated or added, we provide a .postinstall script to
> > modify the user configuration and make the required changes so the
> > user doesn't end up with a broken device.
> >
The way it is does not prevent the maintainer to provide such a script on a config file. Actually, it is done like this on a debian distribution, isn't it ? I think that maybe a prerm script is then needed to check the validity of the current config file. If it has not changed, delete it and take the one in the package. If it is upgradable, perform the upgrade in a tmp config file and postinst script install this tmp config file back to its place.

> > Ultimately I think a better frame work is needed to handle
> > management of configs. Suppose your user wants to backup his
> > device's configuration files to a PC. Then suppose said user's
> > device is burnt to a crisp when lightning strikes an improperly
> > arrested antenna (this has happened). He orders replacement but it
> > arrives with new firmware. He sends his backed up config files to it
> > from a and it doesn't work because the name of a setting in one of
> > the config files changed.
> >

I totally agree with that. We developed a script that records all needed configurations files at the same place as well as original configuration to be able to return to a known state (with the funny 'configator' nick name...)

We do have had issues with ipkg upgrade because it replaced the ipkg.conf config as well as the /etc/network/interfaces file. I would have preferred the upgrading process to stop instead of having all packages in their default configuration.


> > Ideally you could provide a single script to migrate a config file
> > from one package version to another. This script could be used when
> > the package is upgraded OR when users send configuration files to
> > the device.
>
> An idea I just had: maybe introduce a new install_* command. And then,
> depending on an option in ptxconfig, install the file as a config file or
> not. Also, you'll need to create individual patches for each package, and
> the current patch contains far too many files that are certainly not meant
> to be changed by the user.
>

I have grepped all install_alternative in the rule directory and changing the ones I suppose should be install_config. It can be split into a big bunch of packages patches but I did not want to flood the ptxdist mailing list.


Ben

________________________________

Ce courriel et toutes les pièces jointes sont confidentiels et peuvent être couverts par un privilège ou une protection légale. Il est établi à l’attention exclusive de ses destinataires. Toute utilisation de ce courriel non conforme à sa destination, toute diffusion ou toute publication, totale ou partielle, est interdite, sauf autorisation expresse préalable.
This email and any attachment are confidential and may be legally privileged or otherwise protected from disclosure. It is intended only for the stated addressee(s) and access to it by any other person(s) is unauthorized. Any use, dissemination or disclosure not in accordance with its purpose, either in whole or in part, is prohibited without our prior formal approval.
-- 
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-03-15 10:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-14 15:10 [ptxdist] [PATCH] Change some install_alternative to install_config Benoît Burnichon
2012-03-14 21:08 ` George McCollister
2012-03-15  9:43   ` Michael Olbrich
2012-03-15 10:14     ` Benoît BURNICHON

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox