gnunet-developers
[Top][All Lists]
Advanced

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

portability patch (was: GNUnet 0.18.0 released)


From: Nikita Ronja Gillmann
Subject: portability patch (was: GNUnet 0.18.0 released)
Date: Tue, 1 Nov 2022 19:53:52 +0100

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.


Attachment: patch-contrib_packages_fedora_10-dns2gns.sh
Description: Bourne shell script


reply via email to

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