Skip to content

Commit 26455c4

Browse files
author
Umer Saleem
committed
Add Debian Packaging for Linux
Currently, the Debian packages are generated from ALIEN that converts RPMs to Debian packages. This commit adds native Debian packaging for Debian based systems from ZFS on Linux. Signed-off-by: Umer Saleem <[email protected]>
1 parent 3ed04d6 commit 26455c4

File tree

81 files changed

+2606
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+2606
-0
lines changed

debian/README.Debian

Whitespace-only changes.

debian/changelog

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
zfs-linux (2.1.x-master) unstable; urgency=low
2+
3+
* Integrate Debian packaging from ZFS on Linux
4+
5+
-- iXsystems engineering team <[email protected]> Tue, 10 May 2022 15:00:00 -0400

debian/clean

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
bin/
2+
cmd/zed/zed.d/history_event-zfs-list-cacher.sh
3+
contrib/pyzfs/build/
4+
contrib/pyzfs/libzfs_core/__pycache__/
5+
contrib/pyzfs/libzfs_core/bindings/__pycache__/
6+
contrib/pyzfs/pyzfs.egg-info/
7+
debian/libnvpair3linux-udeb.install
8+
debian/libnvpair3linux.install
9+
debian/libuutil3linux-udeb.install
10+
debian/libuutil3linux.install
11+
debian/libzfs4linux-udeb.install
12+
debian/libzfs4linux.install
13+
debian/libzfslinux-dev.install
14+
debian/libzpool5linux-udeb.install
15+
debian/libzpool5linux.install

debian/control

Lines changed: 309 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,309 @@
1+
Source: zfs-linux
2+
Section: contrib/kernel
3+
Priority: optional
4+
Maintainer: OpenZFS maintainers
5+
Build-Depends: abigail-tools (>= 1.8),
6+
debhelper-compat (= 12),
7+
dh-python,
8+
dkms (>> 2.1.1.2-5),
9+
libaio-dev,
10+
libblkid-dev,
11+
libcurl4-openssl-dev,
12+
libelf-dev,
13+
libpam0g-dev,
14+
libssl-dev | libssl1.0-dev,
15+
libtool,
16+
libudev-dev,
17+
lsb-release,
18+
po-debconf,
19+
python3-all-dev,
20+
python3-cffi,
21+
python3-setuptools,
22+
python3-sphinx,
23+
uuid-dev,
24+
zlib1g-dev
25+
Standards-Version: 4.5.1
26+
Homepage: https://openzfs.org/
27+
Vcs-Git: https://github.com/openzfs/zfs.git
28+
Vcs-Browser: https://github.com/openzfs/zfs
29+
Rules-Requires-Root: no
30+
XS-Autobuild: yes
31+
32+
Package: libnvpair3linux
33+
Section: contrib/libs
34+
Architecture: linux-any
35+
Depends: ${misc:Depends}, ${shlibs:Depends}
36+
Breaks: libnvpair1, libnvpair3
37+
Replaces: libnvpair1, libnvpair3
38+
Description: Solaris name-value library for Linux
39+
This library provides routines for packing and unpacking nv pairs for
40+
transporting data across process boundaries, transporting between
41+
kernel and userland, and possibly saving onto disk files.
42+
43+
Package: libpam-zfs
44+
Section: contrib/admin
45+
Architecture: linux-any
46+
Depends: libpam-runtime, ${misc:Depends}, ${shlibs:Depends}
47+
Description: PAM module for managing encryption keys for ZFS
48+
OpenZFS is a storage platform that encompasses the functionality of
49+
traditional filesystems and volume managers. It supports data checksums,
50+
compression, encryption, snapshots, and more.
51+
.
52+
This provides a Pluggable Authentication Module (PAM) that automatically
53+
unlocks encrypted ZFS datasets upon login.
54+
55+
Package: libuutil3linux
56+
Section: contrib/libs
57+
Architecture: linux-any
58+
Depends: ${misc:Depends}, ${shlibs:Depends}
59+
Breaks: libuutil1, libuutil3
60+
Replaces: libuutil1, libuutil3
61+
Description: Solaris userland utility library for Linux
62+
This library provides a variety of glue functions for ZFS on Linux:
63+
* libspl: The Solaris Porting Layer userland library, which provides APIs
64+
that make it possible to run Solaris user code in a Linux environment
65+
with relatively minimal modification.
66+
* libavl: The Adelson-Velskii Landis balanced binary tree manipulation
67+
library.
68+
* libefi: The Extensible Firmware Interface library for GUID disk
69+
partitioning.
70+
* libshare: NFS, SMB, and iSCSI service integration for ZFS.
71+
72+
Package: libzfslinux-dev
73+
Section: contrib/libdevel
74+
Architecture: linux-any
75+
Depends: libssl-dev | libssl1.0-dev,
76+
libnvpair3linux (= ${binary:Version}),
77+
libuutil3linux (= ${binary:Version}),
78+
libzfs4linux (= ${binary:Version}),
79+
libzfsbootenv1linux (= ${binary:Version}),
80+
libzpool5linux (= ${binary:Version}),
81+
${misc:Depends}
82+
Provides: libnvpair-dev, libuutil-dev
83+
Description: OpenZFS filesystem development files for Linux
84+
Header files and static libraries for compiling software against
85+
libraries of OpenZFS filesystem.
86+
.
87+
This package includes the development files of libnvpair3, libuutil3,
88+
libzpool5 and libzfs4.
89+
90+
Package: libzfs4linux
91+
Section: contrib/libs
92+
Architecture: linux-any
93+
Depends: ${misc:Depends}, ${shlibs:Depends}
94+
# The libcurl4 is loaded through dlopen("libcurl.so.4").
95+
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988521
96+
Recommends: libcurl4
97+
Breaks: libzfs2, libzfs4
98+
Replaces: libzfs2, libzfs4
99+
Description: OpenZFS filesystem library for Linux - general support
100+
OpenZFS is a storage platform that encompasses the functionality of
101+
traditional filesystems and volume managers. It supports data checksums,
102+
compression, encryption, snapshots, and more.
103+
.
104+
The OpenZFS library provides support for managing OpenZFS filesystems.
105+
106+
Package: libzfsbootenv1linux
107+
Section: contrib/libs
108+
Architecture: linux-any
109+
Depends: ${misc:Depends}, ${shlibs:Depends}
110+
Breaks: libzfs2, libzfs4
111+
Replaces: libzfs2, libzfs4
112+
Description: OpenZFS filesystem library for Linux - label info support
113+
OpenZFS is a storage platform that encompasses the functionality of
114+
traditional filesystems and volume managers. It supports data checksums,
115+
compression, encryption, snapshots, and more.
116+
.
117+
The zfsbootenv library provides support for modifying ZFS label information.
118+
119+
Package: libzpool5linux
120+
Section: contrib/libs
121+
Architecture: linux-any
122+
Depends: ${misc:Depends}, ${shlibs:Depends}
123+
Breaks: libzpool2, libzpool5
124+
Replaces: libzpool2, libzpool5
125+
Description: OpenZFS pool library for Linux
126+
OpenZFS is a storage platform that encompasses the functionality of
127+
traditional filesystems and volume managers. It supports data checksums,
128+
compression, encryption, snapshots, and more.
129+
.
130+
This zpool library provides support for managing zpools.
131+
132+
Package: python3-pyzfs
133+
Section: contrib/python
134+
Architecture: linux-any
135+
Depends: python3-cffi,
136+
zfsutils-linux (= ${binary:Version}),
137+
${misc:Depends},
138+
${python3:Depends}
139+
Description: wrapper for libzfs_core C library
140+
libzfs_core is intended to be a stable interface for programmatic
141+
administration of ZFS. This wrapper provides one-to-one wrappers for
142+
libzfs_core API functions, but the signatures and types are more natural to
143+
Python.
144+
.
145+
nvlists are wrapped as dictionaries or lists depending on their usage.
146+
Some parameters have default values depending on typical use for
147+
increased convenience. Enumerations and bit flags become strings and lists
148+
of strings in Python. Errors are reported as exceptions rather than integer
149+
errno-style error codes. The wrapper takes care to provide one-to-many
150+
mapping of the error codes to the exceptions by interpreting a context
151+
in which the error code is produced.
152+
153+
Package: pyzfs-doc
154+
Section: contrib/doc
155+
Architecture: all
156+
Depends: ${misc:Depends}, ${sphinxdoc:Depends}
157+
Recommends: python3-pyzfs
158+
Description: wrapper for libzfs_core C library (documentation)
159+
libzfs_core is intended to be a stable interface for programmatic
160+
administration of ZFS. This wrapper provides one-to-one wrappers for
161+
libzfs_core API functions, but the signatures and types are more natural to
162+
Python.
163+
.
164+
nvlists are wrapped as dictionaries or lists depending on their usage.
165+
Some parameters have default values depending on typical use for
166+
increased convenience. Enumerations and bit flags become strings and lists
167+
of strings in Python. Errors are reported as exceptions rather than integer
168+
errno-style error codes. The wrapper takes care to provide one-to-many
169+
mapping of the error codes to the exceptions by interpreting a context
170+
in which the error code is produced.
171+
.
172+
This package contains the documentation.
173+
174+
Package: zfs-dkms
175+
Architecture: all
176+
Depends: dkms (>> 2.1.1.2-5),
177+
file,
178+
libc6-dev | libc-dev,
179+
lsb-release,
180+
python3-distutils | libpython3-stdlib (<< 3.6.4),
181+
${misc:Depends},
182+
${perl:Depends}
183+
Recommends: zfs-zed, zfsutils-linux (>= ${source:Version}), ${linux:Recommends}
184+
# suggests debhelper because e.g. `dkms mkdeb -m zfs -v 0.8.2` needs dh_testdir (#909183)
185+
Suggests: debhelper
186+
Breaks: spl-dkms (<< 0.8.0~rc1)
187+
Replaces: spl-dkms
188+
Provides: zfs-modules
189+
Description: OpenZFS filesystem kernel modules for Linux
190+
OpenZFS is a storage platform that encompasses the functionality of
191+
traditional filesystems and volume managers. It supports data checksums,
192+
compression, encryption, snapshots, and more.
193+
.
194+
This DKMS package includes the SPA, DMU, ZVOL, and ZPL components of
195+
OpenZFS.
196+
197+
Package: zfs-initramfs
198+
Architecture: all
199+
Depends: busybox-initramfs | busybox-static | busybox,
200+
initramfs-tools,
201+
zfs-modules | zfs-dkms,
202+
zfsutils-linux (>= ${source:Version}),
203+
${misc:Depends}
204+
Breaks: zfsutils-linux (<= 0.7.11-2)
205+
Replaces: zfsutils-linux (<= 0.7.11-2)
206+
Description: OpenZFS root filesystem capabilities for Linux - initramfs
207+
OpenZFS is a storage platform that encompasses the functionality of
208+
traditional filesystems and volume managers. It supports data checksums,
209+
compression, encryption, snapshots, and more.
210+
.
211+
This package adds OpenZFS to the system initramfs with a hook
212+
for the initramfs-tools infrastructure.
213+
214+
Package: zfs-dracut
215+
Architecture: all
216+
Depends: dracut,
217+
zfs-modules | zfs-dkms,
218+
zfsutils-linux (>= ${source:Version}),
219+
${misc:Depends}
220+
Description: OpenZFS root filesystem capabilities for Linux - dracut
221+
OpenZFS is a storage platform that encompasses the functionality of
222+
traditional filesystems and volume managers. It supports data checksums,
223+
compression, encryption, snapshots, and more.
224+
.
225+
This package adds OpenZFS to the system initramfs with a hook
226+
for the dracut infrastructure.
227+
228+
Package: zfsutils-linux
229+
Section: contrib/admin
230+
Architecture: linux-any
231+
Pre-Depends: ${misc:Pre-Depends}
232+
Depends: libnvpair3linux (= ${binary:Version}),
233+
libuutil3linux (= ${binary:Version}),
234+
libzfs4linux (= ${binary:Version}),
235+
libzpool5linux (= ${binary:Version}),
236+
python3,
237+
${misc:Depends},
238+
${shlibs:Depends}
239+
Recommends: lsb-base, zfs-modules | zfs-dkms, zfs-zed
240+
Breaks: openrc,
241+
spl (<< 0.7.9-2),
242+
spl-dkms (<< 0.8.0~rc1),
243+
zfs-dkms (<< ${source:Version}),
244+
zfs-dkms (>> ${source:Version}...)
245+
Replaces: spl (<< 0.7.9-2), spl-dkms
246+
Suggests: nfs-kernel-server,
247+
samba-common-bin (>= 3.0.23),
248+
zfs-initramfs | zfs-dracut
249+
Conflicts: zfs, zfs-fuse
250+
Provides: zfsutils
251+
Description: command-line tools to manage OpenZFS filesystems
252+
OpenZFS is a storage platform that encompasses the functionality of
253+
traditional filesystems and volume managers. It supports data checksums,
254+
compression, encryption, snapshots, and more.
255+
.
256+
This package provides the zfs and zpool commands to create and administer
257+
OpenZFS filesystems.
258+
259+
Package: zfs-zed
260+
Section: contrib/admin
261+
Architecture: linux-any
262+
Pre-Depends: ${misc:Pre-Depends}
263+
Depends: zfs-modules | zfs-dkms,
264+
zfsutils-linux (>= ${binary:Version}),
265+
${misc:Depends},
266+
${shlibs:Depends}
267+
Description: OpenZFS Event Daemon
268+
OpenZFS is a storage platform that encompasses the functionality of
269+
traditional filesystems and volume managers. It supports data checksums,
270+
compression, encryption, snapshots, and more.
271+
.
272+
ZED (ZFS Event Daemon) monitors events generated by the ZFS kernel
273+
module. When a zevent (ZFS Event) is posted, ZED will run any ZEDLETs
274+
(ZFS Event Daemon Linkage for Executable Tasks) that have been enabled
275+
for the corresponding zevent class.
276+
.
277+
This package provides the OpenZFS Event Daemon (zed).
278+
279+
Package: zfs-test
280+
Section: contrib/admin
281+
Architecture: linux-any
282+
Depends: acl,
283+
attr,
284+
bc,
285+
fio,
286+
ksh,
287+
lsscsi,
288+
mdadm,
289+
parted,
290+
python3,
291+
python3-pyzfs,
292+
sudo,
293+
sysstat,
294+
zfs-modules | zfs-dkms,
295+
zfsutils-linux (>=${binary:Version}),
296+
${misc:Depends},
297+
${shlibs:Depends}
298+
Recommends: nfs-kernel-server
299+
Breaks: zfsutils-linux (<= 0.7.9-2)
300+
Replaces: zfsutils-linux (<= 0.7.9-2)
301+
Conflicts: zutils
302+
Description: OpenZFS test infrastructure and support scripts
303+
OpenZFS is a storage platform that encompasses the functionality of
304+
traditional filesystems and volume managers. It supports data checksums,
305+
compression, encryption, snapshots, and more.
306+
.
307+
This package provides the OpenZFS test infrastructure for destructively
308+
testing and validating a system using OpenZFS. It is entirely optional
309+
and should only be installed and used in test environments.

