[SCM] libav/master: Properly set the library paths for multiarch and shared libs in debian/*.install instead of using brace expansion and asterisks.
fabian-guest at users.alioth.debian.org
fabian-guest at users.alioth.debian.org
Fri Jan 13 16:08:44 UTC 2012
The following commit has been merged in the master branch:
commit 7415b3bd0fdb7188c7c5cc8802f92aeb7890a0d3
Author: Fabian Greffrath <fabian+debian at greffrath.com>
Date: Fri Jan 13 17:07:53 2012 +0100
Properly set the library paths for multiarch and shared libs in debian/*.install instead of using brace expansion and asterisks.
The debian/*.install files for the shared library packages get dynamically
generated at build time with the proper multipath library paths set.
On archs that support optimized shared libraries, the special path to these
libraries for the dynamic linker is also set.
NOTE: This currently only works for *one* additional optimized shared
library per arch!
diff --git a/debian/confflags b/debian/confflags
index f8f4869..8d8e786 100644
--- a/debian/confflags
+++ b/debian/confflags
@@ -175,14 +175,16 @@ shared_build_confflags += --disable-static
## specific to arm architectures
# Configuration flags for the optimised shared libraries
+vfp_shlibdir := vfp
vfp_build_confflags += $(confflags)
-vfp_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/vfp
+vfp_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/$(vfp_shlibdir)
vfp_build_confflags += --enable-shared
vfp_build_confflags += --disable-static
vfp_build_confflags += --extra-cflags="-mfpu=vfp $(float_abi)"
# NB: NEON always implies v7+ and Libav's NEON implementation requires VFP
+neon_shlibdir := neon/vfp
neon_build_confflags += $(confflags)
-neon_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/neon/vfp
+neon_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/$(neon_shlibdir)
# the NEON pass now requires ubfx which was introduced in armv6t2; we need to
# enable at least armv6t2 for the NEON pass to build, but NEON implies armv7-a
# so pass armv7-a if it's not already enabled
@@ -195,17 +197,19 @@ neon_build_confflags += --disable-static
## i386 architecture specific
# Configuration flags for the optimized shared libraries
+cmov_shlibdir := i686/cmov
cmov_build_confflags += $(confflags)
cmov_build_confflags += $(nooptflags)
-cmov_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/i686/cmov
+cmov_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/$(cmov_shlibdir)
cmov_build_confflags += --cpu='i686'
cmov_build_confflags += --enable-shared
cmov_build_confflags += --disable-static
## powerpc architecture specific
# Configuration flags for the optimized shared libraries
+altivec_shlibdir := altivec
altivec_build_confflags += $(confflags)
-altivec_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/altivec
+altivec_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/$(altivec_shlibdir)
altivec_build_confflags += --cpu='g4'
altivec_build_confflags += --enable-shared
altivec_build_confflags += --disable-static
@@ -213,8 +217,9 @@ altivec_build_confflags += --enable-altivec
## sparc architecture specific
# Configuration flags for the optimized shared libraries
+vis_shlibdir := v9
vis_build_confflags += $(confflags)
-vis_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/v9
+vis_build_confflags += --shlibdir=/usr/lib/$(DEB_HOST_MULTIARCH)/$(vis_shlibdir)
vis_build_confflags += --cpu='sparc64'
vis_build_confflags += --enable-shared
vis_build_confflags += --disable-static
diff --git a/debian/libavcodec-dev.install b/debian/libavcodec-dev.install
deleted file mode 100644
index 57ecd96..0000000
--- a/debian/libavcodec-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libavcodec
-usr/lib/*/libavcodec.a
-usr/lib/*/{,*/,*/*/}libavcodec.so
-usr/lib/*/pkgconfig/libavcodec.pc
diff --git a/debian/libavcodec-dev.install.in b/debian/libavcodec-dev.install.in
new file mode 100644
index 0000000..69ce957
--- /dev/null
+++ b/debian/libavcodec-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libavcodec
+usr/lib/@DEB_HOST_MULTIARCH@/libavcodec.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavcodec.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libavcodec.pc
diff --git a/debian/libavcodec53.install b/debian/libavcodec53.install
deleted file mode 100644
index 27da00e..0000000
--- a/debian/libavcodec53.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libavcodec.so.*
diff --git a/debian/libavcodec53.install.in b/debian/libavcodec53.install.in
new file mode 100644
index 0000000..7c69bb0
--- /dev/null
+++ b/debian/libavcodec53.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavcodec.so.*
diff --git a/debian/libavdevice-dev.install b/debian/libavdevice-dev.install
deleted file mode 100644
index b38e4f0..0000000
--- a/debian/libavdevice-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libavdevice
-usr/lib/*/libavdevice.a
-usr/lib/*/{,*/,*/*/}libavdevice.so
-usr/lib/*/pkgconfig/libavdevice.pc
diff --git a/debian/libavdevice-dev.install.in b/debian/libavdevice-dev.install.in
new file mode 100644
index 0000000..985ce79
--- /dev/null
+++ b/debian/libavdevice-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libavdevice
+usr/lib/@DEB_HOST_MULTIARCH@/libavdevice.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavdevice.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libavdevice.pc
diff --git a/debian/libavdevice53.install b/debian/libavdevice53.install
deleted file mode 100644
index 30b41e5..0000000
--- a/debian/libavdevice53.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libavdevice.so.*
diff --git a/debian/libavdevice53.install.in b/debian/libavdevice53.install.in
new file mode 100644
index 0000000..e942547
--- /dev/null
+++ b/debian/libavdevice53.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavdevice.so.*
diff --git a/debian/libavfilter-dev.install b/debian/libavfilter-dev.install
deleted file mode 100644
index f278a96..0000000
--- a/debian/libavfilter-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libavfilter
-usr/lib/*/libavfilter.a
-usr/lib/*/{,*/,*/*/}libavfilter.so
-usr/lib/*/pkgconfig/libavfilter.pc
diff --git a/debian/libavfilter-dev.install.in b/debian/libavfilter-dev.install.in
new file mode 100644
index 0000000..716ee90
--- /dev/null
+++ b/debian/libavfilter-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libavfilter
+usr/lib/@DEB_HOST_MULTIARCH@/libavfilter.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavfilter.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libavfilter.pc
diff --git a/debian/libavfilter2.install b/debian/libavfilter2.install
deleted file mode 100644
index 1efdd0b..0000000
--- a/debian/libavfilter2.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libavfilter.so.*
diff --git a/debian/libavfilter2.install.in b/debian/libavfilter2.install.in
new file mode 100644
index 0000000..4e4157c
--- /dev/null
+++ b/debian/libavfilter2.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavfilter.so.*
diff --git a/debian/libavformat-dev.install b/debian/libavformat-dev.install
deleted file mode 100644
index 93c742e..0000000
--- a/debian/libavformat-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libavformat
-usr/lib/*/libavformat.a
-usr/lib/*/{,*/,*/*/}libavformat.so
-usr/lib/*/pkgconfig/libavformat.pc
diff --git a/debian/libavformat-dev.install.in b/debian/libavformat-dev.install.in
new file mode 100644
index 0000000..a4ee167
--- /dev/null
+++ b/debian/libavformat-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libavformat
+usr/lib/@DEB_HOST_MULTIARCH@/libavformat.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavformat.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libavformat.pc
diff --git a/debian/libavformat53.install b/debian/libavformat53.install
deleted file mode 100644
index 0a3dc1a..0000000
--- a/debian/libavformat53.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libavformat.so.*
diff --git a/debian/libavformat53.install.in b/debian/libavformat53.install.in
new file mode 100644
index 0000000..660f3a5
--- /dev/null
+++ b/debian/libavformat53.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavformat.so.*
diff --git a/debian/libavutil-dev.install b/debian/libavutil-dev.install
deleted file mode 100644
index 2a410c7..0000000
--- a/debian/libavutil-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libavutil
-usr/lib/*/libavutil.a
-usr/lib/*/{,*/,*/*/}libavutil.so
-usr/lib/*/pkgconfig/libavutil.pc
diff --git a/debian/libavutil-dev.install.in b/debian/libavutil-dev.install.in
new file mode 100644
index 0000000..5eeb883
--- /dev/null
+++ b/debian/libavutil-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libavutil
+usr/lib/@DEB_HOST_MULTIARCH@/libavutil.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavutil.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libavutil.pc
diff --git a/debian/libavutil51.install b/debian/libavutil51.install
deleted file mode 100644
index f89ecbe..0000000
--- a/debian/libavutil51.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libavutil.so.*
diff --git a/debian/libavutil51.install.in b/debian/libavutil51.install.in
new file mode 100644
index 0000000..3dc6cc2
--- /dev/null
+++ b/debian/libavutil51.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libavutil.so.*
diff --git a/debian/libpostproc-dev.install b/debian/libpostproc-dev.install
deleted file mode 100644
index de5d0f9..0000000
--- a/debian/libpostproc-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libpostproc
-usr/lib/*/libpostproc.a
-usr/lib/*/{,*/,*/*/}libpostproc.so
-usr/lib/*/pkgconfig/libpostproc.pc
diff --git a/debian/libpostproc-dev.install.in b/debian/libpostproc-dev.install.in
new file mode 100644
index 0000000..bf4bcb5
--- /dev/null
+++ b/debian/libpostproc-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libpostproc
+usr/lib/@DEB_HOST_MULTIARCH@/libpostproc.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libpostproc.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libpostproc.pc
diff --git a/debian/libpostproc52.install b/debian/libpostproc52.install
deleted file mode 100644
index 78d31a1..0000000
--- a/debian/libpostproc52.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libpostproc.so.*
diff --git a/debian/libpostproc52.install.in b/debian/libpostproc52.install.in
new file mode 100644
index 0000000..5c4aee3
--- /dev/null
+++ b/debian/libpostproc52.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libpostproc.so.*
diff --git a/debian/libswscale-dev.install b/debian/libswscale-dev.install
deleted file mode 100644
index b4d9715..0000000
--- a/debian/libswscale-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/libswscale
-usr/lib/*/libswscale.a
-usr/lib/*/{,*/,*/*/}libswscale.so
-usr/lib/*/pkgconfig/libswscale.pc
diff --git a/debian/libswscale-dev.install.in b/debian/libswscale-dev.install.in
new file mode 100644
index 0000000..71eb932
--- /dev/null
+++ b/debian/libswscale-dev.install.in
@@ -0,0 +1,4 @@
+usr/include/libswscale
+usr/lib/@DEB_HOST_MULTIARCH@/libswscale.a
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libswscale.so
+usr/lib/@DEB_HOST_MULTIARCH@/pkgconfig/libswscale.pc
diff --git a/debian/libswscale2.install b/debian/libswscale2.install
deleted file mode 100644
index b403da1..0000000
--- a/debian/libswscale2.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/{,*/,*/*/}libswscale.so.*
diff --git a/debian/libswscale2.install.in b/debian/libswscale2.install.in
new file mode 100644
index 0000000..2ac5f14
--- /dev/null
+++ b/debian/libswscale2.install.in
@@ -0,0 +1 @@
+usr/lib/@DEB_HOST_MULTIARCH_OPT@/libswscale.so.*
diff --git a/debian/rules b/debian/rules
index 5deb5a4..95f508c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,6 +7,7 @@ UPSTREAM_VERSION := $(shell echo $(DEB_VERSION) | sed -r 's/[^:]+://; s/-[^-]+$$
SHLIBS_VERSION := 4:0.8~beta1~
LIB_PKGS := $(shell sed -nr 's/^Package:[[:space:]]*(lib(avutil|avcodec|avdevice|avformat|avfilter|postproc|swscale)(-extra-)?[0-9]+)[[:space:]]*$$/\1/p' debian/control)
+DEV_PKGS := $(shell echo $(LIB_PKGS) | sed 's/[0-9]\+\>/-dev/g')
# Support multiple makes at once
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
@@ -21,12 +22,21 @@ endif
endif
include debian/confflags
+OPT_FLAVOR := $(filter-out static shared, $(FLAVORS))
$(info FLAVORS = $(FLAVORS))
$(info DEB_BUILD_OPTIONS = $(DEB_BUILD_OPTIONS))
$(info CFLAGS = $(CFLAGS))
$(info LDFLAGS = $(LDFLAGS))
+DH_INSTALL_FILES := $(foreach pkg, $(LIB_PKGS) $(DEV_PKGS), debian/$(pkg).install)
+$(DH_INSTALL_FILES):
+ sed 's/@DEB_HOST_MULTIARCH\(_OPT\)\?@/$(DEB_HOST_MULTIARCH)/g' $@.in > $@
+ifneq (,$(OPT_FLAVOR))
+ grep @DEB_HOST_MULTIARCH_OPT@ < $@.in | \
+ sed 's:@DEB_HOST_MULTIARCH_OPT@:$(DEB_HOST_MULTIARCH)/$($(OPT_FLAVOR)_shlibdir):g' >> $@
+endif
+
configure-%: configure-stamp-%
configure-stamp-%: $(QUILT_STAMPFN)
dh_testdir
@@ -60,7 +70,7 @@ clean:
$(addprefix configure-stamp-, $(FLAVORS)) \
build-doxy-stamp
rm -rf $(addprefix debian-, $(FLAVORS)) doxy
- dh_clean
+ dh_clean $(DH_INSTALL_FILES)
get-orig-source:
dh_testdir
@@ -73,7 +83,7 @@ define install_flavor
endef
-install: build
+install: build $(DH_INSTALL_FILES)
dh_testdir
dh_testroot
dh_prep
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list