Skip to contentSkip to conversation

giflib: fix description about compatibility with libungif

PATCH New Fabio Porcedda 3 participants 8 messages Apr 12, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/giflib/Config.in +1 -1
index 70368dc..bb5741a 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
 	bool "giflib"
 	help
-	  giflib is a library for reading and writing gif images. It is API and
+	  giflib is a library for reading and writing gif images. It was API and
 	  ABI compatible with libungif which was in wide use while the LZW
 	  compression algorithm was patented.
 
Signature · 1 line
2.3.4
#1 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

Hi Fabio,

Quoted 10 lines · Fabio Porcedda
---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/giflib/Config.in +0 -0
index 70368dc..bb5741a 100644

package/giflib/Config.in line 6

Quoted 7 lines
package/giflib/Config.in +1 -1
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
 	bool "giflib"
 	help
-	  giflib is a library for reading and writing gif images. It is API and
+	  giflib is a library for reading and writing gif images. It was API and
 	  ABI compatible with libungif which was in wide use while the LZW
 	  compression algorithm was patented.

So giflib is not compatible to libungif anymore?

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#2 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

Quoted 8 lines · Baruch Siach

Hi Fabio,

Quoted 5 lines · Fabio Porcedda
---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 14 lines

package/giflib/Config.in line 6

Quoted 12 lines
package/giflib/Config.in +1 -1
index 70368dc..bb5741a 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
      bool "giflib"
      help
-       giflib is a library for reading and writing gif images. It is API and
+       giflib is a library for reading and writing gif images. It was API and
        ABI compatible with libungif which was in wide use while the LZW
        compression algorithm was patented.

So giflib is not compatible to libungif anymore?

Just comparing the gif_lib.h header you can see that the definition of some functions changes:

git diff --no-index libungif-4.1.4/lib/gif_lib.h giflib-5.1.1/lib/gif_lib.h

GifFileType *EGifOpenFileName(const char *GifFileName,
- int GifTestExistance);
-GifFileType *EGifOpenFileHandle(int GifFileHandle); -GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc); -
+ const bool GifTestExistence, int *Error);
+GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error); +GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error);
int EGifSpew(GifFileType * GifFile);

For this reason in buildroot there are commits that switchs from libungif to giflib that changes the source code to do that, e.g.:

commit bfb54898133210a40bafdfbca72d9186d65c1b66

Author: Bernd Kuhls <[email protected]>
Date:   Mon Jan 26 20:24:19 2015 +0100

package/efl/libevas: Switch to giflib

package/efl/libevas/0001-giflib.patch | 98
package/efl/libevas/Config.in | 2 +-
package/efl/libevas/libevas.mk

BR

Signature · 1 line
Fabio Porcedda
#3 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

Hi Fabio,

Quoted 28 lines · Fabio Porcedda
Quoted 6 lines · Baruch Siach
Quoted 5 lines · Fabio Porcedda
---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 14 lines

package/giflib/Config.in line 6

Quoted 12 lines
package/giflib/Config.in +1 -1
index 70368dc..bb5741a 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
      bool "giflib"
      help
-       giflib is a library for reading and writing gif images. It is API and
+       giflib is a library for reading and writing gif images. It was API and
        ABI compatible with libungif which was in wide use while the LZW
        compression algorithm was patented.

So giflib is not compatible to libungif anymore?

Just comparing the gif_lib.h header you can see that the definition of some functions changes:

git diff --no-index libungif-4.1.4/lib/gif_lib.h giflib-5.1.1/lib/gif_lib.h

GifFileType *EGifOpenFileName(const char *GifFileName,

Review

Quoted 8 lines
(quoted diff) +3 -4
-                              int GifTestExistance);
-GifFileType *EGifOpenFileHandle(int GifFileHandle);
-GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc);
-
+                              const bool GifTestExistence, int *Error);
+GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error);
+GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error);
 int EGifSpew(GifFileType * GifFile);

If this is the case I would use a more explicit language. Something like:

giflib used to be API and ABI compatible with libungif which ... Note that recent gitlib versions are no longer compatible with libungif.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#4 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

Baruch, All,

On 2015-04-12 12:08 +0300, Baruch Siach spake thusly:

Quoted 40 lines · Fabio Porcedda
Quoted 28 lines · Baruch Siach
Quoted 6 lines · Fabio Porcedda
Quoted 5 lines
---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 14 lines

package/giflib/Config.in line 6

