pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/32726: x11/xdm3d fails to build/install



>Number:         32726
>Category:       pkg
>Synopsis:       x11/xdm3d fails to build/install (+fix - but not the right way)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Feb 04 06:25:00 +0000 2006
>Originator:     Robert Elz
>Release:        NetBSD 3.99.15
>Organization:
        Prince of Songkla University
>Environment:
        
        
System: NetBSD jade.coe.psu.ac.th 3.99.15 NetBSD 3.99.15 
(GENERIC-1.696-20060125) #8: Wed Jan 25 04:59:39 ICT 2006 
kre%jade.coe.psu.ac.th@localhost:/usr/obj/current/kernels/JADE_ASUS i386
Architecture: i386
Machine: i386

>Description:
        x11/xdm3d makes copies of a bunch of the standard X11 xdm
        configuration files, and for some exotic reason, the xdm
        chooser.   It (the pkgsrc Makefile, not xdm3d itself) expects
        all of those to be found in the same directory.   That was once
        true, but is no longer.   The chooser is now, as it should be,
        in a libexec directory somewhere, whereas the scripts (which users
        might want to change) are in a local configuration directory
        (all of which is as it should be) - other than the xdm3d Makefile
        looking for all of them in he same place..

>How-To-Repeat:
        Use a 3.0 (or later) system (maybe earlier too), and attempt
        to "make install" for x11/xdm3d

        Expect to see a failure along the lines of ...

/usr/bin/install -c -s -o root -g wheel -m 555 /etc/X11/xdm/chooser 
/usr/pkg/share/xdm3d
install: /etc/X11/xdm/chooser: stat: No such file or directory
*** Error code 1

>Fix:
        The patch below makes this work (at least on 3.0 and beyond,
        it may need some extra fiddling to work on earlier versions of
        NetBSD)   No idea what happens for systems using x.org X11
        (might all just work, might not even come close, I don't have
        such a system to test it with).

        But, this stuff is all wrong.   There's no legitimate reason
        for xdm3d to make its own copy of the chooser - it is a binary,
        no-one is going to go altering it, and no special version is
        needed for xdm3d - rather than copying the chooser into its
        own directory, xdm3d should simply be using the standard one
        (which is required to exist - xdm3d isn't compiling one and
        installing iis own).

        Begind that, if a separate copy is to be made, perhaps so the
        complete standard xdm could be removed (though NetBSD has no
        current procedure to allow that to happen easily) then the
        chooser should be being installed in a libexec directory for
        xdm3d, not in the same directory as the (user alterable)
        scripts.

        And still more, the scripts should, like the standard X11
        xdm versions, be being treated as user configurable per system, and
        should be installed under (and then used from) PKG_SYSCONFBASE
        rather than simply being dumped into the (shareable)
        /usr/pkg/share/* hierarchy.

        But, for what it is worth, here is the patch to the Makefile
        for x11/xdm3d that makes the thing at least build & install for me,
        (I did not check that the PLIST is correct, but as I did not
        alter the locations where anything gets installed, just where
        it is installed from, it should be as correct after this change
        as it was before it).

        There is no need to bump PKGREVISION for this patch, however, if
        this were fixed properly, that should count as a new rev.

--- Makefile.orig       2005-12-29 06:40:24.000000000 +0700
+++ Makefile    2006-02-04 13:11:56.000000000 +0700
@@ -23,10 +23,18 @@
 XDMDIR=/etc/X11/xdm
 .else
 PKG_FAIL_REASON+=      "Cannot find xdm directory."
 .endif
 
+.if exists(${X11BASE}/libexec/chooser)
+XDMCHOOSER=${X11BASE}/libexec/chooser
+.elif exists(${XDMDIR}/chooser)
+XDMCHOOSER=${XDMDIR}/chooser
+.else
+PKG_FAIL_REASON+=      "Cannot find xdm chooser."
+.endif
+
 do-install:
        echo "${X11BASE} ${XDMDIR}"
        ${INSTALL_PROGRAM} ${WRKSRC}/xdm ${PREFIX}/bin/xdm3d
        ${INSTALL_DATA_DIR} ${PREFIX}/share/xdm3d
        ${INSTALL_DATA} ${XDMDIR}/GiveConsole ${PREFIX}/share/xdm3d
@@ -40,11 +48,11 @@
        elif [ -r ${XDMDIR}/Xsetup_0 ]; then            \
                ${INSTALL_DATA} ${XDMDIR}/Xsetup_0 ${PREFIX}/share/xdm3d; \
                sedexpr='-e s|^share/xdm3d/Xsetup$$|@comment\ &|';      \
        fi;                                                             \
        ${SED} "$$sedexpr" ${PKGDIR}/PLIST > ${PLIST_SRC}
-       ${INSTALL_PROGRAM} ${XDMDIR}/chooser ${PREFIX}/share/xdm3d
+       ${INSTALL_PROGRAM} ${XDMCHOOSER} ${PREFIX}/share/xdm3d
        ${INSTALL_DATA_DIR} ${PREFIX}/share/xdm3d/authdir
        ${CHMOD} 700 ${PREFIX}/share/xdm3d/authdir
        ${SED} -e 's@${XDMDIR}@${PREFIX}/share/xdm3d@' < \
                ${XDMDIR}/xdm-config > \
                ${PREFIX}/share/xdm3d/xdm-config

>Unformatted:
        Building using pkg_comp with libkver, and NetBSD version set to 3.0
        (using NetBSD-3.0 release sets).   If relevant, BSDSRCDIR
        would have a NetBSD-3.0_STABLE set of sources from about Jan 26
        (that isn't relevant to this PR).   pkgsrc is current as of
        a few hours ago.
 



Home | Main Index | Thread Index | Old Index