Handle the case /etc/hostid is being wrongly marked as conffile
There are packages distributed with /etc/hostid file installed as conffile,
which is going to cause problem when the package is purged. Here we detect
such case and migrate it to an ordinary file that preserves during purge.
Also replace the endianness detection code to use od(1) from coreutils
instead of requiring gcc
* linux-headers-_KVERS_ is a virtual package. Instead, depend on
linux-headers-_KVERS_-common AND linux-headers-_KVERS_-amd64.
* find kernel source in $KSRC and kernel objects in $KOBJ.
* Build udebs and optionally modules package(s) - both .deb and .udeb.
* The spl-modules-udeb must depend on zlib-modules-udeb for zlib_deflate module.
* Files for the 'normal' module to install in the correct place.
Aron Xu [Thu, 30 May 2013 19:38:14 +0000 (03:38 +0800)]
Use /usr/bin/printf directly
We need printf from coreutils to make sure it supports byte format,
however there are shells that have which a builtin command, returning
something not as expected. There is no problem to use the path directly
since coreutils is the Priority:required so we can assume its presence.
Aron Xu [Thu, 30 May 2013 19:10:24 +0000 (03:10 +0800)]
Various small improvements to d/control d/compat
* Std-ver: 3.9.4
* Add Uploaders field.
* Increase compatible level of dh to 9, to take the advantage of
hardening, etc.
* Enhance the Recommends version of spl.
* Improve long descriptions.
Fix and improve the generation of the stripped kernel source tree
* Commit 493972c8 broke the rules used for the generation of the
stripped kernel source tree because of the requirement of the
rpm directory to be present for CONFIG_KERNEL
(which is clearly not required for us).
* Add a new rule to sed Makefile.am and manually set "SUBDIRS" to
"module include" for CONFIG_KERNEL and remove it for the other
configs.
* This has the benefit that now running ./configure --with-config=user
&& make in the DKMS source tree is a nop while before it gave
an error.
* Improve the robustness of the rules by ensuring that they will
abort if something is not as expected.
* Upstream is not longer using github to distribute tarballs
* 0.6.1 tarballs were not added (as the time of writing this) to
https://github.com/zfsonlinux/spl/downloads
* Update the url to http://zfsonlinux.org/
* uscan --report-status now says:
Newest version on remote site is 0.6.1, local version is 0.6.1
=> Package is up to date
Brian Behlendorf [Mon, 25 Mar 2013 18:18:11 +0000 (11:18 -0700)]
Provide ${kmodname}-devel-kmod for yum-builddep
In order to ensure that yum-builddep pulls in all the build
requirements a generic ${kmodname}-devel-kmod provides line is
added. This allows a version of the development headers to be
included without requiring knowledge of the kernel version.
This is important because unlike rpmbuild which does correctly
expand the source rpm spec file, yum-builddep does not. Without
this generic provides line mock which relies on yum-builddep is
unable to automatically satisfy the dependency.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Brian Behlendorf [Fri, 22 Mar 2013 18:27:20 +0000 (11:27 -0700)]
Use 'git describe' for working builds
When building from an arbitrary commit in the git tree it's useful
for the resulting packages to be uniquely identifiable. Therefore,
the build system has been updated to detect if your compiling in
git tree.
If you are building in a git tree, and there are commits after the
last annotated tag. Then the <id>-<hash> component of 'git describe'
will be used to overwrite the 'Release:' field in the META file.
The only tricky part is that to ensure the 'make dist' tarball is
built using the correct release. A dist-hook was added to the top
level make file to rewrite the META file using the correct release.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #195
Issue #111
Richard Yao [Thu, 21 Mar 2013 17:21:11 +0000 (13:21 -0400)]
Do not call cond_resched() in spl_slab_reclaim()
Calling cond_resched() after each object is freed and then after each
slab is freed can cause slabs of objects to live for excessive periods
of time following reclaimation. This interferes with the kernel's own
memory management when called from kswapd and can cause direct reclaim
to occur in response to memory pressure that should have been resolved.
Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu>
Brian Behlendorf [Wed, 20 Mar 2013 22:11:24 +0000 (15:11 -0700)]
Use requested kernel for dkms builds
The --with-linux and --with-linux-obj options must be specified
as part of the dkms build otherwise the package will be built
against the running kernel.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Brian Behlendorf [Wed, 20 Mar 2013 18:33:15 +0000 (11:33 -0700)]
Remove spl-dkms conflict with spl-kmod
Because the spl-dkms package also provides spl-kmod for the
spl user package yum flags this as a conflict. To avoid the
problem remove the Conflicts tag from spl-dkms and just rely
on the one in spl-kmod.
spl-dkms-0.6.0-rc14.fc18.noarch has installed conflicts
spl-kmod: spl-dkms-0.6.0-rc14.fc18.noarch
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>