questions regarding selfupdate issue

René J.V. Bertin rjvbertin at gmail.com
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).

Yep.

> 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 macports.org $

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:/avahi.org/
master_sites        ${homepage}download/

checksums           rmd160  122f553ee2d43cdd0185540a63a8e1f587bdb08e \
                    sha256  8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48

patch.pre_args      -p1
patchfiles          patch-avahi-daemon-Makefile.in.diff \
                    patch-avahi-dnsconfd-Makefile.in.diff \
                    patch-avahi-utils-Makefile.in.diff \
                    patch-configure.diff \
                    patch-initscript-darwin-org.freedesktop.avahi-daemon.plist.in.diff \
                    patch-initscript-darwin-org.freedesktop.avahi-dnsconfd.plist.in.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/Makefile.in

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

depends_build       port:pkgconfig \
                    port:intltool

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

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 \
                    --with-avahi-priv-access-group=${avahiuser}

# gobject-introspection uses g-ir-scanner, which uses $CC from env
build.args-append       CC="${configure.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/*] \
        ${destroot}${prefix}/etc/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 \
            ${destroot}/Library/LaunchDaemons/
        ln -s ${prefix}/etc/LaunchDaemons/org.freedesktop.avahi-dnsconfd.plist \
            ${destroot}/Library/LaunchDaemons/
            
    }
}

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 \
            /System/Library/LaunchDaemons/org.freedesktop.avahi-daemon.plist
    }
}

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

    configure.args-delete   --disable-mono

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

    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 \
            ${worksrcpath}/avahi-ui-sharp/avahi-ui-sharp.dll.config
    }
}

variant test description {Build tests} {
    configure.args-delete   --disable-tests
    configure.args-append   --enable-tests
    test.run            yes
    test.target         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 \
                            port:py26-gdbm
    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 \
                            port:py27-gdbm
    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?

Cheers,
René
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-users/attachments/20141115/b5cbd6a0/attachment.html>


More information about the macports-users mailing list