[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: portability patch (was: GNUnet 0.18.0 released)
From: |
Martin Schanzenbach |
Subject: |
Re: portability patch (was: GNUnet 0.18.0 released) |
Date: |
Wed, 2 Nov 2022 06:18:45 +0000 |
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.
>
>