Message ID | 1428828185-19869-1-git-send-email-fabio.porcedda@gmail.com |
---|---|
State | Superseded |
Headers | show |
Hi Fabio, On Sun, Apr 12, 2015 at 10:43:05AM +0200, Fabio Porcedda wrote: > Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > --- > package/giflib/Config.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/package/giflib/Config.in b/package/giflib/Config.in > index 70368dc..bb5741a 100644 > --- a/package/giflib/Config.in > +++ b/package/giflib/Config.in > @@ -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
On Sun, Apr 12, 2015 at 10:47 AM, Baruch Siach <baruch@tkos.co.il> wrote: > Hi Fabio, > > On Sun, Apr 12, 2015 at 10:43:05AM +0200, Fabio Porcedda wrote: >> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> >> --- >> package/giflib/Config.in | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/package/giflib/Config.in b/package/giflib/Config.in >> index 70368dc..bb5741a 100644 >> --- a/package/giflib/Config.in >> +++ b/package/giflib/Config.in >> @@ -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 <bernd.kuhls@t-online.de> 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
Hi Fabio, On Sun, Apr 12, 2015 at 10:57:40AM +0200, Fabio Porcedda wrote: > On Sun, Apr 12, 2015 at 10:47 AM, Baruch Siach <baruch@tkos.co.il> wrote: > > On Sun, Apr 12, 2015 at 10:43:05AM +0200, Fabio Porcedda wrote: > >> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > >> --- > >> package/giflib/Config.in | 2 +- > >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> > >> diff --git a/package/giflib/Config.in b/package/giflib/Config.in > >> index 70368dc..bb5741a 100644 > >> --- a/package/giflib/Config.in > >> +++ b/package/giflib/Config.in > >> @@ -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); 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
Baruch, All, On 2015-04-12 11:47 +0300, Baruch Siach spake thusly: > On Sun, Apr 12, 2015 at 10:43:05AM +0200, Fabio Porcedda wrote: > > Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > > --- > > package/giflib/Config.in | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/package/giflib/Config.in b/package/giflib/Config.in > > index 70368dc..bb5741a 100644 > > --- a/package/giflib/Config.in > > +++ b/package/giflib/Config.in > > @@ -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.
Baruch, All, On 2015-04-12 12:08 +0300, Baruch Siach spake thusly: > On Sun, Apr 12, 2015 at 10:57:40AM +0200, Fabio Porcedda wrote: > > On Sun, Apr 12, 2015 at 10:47 AM, Baruch Siach <baruch@tkos.co.il> wrote: > > > On Sun, Apr 12, 2015 at 10:43:05AM +0200, Fabio Porcedda wrote: > > >> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> > > >> --- > > >> package/giflib/Config.in | 2 +- > > >> 1 file changed, 1 insertion(+), 1 deletion(-) > > >> > > >> diff --git a/package/giflib/Config.in b/package/giflib/Config.in > > >> index 70368dc..bb5741a 100644 > > >> --- a/package/giflib/Config.in > > >> +++ b/package/giflib/Config.in > > >> @@ -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); > > 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. 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.
On Sun, Apr 12, 2015 at 11:13 AM, Yann E. MORIN <yann.morin.1998@free.fr> wrote: > Baruch, All, > > On 2015-04-12 12:08 +0300, Baruch Siach spake thusly: >> On Sun, Apr 12, 2015 at 10:57:40AM +0200, Fabio Porcedda wrote: >> > On Sun, Apr 12, 2015 at 10:47 AM, Baruch Siach <baruch@tkos.co.il> wrote: >> > > On Sun, Apr 12, 2015 at 10:43:05AM +0200, Fabio Porcedda wrote: >> > >> Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> >> > >> --- >> > >> package/giflib/Config.in | 2 +- >> > >> 1 file changed, 1 insertion(+), 1 deletion(-) >> > >> >> > >> diff --git a/package/giflib/Config.in b/package/giflib/Config.in >> > >> index 70368dc..bb5741a 100644 >> > >> --- a/package/giflib/Config.in >> > >> +++ b/package/giflib/Config.in >> > >> @@ -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); >> >> 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. > > 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
I've sent an updated version of this patch: http://patchwork.ozlabs.org/patch/460474/ BR
diff --git a/package/giflib/Config.in b/package/giflib/Config.in index 70368dc..bb5741a 100644 --- a/package/giflib/Config.in +++ b/package/giflib/Config.in @@ -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.
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com> --- package/giflib/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)