[MacPorts] #29952: 'port -f activate' doesn't force file overwrite

MacPorts noreply at macports.org
Tue Jun 28 06:09:31 PDT 2011


#29952: 'port -f activate' doesn't force file overwrite
-------------------------------------+--------------------------------------
 Reporter:  jon.hermansen@…          |       Owner:  macports-tickets@…                   
     Type:  defect                   |      Status:  new                                  
 Priority:  Normal                   |   Milestone:                                       
Component:  base                     |     Version:  1.9.99                               
 Keywords:                           |        Port:                                       
-------------------------------------+--------------------------------------
 In this case, installing apache2 with some variants bails like so:

 {{{
 x ./opt/local/apache2/bin/rotatelogs
 x ./Library/LaunchDaemons/
 x ./Library/LaunchDaemons/org.macports.apache2.plist
 Error: Target org.macports.activate returned: Image error:
 /Library/LaunchDaemons/org.macports.apache2.plist already exists and does
 not belong to a registered port.  Unable to activate port apache2. Use
 'port -f activate apache2' to force the activation.
 DEBUG: Backtrace: Image error:
 /Library/LaunchDaemons/org.macports.apache2.plist already exists and does
 not belong to a registered port.  Unable to activate port apache2. Use
 'port -f activate apache2' to force the activation.
     invoked from within
 "throw registry::image-error "Image error: $file already exists and does
 not belong to a registered port.  Unable to activate port [$port name].
 Use 'p..."
     ("foreach" body line 47)
     invoked from within
 "foreach file $imagefiles {
                 set srcfile "${extracted_dir}${file}"

                 # To be able to install links, we test if we can lst..."
     invoked from within
 "registry::write {
             foreach file $imagefiles {
                 set srcfile "${extracted_dir}${file}"

                 # To be able to instal..."
     invoked from within
 "try {
         registry::write {
             foreach file $imagefiles {
                 set srcfile "${extracted_dir}${file}"

                 # To be ..."
     (procedure "_activate_contents" line 21)
     invoked from within
 "_activate_contents $requested"
     (procedure "portimage::activate" line 57)
     invoked from within
 "registry_activate $subport $version $revision $portvariants [array get
 user_options]"
     (procedure "portactivate::activate_main" line 4)
     invoked from within
 "$procedure $targetname"
 Warning: the following items did not execute (for apache2):
 org.macports.activate
 Log for apache2 is at:
 /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_www_apache2/apache2/main.log
 Error: Status 1 encountered during processing.
 To report a bug, see <http://guide.macports.org/#project.tickets>
 }}}

 I try to force the activation:

 {{{
 [jhermansen at yawn ~]$ sudo port -f activate apache2
 --->  Computing dependencies for apache2
 --->  Activating apache2 @2.2.19_0+eventmpm+openldap+universal
 Error: Target org.macports.activate returned: error renaming
 "/tmp/mpextractQh1B5Qei/Library/LaunchDaemons/org.macports.apache2.plist"
 to "/Library/LaunchDaemons/org.macports.apache2.plist": file already
 exists
 Log for apache2 is at:
 /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_apache2_2.2.19_0+eventmpm+openldap+universal/apache2/main.log
 Warning: Failed to execute portfile from registry for apache2
 @2.2.19_0+eventmpm+openldap+universal
 --->  Activating apache2 @2.2.19_0+eventmpm+openldap+universal
 Error: port activate failed: error renaming
 "/tmp/mpextractRde4HE1a/Library/LaunchDaemons/org.macports.apache2.plist"
 to "/Library/LaunchDaemons/org.macports.apache2.plist": file already
 exists
 }}}

 which doesn't work. This does:

 {{{
 [jhermansen at yawn ~]$ sudo rm
 /Library/LaunchDaemons/org.macports.apache2.plist
 }}}
 {{{
 [jhermansen at yawn ~]$ sudo port -f activate apache2
 --->  Computing dependencies for apache2
 --->  Activating apache2 @2.2.19_0+eventmpm+openldap+universal
 --->  Cleaning apache2
 }}}

-- 
Ticket URL: <https://trac.macports.org/ticket/29952>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list