debian/control.modules.in

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
Source: zfs-linux
2+
Section: contrib/kernel
3+
Priority: optional
4+
Maintainer: OpenZFS maintainers
5+
Build-Depends: debhelper-compat (= 10),
6+
dkms (>> 2.1.1.2-5),
7+
libtool,
8+
linux-headers-_KVERS_
9+
Standards-Version: 4.3.0
10+
Homepage: http://www.openzfs.org/
11+
Vcs-Git: https://github.com/openzfs/zfs.git
12+
Vcs-Browser: https://github.com/openzfs/zfs
13+
14+
Package: zfs-modules-_KVERS_
15+
Architecture: _ARCH_
16+
Provides: zfs-modules
17+
Depends: linux-image-_KVERS_
18+
Recommends: zfsutils
19+
Description: OpenZFS filesystem kernel modules for Linux (kernel _KVERS_)
20+
An advanced integrated volume manager and filesystem that is designed for
21+
performance and data integrity. Snapshots, clones, checksums, deduplication,
22+
compression, and RAID redundancy are built-in features.
23+
.
24+
This package contains the compiled kernel module for _KVERS_
25+
.
26+
Includes the SPA, DMU, ZVOL, and ZPL components of OpenZFS.
27+
.
28+
If you have compiled your own kernel, you will most likely need to build
29+
your own zfs-modules. The zfs-source package has been
30+
provided for use with the Debian kernel-package utility to produce a
31+
version of zfs-module for your kernel.
32+
33+
Package: zfs-modules-_KVERS_-di
34+
Package-Type: udeb
35+
Section: contrib/debian-installer
36+
Architecture: _ARCH_
37+
Depends: ${misc:Depends}, ${shlibs:Depends}
38+
Provides: zfs-modules, zfs-modules-_KVERS_-udeb
39+
Description: OpenZFS filesystem kernel modules for Linux (debian-installar version for kernel _KVERS_)
40+
An advanced integrated volume manager and filesystem that is designed for
41+
performance and data integrity. Snapshots, clones, checksums, deduplication,
42+
compression, and RAID redundancy are built-in features.
43+
.
44+
This package contains the compiled kernel module for _KVERS_
45+
.
46+
This is a minimal package for use in debian-installer.

0 commit comments

Comments
 (0)