diff --git a/hardware/disk/lvm2/actions.py b/hardware/disk/lvm2/actions.py index a835311a..0fc6ff7c 100644 --- a/hardware/disk/lvm2/actions.py +++ b/hardware/disk/lvm2/actions.py @@ -9,111 +9,38 @@ from pisi.actionsapi import autotools from pisi.actionsapi import pisitools from pisi.actionsapi import shelltools -def builddiet(): - pisitools.flags.add("-fno-lto") - shelltools.export("LIBS","-lpthread -luuid") - #dietCC = "diet %s %s %s -Os -static" % (get.CC(), get.CFLAGS(), get.LDFLAGS()) - dietCC = "%s %s %s -Os -static" % (get.CC(), get.CFLAGS(), get.LDFLAGS()) - shelltools.export("CC", dietCC) - - autotools.make("distclean") - - autotools.autoreconf("-fi") - autotools.configure('--with-thin-check= \ - --with-thin-dump= \ - --with-thin-repair= \ - --with-thin-restore= \ - --with-cache-check= \ - --with-cache-dump= \ - --with-cache-repair= \ - --with-cache-restore= \ - ac_cv_lib_dl_dlopen=no \ - --with-staticdir="/sbin" \ - --enable-debug \ - --with-optimisation=\"%s -Os\" \ - --enable-static_link \ - --with-lvm1=internal \ - --disable-readline \ - --disable-nls \ - --disable-selinux \ - --with-confdir=/etc \ - --enable-applib \ - --enable-cmdlib \ - --enable-pkgconfig \ - --enable-udev_rules \ - --with-systemdsystemunitdir=no \ - --enable-udev_sync' % get.CFLAGS()) - - #pisitools.dosed("lib/misc/configure.h","rpl_malloc","malloc") - #pisitools.dosed("lib/misc/configure.h","rpl_realloc","realloc") - - autotools.make("-j1 -C include") - autotools.make("-j1 -C lib LIB_SHARED= VERSIONED_SHLIB=") - autotools.make("-j1 -C libdm LIB_SHARED= VERSIONED_SHLIB=") - autotools.make("-j1 -C libdaemon LIB_SHARED= VERSIONED_SHLIB=") - autotools.make("-j1 -C tools dmsetup.static lvm.static DIETLIBC_LIBS=\"-lcompat\"") - - pisitools.insinto("/usr/lib/dietlibc/lib-i386", "libdm/ioctl/libdevmapper.a") - pisitools.insinto("/sbin/", "tools/lvm.static") - pisitools.insinto("/sbin/", "tools/dmsetup.static") - - def setup(): - # Breaks linking when sandbox is disabled - shelltools.export("CLDFLAGS", "%s -lpthread" %get.LDFLAGS()) - - shelltools.export("LIB_PTHREAD", "-lpthread") - pisitools.dosed("conf/example.conf.in", "use_lvmetad = 0", "use_lvmetad = 1") - - #shelltools.system(""" sed -i -e "1iAR = $(tc-getAR)" -e "s:CC ?= @CC@:CC = $(tc-getCC):" make.tmpl.in || die """) - shelltools.system(""" sed -i -e '/FLAG/s:-O2::' configure || die """) - shelltools.system(""" sed -i -e '/FLAG/s:-O2::' configure.ac || die """) - - autotools.autoreconf("-fi") - autotools.configure("--with-thin-check= \ - --with-thin-dump= \ - --with-thin-repair= \ - --with-thin-restore= \ - --with-cache-check= \ - --with-cache-dump= \ - --with-cache-repair= \ - --with-cache-restore= \ - --enable-lvm1_fallback \ + shelltools.export("CONFIG_SHELL", "/bin/bash") + autotools.configure("--with-usrlibdir=/usr/lib \ + --with-usrsbindir=%s \ + --with-confdir=/etc \ + --with-udevdir=/lib/udev/rules.d \ --with-default-pid-dir=/run \ --with-default-run-dir=/run/lvm \ --with-default-locking-dir=/run/lock/lvm \ - --with-dmeventd-path=/sbin/dmeventd \ - --enable-fsadm \ - --with-pool=internal \ - --with-user= \ - --with-group= \ - --with-usrlibdir=/usr/lib \ - --with-usrsbindir=%s \ - --with-udevdir=/lib/udev/rules.d \ --with-device-uid=0 \ --with-device-gid=6 \ --with-device-mode=0660 \ - --enable-dmeventd \ - --enable-udev_rules \ - --enable-udev_sync \ + --with-cache=internal \ --with-snapshots=internal \ --with-mirrors=internal \ + --with-thin=internal \ --with-interface=ioctl \ - --enable-static_link=no \ - --disable-readline \ - --disable-realtime \ + --enable-udev_rules \ + --enable-udev_sync \ --disable-selinux \ - --with-confdir=/etc \ + --enable-readline \ + --enable-fsadm \ --enable-applib \ --enable-cmdlib \ - --enable-pkgconfig " % get.sbinDIR()) + --enable-pkgconfig \ + --enable-dmeventd \ + --enable-lvmetad \ + --enable-lvmpolld" % get.sbinDIR()) # pisitools.dosed("make.tmpl","-lm","") def build(): - autotools.make("-C include") - #autotools.make("-C libdm") - #autotools.make("-C lib") autotools.make() def install(): @@ -121,9 +48,11 @@ def install(): for dir in ["archive", "backup", "cache"]: pisitools.dodir("/etc/lvm/%s" % dir) - shelltools.chmod(get.installDIR() + "/etc/lvm/%s" % dir, 0700) + shelltools.chmod(get.installDIR() + "/etc/lvm/%s" % dir, 0755) + shelltools.chown(get.installDIR() + "/etc/lvm/%s" % dir, uid = 'root', gid = 'root') + + shelltools.system("sed -i 's,use_lvmetad = 1,use_lvmetad = 1,' %s/etc/lvm/lvm.conf" % get.installDIR()) #pisitools.move("/sbin/lvmconf","scripts/lvmconf.sh") - builddiet() - pisitools.dodoc("COPYING", "COPYING.LIB", "README", "VERSION", "VERSION_DM", "WHATS_NEW", "WHATS_NEW_DM") + pisitools.dodoc("COPYING", "COPYING.LIB", "README", "VERSION", "WHATS_NEW") # "VERSION_DM", "WHATS_NEW_DM" diff --git a/hardware/disk/lvm2/comar/package.py b/hardware/disk/lvm2/comar/package.py index e31e03f3..39648cc5 100644 --- a/hardware/disk/lvm2/comar/package.py +++ b/hardware/disk/lvm2/comar/package.py @@ -3,4 +3,14 @@ import os def postInstall(fromVersion, fromRelease, toVersion, toRelease): - os.system("/sbin/mudur_tmpfiles.py /usr/lib/tmpfiles.d/lvm2.conf") \ No newline at end of file + if os.path.exists("/etc/lvm/lvm.conf"): + with open("/etc/lvm/lvm.conf", 'r') as file: + fileContent = file.readlines() + for lineIndex in range(len(fileContent)): + if ('use_lvmetad =' in fileContent[lineIndex]): + fileContent[lineIndex] = ' use_lvmetad = 1\n' + with open("/etc/lvm/lvm.conf", 'w') as tableFile: + tableFile.writelines(fileContent) + break + + os.system("/sbin/mudur_tmpfiles.py /usr/lib/tmpfiles.d/lvm2.conf") diff --git a/hardware/disk/lvm2/files/fix-stdio-usage.patch b/hardware/disk/lvm2/files/fix-stdio-usage.patch new file mode 100644 index 00000000..5ac99fd2 --- /dev/null +++ b/hardware/disk/lvm2/files/fix-stdio-usage.patch @@ -0,0 +1,49 @@ +--- ./tools/lvmcmdline.c ++++ ./tools/lvmcmdline.c +@@ -1252,7 +1252,7 @@ + int err = is_valid_fd(STDERR_FILENO); + + if (!is_valid_fd(STDIN_FILENO) && +- !(stdin = fopen(_PATH_DEVNULL, "r"))) { ++ !freopen(_PATH_DEVNULL, "r", stdin)) { + if (err) + perror("stdin stream open"); + else +@@ -1262,7 +1262,7 @@ + } + + if (!is_valid_fd(STDOUT_FILENO) && +- !(stdout = fopen(_PATH_DEVNULL, "w"))) { ++ !freopen(_PATH_DEVNULL, "w", stdout)) { + if (err) + perror("stdout stream open"); + /* else no stdout */ +@@ -1270,7 +1270,7 @@ + } + + if (!is_valid_fd(STDERR_FILENO) && +- !(stderr = fopen(_PATH_DEVNULL, "w"))) { ++ !freopen(_PATH_DEVNULL, "w", stderr)) { + printf("stderr stream open: %s\n", + strerror(errno)); + return 0; +--- ./lib/commands/toolcontext.c ++++ ./lib/commands/toolcontext.c +@@ -1869,7 +1869,7 @@ + /* FIXME Make this configurable? */ + reset_lvm_errno(1); + +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + /* Set in/out stream buffering before glibc */ + if (set_buffering + #ifdef SYS_gettid +@@ -2274,7 +2274,7 @@ + + if (cmd->pending_delete_mem) + dm_pool_destroy(cmd->pending_delete_mem); +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + if (cmd->linebuffer) { + /* Reset stream buffering to defaults */ + if (is_valid_fd(STDIN_FILENO) && diff --git a/hardware/disk/lvm2/files/mlockall-default-config.patch b/hardware/disk/lvm2/files/mlockall-default-config.patch new file mode 100644 index 00000000..d741df2e --- /dev/null +++ b/hardware/disk/lvm2/files/mlockall-default-config.patch @@ -0,0 +1,14 @@ +--- ./lib/config/defaults.h.orig 2017-04-27 18:16:05.879936377 +0200 ++++ ./lib/config/defaults.h 2017-04-27 18:16:35.141849047 +0200 +@@ -55,7 +55,11 @@ + #define DEFAULT_LVMLOCKD_LOCK_RETRIES 3 + #define DEFAULT_LVMETAD_UPDATE_WAIT_TIME 10 + #define DEFAULT_PRIORITISE_WRITE_LOCKS 1 ++#ifdef __GLIBC__ + #define DEFAULT_USE_MLOCKALL 0 ++#else ++#define DEFAULT_USE_MLOCKALL 1 ++#endif + #define DEFAULT_METADATA_READ_ONLY 0 + #define DEFAULT_LVDISPLAY_SHOWS_FULL_DEVICE_PATH 0 + #define DEFAULT_UNKNOWN_DEVICE_NAME "[unknown]" diff --git a/hardware/disk/lvm2/files/portability.patch b/hardware/disk/lvm2/files/portability.patch new file mode 100644 index 00000000..ecdcb1ce --- /dev/null +++ b/hardware/disk/lvm2/files/portability.patch @@ -0,0 +1,21 @@ +--- a/lib/mm/memlock.c ++++ b/lib/mm/memlock.c +@@ -159,7 +159,7 @@ static void _touch_memory(void *mem, siz + + static void _allocate_memory(void) + { +-#ifndef VALGRIND_POOL ++#if !defined(VALGRIND_POOL) && defined(__GLIBC__) + void *stack_mem; + struct rlimit limit; + int i, area = 0, missing = _size_malloc_tmp, max_areas = 32, hblks; +--- a/libdaemon/server/daemon-server.c ++++ b/libdaemon/server/daemon-server.c +@@ -18,6 +18,7 @@ + #include "daemon-server.h" + #include "daemon-log.h" + ++#include + #include + #include + #include diff --git a/hardware/disk/lvm2/pspec.xml b/hardware/disk/lvm2/pspec.xml index 19b55c41..9a43767f 100644 --- a/hardware/disk/lvm2/pspec.xml +++ b/hardware/disk/lvm2/pspec.xml @@ -16,18 +16,18 @@ libutil-linux-devel eudev-devel - autoconf-archive libaio-devel - + readline-devel + thin-provisioning-tools - - - - + lvm2-2.02.106-static-pkgconfig-libs.patch + lvm2-2.03.05-pthread-pkgconfig.patch + lvm2-2.03.05-dynamic-static-ldflags.patch + lvm2-2.03.05-dmeventd-no-idle-exit.patch lvm2-2.02.178-static-pkgconfig-libs.patch lvm2-2.02.56-lvm2create_initrd.patch lvm2-2.02.67-createinitrd.patch @@ -35,8 +35,10 @@ lvm2-2.02.171-static-libm.patch lvm2-2.02.166-HPPA-no-O_DIRECT.patch lvm2-2.02.184-mksh_build.patch - - lvm2-2.02.186-udev_remove_unsupported_option.patch + lvm2-2.02.186-udev_remove_unsupported_option.patch + fix-stdio-usage.patch + mlockall-default-config.patch + portability.patch @@ -55,8 +57,8 @@ /lib/udev/rules.d/10-dm.rules /lib/udev/rules.d/13-dm-disk.rules /lib/udev/rules.d/95-dm-notify.rules - /usr/share/doc/VERSION_DM - /usr/share/doc/WHATS_NEW_DM + /usr/share/man/man8/dmsetup.8 /usr/share/man/man8/dmstats.8 @@ -67,7 +69,7 @@ Development libraries and headers for device-mapper Device-mapper-devel contains files needed to develop applications that use the device-mapper libraries. - device-mapper + device-mapper eudev-devel @@ -81,13 +83,12 @@ Device-mapper event daemon This package contains the dmeventd daemon for monitoring the state of device-mapper devices. - device-mapper + device-mapper /usr/sbin/dmeventd /usr/lib/libdevmapper-event.a /usr/lib/libdevmapper-event.so* - /usr/lib/libdevmapper-event-lvm2vdo.so /usr/lib/device-mapper/libdevmapper-event-lvm2vdo.so /usr/lib/libdevmapper-event-lvm2thin.so @@ -101,7 +102,7 @@ Development libraries and headers for the device-mapper event daemon This contains contains files needed to develop applications that use the device-mapper event library. - device-mapper-event + device-mapper-event /usr/include/libdevmapper-event.h @@ -116,11 +117,13 @@ device-mapper device-mapper-event - libutil-linux + libaio eudev + libutil-linux + readline + thin-provisioning-tools - /sbin/lvmconf /usr/sbin/blkdeactivate /usr/sbin/fsadm /usr/sbin/lv* @@ -135,14 +138,20 @@ /usr/lib/libdevmapper-event-lvm2snapshot.so /usr/lib/libdevmapper-event-lvm2raid.so /usr/lib/device-mapper/libdevmapper-event-lvm2raid.so - /etc/lvm + /etc/lvm/lvm.conf + /etc/lvm/lvmlocal.conf /etc/lvm/archive /etc/lvm/backup /etc/lvm/cache - /var/lock/lvm + /etc/lvm/profile /lib/udev/rules.d/11-dm-lvm.rules + /lib/udev/rules.d/69-dm-lvm-metad.rules /usr/lib/tmpfiles.d/lvm2.conf - /usr/share/doc + /usr/share/doc/lvm2/COPYING + /usr/share/doc/lvm2/COPYING.LIB + /usr/share/doc/lvm2/README + /usr/share/doc/lvm2/VERSION + /usr/share/doc/lvm2/WHATS_NEW /usr/share/man/man5/lvm.conf.5 /usr/share/man/man7 /usr/share/man/man8/fsadm.8 @@ -164,10 +173,10 @@ Development libraries and headers This package contains files needed to develop applications that use the lvm2 libraries. - libutil-linux-devel lvm2 device-mapper-devel device-mapper-event-devel + libutil-linux-devel /usr/include/lvm2cmd.h @@ -176,36 +185,14 @@ - - dietlibc-libdevmapper - Static devmapper library built with dietlibc - device mapper contains ioctl library and utilities for use with logical volume management (LVM2) built with dietlibc - - /usr/lib/dietlibc/lib-i386/libdevmapper.a - - - - - device-mapper-static - Staticaly linked Device-mapper library and utility - device mapper contains statically linked libraries and utility for initramfs. - - /sbin/dmsetup.static - - - - - lvm2-static - Staticaly linked Logical Volume Management utilities - Number of utilities for creating, checking, and repairing logical volumes - statically linked for initramfs. - - /sbin/lvm.static - /usr/lib/liblvm2app.a - /usr/lib/liblvm2cmd.a - - - + + 2021-09-14 + 2.02.186 + Rebuild. + Berk Çakar + berk2238@hotmail.com + 2020-12-09 2.02.186 diff --git a/kernel/tools/mkinitcpio/actions.py b/kernel/tools/mkinitcpio/actions.py index d72c8c22..5cd1d742 100644 --- a/kernel/tools/mkinitcpio/actions.py +++ b/kernel/tools/mkinitcpio/actions.py @@ -15,7 +15,7 @@ def install(): autotools.rawInstall("DESTDIR=%s" % get.installDIR()) pisitools.removeDir("/usr/lib/kernel") - pisitools.removeDir("/usr/lib/tmpfiles.d") + pisitools.removeDir("/etc/mkinitcpio.d") pisitools.remove("/usr/lib/initcpio/install/sd-*") pisitools.removeDir("/usr/share/libalpm") diff --git a/kernel/tools/mkinitcpio/comar/package.py b/kernel/tools/mkinitcpio/comar/package.py new file mode 100644 index 00000000..e36816ae --- /dev/null +++ b/kernel/tools/mkinitcpio/comar/package.py @@ -0,0 +1,6 @@ +#!/usr/bin/python + +import os + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + os.system("/sbin/mudur_tmpfiles.py /usr/lib/tmpfiles.d/mkinitcpio.conf") diff --git a/kernel/tools/mkinitcpio/files/10-dm-initramfs.rules b/kernel/tools/mkinitcpio/files/11-dm-initramfs.rules similarity index 100% rename from kernel/tools/mkinitcpio/files/10-dm-initramfs.rules rename to kernel/tools/mkinitcpio/files/11-dm-initramfs.rules diff --git a/kernel/tools/mkinitcpio/files/70-dm-lvm-metad.rules b/kernel/tools/mkinitcpio/files/69-dm-lvm-metad.rules similarity index 56% rename from kernel/tools/mkinitcpio/files/70-dm-lvm-metad.rules rename to kernel/tools/mkinitcpio/files/69-dm-lvm-metad.rules index c032108b..11d95d34 100644 --- a/kernel/tools/mkinitcpio/files/70-dm-lvm-metad.rules +++ b/kernel/tools/mkinitcpio/files/69-dm-lvm-metad.rules @@ -4,14 +4,7 @@ # Udev rules for LVM. # -# Scan all block devices having a PV label for LVM metadata. -# Store this information in LVMetaD (the LVM metadata daemon) and maintain LVM -# metadata state for improved performance by avoiding further scans while -# running subsequent LVM commands or while using lvm2app library. -# Also, notify LVMetaD about any relevant block device removal. -# -# This rule is essential for having the information in LVMetaD up-to-date. -# It also requires blkid to be called on block devices before so only devices +# This rule requires blkid to be called on block devices before so only devices # used as LVM PVs are processed (ID_FS_TYPE="LVM2_member" or "LVM1_member"). SUBSYSTEM!="block", GOTO="lvm_end" @@ -19,8 +12,7 @@ SUBSYSTEM!="block", GOTO="lvm_end" ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="lvm_end" -# If the PV label got lost, inform lvmetad immediately. -# Detect the lost PV label by comparing previous ID_FS_TYPE value with current one. +# Detect removed PV label by comparing previous ID_FS_TYPE value with current one. ENV{.ID_FS_TYPE_NEW}="$env{ID_FS_TYPE}" IMPORT{db}="ID_FS_TYPE" ENV{ID_FS_TYPE}=="LVM2_member|LVM1_member", ENV{.ID_FS_TYPE_NEW}!="LVM2_member|LVM1_member", ENV{LVM_PV_GONE}="1" @@ -31,7 +23,6 @@ ENV{LVM_PV_GONE}=="1", GOTO="lvm_scan" ENV{ID_FS_TYPE}!="LVM2_member|LVM1_member", GOTO="lvm_end" ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="lvm_end" -# Inform lvmetad about any PV that is gone. ACTION=="remove", GOTO="lvm_scan" # Create /dev/disk/by-id/lvm-pv-uuid- symlink for each PV @@ -68,26 +59,68 @@ ACTION=="change", ENV{LVM_LOOP_PV_ACTIVATED}!="1", TEST=="loop/backing_file", EN ENV{LVM_LOOP_PV_ACTIVATED}!="1", ENV{SYSTEMD_READY}="0" GOTO="lvm_end" -# If the PV is not a special device listed above, scan only after device addition (ADD event) +# If the PV is not a special device listed above, scan only if necessary. +# For "systemd_background" mode, systemd takes care of this by activating +# the lvm2-pvscan@.service only once. LABEL="next" ACTION!="add", GOTO="lvm_end" LABEL="lvm_scan" -# The table below summarises the situations in which we reach the LABEL="lvm_scan". +ENV{SYSTEMD_READY}="1" + +# The method for invoking pvscan is selected at build time with the option +# --(enable|disable)-udev-systemd-background-jobs to "configure". +# On modern distributions with recent systemd, it's "systemd_background"; +# on others, "direct_pvscan". +GOTO="direct_pvscan" + +LABEL="systemd_background" + +# The table below summarises the situations in which we reach the LABEL="lvm_scan" +# in the "systemd_background" case. # Marked by X, X* means only if the special dev is properly set up. # The artificial ADD is supported for coldplugging. We avoid running the pvscan # on artificial CHANGE so there's no unexpected autoactivation when WATCH rule fires. # N.B. MD and loop never actually reaches lvm_scan on REMOVE as the PV label is gone # within a CHANGE event (these are caught by the "LVM_PV_GONE" rule at the beginning). # +# In this case, we simply set up the dependency between the device and the pvscan +# job using SYSTEMD_ALIAS (which sets up a simplified device identifier that +# allows using "BindsTo" in the sytemd unit file) and SYSTEMD_WANTS (which tells +# systemd to start the pvscan job once the device is ready). +# We need to set these variables for both "add" and "change" events, otherwise +# systemd may loose information about the device/unit dependencies. +# +# | real ADD | real CHANGE | artificial ADD | artificial CHANGE | REMOVE +# ============================================================================= +# DM | | X | X* | | X +# MD | | X | X* | | +# loop | | X | X* | | +# other | X | X | X | | X +ACTION!="remove", ENV{LVM_PV_GONE}=="1", RUN+="/usr/bin/systemd-run /usr/sbin/lvm pvscan --cache $major:$minor", GOTO="lvm_end" +ENV{SYSTEMD_ALIAS}="/dev/block/$major:$minor" +ENV{SYSTEMD_WANTS}+="lvm2-pvscan@$major:$minor.service" +GOTO="lvm_end" + +# FIXME: this mode is not used and should be removed. +LABEL="direct_pvscan" + +# The table below summarises the situations in which we reach the LABEL="lvm_scan" +# for the "direct_pvscan" case. +# Marked by X, X* means only if the special dev is properly set up. +# The artificial ADD is supported for coldplugging. We avoid running the pvscan +# on artificial CHANGE so there's no unexpected autoactivation when WATCH rule fires. +# +# In this case, we need to make sure that pvscan is not invoked spuriously, therefore +# we invoke it only for "add" events for "other" devices. +# # | real ADD | real CHANGE | artificial ADD | artificial CHANGE | REMOVE # ============================================================================= # DM | | X | X* | | X # MD | | X | X* | | # loop | | X | X* | | # other | X | | X | | X -ENV{SYSTEMD_READY}="1" -RUN+="/usr/bin/lvm pvscan --background --cache --activate ay --major $major --minor $minor", ENV{LVM_SCANNED}="1" +RUN+="/usr/sbin/lvm pvscan --background --cache --activate ay --major $major --minor $minor", ENV{LVM_SCANNED}="1" LABEL="lvm_end" diff --git a/kernel/tools/mkinitcpio/files/lvm2_install b/kernel/tools/mkinitcpio/files/lvm2_install index d7a63332..7bfe7dbf 100644 --- a/kernel/tools/mkinitcpio/files/lvm2_install +++ b/kernel/tools/mkinitcpio/files/lvm2_install @@ -11,7 +11,6 @@ build() { # binaries from lvm2 add_binary "lvm" - add_binary "lvmetad" # beinaries from device-mapper add_binary "dmsetup" @@ -23,15 +22,14 @@ build() { done # udev rules and lvm configuration - add_file "/usr/lib/udev/rules.d/10-dm.rules" - add_file "/usr/lib/udev/rules.d/11-dm-lvm.rules" - add_file "/usr/lib/udev/rules.d/13-dm-disk.rules" - add_file "/usr/lib/udev/rules.d/95-dm-notify.rules" - add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules" - add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/usr/lib/udev/rules.d/69-dm-lvm-metad.rules" + add_file "/lib/udev/rules.d/10-dm.rules" + add_file "/lib/udev/rules.d/11-dm-lvm.rules" + add_file "/lib/udev/rules.d/13-dm-disk.rules" + add_file "/lib/udev/rules.d/95-dm-notify.rules" + add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/lib/udev/rules.d/11-dm-initramfs.rules" + add_file "/usr/lib/initcpio/udev/69-dm-lvm-metad.rules" "/lib/udev/rules.d/69-dm-lvm-metad.rules" add_file "/etc/lvm/lvm.conf" - - add_runscript + sed -i '/^\smonitoring =/s/1/0/' "${BUILDROOT}/etc/lvm/lvm.conf" } help() { diff --git a/kernel/tools/mkinitcpio/files/mkinitcpio.conf b/kernel/tools/mkinitcpio/files/mkinitcpio.conf new file mode 100644 index 00000000..5be9cadd --- /dev/null +++ b/kernel/tools/mkinitcpio/files/mkinitcpio.conf @@ -0,0 +1,67 @@ +# vim:set ft=sh +# MODULES +# The following modules are loaded before any boot hooks are +# run. Advanced users may wish to specify all system modules +# in this array. For instance: +# MODULES=(piix ide_disk reiserfs) +MODULES=() + +# BINARIES +# This setting includes any additional binaries a given user may +# wish into the CPIO image. This is run last, so it may be used to +# override the actual binaries included by a given hook +# BINARIES are dependency parsed, so you may safely ignore libraries +BINARIES=() + +# FILES +# This setting is similar to BINARIES above, however, files are added +# as-is and are not parsed in any way. This is useful for config files. +FILES=() + +# HOOKS +# This is the most important setting in this file. The HOOKS control the +# modules and scripts added to the image, and what happens at boot time. +# Order is important, and it is recommended that you do not change the +# order in which HOOKS are added. Run 'mkinitcpio -H ' for +# help on a given hook. +# 'base' is _required_ unless you know precisely what you are doing. +# 'udev' is _required_ in order to automatically load modules +# 'filesystems' is _required_ unless you specify your fs modules in MODULES +# Examples: +## This setup specifies all modules in the MODULES setting above. +## No raid, lvm2, or encrypted root is needed. +# HOOKS=(base) +# +## This setup will autodetect all modules for your system and should +## work as a sane default +# HOOKS=(base udev autodetect block filesystems) +# +## This setup will generate a 'full' image which supports most systems. +## No autodetection is done. +# HOOKS=(base udev block filesystems) +# +## This setup assembles a pata mdadm array with an encrypted root FS. +## Note: See 'mkinitcpio -H mdadm' for more information on raid devices. +# HOOKS=(base udev block mdadm encrypt filesystems) +# +## This setup loads an lvm2 volume group on a usb device. +# HOOKS=(base udev block lvm2 filesystems) +# +## NOTE: If you have /usr on a separate partition, you MUST include the +# usr, fsck and shutdown hooks. +HOOKS=(base udev autodetect modconf block lvm2 filesystems keyboard resume fsck) + +# COMPRESSION +# Use this to compress the initramfs image. By default, gzip compression +# is used. Use 'cat' to create an uncompressed image. +#COMPRESSION="zstd" +#COMPRESSION="gzip" +#COMPRESSION="bzip2" +#COMPRESSION="lzma" +#COMPRESSION="xz" +#COMPRESSION="lzop" +#COMPRESSION="lz4" + +# COMPRESSION_OPTIONS +# Additional options for the compressor +#COMPRESSION_OPTIONS=() diff --git a/kernel/tools/mkinitcpio/files/mount-dev-pts.patch b/kernel/tools/mkinitcpio/files/mount-dev-pts.patch new file mode 100644 index 00000000..cbfc61e6 --- /dev/null +++ b/kernel/tools/mkinitcpio/files/mount-dev-pts.patch @@ -0,0 +1,13 @@ +diff --git a/init_functions b/init_functions +index 8ad10c7..e8a88d8 100644 +--- a/init_functions ++++ b/init_functions +@@ -477,6 +477,7 @@ mount_setup() { + mount -t proc proc /proc -o nosuid,noexec,nodev + mount -t sysfs sys /sys -o nosuid,noexec,nodev + mount -t devtmpfs dev /dev -o mode=0755,nosuid ++ mkdir -m 0755 /dev/pts && mount -t devpts -o gid=5,mode=620 devpts /dev/pts + mount -t tmpfs run /run -o nosuid,nodev,mode=0755 + mkdir -m755 /run/initramfs + +-- diff --git a/kernel/tools/mkinitcpio/pspec.xml b/kernel/tools/mkinitcpio/pspec.xml index 34dcd371..69b4bda5 100644 --- a/kernel/tools/mkinitcpio/pspec.xml +++ b/kernel/tools/mkinitcpio/pspec.xml @@ -19,6 +19,7 @@ nosystemd.patch gzip-default.patch + mount-dev-pts.patch @@ -26,6 +27,7 @@ mkinitcpio busybox-mkinitcpio + lvm2 mkinitramfs @@ -34,9 +36,9 @@ /etc/initcpio /etc/mkinitcpio.conf - /etc/mkinitcpio.d /usr/bin /usr/lib/initcpio + /usr/lib/tmpfiles.d/mkinitcpio.conf /usr/share/bash-completion /usr/share/doc /usr/share/man @@ -57,15 +59,24 @@ zfs_install live_hook live_install - 10-dm-initramfs.rules - 70-dm-lvm-metad.rules + 11-dm-initramfs.rules + 69-dm-lvm-metad.rules + mkinitcpio.conf + System.Package System.PackageHandler + + 2021-09-13 + 30 + Rebuild + Berk Çakar + berk2238@hotmail.com + 2021-09-13 30 diff --git a/pisi-index.xml b/pisi-index.xml index 6d506a45..71425504 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -266,18 +266,14 @@ libutil-linux-devel eudev-devel - autoconf-archive libaio-devel + readline-devel + thin-provisioning-tools - lvm2-2.02.178-static-pkgconfig-libs.patch - lvm2-2.02.56-lvm2create_initrd.patch - lvm2-2.02.67-createinitrd.patch - lvm2-2.02.99-locale-muck.patch - lvm2-2.02.171-static-libm.patch - lvm2-2.02.166-HPPA-no-O_DIRECT.patch - lvm2-2.02.184-mksh_build.patch - lvm2-2.02.186-udev_remove_unsupported_option.patch + fix-stdio-usage.patch + mlockall-default-config.patch + portability.patch hardware/disk/lvm2/pspec.xml @@ -298,8 +294,6 @@ /lib/udev/rules.d/10-dm.rules /lib/udev/rules.d/13-dm-disk.rules /lib/udev/rules.d/95-dm-notify.rules - /usr/share/doc/VERSION_DM - /usr/share/doc/WHATS_NEW_DM /usr/share/man/man8/dmsetup.8 /usr/share/man/man8/dmstats.8 @@ -310,7 +304,7 @@ device-mapper için geliştirme dosyaları Device-mapper-devel contains files needed to develop applications that use the device-mapper libraries. - device-mapper + device-mapper eudev-devel @@ -324,7 +318,7 @@ Device mapper durum servisi This package contains the dmeventd daemon for monitoring the state of device-mapper devices. - device-mapper + device-mapper /usr/sbin/dmeventd @@ -343,7 +337,7 @@ device-mapper-event için geliştirme dosyaları This contains contains files needed to develop applications that use the device-mapper event library. - device-mapper-event + device-mapper-event /usr/include/libdevmapper-event.h @@ -355,13 +349,15 @@ Userland logical volume management tools LVM2 includes all of the support for handling read/write operations on physical volumes,creating volume groups from one or more physical volumes and creating one or more logical volumes in volume groups. - device-mapper - device-mapper-event - libutil-linux + device-mapper + device-mapper-event + libaio eudev + libutil-linux + readline + thin-provisioning-tools - /sbin/lvmconf /usr/sbin/blkdeactivate /usr/sbin/fsadm /usr/sbin/lv* @@ -376,14 +372,20 @@ /usr/lib/libdevmapper-event-lvm2snapshot.so /usr/lib/libdevmapper-event-lvm2raid.so /usr/lib/device-mapper/libdevmapper-event-lvm2raid.so - /etc/lvm + /etc/lvm/lvm.conf + /etc/lvm/lvmlocal.conf /etc/lvm/archive /etc/lvm/backup /etc/lvm/cache - /var/lock/lvm + /etc/lvm/profile /lib/udev/rules.d/11-dm-lvm.rules + /lib/udev/rules.d/69-dm-lvm-metad.rules /usr/lib/tmpfiles.d/lvm2.conf - /usr/share/doc + /usr/share/doc/lvm2/COPYING + /usr/share/doc/lvm2/COPYING.LIB + /usr/share/doc/lvm2/README + /usr/share/doc/lvm2/VERSION + /usr/share/doc/lvm2/WHATS_NEW /usr/share/man/man5/lvm.conf.5 /usr/share/man/man7 /usr/share/man/man8/fsadm.8 @@ -405,10 +407,10 @@ lvm2 için geliştirme dosyaları This package contains files needed to develop applications that use the lvm2 libraries. + lvm2 + device-mapper-devel + device-mapper-event-devel libutil-linux-devel - lvm2 - device-mapper-devel - device-mapper-event-devel /usr/include/lvm2cmd.h @@ -416,39 +418,14 @@ /usr/lib/pkgconfig/lvm2app.pc - - dietlibc-libdevmapper - Static devmapper library built with dietlibc - Statik bağlanmış device-mapper kütüphanesi - device mapper contains ioctl library and utilities for use with logical volume management (LVM2) built with dietlibc - Dietlibc kütüphanesiyle statik derlenmiş device-mapper kütüphanesidir. - - /usr/lib/dietlibc/lib-i386/libdevmapper.a - - - - device-mapper-static - Staticaly linked Device-mapper library and utility - Static bağlanmış device-mapper kütüphanesi ve aracı - device mapper contains statically linked libraries and utility for initramfs. - İnitramfs içinde kullanılan mantıksal hacim yönetimi için gerekli statik bağlanmış araçlardır. - - /sbin/dmsetup.static - - - - lvm2-static - Staticaly linked Logical Volume Management utilities - Statik bağlanmış LVM araçları - Number of utilities for creating, checking, and repairing logical volumes - statically linked for initramfs. - İnitramfs içinde kullanılan statik bağlanmış mantıksal hacim yönetimi aracıdır. - - /sbin/lvm.static - /usr/lib/liblvm2app.a - /usr/lib/liblvm2cmd.a - - + + 2021-09-14 + 2.02.186 + Rebuild. + Berk Çakar + berk2238@hotmail.com + 2020-12-09 2.02.186 @@ -4598,6 +4575,8 @@ https://gitlab.com/sulinos/devel/initrd/-/archive/1.1.4/initrd-1.1.4.tar.gz 0001-Adapted-to-Pisi-Linux.patch + 0002-Made-initrd-follow-the-quite-boot-parameter.patch + 0003-Improvements-for-continuous-live-boot.patch kernel/tools/initrd/pspec.xml @@ -4610,8 +4589,50 @@ /bin/update-initrd /lib/initrd + + mkinitramfs + mkinitcpio + + + System.PackageHandler + + + 2020-09-11 + 1.1.4 + Rebuild + Berk Çakar + berk2238@hotmail.com + + + 2020-09-09 + 1.1.4 + Rebuild + Berk Çakar + berk2238@hotmail.com + + + 2020-09-08 + 1.1.4 + Rebuild + Berk Çakar + berk2238@hotmail.com + + + 2020-09-08 + 1.1.4 + Rebuild + Berk Çakar + berk2238@hotmail.com + + + 2020-09-06 + 1.1.4 + Rebuild + Berk Çakar + berk2238@hotmail.com + 2020-09-06 1.1.4 @@ -4624,53 +4645,89 @@ mkinitcpio - https://projects.archlinux.org/mkinitcpio.git/ + https://github.com/archlinux/mkinitcpio Pisi Linux Admins admin@pisilinux.org - GPL + GPLv2 kernel.tools Modular initramfs image creation utility İnitramfs oluşturmak için araç mkinitcpio is a generic, modular, cross-distribution initramfs generation tool. Mkinitcpio çapraz platform initramfs oluşturmak için kullanılan bir araçtır. - https://github.com/bferturk/mkinitcpio/archive/19.1.tar.gz + https://github.com/archlinux/mkinitcpio/archive/refs/tags/v30.tar.gz - libkmod-devel - kmod asciidoc libxslt-devel - man-pages - man-db + + nosystemd.patch + gzip-default.patch + mount-dev-pts.patch + kernel/tools/mkinitcpio/pspec.xml mkinitcpio - xz - bzip2 - libarchive - kmod - libkmod busybox-mkinitcpio + lvm2 + /etc/initcpio + /etc/mkinitcpio.conf /usr/bin - /usr/lib - /usr/share + /usr/lib/initcpio + /usr/lib/tmpfiles.d/mkinitcpio.conf + /usr/share/bash-completion /usr/share/doc - /etc + /usr/share/man + /usr/share/mkinitcpio + /usr/share/zsh mkinitramfs + initrd + System.Package System.PackageHandler + + udev_hook + udev_install + lvm2_hook + lvm2_install + encrypt_hook + encrypt_install + mdadm_hook + mdadm_install + mdadm_udev_install + zfs_hook + zfs_install + live_hook + live_install + 11-dm-initramfs.rules + 69-dm-lvm-metad.rules + mkinitcpio.conf + + + 2021-09-13 + 30 + Rebuild + Berk Çakar + berk2238@hotmail.com + + + 2021-09-13 + 30 + Version bump + Berk Çakar + berk2238@hotmail.com + 2021-06-09 19.1 @@ -4787,6 +4844,13 @@ + + 2020-09-11 + 1.0.7 + Rebuild + Berk Çakar + berk2238@hotmail.com + 2020-01-18 1.0.7 @@ -7132,6 +7196,20 @@ + + 2021-09-07 + 3.10.1 + Rebuild + Berk Çakar + berk2238@hotmail.com + + + 2021-09-07 + 3.10.1 + Rebuild + Berk Çakar + berk2238@hotmail.com + 2021-06-09 3.10.1 @@ -17647,6 +17725,13 @@ + + 2021-09-14 + 5.13 + Rebuild. + Berk Çakar + berk2238@hotmail.com + 2021-08-31 5.13 @@ -21720,6 +21805,13 @@ + + 2021-09-10 + 4.8.1 + Rebuild. + Berk Çakar + berk2238@hotmail.com + 2021-06-03 4.8.1 @@ -24251,11 +24343,22 @@ busybox-mkinitcpio + + glibc + libxcrypt + /usr/lib/initcpio/busybox + + 2021-09-13 + 1.33.0 + Rebuild. + Berk Çakar + berk2238@hotmail.com + 2021-06-09 1.33.0 diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index 95e74b0e..0545348e 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -f18aea79a4bd6320ef09b3ee2841610984c26e31 \ No newline at end of file +82154dca62f43b57781e24fc3524965d962e73b1 \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index 9ff12f41..d2db42e0 100644 Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index fbf12d84..b6420bcf 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -96a99ec712565093ec5af207da0c6e960dd2a78c \ No newline at end of file +624abee54e52d8c4441a1d3d97e1552a345536f7 \ No newline at end of file diff --git a/system/base/man-pages/actions.py b/system/base/man-pages/actions.py index 47e62183..f3e4926d 100644 --- a/system/base/man-pages/actions.py +++ b/system/base/man-pages/actions.py @@ -40,4 +40,7 @@ def install(): #pisitools.remove("/usr/share/man/man7/*-keyring.7") #pisitools.remove("/usr/share/man/man7/keyrings.7") + # Comes from libxcrypt + pisitools.remove("/usr/share/man/man3/crypt*.3") + pisitools.dodoc("man-pages-*.Announce", "README") diff --git a/system/base/man-pages/pspec.xml b/system/base/man-pages/pspec.xml index 9713fccf..458e31b7 100644 --- a/system/base/man-pages/pspec.xml +++ b/system/base/man-pages/pspec.xml @@ -32,6 +32,13 @@ + + 2021-09-14 + 5.13 + Rebuild. + Berk Çakar + berk2238@hotmail.com + 2021-08-31 5.13