zfsonlinux / pkg-zfs

Native ZFS packaging for Debian and Ubuntu
https://launchpad.net/~zfs-native/+archive/daily
308 stars 55 forks source link

Update debian/wheezy/master to latest upstream #105

Closed danielkza closed 10 years ago

danielkza commented 10 years ago

Here are my tentative patches to move up the debian repo to the latest ZoL upstream. I only included my changes as patches because the whole merge was pretty gigantic, and including it here would be redundant since it can be easily produced from the upstream repo.

From 3a843049316a80d46b961f07e91d006851b109e0 Mon Sep 17 00:00:00 2001
From: Daniel Miranda <danielkza2@gmail.com>
Date: Sun, 23 Feb 2014 15:05:08 -0300
Subject: [PATCH 1/9] Update debian/patches/libzfs-dependencies so it applies
 clean.

---
 debian/patches/libzfs-dependencies | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/debian/patches/libzfs-dependencies b/debian/patches/libzfs-dependencies
index fde5dfb..68eda1a 100644
--- a/debian/patches/libzfs-dependencies
+++ b/debian/patches/libzfs-dependencies
@@ -1,11 +1,11 @@
 diff --git a/lib/libzfs/Makefile.am b/lib/libzfs/Makefile.am
-index 524efaa..8b472d2 100644
+index 8b1f517..3661ded 100644
 --- a/lib/libzfs/Makefile.am
 +++ b/lib/libzfs/Makefile.am
-@@ -22,8 +22,11 @@ libzfs_la_SOURCES = \
-   $(top_srcdir)/lib/libzfs/libzfs_util.c
+@@ -23,8 +23,11 @@ libzfs_la_SOURCES = \

  libzfs_la_LIBADD = \
+   $(top_builddir)/lib/libzfs_core/libzfs_core.la \
 +  $(top_builddir)/lib/libavl/libavl.la \
 +  $(top_builddir)/lib/libefi/libefi.la \
    $(top_builddir)/lib/libshare/libshare.la \
@@ -13,4 +13,4 @@ index 524efaa..8b472d2 100644
 +  $(top_builddir)/lib/libuutil/libuutil.la \
    $(top_builddir)/lib/libzpool/libzpool.la

- libzfs_la_LDFLAGS = -lm -ldl -version-info 1:1:0 $(LIBSELINUX)
+ libzfs_la_LIBADD += -lm -ldl $(LIBBLKID)
-- 
1.8.5.3
From b5e533b31da2ef0a33f9a08b853f38f6a4eb2218 Mon Sep 17 00:00:00 2001
From: Daniel Miranda <danielkza2@gmail.com>
Date: Sun, 23 Feb 2014 15:30:07 -0300
Subject: [PATCH 2/9] Add libzfs_core to debian build libs

---
 debian/rules | 1 +
 1 file changed, 1 insertion(+)

diff --git a/debian/rules b/debian/rules
index b2279f3..4cf087b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -147,6 +147,7 @@ override_dh_makeshlibs:
 ifeq ($(BUILD_UDEB), true)
    dh_makeshlibs -plibnvpair$(SHLIB_MAJOR) --add-udeb=libnvpair$(SHLIB_MAJOR)-udeb
    dh_makeshlibs -plibuutil$(SHLIB_MAJOR) --add-udeb=libuutil$(SHLIB_MAJOR)-udeb
+   dh_makeshlibs -plibzfs_core$(SHLIB_MAJOR) --add-udeb=libzfs_core$(SHLIB_MAJOR)-udeb
    dh_makeshlibs -plibzfs$(SHLIB_MAJOR) --add-udeb=libzfs$(SHLIB_MAJOR)-udeb
    dh_makeshlibs -plibzpool$(SHLIB_MAJOR) --add-udeb=libzpool$(SHLIB_MAJOR)-udeb
    dh_makeshlibs -pzfsutils --add-udeb=zfsutils-udeb
-- 
1.8.5.3
From 197e1504a6cc7b47f5a02f6d01dc72a0af2f6794 Mon Sep 17 00:00:00 2001
From: Daniel Miranda <danielkza2@gmail.com>
Date: Sun, 23 Feb 2014 16:41:53 -0300
Subject: [PATCH 3/9] Updated debian build configuration for new library
 version

---
 debian/control.in             | 14 +++++++-------
 debian/control.udeb.in        |  6 +++---
 debian/libzfs1-udeb.install   |  1 -
 debian/libzfs1.docs           |  2 --
 debian/libzfs1.install        |  1 -
 debian/libzfs2-udeb.install   |  1 +
 debian/libzfs2.docs           |  2 ++
 debian/libzfs2.install        |  2 ++
 debian/libzpool1-udeb.install |  1 -
 debian/libzpool1.docs         |  2 --
 debian/libzpool1.install      |  1 -
 debian/libzpool2-udeb.install |  1 +
 debian/libzpool2.docs         |  2 ++
 debian/libzpool2.install      |  1 +
 14 files changed, 19 insertions(+), 18 deletions(-)
 delete mode 100644 debian/libzfs1-udeb.install
 delete mode 100644 debian/libzfs1.docs
 delete mode 100644 debian/libzfs1.install
 create mode 100644 debian/libzfs2-udeb.install
 create mode 100644 debian/libzfs2.docs
 create mode 100644 debian/libzfs2.install
 delete mode 100644 debian/libzpool1-udeb.install
 delete mode 100644 debian/libzpool1.docs
 delete mode 100644 debian/libzpool1.install
 create mode 100644 debian/libzpool2-udeb.install
 create mode 100644 debian/libzpool2.docs
 create mode 100644 debian/libzpool2.install

diff --git a/debian/control.in b/debian/control.in
index b08247c..e81dc6d 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -48,16 +48,16 @@ Description: Solaris userland utility library for Linux
 Package: libzfs-dev
 Section: libdevel
 Architecture: linux-any
-Depends: libzfs1 (= ${binary:Version}), ${misc:Depends}
+Depends: libzfs2 (= ${binary:Version}), ${misc:Depends}
 Provides: libnvpair-dev, libuutil-dev
 Description: Native ZFS filesystem development files for Linux
  Header files and static libraries for compiling software  against
  libraries of native ZFS filesystem.
  .
  This package includes the development files of libnvpair1, libuutil1,
- and libzfs1.
+ and libzfs2.

-Package: libzfs1
+Package: libzfs2
 Section: libs
 Architecture: linux-any
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -68,7 +68,7 @@ Description: Native ZFS filesystem library for Linux
  .
  The ZFS library provides support for managing ZFS filesystems.

-Package: libzpool1
+Package: libzpool2
 Section: libs
 Architecture: linux-any
 Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -127,8 +127,8 @@ Priority: extra
 Architecture: linux-any
 Depends: libnvpair1 (= ${binary:Version}),
          libuutil1 (= ${binary:Version}),
-         libzfs1 (= ${binary:Version}),
-         libzpool1 (= ${binary:Version}),
+         libzfs2 (= ${binary:Version}),
+         libzpool2 (= ${binary:Version}),
          ${misc:Depends}
 Recommends: zfsutils (= ${binary:Version})
 Description: Debugging symbols for ZFS userland libraries and tools
@@ -136,5 +136,5 @@ Description: Debugging symbols for ZFS userland libraries and tools
  integrity, supporting data snapshots, multiple copies, and data
  checksums.
  .
- This package contains the debugging symbols for libzpool1, libzfs1,
+ This package contains the debugging symbols for libzpool2, libzfs2,
  libnvpair1, libuutil1, and zfsutils.
diff --git a/debian/control.udeb.in b/debian/control.udeb.in
index 83ce19d..95acb9e 100644
--- a/debian/control.udeb.in
+++ b/debian/control.udeb.in
@@ -29,7 +29,7 @@ Description: Solaris userland utility library for Linux (debian-installer)
  .
  This is a minimal package for use in debian-installer.

-Package: libzfs1-udeb
+Package: libzfs2-udeb
 Package-Type: udeb
 Section: debian-installer
 Architecture: linux-any
@@ -42,7 +42,7 @@ Description: OpenSolaris ZFS library (debian-installer)
  .
  This is a minimal package for use in debian-installer.

-Package: libzpool1-udeb
+Package: libzpool2-udeb
 Package-Type: udeb
 Section: debian-installer
 Architecture: linux-any
@@ -62,7 +62,7 @@ Section: debian-installer
 Architecture: linux-any
 Depends: ${shlibs:Depends}, ${misc:Depends},
  libuutil1-udeb (= ${binary:Version}), libnvpair1-udeb (= ${binary:Version}),
- libzfs1-udeb (= ${binary:Version}), libzpool1-udeb (= ${binary:Version}),
+ libzfs2-udeb (= ${binary:Version}), libzpool2-udeb (= ${binary:Version}),
  zfs-modules,
 Description: command-line tools to manage ZFS filesystems (debian-installer)
  The Z file system is a pooled filesystem designed for maximum data
diff --git a/debian/libzfs1-udeb.install b/debian/libzfs1-udeb.install
deleted file mode 100644
index 307192a..0000000
--- a/debian/libzfs1-udeb.install
+++ /dev/null
@@ -1 +0,0 @@
-lib/libzfs/.libs/libzfs.so.*[0-9]  lib
diff --git a/debian/libzfs1.docs b/debian/libzfs1.docs
deleted file mode 100644
index 425a0e5..0000000
--- a/debian/libzfs1.docs
+++ /dev/null
@@ -1,2 +0,0 @@
-COPYRIGHT
-OPENSOLARIS.LICENSE
diff --git a/debian/libzfs1.install b/debian/libzfs1.install
deleted file mode 100644
index ffd20dc..0000000
--- a/debian/libzfs1.install
+++ /dev/null
@@ -1 +0,0 @@
-lib/libzfs.so.*
diff --git a/debian/libzfs2-udeb.install b/debian/libzfs2-udeb.install
new file mode 100644
index 0000000..307192a
--- /dev/null
+++ b/debian/libzfs2-udeb.install
@@ -0,0 +1 @@
+lib/libzfs/.libs/libzfs.so.*[0-9]  lib
diff --git a/debian/libzfs2.docs b/debian/libzfs2.docs
new file mode 100644
index 0000000..425a0e5
--- /dev/null
+++ b/debian/libzfs2.docs
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libzfs2.install b/debian/libzfs2.install
new file mode 100644
index 0000000..660dede
--- /dev/null
+++ b/debian/libzfs2.install
@@ -0,0 +1,2 @@
+lib/libzfs.so.*
+lib/libzfs_core.so.*
diff --git a/debian/libzpool1-udeb.install b/debian/libzpool1-udeb.install
deleted file mode 100644
index b5382a1..0000000
--- a/debian/libzpool1-udeb.install
+++ /dev/null
@@ -1 +0,0 @@
-lib/libzpool/.libs/libzpool.so.*[0-9]  lib
diff --git a/debian/libzpool1.docs b/debian/libzpool1.docs
deleted file mode 100644
index 425a0e5..0000000
--- a/debian/libzpool1.docs
+++ /dev/null
@@ -1,2 +0,0 @@
-COPYRIGHT
-OPENSOLARIS.LICENSE
diff --git a/debian/libzpool1.install b/debian/libzpool1.install
deleted file mode 100644
index d886d29..0000000
--- a/debian/libzpool1.install
+++ /dev/null
@@ -1 +0,0 @@
-lib/libzpool.so.*
diff --git a/debian/libzpool2-udeb.install b/debian/libzpool2-udeb.install
new file mode 100644
index 0000000..b5382a1
--- /dev/null
+++ b/debian/libzpool2-udeb.install
@@ -0,0 +1 @@
+lib/libzpool/.libs/libzpool.so.*[0-9]  lib
diff --git a/debian/libzpool2.docs b/debian/libzpool2.docs
new file mode 100644
index 0000000..425a0e5
--- /dev/null
+++ b/debian/libzpool2.docs
@@ -0,0 +1,2 @@
+COPYRIGHT
+OPENSOLARIS.LICENSE
diff --git a/debian/libzpool2.install b/debian/libzpool2.install
new file mode 100644
index 0000000..d886d29
--- /dev/null
+++ b/debian/libzpool2.install
@@ -0,0 +1 @@
+lib/libzpool.so.*
-- 
1.8.5.3
From 5bc8ee9b9298c1b1ef4abc50cc9942e2cc53a304 Mon Sep 17 00:00:00 2001
From: Daniel Miranda <danielkza2@gmail.com>
Date: Sun, 23 Feb 2014 18:19:54 -0300
Subject: [PATCH 5/9] Update debian changelog

---
 debian/changelog | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index fec5b35..f7b2468 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+zfs-linux (0.6.3-pre-1) wheezy; urgency=low
+
+  * New tentative release in preparation for 0.6.3
+ 
+ -- Daniel Miranda <danielkza2@gmail.com>  Sun, 23 Feb 2014 18:19:00 -0300 
+
 zfs-linux (0.6.2-4~wheezy) wheezy; urgency=low

   * Be smarter about how we find the kernel source directory for dkms.
-- 
1.8.5.3
From c23a54ce294c49a685453d5ccc3def476d9c26b3 Mon Sep 17 00:00:00 2001
From: Daniel Miranda <danielkza2@gmail.com>
Date: Sun, 23 Feb 2014 19:29:37 -0300
Subject: [PATCH 7/9] Updated libzfs_core lib. deps.

---
 lib/libzfs_core/Makefile.am | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/libzfs_core/Makefile.am b/lib/libzfs_core/Makefile.am
index 0ecd208..17a93ef 100644
--- a/lib/libzfs_core/Makefile.am
+++ b/lib/libzfs_core/Makefile.am
@@ -10,6 +10,7 @@ libzfs_core_la_SOURCES = \
    $(top_srcdir)/lib/libzfs_core/libzfs_core.c

 libzfs_core_la_LIBADD = \
-   $(top_builddir)/lib/libnvpair/libnvpair.la
+   $(top_builddir)/lib/libnvpair/libnvpair.la \
+   $(top_builddir)/lib/libspl/libspl.la

 libzfs_core_la_LDFLAGS = -version-info 1:0:0
-- 
1.8.5.3
FransUrbo commented 10 years ago

--- a/debian/rules +++ b/debian/rules @@ -147,6 +147,7 @@ override_dh_makeshlibs: ifeq ($(BUILD_UDEB), true) dh_makeshlibs -plibnvpair$(SHLIB_MAJOR) --add-udeb=libnvpair$(SHLIB_MAJOR)-udeb dh_makeshlibs -plibuutil$(SHLIB_MAJOR) --add-udeb=libuutil$(SHLIB_MAJOR)-udeb

  • dh_makeshlibs -plibzfs_core$(SHLIB_MAJOR) --add-udeb=libzfs_core$(SHLIB_MAJOR)-udeb dh_makeshlibs -plibzfs$(SHLIB_MAJOR) --add-udeb=libzfs$(SHLIB_MAJOR)-udeb dh_makeshlibs -plibzpool$(SHLIB_MAJOR) --add-udeb=libzpool$(SHLIB_MAJOR)-udeb dh_makeshlibs -pzfsutils --add-udeb=zfsutils-udeb Why did you create a separate package for libzfs_core instead of putting it in libzfsX? --- a/debian/control.in +++ b/debian/control.in @@ -48,16 +48,16 @@ Description: Solaris userland utility library for Linux Package: libzfs-dev Section: libdevel Architecture: linux-any -Depends: libzfs1 (= ${binary:Version}), ${misc:Depends} +Depends: libzfs2 (= ${binary:Version}), ${misc:Depends} Provides: libnvpair-dev, libuutil-dev Description: Native ZFS filesystem development files for Linux Header files and static libraries for compiling software against Ok, that makes sense... Oups! lib/libzfs_core/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) That should probably have been a quilt patch instead.
danielkza commented 10 years ago

Why did you create a separate package for libzfs_core instead of putting it in libzfsX?

It isn't actually generating a separate package, just listing the lib versions for processing. That's my understand of shlibs anyway, but I might be mistaken. At least in my build libzfs_core did end up in libzfs2 deb.

That should probably have been a quilt patch instead.

You're right, that slipped through. But can you explain me why libzfs and the other libraries don't have an explicit dependency on libspl? Without the added dep libzfs_core built with a warning for missing strlcpy which is in libspl.

FransUrbo commented 10 years ago

Latest daily/snapshot for Debian GNU/Linux Wheezy is now snapshot/debian/wheezy/0.6.3-0.9_g540ce4_wheezy.

danielkza commented 10 years ago

I'm looking at your current version of the initramfs script and it doesn't seem right: if only the root= parameter is set and nothing else, rpool= will be defaulted to 'rpool', and when the code which should extract rpool= from root= runs, rpool= won't be empty, and it will be skipped.

I also don't understand why you are using a specific search for 'zfs:' on multiple cases, when you should simply extract the prefix, whether it is 'ZFS=' or 'zfs:', and simply use the extracted part going forwards.

FransUrbo commented 10 years ago

Completely different issue. Feel free to open a separate issue about this.

danielkza commented 10 years ago

Right, my bad.