tags 564810 patch
thanks

Luca Bruno wrote:
>> Please consider building lvm2 with the --enable-applib configure
>> switch and packaging the resulting lvm2app library files.
>  
> I'd join this request, as I'm personally interested in it and gparted
> could benefit of this too, soon.
> Please enable it, or let us know if you need additional manpower for
> the package.

Hi,

please find attached this patch. It does

1.) Add a liblvm2app-dev and liblvm2app2.1 binary package to debian/control
2.) Add liblvm2app2.1.{install,symbols} and liblvm2app-dev.install
3.) Update debian/patches/libs-cleanup.patch, so liblvm2app correctly links
against libdevmapper.
4.) debian/rules
- Pass  --enable-applib to configure in setup-deb
- As liblvm has no separate install target (like e.g. install_lvm2), define a
install-deb-all target which runs make install
- Add install-liblvm2app which takes care of creating the liblvm2app-dev and
liblvm2app2.1 binary package

Patch is tested.

Please consider it in your next upload.

Thanks,
Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
diff --git a/debian/control b/debian/control
index 8444459..1ccdac4 100644
--- a/debian/control
+++ b/debian/control
@@ -35,6 +35,23 @@ Description: The Linux Logical Volume Manager
  volume groups can be allocated to logical volumes, which are accessed as
  regular block devices.
 
+Package: liblvm2app-dev
+Section: libdevel
+Architecture: any
+Depends: ${misc:Depends}, liblvm2app2.1 (= ${binary:Version}), libdevmapper-dev
+Description: LVM2 application library - development files
+ This package contains files needed to develop applications that use the
+ lvm2app library.
+
+Package: liblvm2app2.1
+Section: libs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: LVM2 application library
+ This package contains the lvm2app shared library. It allows easier access
+ to the basic LVM objects and provides functions to enumerate, create or
+ modify them.
+
 Package: clvm
 Section: admin
 Priority: extra
