pkgsrc-Bugs archive

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

pkg/25255: devel/cvsup{,-gui}-bin has absurd DISTSUBDIR



>Number:         25255
>Category:       pkg
>Synopsis:       devel/cvsup{,-gui}-bin has absurd DISTSUBDIR
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 20 11:59:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Robert Elz
>Release:        NetBSD 1.6X   --- pkgsrc as of now (2004-04-20)
>Organization:
        Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 1.6X NetBSD 1.6X (JADE) #17: Wed Sep 24 
20:25:35 ICT 2003 
kre%jade.coe.psu.ac.th@localhost:/usr/src/real-sys/arch/i386/compile/JADE i386
Architecture: i386
Machine: i386
>Description:
        devel/cvsup-bin (and devel/cvsup-gui-bin) has

           DIST_SUBDIR=    cvsup-${MACHINE_ARCH}-${OS_VERSION:C/(...).*/\1/}

        which is all very fancy, but totally bogus, and causes the pkg to
        fail to build on anything which isn't NetBSD 1.6*.

        The "anything which isn't NetBSD" isn't a problem, as it also has

           ONLY_FOR_PLATFORM=      NetBSD-1.[5-9]*-i386 NetBSD-[2-9]*-i386

        which is OK, but that implies that NetBSD-1.5* and netBSD-2.0*
        should be OK.

        The DIST_SUBDIR setting breaks them however.   The ${MACHINE_ARCH}
        part of it is harmless (but totally useless, as the ONLY_FOR_PLATFORM
        guarantees that it will always be i386) 

        However, the fancy OS_VERSION expression gets the current
        system's OS version and uses that as part of the DIST_SUBDIR
        which is totally bogus.   The distinfo file expects the
        DIST_SUBDIR to be cvsup-i386-1.6 (and nothing else), if it
        is cvsup-i386-2.0 or cvsup-i386-1.5 then the digest check of
        the distfile fails (no cvsup-i386-1.6/* file exists).

        This looks to be a bogus attempt to plan for future extensibility
        to other architectures and OS's - at the minute that cannot work,
        there's exactly one distfile, and it is for NetBSD i386, not
        for anything else.   Don't write code to handle cases that cannot
        be tested.

>How-To-Repeat:
        Try installing (of even just doing "make checksum" of cvsup-bin
        (or cvsup-gui-bin) on NetBSD-1.5.x or NetBSD-2.0B (or whatever)
        -- anything that doesn't have 1.6 in its version ID (2.0B was
        where I noticed this).

>Fix:
        change DIST_SUBDIR to

                DIST_SUBDIR=    cvsup-i386-1.6

        A better fix (in the cleanest way) would be to do away with
        DIST_SUBDIR altogether, it isn't needed for either of these packages,
        each has just one distfile, which correctly identifies its pkg name
        and has a good version identifier.

        However, to make life easier for all the people who are using 1.6
        based NetBSD versions (most I'd expect) and who have already fetched
        the distfiles into a cvsup-i386-1.6 DIST_SUBDIR, leaving it set that
        way will avoid needlessly fetching the distfiles again.

        Add a note to remove the DIST_SUBDIR the next time the package is
        upgraded.

        No PKGREVISION change is needed for this fix.

        Remember to fix both cvsup-bin and cvsup-gui-bin (in the same way).
>Release-Note:
>Audit-Trail:
>Unformatted:



Home | Main Index | Thread Index | Old Index