PaulHowarth/Blog/2009-09-11

Friday 11th September 2009

Local Packages

  • Updated libpng10 to 1.0.49 and then 1.0.50; the 1.0.49 release had some unfinished editing cruft left in it (much like the 1.0.45 release had), resulting in this patch being needed for compilation to work:

  • diff -ur libpng-1.0.49.orig/pngset.c libpng-1.0.49/pngset.c
    --- libpng-1.0.49.orig/pngset.c 2009-09-10 12:38:26.000000000 +0100
    +++ libpng-1.0.49/pngset.c      2009-09-10 23:06:25.000000000 +0100
    @@ -901,17 +901,17 @@
     #if defined(PNG_tRNS_SUPPORTED)
     void PNGAPI
     png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
    -   png_bytep %TA%, int num_trans, png_color_16p trans_values)
    +   png_bytep trans, int num_trans, png_color_16p trans_values)
     {
        png_debug1(1, "in %s storage function", "tRNS");
     
        if (png_ptr == NULL || info_ptr == NULL)
           return;
     
    -   if (%TA% != NULL)
    +   if (trans != NULL)
        {
            /*
    -        * It may not actually be necessary to set png_ptr->%TA% here;
    +        * It may not actually be necessary to set png_ptr->trans here;
             * we do it for backward compatibility with the way the png_handle_tRNS
             * function used to do the allocation.
             */
    @@ -921,10 +921,10 @@
     #endif
     
            /* Changed from num_trans to PNG_MAX_PALETTE_LENGTH in version 1.2.1 */
    -       png_ptr->%TA% = info_ptr->%TA% = (png_bytep)png_malloc(png_ptr,
    +       png_ptr->trans = info_ptr->trans = (png_bytep)png_malloc(png_ptr,
                (png_uint_32)PNG_MAX_PALETTE_LENGTH);
            if (num_trans > 0 && num_trans <= PNG_MAX_PALETTE_LENGTH)
    -          png_memcpy(info_ptr->%TA%, %TA%, (png_size_t)num_trans);
    +          png_memcpy(info_ptr->trans, trans, (png_size_t)num_trans);
        }
     
        if (trans_values != NULL)
    diff -ur libpng-1.0.49.orig/pngwutil.c libpng-1.0.49/pngwutil.c
    --- libpng-1.0.49.orig/pngwutil.c       2009-09-10 12:38:26.000000000 +0100
    +++ libpng-1.0.49/pngwutil.c    2009-09-10 23:06:25.000000000 +0100
    @@ -1068,7 +1068,7 @@
     #if defined(PNG_WRITE_tRNS_SUPPORTED)
     /* Write the tRNS chunk */
     void /* PRIVATE */
    -png_write_tRNS(png_structp png_ptr, png_bytep %TA%, png_color_16p tran,
    +png_write_tRNS(png_structp png_ptr, png_bytep trans, png_color_16p tran,
        int num_trans, int color_type)
     {
     #ifdef PNG_USE_LOCAL_ARRAYS
    @@ -1086,7 +1086,7 @@
              return;
           }
           /* Write the chunk out as it is */
    -      png_write_chunk(png_ptr, (png_bytep)png_tRNS, %TA%,
    +      png_write_chunk(png_ptr, (png_bytep)png_tRNS, trans,
             (png_size_t)num_trans);
        }
        else if (color_type == PNG_COLOR_TYPE_GRAY)
  • I notified the upstream author and 1.0.50 was promptly released to fix the issue
  • Updated libxml2 to 2.7.4 (security patches upstreamed and lots of other bugfixes)

  • Updated perl-HTTP-Size to 1.13_01 and patched some of the test URLs to point to places that still exist

  • Updated perl-IO-Tty to use %{?perl_default_filter}

Fedora Project

  • Updated libpng10 in Rawhide to 1.0.50 as per local package


Recent