questions regarding selfupdate issue

René J.V. Bertin rjvbertin at
Sat Nov 15 06:02:06 PST 2014

On Saturday November 15 2014 12:59:57 Clemens Lang wrote:

Hi Clemens,

> the right directory (which it did if you symlinked it).


> The same problem where the Portfile content is being used as filename?

Yes. Here's a fresh one from my 10.9.4 VM, this time unpolluted:

Warning: Failed to open Portfile from registry for avahi @0.6.31_12+gtk+gtk3+python27+x11
--->  Unable to uninstall avahi @0.6.31_12+gtk+gtk3+python27+x11, the following ports depend on it:
--->  	kdelibs4 @4.13.3_1+nativefiledialogs+nostrip+osxkeychain
--->  	kdelibs4 @4.14.1_20140920+docs+nativefiledialogs+nostrip+osxkeychain
--->  	kdelibs4 @4.14.2_20141031+docs+nativefiledialogs+nostrip+osxkeychain
Warning: Uninstall forced.  Proceeding despite dependencies.
Warning: Failed to open Portfile from registry for avahi @0.6.31_12+gtk+gtk3+python27+x11
--->  Deactivating avahi @0.6.31_12+gtk+gtk3+python27+x11
--->  Unable to deactivate avahi @0.6.31_12+gtk+gtk3+python27+x11, the following ports depend on it:
--->  	kdelibs4 @4.14.2_20141031+docs+nativefiledialogs+nostrip+osxkeychain
Warning: Deactivate forced.  Proceeding despite dependencies.
--->  Uninstalling avahi @0.6.31_12+gtk+gtk3+python27+x11
Error: port uninstall failed: error deleting "/opt/local/var/macports/registry/portfiles/avahi-0.6.31_12/# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 117457 2014-02-27 19:28:34Z pixilla at $

PortSystem          1.0
PortGroup           active_variants 1.1

name                avahi
version             0.6.31
revision            12
categories          net devel
maintainers         nomaintainer
license             LGPL-2.1+
platforms           darwin
description         Avahi is an Implementation of the DNS Service Discovery and Multicast DNS \
                    specifications for Zeroconf Networking.

long_description    ${description} It uses D-Bus for communication between user applications and a \
                    system daemon. The daemon is used to coordinate application efforts in caching \
                    replies, necessary to minimize the traffic imposed on networks.

homepage            http:/
master_sites        ${homepage}download/

checksums           rmd160  122f553ee2d43cdd0185540a63a8e1f587bdb08e \
                    sha256  8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48

patch.pre_args      -p1
patchfiles \
                    patch-configure.diff \

