From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031030 Description of problem: After upgrading from RH9 to Fedora I ended up with two ntp rpms. rpm -qa | grep ntp- ntp-4.1.2-5 ntp-4.1.2-0.rc1.2 ========= upgrade.log ================ Upgrading ntp-4.1.2-5.i386. warning: /etc/ntp.conf created as /etc/ntp.conf.rpmnew error: %post(ntp-4.1.2-5) scriptlet failed, exit status 1 I installed FC1 on Nov 8th. -rw-r--r-- 1 root root 2875 Nov 8 20:20 /etc/ntp.conf (in spite of the date, this is from the older version) -rw-r--r-- 1 root root 2798 Oct 29 11:07 /etc/ntp.conf.rpmnew (in spite of the date, this is from the newer version) Version-Release number of selected component (if applicable): How reproducible: Didn't try Steps to Reproduce: 1. upgrade to FC1 from RH9 with a previous version of NTP 2. 3. Actual Results: As described above Expected Results: One version of NTP instead of two installed Additional info:
Using these steps below I can duplicate the problem every time. If the step below "vi ntp.conf" is skipped then the problem does not occur so it seems that if the ntp.conf is changed between revisions then the install gets hosed and the two versions are then retained. Regards, Mike Klinke ===================================================== 16:28:35 # ll /etc/ntp* -rw-r--r-- 1 root root 2875 Nov 17 22:20 /etc/ntp.conf.bak /etc/ntp: total 0 16:28:47 # rpm -qa | grep ntp- 16:29:18 # rpm -ivh /usr/src/redhat/RPMS/i386/ntp-4.1.2-0.rc1.2.i386.rpm Preparing... ######################### [100%] 1:ntp ######################### [100%] 16:31:04 # vi ntp.conf (To change the file for the correct server) 16:37:03 # up2date --nox -u ntp Fetching package list for channel: fedora-core-1... Fetching http://fedora.redhat.com/releases/fedora-core-1/headers/header.info... ######################################## Fetching package list for channel: updates-released... Fetching http://fedora.redhat.com/updates/released/fedora-core-1/headers/header.info... ######################################## Fetching Obsoletes list for channel: fedora-core-1... Fetching Obsoletes list for channel: updates-released... Fetching rpm headers... ######################################## Name Version Rel ---------------------------------------------------------- ntp 4.1.2 5 i386 Testing package set / solving RPM inter-dependencies... ######################################## ntp-4.1.2-5.i386.rpm: ################ Done. Preparing ################ [100%] Installing... 1:ntp ################ [100%] 16:38:58 # ll ntp* -rw-r--r-- 1 root root 2808 Nov 19 16:38 ntp.conf -rw-r--r-- 1 root root 2875 Nov 17 22:20 ntp.conf.bak -rw-r--r-- 1 root root 2798 Oct 29 11:07 ntp.conf.rpmnew ntp: total 8 -rw-r--r-- 1 ntp ntp 4 Feb 13 2003 drift -rw------- 1 root root 266 Oct 29 11:07 keys -rw-r--r-- 1 root root 0 Oct 29 11:07 step-tickers 16:39:03 # rpm -qa | grep ntp- ntp-4.1.2-0.rc1.2 ntp-4.1.2-5
Created attachment 96073 [details] rpm -U -vv output when upgrade fails
Created attachment 96074 [details] interpretation of rpm -vv output, postinstall scriptlet problem also posted to fedora-list
doh :-/ added ":" at the end... Thx all!
This problem persists in RHEL4. See the %post script below, which will always return non-zero of ntpd is not running - e.g. during a system upgrade. The result is this in upgrade.log: error: %post(ntp-4.2.0.a.20040617-4.i386) scriptlet failed, exit status 1 and a pair of ntp rpms installed. /sbin/chkconfig --add ntpd if [ "$1" -ge "1" ]; then grep /etc/ntp/drift /etc/ntp.conf > /dev/null 2>&1 olddrift=$? if [ $olddrift -eq 0 ]; then service ntpd status > /dev/null 2>&1 wasrunning=$? # let ntp save the actual drift [ $wasrunning -eq 0 ] && service ntpd stop > /dev/null 2>&1 # copy the driftfile to the new location [ -f /etc/ntp/drift ] \ && cp /etc/ntp/drift /var/lib/ntp/drift # change the path in the config file sed -e 's#/etc/ntp/drift#/var/lib/ntp/drift#g' \ /etc/ntp.conf > /etc/ntp.conf.rpmupdate \ && mv /etc/ntp.conf.rpmupdate /etc/ntp.conf # remove the temp file rm -f /etc/ntp.conf.rpmupdate # start ntp if it was running previously [ $wasrunning -eq 0 ] && service ntpd start > /dev/null 2>&1 fi fi