jobcore/lvm2/PKGBUILD
2024-05-17 14:01:04 +03:00

146 lines
5.1 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgbase=lvm2
pkgname=('lvm2' 'device-mapper')
#_tag='' # git rev-parse v${pkgver//./_}
# latest release does not have a tag... :-\
#_commit='d786a8f820d54ce87a919e6af5426c333c173b11'
pkgver=2.03.24
pkgrel=01
url='https://sourceware.org/lvm2/'
makedepends=('git' 'libaio' 'thin-provisioning-tools')
#options=('!makeflags')
#source=("git+https://sourceware.org/git/lvm2.git#tag=${_tag}?signed"
#source=("git+https://sourceware.org/git/lvm2.git#commit=${_commit}"
source=("git+https://sourceware.org/git/lvm2.git#tag=v${pkgver//./_}?signed"
'0001-udev-initcpio.patch'
# 'lvm2_install'
'11-dm-initramfs.rules')
#_backports=(
# # The path is known anyway and should be the bullet proof option.
# '221e75316f472fbf5eb2ad206b861ea255c099ed'#
#)
prepare() {
cd lvm2/
local _c
for _c in "${_backports[@]}"; do
git log --oneline -1 "${_c}"
git show "${_c}" -- ':(exclude)WHATS_NEW' | git apply
done
# prepare for non-systemd initcpio
# cp udev/69-dm-lvm.rules.in udev/69-dm-lvm-initcpio.rules.in
# patch -Np1 < ../0001-udev-initcpio.patch
patch -Np1 --output='udev/69-dm-lvm-initcpio.rules.in' < ../0001-udev-initcpio.patch
# # remove install section from systemd units that are enabled by default
## sed -i -e '/^\[Install\]$/,$d' \
## scripts/dm_event_systemd_red_hat.socket.in \
## scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \
## scripts/lvm2_monitoring_systemd_red_hat.service.in
}
build() {
# build system requires bash:
# https://www.redhat.com/archives/linux-lvm/2020-January/msg00004.html
# https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Defining-Variables.html
export CONFIG_SHELL=/bin/bash
cd lvm2/
./configure \
CONFIG_SHELL=/bin/bash \
--prefix=/usr \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-cmdlib \
--enable-dmeventd \
--enable-lvmpolld \
--enable-pkgconfig \
--enable-readline \
--enable-udev_rules \
--enable-udev_sync \
--enable-write_install \
--disable-systemd \
--with-cache=internal \
--with-default-dm-run-dir=/run \
--with-default-locking-dir=/run/lock/lvm \
--with-default-pid-dir=/run \
--with-default-run-dir=/run/lvm \
--with-libexecdir=/usr/lib/lvm2 \
--without-systemdsystemunitdir \
--with-thin=internal \
--with-udev-prefix=/usr
make
# --with-systemdsystemunitdir=/usr/lib/systemd/system \
make -C udev/ 69-dm-lvm-initcpio.rules
}
package_device-mapper() {
pkgdesc="Device mapper userspace library and tools w/o systemd"
url="http://sourceware.org/dm/"
depends=('glibc' 'libudev.so')
provides=('libdevmapper.so'
'libdevmapper-event.so')
cd lvm2/
make DESTDIR="${pkgdir}" install_device-mapper
# extra udev rule for device-mapper in initramfs
install -D -m0644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules"
# Install dmeventd socket and service
## make DESTDIR="${pkgdir}" install_systemd_units
## rm -f "${pkgdir}/usr/lib/systemd/system/"{blk-availability.service,lvm2-*}
## install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants"
## ln -sf ../dm-event.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dm-event.socket"
}
package_lvm2() {
pkgdesc="Logical Volume Manager 2 utilities w/o systemd"
depends=('bash' "device-mapper>=${pkgver}"
'libudev.so' 'util-linux-libs' 'libblkid.so' 'readline' 'libreadline.so'
'thin-provisioning-tools' 'libaio' 'libaio.so')
conflicts=('lvm' 'mkinitcpio<38')
backup=('etc/lvm/lvm.conf'
'etc/lvm/lvmlocal.conf')
cd lvm2/
make DESTDIR="${pkgdir}" install_lvm2
# /etc directories
install -d "${pkgdir}"/etc/lvm/{archive,backup}
# # mkinitcpio hook
# install -D -m0644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2"
# ln -s lvm2 "${pkgdir}/usr/lib/initcpio/install/sd-lvm2"
# extra udev rule for non-systemd initramfs
install -D -m0644 udev/69-dm-lvm-initcpio.rules "${pkgdir}/usr/lib/initcpio/udev/69-dm-lvm.rules"
}
#---- arch license gpg-key & sha256sums ----
arch=(x86_64)
license=('GPL2' 'LGPL2.1')
validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17' # Alasdair G Kergon <agk@redhat.com>
'D501A478440AE2FD130A1BE8B9112431E509039F') # Marian Csontos <marian.csontos@gmail.com>
sha256sums=(74e2aa5ddcec64835ca8dac2cb8b7b35e193de5ce7030440726f853abc3877c7 # lvm2
2b3a16ec05e2bc6678e9ebd5ffa8319ebfde29aa260ce004f79f9b8df57d73c9 # 0001-udev-initcpio.patch
# def6e03aa1629bbc0ca1ee5e84e620366daf779f037eab2fda47487a8471729b # lvm2_install
e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0) # 11-dm-initramfs.rules
## f238c26edf43bc52f80a786304b0c968c662b611fed4de28ef8dc2baa140b550 device-mapper-2.03.24-01-x86_64.pkg.tar.lz
## 7b9e42bbce70d618dc9095844e4d0e2801e77142514d271d90bfa6427a7844e7 lvm2-2.03.24-01-x86_64.pkg.tar.lz