Stoiko Ivanov [Wed, 24 Feb 2021 21:07:59 +0000 (22:07 +0100)]
d/control: match package names to debian-upstream
during the tracking of zfs-2.0.x integration in debian upstream I did
not notice that the library packages got renamed yet another time (see
[0]) to match the soname version.
This patch renames our library packagenames to match debian upstream
and includes Breaks,Depends on the intermediate versions we shipped
with the zfs-2.0.3 release.
Noticed while checking an issue (with `aptitude` vs. `apt`) reported
on pve-user.
Tested on a VM running our latest packages and on one still running
zfs 0.8.5
The issue becomes apparent by installing the current zfsutils-linux
package and running `pam-auth-update --package` (e.g. by installing
an upgraded libpam-runtime package).
Stoiko Ivanov [Wed, 7 Oct 2020 14:28:15 +0000 (16:28 +0200)]
update submodule and patches for to zfs-0.8.5
upstream commit 2d2ce04b9931927ffd045f9ebba3d39d4d31f7db changed the location
for installing pkgconfig files to the architecture specific one in /lib
instead of /usr/share - this patch reflects the change in
'debian/libzfslinux-dev.install'.
This patch addresses the problems some users experience when some zpools are
created/imported with cachefile (which then causes other pools not to get
imported during boot) - when our tooling creates a pool we explictly
instantiate the service with the pool's name, ensuring that it will get
imported by scanning.
Stoiko Ivanov [Wed, 13 May 2020 17:59:13 +0000 (19:59 +0200)]
Remove the unnecessary --with systemd dh option.
adapted from debian-upstream [0] commit 53276c973c5e69f75b43371a6c94adc5d9dcfec0
(the systemd sequence is enabled by default since debhelper v10 - see
debhelper(7))
Antonio Russo [Wed, 13 May 2020 17:59:11 +0000 (19:59 +0200)]
Refresh debian/not-installed
/etc/default/zfs and /etc/zfs/zfs-functions are now installed by the
makefiles. Continue to install them directly as before, but do not
--fail-missing because of them.
Stoiko Ivanov [Thu, 26 Mar 2020 15:47:16 +0000 (16:47 +0100)]
add ident to zedlet-list creation patch
the last series of cherry-picks from salsa.d.o includes one patch for the
zfs-source, but the patch file does not contain ident-information.
This prevents it from being applied by import-patchqueue.
Fixed by adding ident based on the original patches commit message and
importing and exporting the patchqueue.
Antonio Russo [Fri, 20 Mar 2020 16:28:43 +0000 (17:28 +0100)]
Preserve /etc/zfs/zed.d configuration on upgrade
Of the zedlet scripts shipped by upstream, a subset are enabled by
default, by creating symlinks in /etc/zfs/zed.d. These symlinks are
shipped in the zfs-zed package. dpkg, however, does not support
conffile handling of symlinks, and therefore any changes (removals) to
the symlinks are not preserved on package upgrade.
To address this policy violation, we:
1. During package build, create a list of enabled-by-default zedlets,
instead of creating symlinks.
2. On package removal, identify all enabled-by-default zedlets whose
symlinks do not exist (i.e., were removed by the user). This is done
by creating "whiteout" links to /dev/null in their place).
3. On package installation, create links to enabled-by-default zedlets
UNLESS there is already a file there (i.e., abort if there is a
whiteout link).
4. We also clean up broken symlinks to removed zedlets at package
postinst.
Richard Laager [Fri, 20 Mar 2020 16:28:41 +0000 (17:28 +0100)]
cron: Do not error if already scrubbing
If a pool is already scrubbing, zpool scrub will return an error. This
breaks the cron scrub script. It outputs that error and then does not
scrub any further pools.
This change checks to see if the pool is scrubbing before attempting to
start a scrub. This addresses long-running scrubs. Note that a
"long-running" scrub here is not necessarily a month long. If the
system is shut off or the pool is exported, the scrub will resume later.
This reduces the required time for the configure step drastically,
from previous:
# time ./configure --with-config=kernel
-> 124.14s user 34.06s system 103% cpu 2:32.90 total
to now:
# time ./configure --with-config=kernel
-> 75.07s user 15.01s system 394% cpu 22.821 total
(152 seconds vs 22 seconds)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
buildsys: ensure that all sources are copied over to the build directory
The copy command:
# cp -a ${ZFSSRC}/* ${ZFSDIR}/
did not copied over hidden files (those beginning with a dot) and
thus a upstream patches which changed also .gitignore did not worked
when copied over 1:1, instead of removing the changes to .gitignore
it's IMO better to copy the full sources ensuring the whole state of
the upstream project source repo is used.
With submodules we still do not copy over a potential big .git
folder, as we as submodule user have the submodules .git state in our
.git/modules folder where the submodule just references to.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Stoiko Ivanov [Thu, 23 May 2019 21:11:40 +0000 (23:11 +0200)]
add 3 patches for lintian errors
* wrong-path-for-interpreter is a lintian error, one single zfs-test used
/usr/bin/ksh instead of /bin/ksh.
* python-script-but-no-python-dep was reported because test-runner.py had
/usr/bin/python as shebang, but the buildsystem and our dependencies expected
/usr/bin/python3
* executable-not-elf-or-script were results of some files being installed with
the wrong permissions
Stoiko Ivanov [Thu, 23 May 2019 21:11:35 +0000 (23:11 +0200)]
zfs/control: add spl as transitional dummy package
since splat has been removed from zfs (during the repository merge of zfs and
spl, the userspace spl package does not contain any files (apart from metafiles)
keep the package as metapackage, s.t. the old splat manpage and binary gets
removed upon upgrade.
Stoiko Ivanov [Thu, 23 May 2019 21:11:34 +0000 (23:11 +0200)]
zfsutils-linux: persist hostid in postinst script
/etc/hostid does not exist on a minimal debian system.
ZFS reads its contents for MMP (zpool property multihost set to on), and needs
the value to be stable.
Before the SPL->ZFS merge the spl userspace package wrote the file (by parsing/
mangling the output of hostid (1)) Since ZFS provides the zgenhostid script,
which creates a random 4 byte hostid and writes it to /etc/hostid, we use that
instead. (hostid (1) default to mangling a configured ip of the system, which
can be the same across multiple installs (install happens with the same ip)
Stoiko Ivanov [Thu, 23 May 2019 21:11:31 +0000 (23:11 +0200)]
zfs/debian: embed downstream revision in META file
taken from spl/debian/rules
Additionally refactor the actual change into a separate target.
This is needed when building the kernel-modules from an rc-tag (e.g. 0.8.0-rc5)