post-patch {
# This preprocessor macro causes a lot of things to be undefined inside netinet/in.h system header.
    reinplace "s/-D_XOPEN_SOURCE=500/" ${worksrcpath}/configure
    reinplace "s|/System|${destroot}|g" ${worksrcpath}/initscript/darwin/

    # Let avahi build with newer gtk
    reinplace "s|-DG_DISABLE_DEPRECATED=1||" \
        ${worksrcpath}/avahi-ui/ \
    reinplace "s|-DGDK_DISABLE_DEPRECATED=1||" \
        ${worksrcpath}/avahi-ui/ \
    reinplace "s|-DGTK_DISABLE_DEPRECATED=1||" \
        ${worksrcpath}/avahi-ui/ \

depends_build       port:pkgconfig \

depends_lib         port:expat \
                    port:gdbm \
                    port:gettext \
                    port:gobject-introspection \

set avahiuser       avahi

configure.args      --disable-autoipd \
                    --disable-qt3 \
                    --disable-qt4 \
                    --disable-mono \
                    --disable-monodoc \
                    --with-distro=darwin \
                    --enable-compat-libdns_sd \
                    --disable-gtk3 \
                    --disable-xmltoman \
                    --enable-introspection \
                    --disable-gtk \
                    --disable-pygtk \
                    --disable-tests \

# gobject-introspection uses g-ir-scanner, which uses $CC from env
build.args-append       CC="${} ${configure.cc_archflags}"

# __APPLE_USE_RFC_2292 should be removed once avhi is updated to support RFC 3542
configure.cppflags-append   -L${prefix}/lib -D__APPLE_USE_RFC_2292

post-destroot {
    xinstall -d -m 0755 ${destroot}${prefix}/etc/LaunchDaemons
    eval move [glob ${destroot}/Library/LaunchDaemons/*] \
    # The startupitem.install keyword does not exist in MacPorts < 2.1.
    if {![info exists startupitem.install]} {
        set startupitem.install yes
    if { ${startupitem.install} != "no" } {
        xinstall -d -m 0755 ${destroot}/LaunchDaemons
        ln -s ${prefix}/etc/LaunchDaemons/org.freedesktop.avahi-daemon.plist \
        ln -s ${prefix}/etc/LaunchDaemons/org.freedesktop.avahi-dnsconfd.plist \

add_users ${avahiuser} group=${avahiuser} realname=Avahi\ Service

post-activate {
    if {[file exists /System/Library/LaunchDaemons/org.freedesktop.avahi-dnsconfd.plist]} {
        ui_debug "Removing cruft from versions prior to 0.6.17_2..."
        delete \
            /System/Library/LaunchDaemons/org.freedesktop.avahi-dnsconfd.plist \

variant mono description {Enable Mono support} {
    depends_lib-append      port:mono \

    configure.args-delete   --disable-mono

    post-patch {
        reinplace {s/\.so\.0/.0.dylib/} ${worksrcpath}/avahi-ui-sharp/

    post-build {
        # TODO This shouldn't be needed, we need to fix Mono dllmap library path.
        reinplace -E "s|(target=\")|\\1${prefix}/lib/|" \
            ${worksrcpath}/avahi-sharp/avahi-sharp.dll.config \

variant test description {Build tests} {
    configure.args-delete   --disable-tests
    configure.args-append   --enable-tests            yes         check

variant gtk description {Build with GTK2} {
    depends_lib-append      port:libglade2

    configure.args-delete   --disable-gtk

variant gtk3 description {Build with GTK3} {
    depends_lib-append      port:gtk3

    configure.args-delete   --disable-gtk3

variant qt4 description {Build with Qt4} {
    depends_lib-append      port:qt4-mac

    configure.args-delete   --disable-qt4

variant python26 conflicts python27 description {Use python 2.6} {
    configure.python        ${prefix}/bin/python2.6

    depends_lib-append      port:dbus-python26 \
    if [variant_isset gtk] {
        depends_lib-append      port:py26-pygtk
        configure.args-delete   --disable-pygtk

variant python27 conflicts python26 description {Use python 2.7} {
    configure.python        ${prefix}/bin/python2.7

    depends_lib-append      port:dbus-python27 \
    if [variant_isset gtk] {
        depends_lib-append      port:py27-pygtk
        configure.args-delete   --disable-pygtk

variant x11 {
    require_active_variants gtk2 x11 quartz

variant quartz {
    require_active_variants gtk2 quartz x11

default_variants    +gtk +gtk3

if {![variant_isset python26]} {
    default_variants-append +python27
catch {
    if {[active_variants gtk2 quartz x11]} {
        default_variants-append +quartz
if {![variant_isset quartz]} {
    default_variants-append +x11

livecheck.type      regex
livecheck.url       [lindex ${master_sites} 0]
livecheck.regex     ${name}-(\[0-9.\]+)\\.tar
": file name too long

And that was a port installed last February, probably while upgrading a previous version and from a binary package. And as I said in a previous message, my 10.9 MacPorts install has been recreated from scratch and a list of installed ports, as outlined in the migration guide.

> look at your database yourself to figure it out. I have no idea how you managed to
> get updated MacPorts *code* installed on your system without also triggering the
> appropriate update *scripts*.

Neither do I. I take it that if this were a permissions issue preventing the database update an error would have been raised?

The only other strange thing (but that I cannot reproduce right now) is that I used to get a message printed (when using -v) that mentioned NFS and my home directory name or login, and which corresponded to up to several seconds in which the tclsh process was taking near 100%CPU.
I could easily imagine that you do things differently for NFS home directories or things like that, but I don't have that. I only have an NFS mount under /Volumes that shouldn't be considered by MacPorts at all.

Did I mention that this is the first time that the "uninstall glitch" causes trouble during a selfupdate?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the macports-users mailing list