gnunet-developers
[Top][All Lists]
Advanced

[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.
> 
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]