#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@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@yawn ~]$ sudo rm /Library/LaunchDaemons/org.macports.apache2.plist }}} {{{ [jhermansen@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