Source: zopfli
Version: 1.0.0-1
Severity: wishlist
Tags: patch

Hi,

I am packaging Android SDK and I found the zipalign tool requires the
dynamic library version of zopfli, which is so-called libzopfli.so.
Current zopfli package does not contain the library, so I wrote a
patch to change that. This patch replaces hardened_build.patch with
libzopfli.diff that modifies the makefile to generate
libzopfli.so.1.0.0 and libzopfli.a, and adds several .install and
.links files for the new packages. The new packages are: libzopfli1
and libzopfli-dev. I used dh-exec to make the packages support
multi-arch, so please make sure the .install and .links files are set
executable. Thank you.

You can also view the changes in
<https://github.com/seamlik/debianpkg-zopfli/commit/10f68fe508fb6d31eb1ec639b0c998bb026ebbae>

Regards,
Kai-Chung Yan
diff --git a/debian/changelog b/debian/changelog
index 7cb1621..2325e52 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+zopfli (1.0.0-2) UNRELEASED; urgency=low
+
+  * New libzopfli.diff: Produce libzopfli.so
+  * New packages: libzopfli1 and libzopfli-dev
+  * Drop hardened_build.patch: No longer needed
+
+ -- Kai-Chung Yan <seamli...@gmail.com>  Fri, 31 Jul 2015 20:06:30 +0800
+
 zopfli (1.0.0-1) unstable; urgency=low
 
   * New upstream release.
diff --git a/debian/control b/debian/control
index 812641e..f1e7578 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: zopfli
 Section: utils
 Priority: optional
 Maintainer: Laszlo Boszormenyi (GCS) <g...@debian.org>
-Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~)
+Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~), dh-exec
 Standards-Version: 3.9.5
 Homepage: http://code.google.com/p/zopfli/
 
@@ -14,3 +14,27 @@ Description: zlib (gzip, deflate) compatible compressor
  compressor. This compressor takes more time (~100x slower), but compresses
  around 5% better than zlib and better than any other zlib-compatible
  compressor we have found.
+
+Package: libzopfli1
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: zlib (gzip, deflate) compatible compressor library
+ Zopfli Compression Algorithm is a new zlib (gzip, deflate) compatible
+ compressor. This compressor takes more time (~100x slower), but compresses
+ around 5% better than zlib and better than any other zlib-compatible
+ compressor we have found.
+ .
+ This package contains the dynamic library version of zopfli.
+
+Package: libzopfli-dev
+Architecture: any
+Section: libdevel
+Depends: libzopfli1 (= ${binary:Version}), ${misc:Depends}
+Description: zlib (gzip, deflate) compatible compressor library - Development 
files
+ Zopfli Compression Algorithm is a new zlib (gzip, deflate) compatible
+ compressor. This compressor takes more time (~100x slower), but compresses
+ around 5% better than zlib and better than any other zlib-compatible
+ compressor we have found.
+ .
+ This package contains the development files.
\ No newline at end of file
diff --git a/debian/libzopfli-dev.install b/debian/libzopfli-dev.install
new file mode 100755
index 0000000..965bedb
--- /dev/null
+++ b/debian/libzopfli-dev.install
@@ -0,0 +1,4 @@
+#!/usr/bin/dh-exec
+
+libzopfli.a    usr/lib/${DEB_HOST_MULTIARCH}
+src/zopfli/*.h usr/include/zopfli
\ No newline at end of file
diff --git a/debian/libzopfli-dev.links b/debian/libzopfli-dev.links
new file mode 100755
index 0000000..4175928
--- /dev/null
+++ b/debian/libzopfli-dev.links
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+usr/lib/${DEB_HOST_MULTIARCH}/libzopfli.so.1.0.0   
usr/lib/${DEB_HOST_MULTIARCH}/libzopfli.so
\ No newline at end of file
diff --git a/debian/libzopfli1.install b/debian/libzopfli1.install
new file mode 100755
index 0000000..3312ebb
--- /dev/null
+++ b/debian/libzopfli1.install
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+libzopfli.so.*   usr/lib/${DEB_HOST_MULTIARCH}
\ No newline at end of file
diff --git a/debian/libzopfli1.links b/debian/libzopfli1.links
new file mode 100755
index 0000000..7bf70ad
--- /dev/null
+++ b/debian/libzopfli1.links
@@ -0,0 +1,3 @@
+#!/usr/bin/dh-exec
+
+usr/lib/${DEB_HOST_MULTIARCH}/libzopfli.so.1.0.0   
usr/lib/${DEB_HOST_MULTIARCH}/libzopfli.so.1
\ No newline at end of file
diff --git a/debian/patches/hardened_build.patch 
b/debian/patches/hardened_build.patch
deleted file mode 100644
index 3847db3..0000000
--- a/debian/patches/hardened_build.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Description: build with hardening enabled
- Add $CPPFLAGS and $LDFLAGS to the makefile .
-Author: Laszlo Boszormenyi (GCS) <g...@debian.hu>
-Forwarded: not-needed
-Last-Update: 2013-03-03
-
----
-
---- zopfli/makefile
-+++ zopfli/makefile
-@@ -1,5 +1,5 @@
- make:
--      gcc src/zopfli/*.c -O2 -W -Wall -Wextra -ansi -pedantic -lm -o zopfli
-+      gcc src/zopfli/*.c -O2 -W -Wall -Wextra -ansi -pedantic -lm $(CPPFLAGS) 
$(LDFLAGS) -o zopfli
- 
- debug:
--      gcc src/zopfli/*.c -g3 -lm -o zopfli
-+      gcc src/zopfli/*.c -g3 -lm $(CPPFLAGS) $(LDFLAGS) -o zopfli
diff --git a/debian/patches/libzopfli.diff b/debian/patches/libzopfli.diff
new file mode 100644
index 0000000..47f14e7
--- /dev/null
+++ b/debian/patches/libzopfli.diff
@@ -0,0 +1,22 @@
+--- a/makefile
++++ b/makefile
+@@ -1,5 +1,16 @@
+-make:
+-      gcc src/zopfli/*.c -O2 -W -Wall -Wextra -ansi -pedantic -lm -o zopfli
++SOURCES = $(shell find src/zopfli -name *.c)
++OBJECTS = $(SOURCES:.c=.o)
++
++make: $(OBJECTS)
++      cc $(OBJECTS) -o zopfli $(LDFLAGS) -fPIC -lm
++      cc $(OBJECTS) -o libzopfli.so.1.0.0 $(LDFLAGS) -fPIC -lm -shared 
-Wl,-soname,libzopfli.so.1
++      ar rs libzopfli.a $(OBJECTS)
+ 
+ debug:
+       gcc src/zopfli/*.c -g3 -lm -o zopfli
++
++$(OBJECTS): %.o: %.c
++      cc $< -o $@ $(CFLAGS) $(CPPFLAGS) -fPIC -c -ansi
++
++clean:
++      rm -f src/zopfli/*.o *.a *.so.* zopfli
+\ No newline at end of file
diff --git a/debian/patches/series b/debian/patches/series
index 4ea3a8e..634eb91 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1 @@
-hardened_build.patch
+libzopfli.diff

Reply via email to