On 02.11.22 08:28, Nikita Ronja Gillmann wrote: > Hi, > > I think you may not understand the main issue. This is not very pkgsrc > specific, very likely for other portable package managers as well, the issue > is that the file is distributed. > There is no option to uncheck/not fail on a file which fails the tests, as > this is run on every matching file in the build directory after unpacking. > It's a simple fix, and would mean one less patch to carry around once I get > to merge gnunet into pkgsrc proper. >
This sounds like a pkgsrc or package manager issue, then. Why would all files have to be portable in this manner? It even has a bash shebang so surely the file itself is not malformed. The package manager has no business telling us what the correct file format for every file is in the tarball. I mean that as a matter of principle, not because I am opposed to making that particular script portable. This problem is bound to occur in the future for a variety of (legitimate) reasons. Br > On 11/2/22 7:18 AM, Martin Schanzenbach wrote: > > Hi, > > > > this is a fedora-specific packaging file which does not need to be > > portable. > > It only needs to work for fedora. > > But I will keep that in mind. > > > > Br > > > > On 01.11.22 19:53, Nikita Ronja Gillmann wrote: > > > Hi, > > > > > > here's a fix to make contrib/packages/fedora/10-dns2gns.sh portable. > > > Taken from my pkgsrc package, NetBSD header not removed, feel free to > > > do so or just take the patch as an info. > > > > > > I'd suggest to add checkbashisms as part of dev tests to check all .sh > > > files. > > > > > > ERROR: [check-portability.awk] => Found test ... == ...: > > > ERROR: [check-portability.awk] contrib/packages/fedora/10-dns2gns.sh:31: > > > if [ $? == 0 ]; then > > > > > > Explanation: > > > =========================================================================== > > > The "test" command, as well as the "[" command, are not required to know > > > the "==" operator. Only a few implementations like bash and some > > > versions of ksh support it. > > > > > > When you run "test foo == foo" on a platform that does not support the > > > "==" operator, the result will be "false" instead of "true". This can > > > lead to unexpected behavior. > > > > > > There are two ways to fix this error message. If the file that contains > > > the "test ==" is needed for building the package, you should create a > > > patch for it, replacing the "==" operator with "=". If the file is not > > > needed, add its name to the CHECK_PORTABILITY_SKIP variable in the > > > package Makefile. > > > =========================================================================== > > > > > > checkbashisms: > > > > > > checkbashisms > > > /usr/work/wip/gnunet/work/gnunet-0.18.0/contrib/packages/fedora/10-dns2gns.sh > > > possible bashism in > > > /usr/work/wip/gnunet/work/gnunet-0.18.0/contrib/packages/fedora/10-dns2gns.sh > > > line 31 (should be 'b = a'): > > > if [ $? == 0 ]; then > > > > > > > > > Martin Schanzenbach transcribed 6.2K bytes: > > > > We are pleased to announce the release of GNUnet 0.18.0. > > > > GNUnet is an alternative network stack for building secure, > > > > decentralized and > > > > privacy-preserving distributed applications. Our goal is to replace the > > > > old > > > > insecure Internet protocol stack. Starting from an application for > > > > secure > > > > publication of files, it has grown to include all kinds of basic > > > > protocol > > > > components and applications towards the creation of a GNU internet. > > > > > > > > This is a new major release. It breaks protocol compatibility with the > > > > 0.17.x > > > > versions. Please be aware that Git master is thus henceforth (and has > > > > been for a > > > > while) INCOMPATIBLE with the 0.17.x GNUnet network, and interactions > > > > between old > > > > and new peers will result in issues. 0.17.x peers will be able to > > > > communicate > > > > with Git master or 0.18.x peers, but some services - in particular the > > > > DHT - > > > > will not be compatible. > > > > In terms of usability, users should be aware that there are still a > > > > number of > > > > known open issues in particular with respect to ease of use, but also > > > > some > > > > critical privacy issues especially for mobile users. Also, the nascent > > > > network > > > > is tiny and thus unlikely to provide good anonymity or extensive > > > > amounts of > > > > interesting information. As a result, the 0.18.0 release is still only > > > > suitable > > > > for early adopters with some reasonable pain tolerance. > > > > > > > > Download links: > > > > > > > > - http://ftpmirror.gnu.org/gnunet/gnunet-0.18.0.tar.gz > > > > - http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.18.0.tar.gz > > > > > > > > Note that due to mirror synchronization, not all links might be > > > > functional early after the release. For direct access try > > > > http://ftp.gnu.org/gnu/gnunet/ > > > > > > > > Noteworthy changes in 0.18.0 (since 0.17.6): > > > > > > > > UTIL: Added enum GNUNET_ErrorCode for better error handling > > > > throughout the API. > > > > NAMESTORE: > > > > - Moved namecache updates out of namestore and into zonemaster. > > > > This fixes issues from version 0.17.6 with respect to > > > > premature > > > > namestore monitor update messages and zone propagation. > > > > [#7378] > > > > - Added a new API for bulk imports: > > > > GNUNET_NAMESTORE_records_store2. > > > > The API can be combined with the transactional API in order > > > > to > > > > significantly improve namestore performance for lage zones. > > > > For > > > > postgres databases, storing records is around 20x faster > > > > than the old > > > > API. [#7379] > > > > - New database setup utility gnunet-namestore-dbtool. > > > > Databases can be > > > > initialized and reset using this new CLI. Currently, > > > > database plugins > > > > still allow to initialize databases automatically as well by > > > > setting > > > > INIT_ON_CONNECT (Default: YES). [#7204] > > > > - There are new APIs for zone iterations and monitoring which > > > > support > > > > filtering of records using GNUNET_GNSRECORD_Filter. By > > > > default, > > > > maintenance records such as TOMBSTONEs are filtered. [#7193] > > > > - New zonefile import utility gnunet-namestore-zonefile that > > > > for DNS > > > > zone files. [#7396] > > > > - Make use of new enum GNUNET_ErrorCode in C and REST API. > > > > [#7399] > > > > - Included handling of orphaned GNS records. Records are > > > > orphaned of > > > > Egos are (accidentally) deleted which makes operations on > > > > records > > > > difficult but at the same time existing records are still > > > > published. > > > > [#7401, #7402] > > > > - Updated the C API documentation to reflect the above changes: > > > > > > > > https://docs.gnunet.org/developers/subsystems/namestore/namestore.html > > > > - Updated the user documentation to reflect the above changes > > > > and > > > > included various tutorials on zone management: > > > > https://docs.gnunet.org/users/gns.html > > > > - Updated the REST API and its documentation to reflect the > > > > above > > > > changes: > > > > https://docs.gnunet.org/developers/rest/namestore.html > > > > ZONEMASTER: Zonemaster now uses worker threads for record signing. > > > > DHT: The specification has been updated to reflect the changes: > > > > https://lsd.gnunet.org/lsd0004 > > > > BUILD: Fix mysql/mariadb detection (again). [#7356] > > > > PACKAGING: Revamped the RPM package available through Fedora COPR > > > > and > > > > submitted it. > > > > > > > > A detailed list of changes can be found in the ChangeLog > > > > (https://git.gnunet.org/gnunet.git/tree/ChangeLog) and the bug tracker > > > > (https://bugs.gnunet.org/changelog_page.php?project_id=13). > > > > > > > > Known Issues: > > > > > > > > - There are known major design issues in the TRANSPORT, ATS and > > > > CORE > > > > subsystems which will need to be addressed in the future to > > > > achieve > > > > acceptable usability, performance and security. > > > > - There are known moderate implementation limitations in CADET that > > > > negatively impact performance. > > > > - There are known moderate design issues in FS that also impact > > > > usability > > > > and performance. > > > > - There are minor implementation limitations in SET that create > > > > unnecessary > > > > attack surface for availability. > > > > - The RPS subsystem remains experimental. > > > > - Some high-level tests in the test-suite fail > > > > non-deterministically due to > > > > the low-level TRANSPORT issues. > > > > > > > > In addition to this list, you may also want to consult our bug tracker > > > > at > > > > bugs.gnunet.org which lists about 190 more specific issues. > > > > > > > > Thanks: > > > > > > > > This release was the work of many people. The following people > > > > contributed code > > > > and were thus easily identified: Christian Grothoff, Tristan Schwieren, > > > > madmurphy, Willow Liquorice, t3sserakt, TheJackiMonster and Martin > > > > Schanzenbach. > > > > > > > >