bug-gettext
[Top][All Lists]
Advanced

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

[bug-gettext] GNU gettext not portable


From: dev
Subject: [bug-gettext] GNU gettext not portable
Date: Sun, 31 Aug 2014 14:19:16 -0400 (EDT)

There are a number of problems with doing a build of GNU gettext on a
non-linux OS which does not have GCC as the selected compiler. On
Solaris at least we have a problem that was reported quite some time ago
and still not fixed :

    From 2011 as reported by Stefano Lattarini

    https://lists.gnu.org/archive/html/bug-gettext/2011-07/msg00001.html


Stefano does a lot of great work on the autoconf tools however his
simple patch was ignored.

Furthermore the file gettext-tools/misc/convert-archive has more
problems where it assumes that GCC is the compiler and also attempts to
use cvs even though gcc was never used for the build and cvs does not
exist on the system at all !

Simply plain broken at around line 244 onwards :

# Create the target archive.
case "$to" in
  dir*)
    (cd "$unpacked" && $TAR cf - $TAR_OPTIONS *) \
      | { case "$to" in
            dir) cat > "$tofile" ;;
            dirgz) gzip -c -9 > "$tofile" ;;
            dirbz2) bzip2 -c -9 > "$tofile" ;;
            dirxz) xz -c -5 > "$tofile" ;;
          esac
        } \
      || func_fatal_error "archive creation failed"
    ;;

  cvs)
    # Set variables
    # - cvs_dir         directory containing the temporary repository
    cvs_dir=autopoint-files
    # Use an umask of 077, to avoid attacks that work by overwriting
files in
    # the "$CVSROOT"/CVSROOT directory.
    (umask 077 && mkdir "$cvs_dir") || {
      if test -d "$cvs_dir"; then
        func_fatal_error "directory $cvs_dir already exists"
      else
        func_fatal_error "cannot create directory $cvs_dir"
      fi
    }
    CVSROOT=`pwd`/"$cvs_dir"
    unset CVS_CLIENT_LOG
    unset CVS_CLIENT_PORT
    unset CVS_IGNORE_REMOTE_ROOT
    unset CVS_PASSFILE
    unset CVS_PASSWORD
    unset CVS_RCMD_PORT
    unset CVS_RSH
    unset CVS_SERVER
    unset CVS_SERVER_SLEEP
    unset CVSIGNORE
    unset CVSREAD
    unset CVSUMASK
    unset CVSWRAPPERS

    # Set a nonstandard variable, for a good-looking cvs history.
    cvsuser=bruno
    gcc -shared -fPIC -O cvsuser.c -o cvsuser.so
    cvsuser_hack=`pwd`/cvsuser.so

    # Need to pass -d "$CVSROOT", because there may be a CVS directory
in the
    # current directory.
    cvs -d "$CVSROOT" init || func_fatal_error "cvs init failed"
.
.
.etc etc


What is this?   Why this sudden need for cvs and gcc after an entire
build with Oracle Studio compilers ?


GNU gettext looks slightly broken for reasons of portability however
when I see a simple and trivial patch ignored from years ago and it was
submitted by a well known GNU open source worker I really have to think
that GNU gettext has wandered quite far off the reservation.

GNU gettext 0.18.1.1 was the last portable version that compiles and
passes all its own tests on a number of OS platforms.

Not sure of this ends up as an actual bug or will simply be ignored as
Stefano Lattarini was.

dev



reply via email to

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