Quoted 12 lines
package/giflib/Config.in +1 -1
index 70368dc..bb5741a 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
      bool "giflib"
      help
-       giflib is a library for reading and writing gif images. It is API and
+       giflib is a library for reading and writing gif images. It was API and
        ABI compatible with libungif which was in wide use while the LZW
        compression algorithm was patented.

So giflib is not compatible to libungif anymore?

Just comparing the gif_lib.h header you can see that the definition of some functions changes:

git diff --no-index libungif-4.1.4/lib/gif_lib.h giflib-5.1.1/lib/gif_lib.h

GifFileType *EGifOpenFileName(const char *GifFileName,

Review

Quoted 8 lines
(quoted diff) +3 -4
-                              int GifTestExistance);
-GifFileType *EGifOpenFileHandle(int GifFileHandle);
-GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc);
-
+                              const bool GifTestExistence, int *Error);
+GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error);
+GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error);
 int EGifSpew(GifFileType * GifFile);

If this is the case I would use a more explicit language. Something like:

Quoted 2 lines

giflib used to be API and ABI compatible with libungif which ... Note that recent gitlib versions are no longer compatible with libungif.

I would even go further, and remove any reference to libungif altogether. So, just keep the first sentence:

giflib is a library for reading and writing gif images.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

Quoted 43 lines · Yann E. MORIN

Baruch, All,

On 2015-04-12 12:08 +0300, Baruch Siach spake thusly:

Quoted 40 lines · Fabio Porcedda
Quoted 28 lines · Baruch Siach
Quoted 6 lines · Fabio Porcedda
Quoted 5 lines
---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 14 lines

package/giflib/Config.in line 6

Quoted 12 lines
package/giflib/Config.in +1 -1
index 70368dc..bb5741a 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
      bool "giflib"
      help
-       giflib is a library for reading and writing gif images. It is API and
+       giflib is a library for reading and writing gif images. It was API and
        ABI compatible with libungif which was in wide use while the LZW
        compression algorithm was patented.

So giflib is not compatible to libungif anymore?

Just comparing the gif_lib.h header you can see that the definition of some functions changes:

git diff --no-index libungif-4.1.4/lib/gif_lib.h giflib-5.1.1/lib/gif_lib.h

GifFileType *EGifOpenFileName(const char *GifFileName,

Review

Quoted 8 lines
(quoted diff) +3 -4
-                              int GifTestExistance);
-GifFileType *EGifOpenFileHandle(int GifFileHandle);
-GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc);
-
+                              const bool GifTestExistence, int *Error);
+GifFileType *EGifOpenFileHandle(const int GifFileHandle, int *Error);
+GifFileType *EGifOpen(void *userPtr, OutputFunc writeFunc, int *Error);
 int EGifSpew(GifFileType * GifFile);

If this is the case I would use a more explicit language. Something like:

Quoted 8 lines
Quoted 2 lines

giflib used to be API and ABI compatible with libungif which ... Note that recent gitlib versions are no longer compatible with libungif.

I would even go further, and remove any reference to libungif altogether. So, just keep the first sentence:

giflib is a library for reading and writing gif images.

Because the libungif library is now deprecated i think it's a good idea.

BR

Signature · 1 line
Fabio Porcedda
#6 lore raw

PATCH 1/1 giflib: fix description about compatibility with libungif

In reply to Baruch Siach

Baruch, All,

On 2015-04-12 11:47 +0300, Baruch Siach spake thusly:

Quoted 6 lines · Fabio Porcedda
Quoted 5 lines
---
 package/giflib/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Quoted 14 lines

package/giflib/Config.in line 6

Quoted 12 lines
package/giflib/Config.in +1 -1
index 70368dc..bb5741a 100644
@@ -1,7 +1,7 @@
 config BR2_PACKAGE_GIFLIB
 	bool "giflib"
 	help
-	  giflib is a library for reading and writing gif images. It is API and
+	  giflib is a library for reading and writing gif images. It was API and
 	  ABI compatible with libungif which was in wide use while the LZW
 	  compression algorithm was patented.

So giflib is not compatible to libungif anymore?

No it is no longer comatible. It was, until version 5.0 introduced changes for thread-safety. Quoting their website:

The 5.x versions change the API slightly in a way that isn't compatible with older shared libraries.

and:

[...] the signatures of the file-opener functions were changed in 5.0 in order to make the library fully reentrant and thread-safe

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'