Build instructions for native Debian packages

This commit updates the build instructions for native Debian packages.

Signed-off-by: Umer Saleem <usaleem@ixsystems.com>
This commit is contained in:
Umer Saleem
2023-03-13 14:31:01 +05:00
committed by George Melikov
parent b6cf700f62
commit 8a4b537f47
2 changed files with 47 additions and 4 deletions

View File

@@ -54,7 +54,7 @@ The following dependencies should be installed to build the latest ZFS
.. code:: sh .. code:: sh
sudo apt install build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev linux-headers-generic python3 python3-dev python3-setuptools python3-cffi libffi-dev python3-packaging git libcurl4-openssl-dev sudo apt install build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev linux-headers-generic python3 python3-dev python3-setuptools python3-cffi libffi-dev python3-packaging git libcurl4-openssl-dev debhelper-compat dh-python po-debconf python3-all-dev python3-sphinx
Build Options Build Options
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
@@ -131,7 +131,20 @@ the ZFS and SPL source in the traditional autotools fashion.
:: ::
make deb #example for Debian/Ubuntu make rpm #Builds RPM packages for CentOS/Fedora
make deb #Builds RPM converted DEB packages for Debian/Ubuntu
make native-deb #Builds native DEB packages for Debian/Ubuntu
| **tip:** Native Debian packages build with pre-configured paths for
Debian and Ubuntu. It's best not to override the paths during
configure.
| **tip:** For native Debain packages, ``KVERS``, ``KSRC`` and ``KOBJ``
environment variables can be exported to specify the kernel installed
in non-default location.
.. note::
Support for native Debian packaging will be available starting from
openzfs-2.2 release.
Install Install
^^^^^^^ ^^^^^^^

View File

@@ -144,7 +144,7 @@ Make sure that the required packages are installed:
.. code:: sh .. code:: sh
sudo apt install build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev linux-headers-generic python3 python3-dev python3-setuptools python3-cffi libffi-dev python3-packaging sudo apt install build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev linux-headers-generic python3 python3-dev python3-setuptools python3-cffi libffi-dev python3-packaging debhelper-compat dh-python po-debconf python3-all-dev python3-sphinx
`Get the source code <#get-the-source-code>`__. `Get the source code <#get-the-source-code>`__.
@@ -161,6 +161,8 @@ headers, or you want to build against a different kernel, you must
specify the exact path with the *--with-linux* and *--with-linux-obj* specify the exact path with the *--with-linux* and *--with-linux-obj*
options. options.
To build RPM converted Debian packages:
.. code:: sh .. code:: sh
$ cd zfs $ cd zfs
@@ -168,12 +170,29 @@ options.
$ make -j1 deb-utils deb-kmod $ make -j1 deb-utils deb-kmod
$ for file in *.deb; do sudo gdebi -q --non-interactive $file; done $ for file in *.deb; do sudo gdebi -q --non-interactive $file; done
Starting from openzfs-2.2 release, native Debian packages can be built
as follows:
.. code:: sh
$ cd zfs
$ ./configure
$ make native-deb-utils native-deb-kmod
$ rm ../openzfs-zfs-dkms_*.deb
$ for file in ../*.deb; do sudo gdebi -q --non-interactive $file; done
Native Debian packages build with pre-configured paths for Debian and
Ubuntu. It's best not to override the paths during configure.
``KVERS``, ``KSRC`` and ``KOBJ`` environment variables can be exported
to specify the kernel installed in non-default location.
.. _dkms-1: .. _dkms-1:
DKMS DKMS
~~~~ ~~~~
Building deb-based DKMS and user packages can be done as follows: Building RPM converted deb-based DKMS and user packages can be done as
follows:
.. code:: sh .. code:: sh
@@ -183,6 +202,17 @@ Building deb-based DKMS and user packages can be done as follows:
$ make -j1 deb-utils deb-dkms $ make -j1 deb-utils deb-dkms
$ for file in *.deb; do sudo gdebi -q --non-interactive $file; done $ for file in *.deb; do sudo gdebi -q --non-interactive $file; done
Starting from openzfs-2.2 release, native deb-based DKMS and user
packages can be built as follows:
.. code:: sh
$ sudo apt-get install dkms
$ cd zfs
$ ./configure
$ make native-deb-utils
$ for file in ../*.deb; do sudo gdebi -q --non-interactive $file; done
Get the Source Code Get the Source Code
------------------- -------------------