blob: c7748a6ffc3709e7db99e1649d0229ff05fe6f99 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
|
# Maintainer: Laszlo Gombos <laszlo.gombos@gmail.com>
# Contributor: Jonas Witschel <diabonas@archlinux.org>
# Contributor: Giancarlo Razzolini <grazzolini@archlinux.org>
pkgname=dracut-git
pkgver=107.r7931
pkgrel=8
pkgdesc='An event driven initramfs infrastructure'
arch=('x86_64')
url='https://github.com/dracut-ng/dracut'
license=('GPL-2.0-or-later')
depends=(
'bash'
'coreutils'
'cpio'
'filesystem'
'findutils'
'gawk'
'grep'
'kmod'
'pkgconf'
'procps-ng'
'sed'
'udev'
'util-linux'
)
makedepends=(
'asciidoc'
'bash-completion'
'git'
)
optdepends=(
'binutils: --uefi option support'
'biosdevname: BIOS network device renaming'
'bluez: bluetooth (keyboard)'
'btrfs-progs: scan for Btrfs on block devices'
'busybox: allows use of busybox (on your own risk)'
'bzip2: bzip2 compression'
'cifs-utils: support CIFS'
'connman: support for connman networking'
'cryptsetup: support for encrypted dm-crypt file systems'
'dash: allows use of dash (on your own risk)'
'dbus: dbus-daemon dracut module'
'dbus-broker: dbus-broker dracut module'
'dhclient: legacy networking support'
'dmraid: dmraid dracut module support'
'e2fsprogs: ext2/3/4 filesystem support'
'elfutils: strip binaries to reduce initramfs size'
'erofs-utils: support for building an erofs initramfs'
'f2fs-tools: fsfs filesystem support'
'fuse3: live on NTFS (dmsquash-live-ntfs module)'
'gnupg: gpg for crypto operations and smartcards'
'gzip: gzip compression'
'iproute2: legacy networking support'
'iputils: networking support'
'jq: NVMe-oF support (nvmf module)'
'lvm2: support Logical Volume Manager'
'lzop: lzop compression'
'mdadm: support MD devices, also known as software RAID devices'
'memstrack: memstrack module support'
'multipath-tools: multipath dracut module support'
'nbd: support network block devices'
'ndctl: NVDIMM support'
'networkmanager: networkmanager support'
'nfs-utils: support NFS'
'ntfs-3g: live on NTFS (dmsquash-live-ntfs module)'
'nvme-cli: NVMe-oF support (nvmf module)'
'open-iscsi: support iSCSI (iscsi module)'
'openssh: install ssh and scp along with config files and specified keys (ssh-client module)'
'pigz: faster gzip compression'
'plymouth: plymouth boot splash'
'qrencode: systemd-bsod'
'rng-tools: enable rngd service to help generating entropy early during boot'
'rust: dracut cpio'
'rsyslog: enable logging with rsyslog'
'sbsigntools: uefi_secureboot_cert/key configuration option support'
'systemd: systemd'
'systemd-ukify: Unified Kernel Image'
'squashfs-tools: support for building a squashed initramfs'
'tar: live tar image'
'tpm2-tools: tpm2 support for e.g. LUKS'
'xz: xz compression'
)
provides=("${pkgname%-git}" 'initramfs')
conflicts=("${pkgname%-git}")
source=(
git+${url}.git
dracut-{install,remove}.script
90-dracut-install.hook
60-dracut-remove.hook
1322.patch::${url}/commit/bcf0093.patch # fix: improve hostonly sloppy mode
1194.patch::${url}/commit/d567b94.patch # feat(initqueue): factor out initqueue into its own module
)
sha512sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
pkgver() {
cd "${pkgname%-git}"
# populate DRACUT_VERSION from upstream source
source dracut-version.sh
# use number of revisions since beginning of the history
printf "%s.r%s" "$DRACUT_VERSION" "$(git rev-list --count HEAD)"
}
prepare() {
cd "${pkgname%-git}"
# apply all patches
for p in ../*.patch ; do
patch -Np1 < $p
P=$(echo $p | sed 's/^\.\.\///g' | sed 's/\.patch$//g')
S=$(cat ../$p | grep 'Subject:' | sed 's/^Subject:\ \[PATCH\]\ //g')
done
# remove dracut modules not meant for arch x86_64
for f in cms cio_ignore ppcmac zipl \
dasd dasd_mod dasd_rules dcssblk fcoe* \
qeth_rules zfcp zfcp_rules znet; do
rm -rf "modules.d/[0-9][0-9]$f"
done
}
build() {
cd "${pkgname%-git}"
./configure \
--bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) \
--configprofile=hostonly
make
}
package() {
cd "${pkgname%-git}"
DESTDIR="$pkgdir" enable_test=no make install
# pacman hooks
install -Dm755 "${srcdir}"/dracut-install.script "${pkgdir}"/usr/share/libalpm/scripts/dracut-install
install -Dm755 "${srcdir}"/dracut-remove.script "${pkgdir}"/usr/share/libalpm/scripts/dracut-remove
install -Dm644 -t "${pkgdir}"/usr/share/libalpm/hooks "${srcdir}"/*.hook
}
|