[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#488117: libv4l



Hi Gregor,

I've looked over the changes and have a number of suggestions, all
included in the attached debdiff:

    - renamed lib* to lib*-0: the major ABI number should be reflected
      in the binary package names.
    - dropped all the .dirs files: they are redundant (i.e. only needed
      for creating empty directories).
    - removed the static files from *-dev and the rules file.  Building
      static libraries is not really a good idea, since it allows for
      copies of the code to leak everywhere, which makes security
      updates a pain, etc.  Unless they are explicitly required, I
      strongly recommend dropping them.
    - corrected the clean/unpatch rule combo: the build must clean
      first, then unpatch.
    - added .symbols files to track the change of ABI over time.

Thanks again for keeping this going.  It looks really good.

-Kees

-- 
Kees Cook                                            @outflux.net
diff -u libv4l-0.5.0/debian/libv4l-dev.links libv4l-0.5.0/debian/libv4l-dev.links
--- libv4l-0.5.0/debian/libv4l-dev.links
+++ libv4l-0.5.0/debian/libv4l-dev.links
@@ -1 +1 @@
-usr/share/doc/libv4l /usr/share/doc/libv4l-dev
+usr/share/doc/libv4l-0 /usr/share/doc/libv4l-dev
reverted:
--- libv4l-0.5.0/debian/libv4l.lintian-overrides
+++ libv4l-0.5.0.orig/debian/libv4l.lintian-overrides
@@ -1 +0,0 @@
-libv4l: package-name-doesnt-match-sonames libv4l1-0 libv4l2-0 libv4lconvert0
reverted:
--- libv4l-0.5.0/debian/libv4l-dev.dirs
+++ libv4l-0.5.0.orig/debian/libv4l-dev.dirs
@@ -1,2 +0,0 @@
-usr/lib
-usr/include
reverted:
--- libv4l-0.5.0/debian/lib32v4l.dirs
+++ libv4l-0.5.0.orig/debian/lib32v4l.dirs
@@ -1,2 +0,0 @@
-usr/lib32
-usr/lib32/libv4l
diff -u libv4l-0.5.0/debian/lib32v4l-dev.install libv4l-0.5.0/debian/lib32v4l-dev.install
--- libv4l-0.5.0/debian/lib32v4l-dev.install
+++ libv4l-0.5.0/debian/lib32v4l-dev.install
@@ -1,4 +1,2 @@
-#usr/include/*
-usr/lib32/lib*.a
 usr/lib32/lib*.so
 usr/lib32/pkgconfig/*
reverted:
--- libv4l-0.5.0/debian/libv4l.dirs
+++ libv4l-0.5.0.orig/debian/libv4l.dirs
@@ -1,2 +0,0 @@
-usr/lib
-usr/lib/libv4l
diff -u libv4l-0.5.0/debian/control libv4l-0.5.0/debian/control
--- libv4l-0.5.0/debian/control
+++ libv4l-0.5.0/debian/control
@@ -6,7 +6,7 @@
 Standards-Version: 3.8.0
 Homepage: http://people.atrpms.net/~hdegoede/
 
-Package: libv4l
+Package: libv4l-0
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}
@@ -30,14 +31,14 @@
 Package: libv4l-dev
 Section: libdevel
 Architecture: any
-Depends: libv4l (= ${binary:Version})
+Depends: libv4l-0 (= ${binary:Version})
 Description: Collection of video4linux support libraries (development files)
  This package contains development files (headers and static libraries).
 
-Package: lib32v4l
+Package: lib32v4l-0
 Section: libs
 Architecture: amd64
-Depends: libv4l (= ${binary:Version}), ${shlibs:Depends}
+Depends: libv4l-0 (= ${binary:Version}), ${shlibs:Depends}
 Description: Collection of video4linux support libraries (32 bit)
  libv4l is a collection of libraries which adds a thin abstraction layer on
  top of video4linux2 devices. The purpose of this (thin) layer is to make it
@@ -60,7 +61,7 @@
 Package: lib32v4l-dev
 Section: libdevel
 Architecture: amd64
-Depends: libv4l (= ${binary:Version}), lib32v4l (= ${binary:Version}), libv4l-dev (= ${binary:Version})
+Depends: libv4l-0 (= ${binary:Version}), lib32v4l-0 (= ${binary:Version}), libv4l-dev (= ${binary:Version})
 Description: Collection of video4linux support libraries (32bit development files)
  This package contains development files for 32 bit compatibility
  (headers and static libraries).
reverted:
--- libv4l-0.5.0/debian/libv4l.install
+++ libv4l-0.5.0.orig/debian/libv4l.install
@@ -1,2 +0,0 @@
-usr/lib/lib*.so.*
-usr/lib/libv4l/*.so
diff -u libv4l-0.5.0/debian/rules libv4l-0.5.0/debian/rules
--- libv4l-0.5.0/debian/rules
+++ libv4l-0.5.0/debian/rules
@@ -15,39 +15,28 @@
 	dh_prep
 	dh_installdirs -s
 
-	# clean object files (maybe some non-pic were left behind)
-	$(MAKE) clean
 	# build shared libs and install
 	$(MAKE) PREFIX=/usr DESTDIR=$(CURDIR)/debian/tmp install
-	# clean object files
-	$(MAKE) clean
-	# build static libs and install
-	$(MAKE) PREFIX=/usr DESTDIR=$(CURDIR)/debian/tmp LINKTYPE=static install
-	# clean object files
-	$(MAKE) clean
 
 ifeq ($(DEB_HOST_ARCH), amd64)
-	# build 32 bit shared libs and install
-	$(MAKE) CPPFLAGS=-m32 LDFLAGS=-m32 PREFIX=/usr LIBDIR=/usr/lib32 DESTDIR=$(CURDIR)/debian/tmp  install
 	# clean object files
-	$(MAKE) CPPFLAGS=-m32 LDFLAGS=-m32 clean
-	# build 32 bit static libs and install
-	$(MAKE) CPPFLAGS=-m32 LDFLAGS=-m32 PREFIX=/usr LIBDIR=/usr/lib32 DESTDIR=$(CURDIR)/debian/tmp LINKTYPE=static install
-	# clean object files
-	$(MAKE) CPPFLAGS=-m32 LDFLAGS=-m32 clean
+	$(MAKE) clean
+	# build 32 bit shared libs and install
+	$(MAKE) CPPFLAGS+=-m32 LDFLAGS+=-m32 PREFIX=/usr LIBDIR=/usr/lib32 DESTDIR=$(CURDIR)/debian/tmp  install
 endif
 
 	touch $@
 
-clean: unpatch
+clean: clean-patched unpatch
+clean-patched:
 	dh_testdir
 	dh_testroot
-	rm -f build-stamp
 
 	# Add here commands to clean up after the build process.
 	$(MAKE) clean
 
 	dh_clean
+	rm -f build-stamp
 
 # Build architecture-independent files here.
 binary-indep: build
@@ -58,8 +47,8 @@
 	dh_testdir
 	dh_testroot
 	dh_lintian -s
-	dh_installchangelogs -plibv4l ChangeLog
-	dh_installdocs -plibv4l
+	dh_installchangelogs -plibv4l-0 ChangeLog
+	dh_installdocs -plibv4l-0
 	dh_install -s --sourcedir=debian/tmp
 	dh_link -s
 	dh_strip -s
reverted:
--- libv4l-0.5.0/debian/lib32v4l.links
+++ libv4l-0.5.0.orig/debian/lib32v4l.links
@@ -1 +0,0 @@
-usr/share/doc/libv4l /usr/share/doc/lib32v4l
reverted:
--- libv4l-0.5.0/debian/lib32v4l-dev.dirs
+++ libv4l-0.5.0.orig/debian/lib32v4l-dev.dirs
@@ -1 +0,0 @@
-usr/lib32
diff -u libv4l-0.5.0/debian/libv4l-dev.install libv4l-0.5.0/debian/libv4l-dev.install
--- libv4l-0.5.0/debian/libv4l-dev.install
+++ libv4l-0.5.0/debian/libv4l-dev.install
@@ -1,4 +1,3 @@
 usr/include/*
-usr/lib/lib*.a
 usr/lib/lib*.so
 usr/lib/pkgconfig/*
reverted:
--- libv4l-0.5.0/debian/lib32v4l.install
+++ libv4l-0.5.0.orig/debian/lib32v4l.install
@@ -1,2 +0,0 @@
-usr/lib32/lib*.so.*
-usr/lib32/libv4l/*.so
only in patch2:
unchanged:
--- libv4l-0.5.0.orig/debian/lib32v4l-0.symbols
+++ libv4l-0.5.0/debian/lib32v4l-0.symbols
@@ -0,0 +1,30 @@
+libv4l1.so.0 lib32v4l-0 #MINVER#
+ v4l1_close@Base 0.5.0
+ v4l1_dup@Base 0.5.0
+ v4l1_ioctl@Base 0.5.0
+ v4l1_mmap@Base 0.5.0
+ v4l1_munmap@Base 0.5.0
+ v4l1_open@Base 0.5.0
+ v4l1_read@Base 0.5.0
+libv4l2.so.0 lib32v4l-0 #MINVER#
+ v4l2_close@Base 0.5.0
+ v4l2_dup@Base 0.5.0
+ v4l2_fd_open@Base 0.5.0
+ v4l2_get_control@Base 0.5.0
+ v4l2_ioctl@Base 0.5.0
+ v4l2_log_file@Base 0.5.0
+ v4l2_mmap@Base 0.5.0
+ v4l2_munmap@Base 0.5.0
+ v4l2_open@Base 0.5.0
+ v4l2_read@Base 0.5.0
+ v4l2_set_control@Base 0.5.0
+libv4lconvert.so.0 lib32v4l-0 #MINVER#
+ v4lconvert_convert@Base 0.5.0
+ v4lconvert_create@Base 0.5.0
+ v4lconvert_destroy@Base 0.5.0
+ v4lconvert_enum_fmt@Base 0.5.0
+ v4lconvert_enum_frameintervals@Base 0.5.0
+ v4lconvert_enum_framesizes@Base 0.5.0
+ v4lconvert_get_error_message@Base 0.5.0
+ v4lconvert_needs_conversion@Base 0.5.0
+ v4lconvert_try_format@Base 0.5.0
only in patch2:
unchanged:
--- libv4l-0.5.0.orig/debian/lib32v4l-0.links
+++ libv4l-0.5.0/debian/lib32v4l-0.links
@@ -0,0 +1 @@
+usr/share/doc/libv4l-0 /usr/share/doc/lib32v4l-0
only in patch2:
unchanged:
--- libv4l-0.5.0.orig/debian/lib32v4l-0.install
+++ libv4l-0.5.0/debian/lib32v4l-0.install
@@ -0,0 +1,2 @@
+usr/lib32/lib*.so.*
+usr/lib32/libv4l/*.so
only in patch2:
unchanged:
--- libv4l-0.5.0.orig/debian/libv4l-0.lintian-overrides
+++ libv4l-0.5.0/debian/libv4l-0.lintian-overrides
@@ -0,0 +1 @@
+libv4l-0: package-name-doesnt-match-sonames libv4l1-0 libv4l2-0 libv4lconvert0
only in patch2:
unchanged:
--- libv4l-0.5.0.orig/debian/libv4l-0.install
+++ libv4l-0.5.0/debian/libv4l-0.install
@@ -0,0 +1,2 @@
+usr/lib/lib*.so.*
+usr/lib/libv4l/*.so
only in patch2:
unchanged:
--- libv4l-0.5.0.orig/debian/libv4l-0.symbols
+++ libv4l-0.5.0/debian/libv4l-0.symbols
@@ -0,0 +1,30 @@
+libv4l1.so.0 libv4l-0 #MINVER#
+ v4l1_close@Base 0.5.0
+ v4l1_dup@Base 0.5.0
+ v4l1_ioctl@Base 0.5.0
+ v4l1_mmap@Base 0.5.0
+ v4l1_munmap@Base 0.5.0
+ v4l1_open@Base 0.5.0
+ v4l1_read@Base 0.5.0
+libv4l2.so.0 libv4l-0 #MINVER#
+ v4l2_close@Base 0.5.0
+ v4l2_dup@Base 0.5.0
+ v4l2_fd_open@Base 0.5.0
+ v4l2_get_control@Base 0.5.0
+ v4l2_ioctl@Base 0.5.0
+ v4l2_log_file@Base 0.5.0
+ v4l2_mmap@Base 0.5.0
+ v4l2_munmap@Base 0.5.0
+ v4l2_open@Base 0.5.0
+ v4l2_read@Base 0.5.0
+ v4l2_set_control@Base 0.5.0
+libv4lconvert.so.0 libv4l-0 #MINVER#
+ v4lconvert_convert@Base 0.5.0
+ v4lconvert_create@Base 0.5.0
+ v4lconvert_destroy@Base 0.5.0
+ v4lconvert_enum_fmt@Base 0.5.0
+ v4lconvert_enum_frameintervals@Base 0.5.0
+ v4lconvert_enum_framesizes@Base 0.5.0
+ v4lconvert_get_error_message@Base 0.5.0
+ v4lconvert_needs_conversion@Base 0.5.0
+ v4lconvert_try_format@Base 0.5.0

Reply to: