[PATCH v1 2/3] debian: package liburing-0.4 and use a layout as the libaio package

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

 



Hopefully this makes is easier to be picked up by the debian and
ubuntu distributions.

Cc: Liu Changcheng <changcheng.liu@xxxxxxxxxx>
Signed-off-by: Stefan Metzmacher <metze@xxxxxxxxx>
---
 debian/changelog              |  6 +++
 debian/control                | 33 ++++++++++++-
 debian/liburing-dev.install   |  4 ++
 debian/liburing-dev.manpages  |  3 ++
 debian/liburing1-udeb.install |  1 +
 debian/liburing1.install      |  1 +
 debian/liburing1.symbols      | 28 +++++++++++
 debian/rules                  | 88 ++++++++++++++++++++++++++++++-----
 debian/watch                  |  5 +-
 9 files changed, 153 insertions(+), 16 deletions(-)
 create mode 100644 debian/liburing-dev.install
 create mode 100644 debian/liburing-dev.manpages
 create mode 100644 debian/liburing1-udeb.install
 create mode 100644 debian/liburing1.install
 create mode 100644 debian/liburing1.symbols

diff --git a/debian/changelog b/debian/changelog
index dfca8d2..b9ee85c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+liburing (0.4-1) stable; urgency=low
+
+  * Package liburing-0.4 using a packaging layout similar to libaio1
+
+ -- Stefan Metzmacher <metze@xxxxxxxxx>  Thu, 06 Feb 2020 11:30:00 +0100
+
 liburing (0.2-1ubuntu1) stable; urgency=low
 
   * Initial release.
diff --git a/debian/control b/debian/control
index 391cd68..831a314 100644
--- a/debian/control
+++ b/debian/control
@@ -4,12 +4,13 @@ Priority: optional
 Maintainer: Liu Changcheng <changcheng.liu@xxxxxxxxx>
 Build-Depends: debhelper (>=9)
 Standards-Version: 4.1.4
-Homepage: https://git.kernel.dk/liburing
+Homepage: https://git.kernel.dk/cgit/liburing/tree/README
 Vcs-Git: https://git.kernel.dk/liburing
-Vcs-Browser: https://git.kernel.dk/liburing
+Vcs-Browser: https://git.kernel.dk/cgit/liburing/
 
 Package: liburing1
 Architecture: linux-any
+Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Description: userspace library for using io_uring
@@ -17,3 +18,31 @@ Description: userspace library for using io_uring
  The newese Linux IO interface, io_uring could improve
  system performance a lot. liburing is the userpace
  library to use io_uring feature.
+ .
+ This package contains the shared library.
+
+Package: liburing1-udeb
+Package-Type: udeb
+Section: debian-installer
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends},
+Description: userspace library for using io_uring
+ io_uring is kernel feature to improve development
+ The newese Linux IO interface, io_uring could improve
+ system performance a lot. liburing is the userpace
+ library to use io_uring feature.
+ .
+ This package contains the udeb shared library.
+
+Package: liburing-dev
+Section: libdevel
+Architecture: linux-any
+Multi-Arch: same
+Depends: ${misc:Depends}, liburing1 (= ${binary:Version}),
+Description: userspace library for using io_uring
+ io_uring is kernel feature to improve development
+ The newese Linux IO interface, io_uring could improve
+ system performance a lot. liburing is the userpace
+ library to use io_uring feature.
+ .
+ This package contains the static library and the header files.
diff --git a/debian/liburing-dev.install b/debian/liburing-dev.install
new file mode 100644
index 0000000..a00d956
--- /dev/null
+++ b/debian/liburing-dev.install
@@ -0,0 +1,4 @@
+usr/include
+usr/lib/*/lib*.so
+usr/lib/*/lib*.a
+usr/lib/*/pkgconfig
diff --git a/debian/liburing-dev.manpages b/debian/liburing-dev.manpages
new file mode 100644
index 0000000..5683902
--- /dev/null
+++ b/debian/liburing-dev.manpages
@@ -0,0 +1,3 @@
+man/io_uring_setup.2
+man/io_uring_enter.2
+man/io_uring_register.2
diff --git a/debian/liburing1-udeb.install b/debian/liburing1-udeb.install
new file mode 100644
index 0000000..622f9ef
--- /dev/null
+++ b/debian/liburing1-udeb.install
@@ -0,0 +1 @@
+lib/*/lib*.so.*
diff --git a/debian/liburing1.install b/debian/liburing1.install
new file mode 100644
index 0000000..622f9ef
--- /dev/null
+++ b/debian/liburing1.install
@@ -0,0 +1 @@
+lib/*/lib*.so.*
diff --git a/debian/liburing1.symbols b/debian/liburing1.symbols
new file mode 100644
index 0000000..cc4d504
--- /dev/null
+++ b/debian/liburing1.symbols
@@ -0,0 +1,28 @@
+liburing.so.1 liburing1 #MINVER#
+ (symver)LIBURING_0.1 0.1-1
+ io_uring_get_sqe@LIBURING_0.1 0.1-1
+ io_uring_queue_exit@LIBURING_0.1 0.1-1
+ io_uring_queue_init@LIBURING_0.1 0.1-1
+ io_uring_queue_mmap@LIBURING_0.1 0.1-1
+ io_uring_register_buffers@LIBURING_0.1 0.1-1
+ io_uring_register_eventfd@LIBURING_0.1 0.1-1
+ io_uring_register_files@LIBURING_0.1 0.1-1
+ io_uring_submit@LIBURING_0.1 0.1-1
+ io_uring_submit_and_wait@LIBURING_0.1 0.1-1
+ io_uring_unregister_buffers@LIBURING_0.1 0.1-1
+ io_uring_unregister_files@LIBURING_0.1 0.1-1
+ (symver)LIBURING_0.2 0.2-1
+ __io_uring_get_cqe@LIBURING_0.2 0.2-1
+ io_uring_queue_init_params@LIBURING_0.2 0.2-1
+ io_uring_register_files_update@LIBURING_0.2 0.2-1
+ io_uring_peek_batch_cqe@LIBURING_0.2 0.2-1
+ io_uring_wait_cqe_timeout@LIBURING_0.2 0.2-1
+ io_uring_wait_cqes@LIBURING_0.2 0.2-1
+ (symver)LIBURING_0.3 0.3-1
+ (symver)LIBURING_0.4 0.4-1
+ io_uring_get_probe@LIBURING_0.4 0.4-1
+ io_uring_get_probe_ring@LIBURING_0.4 0.4-1
+ io_uring_register_personality@LIBURING_0.4 0.4-1
+ io_uring_register_probe@LIBURING_0.4 0.4-1
+ io_uring_ring_dontfork@LIBURING_0.4 0.4-1
+ io_uring_unregister_personality@LIBURING_0.4 0.4-1
diff --git a/debian/rules b/debian/rules
index fbc3942..283d464 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,16 +1,80 @@
 #!/usr/bin/make -f
-# You must remove unused comment lines for the released package.
-export DH_VERBOSE = 1
-export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
-#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
 
-%:
-	dh $@
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
 
-override_dh_auto_configure:
-	./configure --mandir=/usr/share/man
-	rm -rf config.log
+DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
+DEB_CFLAGS_MAINT_PREPEND = -Wall
 
-override_dh_strip:
-	dh_strip --dbgsym-migration=liburing-dev
+include /usr/share/dpkg/default.mk
+include /usr/share/dpkg/buildtools.mk
+
+export CC
+
+lib := liburing1
+libdbg := $(lib)-dbg
+libudeb := $(lib)-udeb
+libdev := liburing-dev
+
+build-indep:
+
+build-arch:
+	dh_testdir
+
+	$(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+
+build: build-indep build-arch
+
+clean:
+	dh_testdir
+	dh_testroot
+
+	$(MAKE) clean
+
+	dh_clean
+
+check-arch: build-arch
+	dh_testdir
+
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+	$(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+	        partcheck
+endif
+
+install-arch: check-arch
+	dh_testdir
+	dh_testroot
+	dh_clean
+	dh_installdirs
+
+	$(MAKE) install \
+	  DESTDIR=$(CURDIR)/debian/tmp \
+	  libdir=/lib/$(DEB_HOST_MULTIARCH) \
+	  libdevdir=/usr/lib/$(DEB_HOST_MULTIARCH)
+
+binary: binary-indep binary-arch
+
+binary-indep:
+	# Nothing to do.
+
+binary-arch: install-arch
+	dh_testdir
+	dh_testroot
+	dh_install -a
+	dh_installdocs -a
+	dh_installexamples -a
+	dh_installman -a
+	dh_lintian -a
+	dh_link -a
+	dh_strip -a --ddeb-migration='$(libdbg) (<< 0.3)'
+	dh_compress -a
+	dh_fixperms -a
+	dh_makeshlibs -a --add-udeb '$(libudeb)'
+	dh_shlibdeps -a
+	dh_installdeb -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
+
+.PHONY: clean build-indep build-arch build
+.PHONY: install-arch binary-indep binary-arch binary
diff --git a/debian/watch b/debian/watch
index 76575dc..f0e30c4 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,2 +1,3 @@
-# You must remove unused comment lines for the released package.
-version=3
+# Site          Directory               Pattern                 Version Script
+version=4
+https://git.kernel.dk/cgit/liburing/ snapshot\/liburing-([\d\.]+)\.tar\.(?:gz|xz) debian uupdate
-- 
2.17.1




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux