[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