[AD] Patches for allegro 4.1.9

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Now that my allegro package builds correctly, here are the diffs I came up.
These are all against 4.1.9.

The first one (allegro-autoconf.dif) contains the autoconf stuff:

  - configure.in now requires autoconf 2.53 or higher.
  - The use of AH_TEMPLATE and the third argument of AC_DEFINE*
    makes acconfig.h obsolete.
  - configure adds XCFLAGS and XWFLAGS to CFLAGS if defined. This
    makes it possible to pass in compiler flags that either override
    what configure.in sets or adds to them. This way a packager like
    me can easily incorporate RPM_OPT_FLAGS and add warning flags that
    would otherwise not be set.

I'd recommend to rename aclocal.m4 to acinclude.m4 to not get aclocal.m4
overwritten when user calls aclocal. And, of cause, acconfig.h can be
deleted after applying the diff :)

The second diff (allegro-cleanup.dif) does three things:

  - use 'unsigned long' when doing pointer<->integer casts.
  - fixes those cases where signed and unsigned where mixed
    in comparisons and conditional expressions.
  - provides correct prototypes for declarations and definitions,
    mostly (void) instead of the incorrect ().

I'd like to point out one of the fixes, made at a few places,

--- src/linux/lconsole.c
+++ src/linux/lconsole.c
@@ -243,9 +243,13 @@

         do {
            ret = write(STDERR_FILENO, msg, strlen(msg));
-           if ((ret < 0) && (errno != EINTR))
-              break;
-        } while (ret < strlen(msg));
+           if (ret < 0) {
+               if (errno != EINTR)
+                   break;
+               else
+                   ret = 0;
+           }
+        } while ((size_t)ret < strlen(msg));

Just think about what that comparison in while() yields when the comparison
is done unsigned and ret is negative ...

The third patch (allegro-spec.diff) is for your convenience only, as our
specfile is different. The changes I made:

  - Switch on Autorecprov. This is mandatory to get correct packages on
    systems with other versions of the libraries (newer, 64bit vs. 32bit
    etc.). Despite getting dependencies for modules, it can't be avoided
    untill a version of rpm comes up that offers 'nice to have but not
    necessary' dependencies.
  - Provides german summaries and descriptions.
  - Uses DESTDIR to install.
  - Makes allegro-devel require the matching version of its base package.

Please give me feedback if I botched somewhere.

Philipp

-- 
Philipp Thomas <pthomas@xxxxxxxxxx>
Development, SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nuremberg, Germany

Attachment: allegro-autoconf.dif.gz
Description: application/gunzip

Attachment: allegro-cleanup.dif.gz
Description: application/gunzip

Attachment: allegro-spec.diff.gz
Description: application/gunzip



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/