pkgsrc-Bugs archive

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

Re: pkg/56906: libbsd: update devel/libbsd to 0.11.0



The following reply was made to PR pkg/56906; it has been noted by GNATS.

From: "David H. Gutteridge" <david%gutteridge.ca@localhost>
To: Gnats Bugs <gnats-bugs%netbsd.org@localhost>
Cc: 
Subject: Re: pkg/56906: libbsd: update devel/libbsd to 0.11.0
Date: Sun, 03 Jul 2022 15:48:53 -0400

 (Responding to everything in one message. There is a lot to cover, and
 I'm pressed for time, so I may have missed things.)
 
 > [...] I assumed that, being libbsd quite a
 > critical component on non-bsd platform, it would have been preferable
 > to pick an already widely tested release; so I picked 0.11.0 since was
 > the one introducing most noteworthy changes and the one which a couple
 > of packages I was working on required.
 
 That's a quite reasonable position, it's just pkgsrc tends to always
 update to the most recent stable release of a project, unless there's a
 known reason not to (which there may be here, it seems). And we'd
 generally expect if a project makes "minor" or "teeny" releases, that
 implies they're minor bug/security/doc/whatever fixes, and shouldn't
 introduce significant changes or build breakages. That's not always a
 correct assumption, of course.
 
 If there are regressions with 0.11.6 vs. 0.11.5 (etc.), those should
 really be reported back upstream (regardless of what we'd do).
 
 > I packaged [2] libmd a while ago, and it's available on wip and
 > currently at the most recent version.
 
 I did look to see if libmd was in wip, but didn't realize the search
 function at the landing page doesn't work as I'd expect. (I used to use
 pkgsrc.se, but have found it sometimes doesn't work as I'd expect
 anymore, either. E.g., it shows that libbsd has no dependant packages,
 which is wrong.)
 
 Something to think about with both libbsd and libmd is if they should
 provide proper built-in detection. libbsd has an attempt at it, but
 seems wrong to me, as it doesn't work on BSDs. (I guess the assumption
 is that no one would choose to build it in that context, and depending
 packages would conditionally handle this, though they don't seem to
 entirely consistently or correctly, e.g., audio/rtunes or
 graphics/scrot.)
 
 Trying to build the current libbsd 0.10 on NetBSD 9.99.97/amd64 fails
 with:
 
 In file included from arc4random.c:33:
 ../include/bsd/unistd.h:62:6: error: conflicting types for 'closefrom'
     62 | void closefrom(int lowfd);
        |      ^~~~~~~~~
 In file included from ../include/bsd/unistd.h:31,
                   from arc4random.c:33:
 /usr/include/unistd.h:329:6: note: previous declaration of 'closefrom' 
 was here
    329 | int  closefrom(int);
        |      ^~~~~~~~~
 *** [arc4random.lo] Error code 1
 
 make[2]: stopped in 
 /home/disciple/pkgsrc/devel/libbsd/work/libbsd-0.10.0/src
 1 error
 
 I see you found the same, and it sounds like it may be complicated to
 resolve.
 
 Built-in handling for libmd would be a bit more complicated, I think,
 given there are more OSes involved (and SunOS variants, perhaps).
 
 > Speaking of libmd, I successfully built wip/libmd on NetBSD and Solaris
 > 11 (and Linux). It's a very simple package and unless someone has
 > something to object, I'd consider it ready to import.
 > The only problem with libmd is that it contains code licensed under
 > 'beer-ware' [1], an extremely permissive and substantially copyright-
 > only license, which, while being supposedly BSD/GPL compatible, is not
 > included among the accepted licenses in licenses.mk
 
 I'd prefer it to have a working built-in guard, as above, but that may
 be non-trivial. Others may have a different opinion than me.
 
 I think there is a mismatch here in how the licensing is reflected by
 the pkgsrc infrastructure. That is, the rule is supposed to be, if
 something is default acceptable, it does not contain "license" in its
 name in pkgsrc. We have it as "beer-ware". Also, the NetBSD tree itself
 contains Beer-Ware licensed code in a place that implies the same
 interpretation[1]. So I think it should be default acceptable. (But I'm
 not a licensing maven.)
 
 > At the same time, a good portion of *BSD utils ported to Linux adn OS X
 > relies on libbsd, so it does make sense to have a working and up to 
 > date
 > version in repo.
 
 Sure, though I don't see many actual dependencies in pkgsrc itself, and
 presumably 0.10 satisfies them all (no idea), so I don't see a
 particular urgency to this, personally. It's a nice to have. (Maybe I'm
 missing something?) Please don't get me wrong, certainly the efforts
 you're making are appreciated!
 
 > Apparently, also libbsd contains Beerware-licensed code [1], so the
 > LICENSE entry of the devel/libbsd package (which is `original-bsd'),
 > should be changed to reflect the fact libbsd it's multi-licensed.
 
 Yes, I noticed the entry was wrong for the package, too. It looks like
 it should actually list four or five different licenses, similar to
 what you've done for libmd.
 
 Regards,
 
 Dave
 
 1. E.g., src/lib/libc/hash/hashhl.c
 


Home | Main Index | Thread Index | Old Index