diff --git a/debian/liblvm2app-dev.install b/debian/liblvm2app-dev.install
new file mode 100644
index 0000000..cae75ab
--- /dev/null
+++ b/debian/liblvm2app-dev.install
@@ -0,0 +1,3 @@
+usr/include/lvm2app.h
+usr/lib/pkgconfig/lvm2app.pc
+lib/liblvm2app.so usr/lib/
diff --git a/debian/liblvm2app2.1.install b/debian/liblvm2app2.1.install
new file mode 100644
index 0000000..4a845ef
--- /dev/null
+++ b/debian/liblvm2app2.1.install
@@ -0,0 +1 @@
+lib/liblvm2app.so.* usr/lib/
diff --git a/debian/liblvm2app2.1.symbols b/debian/liblvm2app2.1.symbols
new file mode 100644
index 0000000..b2c792d
--- /dev/null
+++ b/debian/liblvm2app2.1.symbols
@@ -0,0 +1,43 @@
+liblvm2app.so.2.1 liblvm2app2.1 #MINVER#
+ b...@base 2.02.54
+ lvm_config_overr...@base 2.02.54
+ lvm_config_rel...@base 2.02.54
+ lvm_err...@base 2.02.54
+ lvm_er...@base 2.02.54
+ lvm_i...@base 2.02.54
+ lvm_library_get_vers...@base 2.02.54
+ lvm_list_vg_na...@base 2.02.54
+ lvm_list_vg_uu...@base 2.02.54
+ lvm_lv_activ...@base 2.02.54
+ lvm_lv_deactiv...@base 2.02.54
+ lvm_lv_get_n...@base 2.02.54
+ lvm_lv_get_s...@base 2.02.54
+ lvm_lv_get_u...@base 2.02.54
+ lvm_lv_is_act...@base 2.02.54
+ lvm_lv_is_suspen...@base 2.02.54
+ lvm_pv_get_mda_co...@base 2.02.54
+ lvm_pv_get_n...@base 2.02.54
+ lvm_pv_get_u...@base 2.02.54
+ lvm_q...@base 2.02.54
+ lvm_s...@base 2.02.54
+ lvm_vg_cl...@base 2.02.54
+ lvm_vg_cre...@base 2.02.54
+ lvm_vg_create_lv_lin...@base 2.02.54
+ lvm_vg_ext...@base 2.02.54
+ lvm_vg_get_extent_co...@base 2.02.54
+ lvm_vg_get_extent_s...@base 2.02.54
+ lvm_vg_get_free_extent_co...@base 2.02.54
+ lvm_vg_get_free_s...@base 2.02.54
+ lvm_vg_get_n...@base 2.02.54
+ lvm_vg_get_pv_co...@base 2.02.54
+ lvm_vg_get_se...@base 2.02.54
+ lvm_vg_get_s...@base 2.02.54
+ lvm_vg_get_u...@base 2.02.54
+ lvm_vg_list_...@base 2.02.54
+ lvm_vg_list_...@base 2.02.54
+ lvm_vg_o...@base 2.02.54
+ lvm_vg_red...@base 2.02.54
+ lvm_vg_rem...@base 2.02.54
+ lvm_vg_remove...@base 2.02.54
+ lvm_vg_set_extent_s...@base 2.02.54
+ lvm_vg_wr...@base 2.02.54
diff --git a/debian/patches/libs-cleanup.patch b/debian/patches/libs-cleanup.patch
index 495dfcb..267faf7 100644
--- a/debian/patches/libs-cleanup.patch
+++ b/debian/patches/libs-cleanup.patch
@@ -189,14 +189,14 @@
  $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
  	$(CC) -shared -Wl,-soname,$(notdir $@).$(LIB_VERSION) \
 -	$(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+	$(CFLAGS) $(LDFLAGS) $(CLDFLAGS) $(OBJECTS) -o $@
++	$(CFLAGS) $(LDFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
  endif
  
  ifeq ("@LIB_SUFFIX@","dylib")
  $(LIB_SHARED): $(OBJECTS) $(LDDEPS)
  	$(CC) -dynamiclib -dylib_current_version,$(LIB_VERSION) \
 -	$(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
-+	$(CFLAGS) $(LDFLAGS) $(CLDFLAGS) $(OBJECTS) -o $@
++	$(CFLAGS) $(LDFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@
  endif
  
  %.so: %.a
diff --git a/debian/rules b/debian/rules
index fad53ac..ba348f2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,6 +18,8 @@ DEVMAPPER_VERSION = 2:$(DEVMAPPER_VERSION_PLAIN)
 DEVMAPPER_VERSION_DEBIAN = $(DEVMAPPER_VERSION)-$(VERSION_DEBIAN)
 DEVMAPPER_VERSION_FILE = $(DEVMAPPER_VERSION_PLAIN)-$(VERSION_DEBIAN)
 
+LVM2APP_ABINAME = 2.1
+
 BUILD_DIR = debian/build
 STAMPS_DIR = debian/stamps
 
@@ -71,7 +73,8 @@ $(STAMPS_DIR)/setup-deb: $(STAMPS_DIR)/source
 		--with-device-gid=6 \
 		--with-device-mode=0660 \
 		--enable-pkgconfig \
-		--enable-readline
+		--enable-readline \
+		--enable-applib
 	touch $@
 
 $(STAMPS_DIR)/setup-udeb: SOURCE_DIR = $(BUILD_DIR)/source
@@ -135,7 +138,15 @@ $(STAMPS_DIR)/install-udeb-%: $(STAMPS_DIR)/build-udeb
 	$(MAKE) -C $(BUILD_DIR)/build-udeb install_$* DESTDIR=$(CURDIR)/$(DIR) LIB_VERSION_DM=$(DEVMAPPER_ABINAME)
 	touch $@
 
-install: $(addprefix install-,libdevmapper libdevmapper-udeb dmsetup dmsetup-udeb lvm2 lvm2-udeb clvm)
+$(STAMPS_DIR)/install-deb-all: DIR = $(BUILD_DIR)/install-deb-all
+$(STAMPS_DIR)/install-deb-all: $(STAMPS_DIR)/build-deb
+	dh_testdir
+	dh_testroot
+	rm -rf $(DIR)
+	$(MAKE) -C $(BUILD_DIR)/build-deb install DESTDIR=$(CURDIR)/$(DIR)
+	touch $@
+
+install: $(addprefix install-,libdevmapper libdevmapper-udeb liblvm2app dmsetup dmsetup-udeb lvm2 lvm2-udeb clvm)
 
 install-base:
 	dh_installdocs
@@ -198,7 +209,6 @@ install-dmsetup-udeb: $(STAMPS_DIR)/install-udeb-device-mapper
 	dh_md5sums
 	dpkg-deb --build debian/$(PACKAGE_NAME) ../$(PACKAGE_FILE)
 
-
 install-libdevmapper: export DH_OPTIONS = -plibdevmapper-dev -plibdevmapper$(DEVMAPPER_ABINAME)
 install-libdevmapper: DIR = $(BUILD_DIR)/install-deb-device-mapper
 install-libdevmapper: $(STAMPS_DIR)/install-deb-device-mapper
@@ -240,6 +250,18 @@ install-libdevmapper-udeb: $(STAMPS_DIR)/install-udeb-device-mapper
 	dh_md5sums
 	dpkg-deb --build debian/$(PACKAGE_NAME) ../$(PACKAGE_FILE)
 
+install-liblvm2app: export DH_OPTIONS = -pliblvm2app-dev -pliblvm2app$(LVM2APP_ABINAME)
+install-liblvm2app: DIR = $(BUILD_DIR)/install-deb-all
+install-liblvm2app: $(STAMPS_DIR)/install-deb-all
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_install --sourcedir=$(DIR)
+	dh_installchangelogs WHATS_NEW
+	dh_installexamples
+	dh_makeshlibs
+	$(MAKE) -f debian/rules install-base
+
 install-lvm2: export DH_OPTIONS = -plvm2
 install-lvm2: DIR = $(BUILD_DIR)/install-deb-lvm2
 install-lvm2: $(STAMPS_DIR)/install-deb-lvm2

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to