[MacPorts] #50923: htcondor: unregistered files installed on user systems

MacPorts noreply at macports.org
Fri Mar 18 09:16:43 PDT 2016


#50923: htcondor: unregistered files installed on user systems
--------------------------+-----------------------
 Reporter:  ryandesign@…  |      Owner:  aronnax@…
     Type:  defect        |     Status:  new
 Priority:  Normal        |  Milestone:
Component:  ports         |    Version:  2.3.4
 Keywords:                |       Port:  htcondor
--------------------------+-----------------------
 These unexpected files are present on the buildbot workers:

 {{{
 $ ls -l /opt/local/{bosco_install,condor_configure,condor_install}
 lrwxr-xr-x  1 root  admin  20 Jun  9  2013 /opt/local/bosco_install ->
 ./sbin/bosco_install
 lrwxr-xr-x  1 root  admin  23 Apr 15  2013 /opt/local/condor_configure ->
 ./sbin/condor_configure
 lrwxr-xr-x  1 root  admin  21 Apr 15  2013 /opt/local/condor_install ->
 ./sbin/condor_install
 }}}

 These files are not registered to a port:

 {{{
 $ port provides /opt/local/{bosco_install,condor_configure,condor_install}
 /opt/local/bosco_install is not provided by a MacPorts port.
 /opt/local/condor_configure is not provided by a MacPorts port.
 /opt/local/condor_install is not provided by a MacPorts port.
 }}}

 They were probably installed there by an old version of htcondor. (I have
 not checked if the current version 8.4.3 still puts them there.)

 Since these files appear on the buildbot worker, I expect them to also be
 on systems of users who installed the port from source.

 The port should have a pre-activate (or post-activate; doesn't much matter
 in this case) block that checks if these files exist and are unregistered,
 and if so removes them. Note that because these are symlinks, you cannot
 use `file exists` because that will test for the existence of the file the
 symlink points to, not the existence of the symlink itself. In these
 situations I use `file type` inside a `catch`. The code I added to nedi in
 r143403 is a good example to follow. Something like:

 {{{
 pre-activate {
     # Remove symlinks htcondor installed directly, bypassing the destroot.
     # Can be removed after April 2017.
     foreach f "${prefix}/bosco_install ${prefix}/condor_configure
 ${prefix}/condor_install" {
         if {![catch {file type ${f}}] && [registry_file_registered ${f}]
 == "0"} {
             if {[catch {delete ${f}}]} {
                 ui_warn "Cannot delete ${f}; please remove it manually"
             }
         }
     }
 }
 }}}

 If the current version of htcondor still installs these files, it should
 also be patched not to do so.

-- 
Ticket URL: <https://trac.macports.org/ticket/50923>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list