summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild17
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild11
-rw-r--r--sys-fs/android-file-transfer-linux/files/android-file-transfer-linux-4.2-gcc13.patch23
-rw-r--r--sys-fs/android-file-transfer-linux/metadata.xml5
-rw-r--r--sys-fs/archivemount/metadata.xml5
-rw-r--r--sys-fs/arm-fdisk/metadata.xml2
-rw-r--r--sys-fs/atari-fdisk/metadata.xml1
-rw-r--r--sys-fs/aufs-util/aufs-util-4.14_p20190603-r1.ebuild (renamed from sys-fs/aufs-util/aufs-util-4.14_p20190603.ebuild)17
-rw-r--r--sys-fs/autorun/files/autorun-3.17-headers.patch44
-rw-r--r--sys-fs/avfs/avfs-1.1.3.ebuild4
-rw-r--r--sys-fs/avfs/avfs-1.1.4.ebuild4
-rw-r--r--sys-fs/avfs/metadata.xml1
-rw-r--r--sys-fs/bcache-tools/Manifest1
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild15
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.1_p20230217-r1.ebuild78
-rw-r--r--sys-fs/bcache-tools/bcache-tools-9999.ebuild37
-rw-r--r--sys-fs/bcachefs-tools/Manifest147
-rw-r--r--sys-fs/bcachefs-tools/bcachefs-tools-1.3.5_p20231216.ebuild261
-rw-r--r--sys-fs/bcachefs-tools/bcachefs-tools-1.4.0.ebuild265
-rw-r--r--sys-fs/bcachefs-tools/bcachefs-tools-1.4.1.ebuild260
-rw-r--r--sys-fs/bcachefs-tools/bcachefs-tools-1.6.4-r1.ebuild251
-rw-r--r--sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild251
-rw-r--r--sys-fs/bcachefs-tools/files/bcachefs-tools-1.4.0-fix-clang-musl.patch24
-rw-r--r--sys-fs/bcachefs-tools/metadata.xml23
-rw-r--r--sys-fs/bees/Manifest3
-rw-r--r--sys-fs/bees/bees-0.10.ebuild (renamed from sys-fs/bees/bees-0.7.ebuild)35
-rw-r--r--sys-fs/bees/bees-0.6.5-r1.ebuild101
-rw-r--r--sys-fs/bees/bees-9999.ebuild33
-rw-r--r--sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch34
-rw-r--r--sys-fs/bees/files/0001-HACK-musl-does-not-define-pthread_getname_np.patch49
-rw-r--r--sys-fs/bees/metadata.xml11
-rw-r--r--sys-fs/bindfs/Manifest8
-rw-r--r--sys-fs/bindfs/bindfs-1.17.3.ebuild (renamed from sys-fs/bindfs/bindfs-1.15.0.ebuild)4
-rw-r--r--sys-fs/bindfs/bindfs-1.17.4.ebuild (renamed from sys-fs/bindfs/bindfs-1.15.1.ebuild)4
-rw-r--r--sys-fs/bindfs/bindfs-1.17.5.ebuild (renamed from sys-fs/bindfs/bindfs-1.14.9.ebuild)8
-rw-r--r--sys-fs/bindfs/bindfs-1.17.6.ebuild23
-rw-r--r--sys-fs/bindfs/bindfs-1.17.7.ebuild23
-rw-r--r--sys-fs/btrfs-progs/Manifest13
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild131
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild132
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild137
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild140
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild148
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.6.3.ebuild (renamed from sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild)107
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.7.1.ebuild198
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild (renamed from sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild)108
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-9999.ebuild105
-rw-r--r--sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch40
-rw-r--r--sys-fs/btrfs-progs/metadata.xml3
-rw-r--r--sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.2.ebuild4
-rw-r--r--sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild4
-rw-r--r--sys-fs/cachefilesd/Manifest1
-rw-r--r--sys-fs/cachefilesd/cachefilesd-0.10.10-r2.ebuild (renamed from sys-fs/cachefilesd/cachefilesd-0.10.10-r1.ebuild)24
-rw-r--r--sys-fs/cachefilesd/cachefilesd-0.10.9.ebuild59
-rw-r--r--sys-fs/cachefilesd/files/README.gentoo7
-rw-r--r--sys-fs/cachefilesd/files/cachefilesd-0.10.9-makefile.patch8
-rw-r--r--sys-fs/cachefilesd/files/cachefilesd-3.init1
-rw-r--r--sys-fs/clamfs/clamfs-1.2.0.ebuild4
-rw-r--r--sys-fs/clamfs/metadata.xml2
-rw-r--r--sys-fs/compsize/metadata.xml9
-rw-r--r--sys-fs/cramfs/metadata.xml1
-rw-r--r--sys-fs/cryfs/cryfs-0.10.3-r1.ebuild35
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.3-gcc13.patch11
-rw-r--r--sys-fs/cryfs/metadata.xml3
-rw-r--r--sys-fs/cryptmount/Manifest2
-rw-r--r--sys-fs/cryptmount/cryptmount-6.2.0.ebuild (renamed from sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild)6
-rw-r--r--sys-fs/cryptsetup/Manifest2
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.4.3.ebuild136
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.6.1.ebuild (renamed from sys-fs/cryptsetup/cryptsetup-2.4.3-r1.ebuild)67
-rw-r--r--sys-fs/cryptsetup/files/2.4.0-dmcrypt.confd112
-rw-r--r--sys-fs/cryptsetup/files/2.4.0-dmcrypt.rc350
-rw-r--r--sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc5
-rw-r--r--sys-fs/cryptsetup/metadata.xml2
-rw-r--r--sys-fs/davl/davl-1.2.4-r2.ebuild14
-rw-r--r--sys-fs/dd-rescue/Manifest3
-rw-r--r--sys-fs/dd-rescue/dd-rescue-1.99.13-r1.ebuild (renamed from sys-fs/dd-rescue/dd-rescue-1.99.11.ebuild)27
-rw-r--r--sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild108
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.11-musl-r2.patch30
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.13-musl.patch (renamed from sys-fs/dd-rescue/files/dd_rescue-1.99-musl-r2.patch)116
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch27
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch32
-rw-r--r--sys-fs/dd-rescue/files/dd-rescue-1.99.8-xattr.patch300
-rw-r--r--sys-fs/ddrescue/Manifest4
-rw-r--r--sys-fs/ddrescue/ddrescue-1.27.ebuild (renamed from sys-fs/ddrescue/ddrescue-1.26.ebuild)7
-rw-r--r--sys-fs/ddrescue/ddrescue-1.28.ebuild (renamed from sys-fs/ddrescue/ddrescue-1.25.ebuild)9
-rw-r--r--sys-fs/ddrescue/metadata.xml7
-rw-r--r--sys-fs/dfc/dfc-3.1.1.ebuild4
-rw-r--r--sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild13
-rw-r--r--sys-fs/diskdev_cmds/metadata.xml3
-rw-r--r--sys-fs/dislocker/Manifest2
-rw-r--r--sys-fs/dislocker/dislocker-0.7.1-r3.ebuild61
-rw-r--r--sys-fs/dislocker/dislocker-0.7.3.ebuild4
-rw-r--r--sys-fs/dislocker/dislocker-9999.ebuild4
-rw-r--r--sys-fs/dislocker/metadata.xml5
-rw-r--r--sys-fs/dmg2img/Manifest1
-rw-r--r--sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild39
-rw-r--r--sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch202
-rw-r--r--sys-fs/dmg2img/metadata.xml9
-rw-r--r--sys-fs/dmraid/dmraid-1.0.0_rc16-r7.ebuild (renamed from sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild)15
-rw-r--r--sys-fs/dmraid/metadata.xml2
-rw-r--r--sys-fs/duf/Manifest2
-rw-r--r--sys-fs/duf/duf-0.8.1.ebuild27
-rw-r--r--sys-fs/duf/metadata.xml24
-rw-r--r--sys-fs/duperemove/Manifest2
-rw-r--r--sys-fs/duperemove/duperemove-0.11.3.ebuild35
-rw-r--r--sys-fs/duperemove/duperemove-0.14.1.ebuild35
-rw-r--r--sys-fs/e2fsprogs/Manifest2
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild (renamed from sys-fs/e2fsprogs/e2fsprogs-1.46.5-r1.ebuild)70
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.46.5-parallel-make.patch29
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch30
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-parallel-make.patch68
-rw-r--r--sys-fs/e2fsprogs/metadata.xml3
-rw-r--r--sys-fs/e2tools/metadata.xml3
-rw-r--r--sys-fs/ecryptfs-utils/ecryptfs-utils-111_p20170609-r1.ebuild4
-rw-r--r--sys-fs/encfs/encfs-1.9.5-r1.ebuild40
-rw-r--r--sys-fs/encfs/encfs-1.9.5-r2.ebuild6
-rw-r--r--sys-fs/encfs/metadata.xml12
-rw-r--r--sys-fs/erofs-utils/Manifest3
-rw-r--r--sys-fs/erofs-utils/erofs-utils-1.6-r1.ebuild (renamed from sys-fs/erofs-utils/erofs-utils-1.4.ebuild)27
-rw-r--r--sys-fs/erofs-utils/erofs-utils-1.7.ebuild50
-rw-r--r--sys-fs/erofs-utils/files/1.4-dump-fix-de-nid-issues.patch134
-rw-r--r--sys-fs/erofs-utils/files/1.4-fsck-add-missing-include.patch31
-rw-r--r--sys-fs/erofs-utils/files/1.4-werror.patch63
-rw-r--r--sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33551.patch70
-rw-r--r--sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33552.patch117
-rw-r--r--sys-fs/eudev/Manifest2
-rw-r--r--sys-fs/eudev/eudev-3.2.11-r2.ebuild236
-rw-r--r--sys-fs/eudev/eudev-3.2.12_pre3.ebuild247
-rw-r--r--sys-fs/eudev/eudev-9999.ebuild247
-rw-r--r--sys-fs/eudev/files/40-gentoo.rules3
-rw-r--r--sys-fs/eudev/files/udev-postmount55
-rw-r--r--sys-fs/eudev/metadata.xml16
-rw-r--r--sys-fs/exfat-utils/Manifest1
-rw-r--r--sys-fs/exfat-utils/exfat-utils-1.4.0.ebuild19
-rw-r--r--sys-fs/exfatprogs/Manifest3
-rw-r--r--sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild2
-rw-r--r--sys-fs/exfatprogs/exfatprogs-1.2.0.ebuild25
-rw-r--r--sys-fs/exfatprogs/exfatprogs-1.2.1.ebuild25
-rw-r--r--sys-fs/exfatprogs/exfatprogs-1.2.2.ebuild25
-rw-r--r--sys-fs/exfatprogs/exfatprogs-9999.ebuild14
-rw-r--r--sys-fs/ext3grep/ext3grep-0.10.2-r1.ebuild (renamed from sys-fs/ext3grep/ext3grep-0.10.2.ebuild)15
-rw-r--r--sys-fs/ext3grep/files/ext3grep-0.10.2-missing-cassert-include.patch11
-rw-r--r--sys-fs/ext4magic/ext4magic-0.3.2-r2.ebuild (renamed from sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild)9
-rw-r--r--sys-fs/ext4magic/files/ext4magic-0.3.2-fix-sys-types-h.patch183
-rw-r--r--sys-fs/f2fs-tools/Manifest3
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-1.14.0.ebuild38
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild38
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-1.16.0-r1.ebuild61
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-9999.ebuild57
-rw-r--r--sys-fs/f2fs-tools/files/f2fs-tools-1.16.0-musl-1.2.4-lfs.patch403
-rw-r--r--sys-fs/f2fs-tools/metadata.xml12
-rw-r--r--sys-fs/fatcat/fatcat-1.1.1.ebuild6
-rw-r--r--sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch107
-rw-r--r--sys-fs/fatcat/files/fatcat-include-getopt.patch11
-rw-r--r--sys-fs/fatcat/metadata.xml3
-rw-r--r--sys-fs/fatresize/metadata.xml5
-rw-r--r--sys-fs/fatsort/Manifest3
-rw-r--r--sys-fs/fatsort/fatsort-1.6.4.625.ebuild34
-rw-r--r--sys-fs/fatsort/fatsort-1.6.5.640.ebuild (renamed from sys-fs/fatsort/fatsort-1.6.3.622.ebuild)6
-rw-r--r--sys-fs/fscrypt/Manifest48
-rw-r--r--sys-fs/fscrypt/fscrypt-0.3.3.ebuild96
-rw-r--r--sys-fs/fscrypt/fscrypt-0.3.4.ebuild46
-rw-r--r--sys-fs/fswatch/Manifest1
-rw-r--r--sys-fs/fswatch/fswatch-1.17.1.ebuild28
-rw-r--r--sys-fs/fswatch/metadata.xml3
-rw-r--r--sys-fs/fuse-common/metadata.xml5
-rw-r--r--sys-fs/fuse-exfat/Manifest1
-rw-r--r--sys-fs/fuse-exfat/fuse-exfat-1.4.0.ebuild24
-rw-r--r--sys-fs/fuse-exfat/metadata.xml1
-rw-r--r--sys-fs/fuse-overlayfs/Manifest7
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild (renamed from sys-fs/fuse-overlayfs/fuse-overlayfs-1.7.1.ebuild)15
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild (renamed from sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild)17
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.1.ebuild26
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.2.ebuild26
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.ebuild26
-rw-r--r--sys-fs/fuse-overlayfs/metadata.xml8
-rw-r--r--sys-fs/fuse/Manifest3
-rw-r--r--sys-fs/fuse/fuse-2.9.9-r2.ebuild (renamed from sys-fs/fuse/fuse-2.9.9-r1.ebuild)12
-rw-r--r--sys-fs/fuse/fuse-3.10.5.ebuild73
-rw-r--r--sys-fs/fuse/fuse-3.16.2.ebuild (renamed from sys-fs/fuse/fuse-3.11.0.ebuild)52
-rw-r--r--sys-fs/genext2fs/files/backport-pr-32.patch94
-rw-r--r--sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild21
-rw-r--r--sys-fs/genfstab/Manifest3
-rw-r--r--sys-fs/genfstab/genfstab-24.ebuild20
-rw-r--r--sys-fs/genfstab/genfstab-28-r1.ebuild38
-rw-r--r--sys-fs/genfstab/metadata.xml30
-rw-r--r--sys-fs/genimage/Manifest2
-rw-r--r--sys-fs/genimage/genimage-16.ebuild42
-rw-r--r--sys-fs/genimage/genimage-17.ebuild42
-rw-r--r--sys-fs/genimage/genimage-9999.ebuild42
-rw-r--r--sys-fs/genimage/metadata.xml11
-rw-r--r--sys-fs/google-drive-ocamlfuse/Manifest2
-rw-r--r--sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild34
-rw-r--r--sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.30.ebuild34
-rw-r--r--sys-fs/google-drive-ocamlfuse/metadata.xml16
-rw-r--r--sys-fs/growpart/growpart-0.0.32-r1.ebuild (renamed from sys-fs/growpart/growpart-0.0.32.ebuild)4
-rw-r--r--sys-fs/hfsplusutils/files/hfsplusutils-1.0.4-Wincompatible-pointer-types.patch32
-rw-r--r--sys-fs/hfsplusutils/hfsplusutils-1.0.4-r3.ebuild (renamed from sys-fs/hfsplusutils/hfsplusutils-1.0.4-r2.ebuild)22
-rw-r--r--sys-fs/hfsutils/Manifest2
-rw-r--r--sys-fs/hfsutils/files/hfsutils-3.2.6_p15-Include-string.h-for-strcmp.patch17
-rw-r--r--sys-fs/hfsutils/files/hfsutils-3.2.6_p15-drop-manual-autoconf.patch78
-rw-r--r--sys-fs/hfsutils/files/largerthan2gb.patch14
-rw-r--r--sys-fs/hfsutils/hfsutils-3.2.6_p15.ebuild (renamed from sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild)41
-rw-r--r--sys-fs/hfsutils/metadata.xml3
-rw-r--r--sys-fs/inotify-tools/Manifest4
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild41
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild42
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild42
-rw-r--r--sys-fs/inotify-tools/inotify-tools-4.23.9.0.ebuild43
-rw-r--r--sys-fs/inotify-tools/metadata.xml7
-rw-r--r--sys-fs/iprutils/metadata.xml2
-rw-r--r--sys-fs/jfsutils/files/jfsutils-1.1.15-musl-fix-includes.patch23
-rw-r--r--sys-fs/jfsutils/jfsutils-1.1.15-r2.ebuild (renamed from sys-fs/jfsutils/jfsutils-1.1.15-r1.ebuild)7
-rw-r--r--sys-fs/jfsutils/metadata.xml5
-rw-r--r--sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild11
-rw-r--r--sys-fs/lde/lde-2.6.1-r2.ebuild4
-rw-r--r--sys-fs/lessfs/metadata.xml4
-rw-r--r--sys-fs/libeatmydata/Manifest3
-rw-r--r--sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch18
-rw-r--r--sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch52
-rw-r--r--sys-fs/libeatmydata/libeatmydata-129-r1.ebuild36
-rw-r--r--sys-fs/libeatmydata/libeatmydata-131.ebuild (renamed from sys-fs/libeatmydata/libeatmydata-130.ebuild)8
-rw-r--r--sys-fs/loop-aes/Manifest3
-rw-r--r--sys-fs/loop-aes/loop-aes-3.7v.ebuild67
-rw-r--r--sys-fs/loop-aes/loop-aes-3.8b.ebuild (renamed from sys-fs/loop-aes/loop-aes-3.7w.ebuild)49
-rw-r--r--sys-fs/lsscsi/Manifest2
-rw-r--r--sys-fs/lsscsi/lsscsi-0.32-r1.ebuild (renamed from sys-fs/lsscsi/lsscsi-0.32.ebuild)2
-rw-r--r--sys-fs/lvm2/Manifest4
-rw-r--r--sys-fs/lvm2/files/device-mapper.conf-r4 (renamed from sys-fs/lvm2/files/device-mapper.conf-1.02.22-r3)0
-rw-r--r--sys-fs/lvm2/files/device-mapper.rc-r3 (renamed from sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2)0
-rw-r--r--sys-fs/lvm2/files/dmeventd.initd-r3 (renamed from sys-fs/lvm2/files/dmeventd.initd-2.02.184-r2)0
-rw-r--r--sys-fs/lvm2/files/lvm-monitoring.initd-r3 (renamed from sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2)0
-rw-r--r--sys-fs/lvm2/files/lvm.confd-r4 (renamed from sys-fs/lvm2/files/lvm.confd-2.02.184-r3)0
-rw-r--r--sys-fs/lvm2/files/lvm.rc-r1 (renamed from sys-fs/lvm2/files/lvm.rc-2.02.187)0
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch12
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch13
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch29
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch15
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch59
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch50
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch102
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch72
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch68
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch13
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch34
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.56-lvm2create_initrd.patch72
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch42
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch18
-rw-r--r--sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch11
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch48
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch76
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch25
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch38
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch37
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch24
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch43
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch18
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch124
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.20-dm_lvm_rules_no_systemd.patch11
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.20-dmeventd-no-idle-exit.patch (renamed from sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch)25
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.20-example.conf.in.patch (renamed from sys-fs/lvm2/files/lvm2-2.03.06-example.conf.in.patch)26
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.20-freopen-musl.patch54
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.22-autoconf-2.72-egrep.patch30
-rw-r--r--sys-fs/lvm2/files/lvmetad.initd-2.02.116-r317
-rw-r--r--sys-fs/lvm2/files/lvmlockd.initd-r2 (renamed from sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1)0
-rw-r--r--sys-fs/lvm2/files/lvmpolld.initd-r1 (renamed from sys-fs/lvm2/files/lvmpolld.initd-2.02.183)0
-rw-r--r--sys-fs/lvm2/lvm2-2.02.188-r3.ebuild298
-rw-r--r--sys-fs/lvm2/lvm2-2.03.14-r2.ebuild299
-rw-r--r--sys-fs/lvm2/lvm2-2.03.21-r1.ebuild303
-rw-r--r--sys-fs/lvm2/lvm2-2.03.22-r1.ebuild303
-rw-r--r--sys-fs/lvm2/lvm2-2.03.22-r3.ebuild306
-rw-r--r--sys-fs/lvm2/metadata.xml18
-rw-r--r--sys-fs/lxcfs/Manifest7
-rw-r--r--sys-fs/lxcfs/files/lxcfs-5.0.2.confd (renamed from sys-fs/lxcfs/files/lxcfs-4.0.0.confd)1
-rw-r--r--sys-fs/lxcfs/files/lxcfs-5.0.2.initd (renamed from sys-fs/lxcfs/files/lxcfs-4.0.0.initd)7
-rw-r--r--sys-fs/lxcfs/files/lxcfs-5.0.2.service (renamed from sys-fs/lxcfs/files/lxcfs-4.0.0.service)2
-rw-r--r--sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch19
-rw-r--r--sys-fs/lxcfs/lxcfs-4.0.12.ebuild59
-rw-r--r--sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild84
-rw-r--r--sys-fs/lxcfs/lxcfs-6.0.0.ebuild (renamed from sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild)27
-rw-r--r--sys-fs/lxcfs/metadata.xml1
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild2
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild2
-rw-r--r--sys-fs/mdadm/Manifest4
-rw-r--r--sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch36
-rw-r--r--sys-fs/mdadm/files/mdadm-4.3-in_initrd-collision.patch45
-rw-r--r--sys-fs/mdadm/files/mdadm-4.3-ldflags.patch11
-rw-r--r--sys-fs/mdadm/files/mdadm-4.3-no-udev.patch31
-rw-r--r--sys-fs/mdadm/mdadm-4.2-r2.ebuild (renamed from sys-fs/mdadm/mdadm-4.2-r1.ebuild)21
-rw-r--r--sys-fs/mdadm/mdadm-4.2-r3.ebuild (renamed from sys-fs/mdadm/mdadm-4.1.ebuild)38
-rw-r--r--sys-fs/mdadm/mdadm-4.3.ebuild125
-rw-r--r--sys-fs/mdadm/metadata.xml3
-rw-r--r--sys-fs/mergerfs-tools/Manifest2
-rw-r--r--sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild (renamed from sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild)11
-rw-r--r--sys-fs/mergerfs-tools/metadata.xml5
-rw-r--r--sys-fs/mergerfs/Manifest7
-rw-r--r--sys-fs/mergerfs/mergerfs-2.32.3.ebuild52
-rw-r--r--sys-fs/mergerfs/mergerfs-2.33.1.ebuild52
-rw-r--r--sys-fs/mergerfs/mergerfs-2.33.3.ebuild52
-rw-r--r--sys-fs/mergerfs/mergerfs-2.35.1.ebuild (renamed from sys-fs/mergerfs/mergerfs-2.33.5.ebuild)4
-rw-r--r--sys-fs/mergerfs/mergerfs-2.36.0.ebuild (renamed from sys-fs/mergerfs/mergerfs-2.33.4.ebuild)4
-rw-r--r--sys-fs/mergerfs/metadata.xml5
-rw-r--r--sys-fs/mhddfs/files/mhddfs-0.1.39-parallel-build.patch17
-rw-r--r--sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild3
-rw-r--r--sys-fs/mount-zip/Manifest1
-rw-r--r--sys-fs/mount-zip/metadata.xml17
-rw-r--r--sys-fs/mount-zip/mount-zip-1.0.12.ebuild46
-rw-r--r--sys-fs/mp3fs/Manifest1
-rw-r--r--sys-fs/mp3fs/mp3fs-0.91-r2.ebuild21
-rw-r--r--sys-fs/mp3fs/mp3fs-1.1.1-r1.ebuild21
-rw-r--r--sys-fs/mp3fs/mp3fs-1.1.1-r4.ebuild31
-rw-r--r--sys-fs/mp3fs/mp3fs-1.1.1-r5.ebuild37
-rw-r--r--sys-fs/mtd-utils/Manifest2
-rw-r--r--sys-fs/mtd-utils/metadata.xml4
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild (renamed from sys-fs/mtd-utils/mtd-utils-2.1.4.ebuild)13
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.1.6-r2.ebuild58
-rw-r--r--sys-fs/mtools/Manifest4
-rw-r--r--sys-fs/mtools/metadata.xml1
-rw-r--r--sys-fs/mtools/mtools-4.0.42.ebuild (renamed from sys-fs/mtools/mtools-4.0.39.ebuild)17
-rw-r--r--sys-fs/mtools/mtools-4.0.43.ebuild (renamed from sys-fs/mtools/mtools-4.0.40.ebuild)18
-rw-r--r--sys-fs/multipath-tools/Manifest3
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.7-respect-flags.patch14
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch28
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch49
-rw-r--r--sys-fs/multipath-tools/metadata.xml3
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.8.9.ebuild88
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild106
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild105
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.9.8.ebuild105
-rw-r--r--sys-fs/ncdu-bin/Manifest8
-rw-r--r--sys-fs/ncdu-bin/metadata.xml20
-rw-r--r--sys-fs/ncdu-bin/ncdu-bin-2.3.ebuild36
-rw-r--r--sys-fs/ncdu/Manifest7
-rw-r--r--sys-fs/ncdu/metadata.xml14
-rw-r--r--sys-fs/ncdu/ncdu-1.16-r1.ebuild18
-rw-r--r--sys-fs/ncdu/ncdu-1.17.ebuild16
-rw-r--r--sys-fs/ncdu/ncdu-1.19.ebuild27
-rw-r--r--sys-fs/ncdu/ncdu-2.1.2.ebuild33
-rw-r--r--sys-fs/ncdu/ncdu-2.3.ebuild129
-rw-r--r--sys-fs/nilfs-utils/Manifest3
-rw-r--r--sys-fs/nilfs-utils/nilfs-utils-2.2.2-r1.ebuild35
-rw-r--r--sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild (renamed from sys-fs/nilfs-utils/nilfs-utils-2.2.8.ebuild)6
-rw-r--r--sys-fs/ntfs3g/Manifest2
-rw-r--r--sys-fs/ntfs3g/metadata.xml1
-rw-r--r--sys-fs/ntfs3g/ntfs3g-2022.10.3.ebuild (renamed from sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild)11
-rw-r--r--sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild4
-rw-r--r--sys-fs/quota/Manifest2
-rw-r--r--sys-fs/quota/files/quota-4.06-musl-cdefs.patch20
-rw-r--r--sys-fs/quota/files/quota-4.09-configure-bashism.patch16
-rw-r--r--sys-fs/quota/files/quota-4.09-gettext-version.patch14
-rw-r--r--sys-fs/quota/quota-4.09.ebuild (renamed from sys-fs/quota/quota-4.06-r1.ebuild)11
-rw-r--r--sys-fs/quotatool/Manifest1
-rw-r--r--sys-fs/quotatool/files/quotatool-1.6.2-clang16.patch32
-rw-r--r--sys-fs/quotatool/files/quotatool-1.6.2-fix-autoconf.patch133
-rw-r--r--sys-fs/quotatool/files/quotatool-1.6.2-warnings.patch67
-rw-r--r--sys-fs/quotatool/metadata.xml11
-rw-r--r--sys-fs/quotatool/quotatool-1.6.2-r1.ebuild34
-rw-r--r--sys-fs/quotatool/quotatool-1.6.3.ebuild (renamed from sys-fs/quotatool/quotatool-1.6.2.ebuild)16
-rw-r--r--sys-fs/rar2fs/Manifest2
-rw-r--r--sys-fs/rar2fs/rar2fs-1.29.6.ebuild (renamed from sys-fs/rar2fs/rar2fs-1.29.5.ebuild)11
-rw-r--r--sys-fs/reiser4progs/Manifest1
-rw-r--r--sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild53
-rw-r--r--sys-fs/reiserfs-defrag/metadata.xml5
-rw-r--r--sys-fs/reiserfs-defrag/reiserfs-defrag-0.2.2.ebuild5
-rw-r--r--sys-fs/safecopy/files/safecopy-tests.patch22
-rw-r--r--sys-fs/safecopy/safecopy-1.7-r1.ebuild (renamed from sys-fs/safecopy/safecopy-1.7.ebuild)9
-rw-r--r--sys-fs/sandboxfs/metadata.xml5
-rw-r--r--sys-fs/shake/shake-1.0.ebuild4
-rw-r--r--sys-fs/simple-mtpfs/simple-mtpfs-0.4.0.ebuild4
-rw-r--r--sys-fs/snapraid/Manifest3
-rw-r--r--sys-fs/snapraid/metadata.xml9
-rw-r--r--sys-fs/snapraid/snapraid-11.5.ebuild23
-rw-r--r--sys-fs/snapraid/snapraid-12.2.ebuild (renamed from sys-fs/snapraid/snapraid-11.4.ebuild)0
-rw-r--r--sys-fs/squashfs-tools-ng/Manifest4
-rw-r--r--sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild (renamed from sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.1.4.ebuild)13
-rw-r--r--sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild (renamed from sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.1.3.ebuild)13
-rw-r--r--sys-fs/squashfs-tools-ng/squashfs-tools-ng-9999.ebuild13
-rw-r--r--sys-fs/squashfs-tools/Manifest2
-rw-r--r--sys-fs/squashfs-tools/metadata.xml2
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild (renamed from sys-fs/squashfs-tools/squashfs-tools-4.5.1.ebuild)6
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.6.1.ebuild57
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.6.ebuild57
-rw-r--r--sys-fs/squashfuse/Manifest2
-rw-r--r--sys-fs/squashfuse/squashfuse-0.1.100.ebuild34
-rw-r--r--sys-fs/squashfuse/squashfuse-0.1.103.ebuild7
-rw-r--r--sys-fs/squashfuse/squashfuse-0.1.105.ebuild51
-rw-r--r--sys-fs/static-dev/static-dev-0.1-r2.ebuild8
-rw-r--r--sys-fs/static-dev/static-dev-0.1-r3.ebuild41
-rw-r--r--sys-fs/sysfsutils/metadata.xml1
-rw-r--r--sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild6
-rw-r--r--sys-fs/ubi_reader/Manifest2
-rw-r--r--sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild (renamed from sys-fs/ubi_reader/ubi_reader-0.8.0.ebuild)6
-rw-r--r--sys-fs/udev-init-scripts/Manifest1
-rw-r--r--sys-fs/udev-init-scripts/udev-init-scripts-34.ebuild50
-rw-r--r--sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild6
-rw-r--r--sys-fs/udev-init-scripts/udev-init-scripts-9999.ebuild4
-rw-r--r--sys-fs/udev/Manifest3
-rw-r--r--sys-fs/udev/files/249.9-cross-compile.patch23
-rw-r--r--sys-fs/udev/files/40-gentoo.rules3
-rw-r--r--sys-fs/udev/metadata.xml14
-rw-r--r--sys-fs/udev/udev-249.6-r2.ebuild311
-rw-r--r--sys-fs/udev/udev-249.9.ebuild312
-rw-r--r--sys-fs/udev/udev-250.ebuild15
-rw-r--r--sys-fs/udev/udev-9999.ebuild311
-rw-r--r--sys-fs/udiskie/Manifest5
-rw-r--r--sys-fs/udiskie/udiskie-2.4.2-r2.ebuild (renamed from sys-fs/udiskie/udiskie-2.4.0.ebuild)17
-rw-r--r--sys-fs/udiskie/udiskie-2.5.0-r1.ebuild (renamed from sys-fs/udiskie/udiskie-2.4.1.ebuild)17
-rw-r--r--sys-fs/udiskie/udiskie-2.5.1.ebuild (renamed from sys-fs/udiskie/udiskie-2.4.2.ebuild)19
-rw-r--r--sys-fs/udiskie/udiskie-2.5.2.ebuild52
-rw-r--r--sys-fs/udisks/Manifest2
-rw-r--r--sys-fs/udisks/metadata.xml3
-rw-r--r--sys-fs/udisks/udisks-2.10.0.ebuild141
-rw-r--r--sys-fs/udisks/udisks-2.10.1.ebuild141
-rw-r--r--sys-fs/udisks/udisks-2.9.4-r3.ebuild (renamed from sys-fs/udisks/udisks-2.9.4.ebuild)20
-rw-r--r--sys-fs/unionfs-fuse/Manifest3
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild47
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-2.2.ebuild47
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-3.4-r1.ebuild (renamed from sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild)11
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild12
-rw-r--r--sys-fs/vhba/Manifest2
-rw-r--r--sys-fs/vhba/vhba-20240202.ebuild (renamed from sys-fs/vhba/vhba-20211218.ebuild)44
-rw-r--r--sys-fs/xfsdump/Manifest2
-rw-r--r--sys-fs/xfsdump/xfsdump-3.1.12.ebuild (renamed from sys-fs/xfsdump/xfsdump-3.1.10.ebuild)29
-rw-r--r--sys-fs/xfsprogs/Manifest4
-rw-r--r--sys-fs/xfsprogs/files/0001-Remove-use-of-LFS64-interfaces.patch652
-rw-r--r--sys-fs/xfsprogs/files/0002-io-Adapt-to-64-bit-time_t.patch37
-rw-r--r--sys-fs/xfsprogs/files/0003-build-Request-64-bit-time_t-where-possible.patch31
-rw-r--r--sys-fs/xfsprogs/files/xfsprogs-4.15.0-docdir.patch11
-rw-r--r--sys-fs/xfsprogs/xfsprogs-6.4.0.ebuild (renamed from sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild)22
-rw-r--r--sys-fs/xfsprogs/xfsprogs-6.6.0.ebuild (renamed from sys-fs/xfsprogs/xfsprogs-5.14.2.ebuild)39
-rw-r--r--sys-fs/xwmfs/Manifest2
-rw-r--r--sys-fs/xwmfs/xwmfs-0.92.ebuild (renamed from sys-fs/xwmfs/xwmfs-0.91.ebuild)2
-rw-r--r--sys-fs/yaffs2utils/yaffs2utils-0.2.9.ebuild4
-rw-r--r--sys-fs/zfs-auto-snapshot/metadata.xml4
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild4
-rw-r--r--sys-fs/zfs-kmod/Manifest14
-rw-r--r--sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch304
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-2.1.11-gentoo.patch24
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-arm64-neon.patch100
-rw-r--r--sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch31
-rw-r--r--sys-fs/zfs-kmod/metadata.xml5
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild212
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild (renamed from sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild)142
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.15.ebuild (renamed from sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild)142
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild219
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.2.2.ebuild218
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.2.3.ebuild217
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-9999.ebuild180
-rw-r--r--sys-fs/zfs/Manifest14
-rw-r--r--sys-fs/zfs/files/2.0.7-scrub-timers.patch99
-rw-r--r--sys-fs/zfs/files/2.1.2-musl-tests.patch58
-rw-r--r--sys-fs/zfs/files/2.1.2-openrc-vendor.patch42
-rw-r--r--sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch14
-rw-r--r--sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch60
-rw-r--r--sys-fs/zfs/files/2.2.2-no-USER_NS.patch39
-rw-r--r--sys-fs/zfs/files/2.2.3-musl.patch63
-rw-r--r--sys-fs/zfs/files/bash-completion-sudo.patch35
-rw-r--r--sys-fs/zfs/metadata.xml6
-rw-r--r--sys-fs/zfs/zfs-2.1.14.ebuild (renamed from sys-fs/zfs/zfs-2.1.5.ebuild)56
-rw-r--r--sys-fs/zfs/zfs-2.1.15.ebuild (renamed from sys-fs/zfs/zfs-2.0.7.ebuild)69
-rw-r--r--sys-fs/zfs/zfs-2.2.2-r1.ebuild (renamed from sys-fs/zfs/zfs-2.1.4.ebuild)59
-rw-r--r--sys-fs/zfs/zfs-2.2.3.ebuild308
-rw-r--r--sys-fs/zfs/zfs-9999.ebuild57
463 files changed, 10740 insertions, 9700 deletions
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
index 242c2c0cc226..33a9407c95aa 100644
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit cmake python-single-r1 xdg
@@ -54,15 +54,14 @@ BDEPEND="
qt5? ( dev-qt/linguist-tools:5 )
"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2-gcc13.patch
+)
+
pkg_setup() {
use python && python-single-r1_pkg_setup
}
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
-}
-
src_configure() {
local mycmakeargs=(
-DBUILD_FUSE="$(usex fuse)"
@@ -73,7 +72,7 @@ src_configure() {
-DBUILD_TAGLIB="$(usex taglib)"
# Upstream recommends to keep this off as libusb is broken
-DUSB_BACKEND_LIBUSB="OFF"
- $(usex qt5 '-DDESIRED_QT_VERSION=5' '')
+ $(usev qt5 '-DDESIRED_QT_VERSION=5')
)
cmake_src_configure
}
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
index c4f1917e99d4..6e72c38e8220 100644
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit cmake python-single-r1 xdg
@@ -58,11 +58,6 @@ pkg_setup() {
use python && python-single-r1_pkg_setup
}
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
-}
-
src_configure() {
local mycmakeargs=(
-DBUILD_FUSE="$(usex fuse)"
@@ -73,7 +68,7 @@ src_configure() {
-DBUILD_TAGLIB="$(usex taglib)"
# Upstream recommends to keep this off as libusb is broken
-DUSB_BACKEND_LIBUSB="OFF"
- $(usex qt5 '-DDESIRED_QT_VERSION=5' '')
+ $(usev qt5 '-DDESIRED_QT_VERSION=5')
)
cmake_src_configure
}
diff --git a/sys-fs/android-file-transfer-linux/files/android-file-transfer-linux-4.2-gcc13.patch b/sys-fs/android-file-transfer-linux/files/android-file-transfer-linux-4.2-gcc13.patch
new file mode 100644
index 000000000000..d1b957cd4df8
--- /dev/null
+++ b/sys-fs/android-file-transfer-linux/files/android-file-transfer-linux-4.2-gcc13.patch
@@ -0,0 +1,23 @@
+https://github.com/whoozle/android-file-transfer-linux/pull/330
+
+From 4e3df60538ac047d6ab2bd030d0da47e6e630a88 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 18 Apr 2023 11:00:58 +0100
+Subject: [PATCH] Fix build with GCC 13
+
+GCC 13 (as usual for new compiler releases) shuffles around some internal includes so some
+are no longer transitively included.
+
+See https://gnu.org/software/gcc/gcc-13/porting_to.html.
+
+Bug: https://bugs.gentoo.org/894788
+--- a/mtp/types.h
++++ b/mtp/types.h
+@@ -27,6 +27,7 @@
+ #include <memory>
+ #include <mutex>
+ #include <exception>
++#include <stdexcept>
+ #include <string>
+
+ namespace mtp
diff --git a/sys-fs/android-file-transfer-linux/metadata.xml b/sys-fs/android-file-transfer-linux/metadata.xml
index b460969636ef..3b18b9d156bb 100644
--- a/sys-fs/android-file-transfer-linux/metadata.xml
+++ b/sys-fs/android-file-transfer-linux/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">whoozle/android-file-transfer-linux</remote-id>
</upstream>
diff --git a/sys-fs/archivemount/metadata.xml b/sys-fs/archivemount/metadata.xml
index 85e4ed814fa2..801c786495d8 100644
--- a/sys-fs/archivemount/metadata.xml
+++ b/sys-fs/archivemount/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">cybernoid/archivemount</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/arm-fdisk/metadata.xml b/sys-fs/arm-fdisk/metadata.xml
index 84b280d31809..56630debbcbd 100644
--- a/sys-fs/arm-fdisk/metadata.xml
+++ b/sys-fs/arm-fdisk/metadata.xml
@@ -3,6 +3,6 @@
<pkgmetadata>
<maintainer type="project">
<email>arm@gentoo.org</email>
- <name>Gentoo Linux ARM Development</name>
+ <name>ARM architecture team</name>
</maintainer>
</pkgmetadata>
diff --git a/sys-fs/atari-fdisk/metadata.xml b/sys-fs/atari-fdisk/metadata.xml
index a6ff9e0db03c..025b302f358a 100644
--- a/sys-fs/atari-fdisk/metadata.xml
+++ b/sys-fs/atari-fdisk/metadata.xml
@@ -2,6 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
+ <name>m68k architecture team</name>
<email>m68k@gentoo.org</email>
</maintainer>
</pkgmetadata>
diff --git a/sys-fs/aufs-util/aufs-util-4.14_p20190603.ebuild b/sys-fs/aufs-util/aufs-util-4.14_p20190603-r1.ebuild
index 7e9701ae6984..d431b328c487 100644
--- a/sys-fs/aufs-util/aufs-util-4.14_p20190603.ebuild
+++ b/sys-fs/aufs-util/aufs-util-4.14_p20190603-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-info multilib toolchain-funcs
+inherit flag-o-matic linux-info multilib toolchain-funcs
DESCRIPTION="Utilities are always necessary for aufs"
HOMEPAGE="http://aufs.sourceforge.net/"
@@ -45,3 +45,14 @@ src_prepare() {
export STRIP=true
default
}
+
+src_compile() {
+ # It uses an elaborate macro to insert __attribute__ ((section ("EXP"), used))
+ # as an export annotation, and then uses readelf to dump this and assemble a
+ # linker version script. Apparently visibility attributes is too boring. ;)
+ #
+ # It totally falls over when exposed to LTO.
+ filter-lto
+
+ emake all
+}
diff --git a/sys-fs/autorun/files/autorun-3.17-headers.patch b/sys-fs/autorun/files/autorun-3.17-headers.patch
index 4fc487d656b3..113367305af0 100644
--- a/sys-fs/autorun/files/autorun-3.17-headers.patch
+++ b/sys-fs/autorun/files/autorun-3.17-headers.patch
@@ -1,5 +1,6 @@
https://bugs.gentoo.org/251684
-
+https://bugs.gentoo.org/875851
+https://bugs.gentoo.org/877125
--- a/autorun.cc
+++ b/autorun.cc
@@ -90,6 +90,8 @@ char *strchr (), *strrchr ();
@@ -11,3 +12,44 @@ https://bugs.gentoo.org/251684
#ifndef MNTTYPE_ISO9660
#define MNTTYPE_ISO9660 "iso9660"
#endif
+--- a/autorun.cc
++++ b/autorun.cc
+@@ -26,20 +26,6 @@
+ #define HAVE_ARGP
+ #endif
+
+-#if STDC_HEADERS
+-# include <string.h>
+-#else
+-# if !HAVE_STRCHR
+-# define strchr index
+-# define strrchr rindex
+-# endif
+-char *strchr (), *strrchr ();
+-# if !HAVE_MEMCPY
+-# define memcpy(d, s, n) bcopy ((s), (d), (n))
+-# define memmove(d, s, n) bcopy ((s), (d), (n))
+-# endif
+-#endif
+-
+ #include <sys/types.h>
+ #if HAVE_SYS_WAIT_H
+ # include <sys/wait.h>
+@@ -78,6 +64,8 @@ char *strchr (), *strrchr ();
+ #include <stdarg.h>
+ #include <mntent.h>
+ #include "cdrom.h"
++#include <cstring>
++#include <climits>
+ #include <list>
+ #include <iostream>
+ #include <libintl.h>
+@@ -88,7 +76,7 @@ char *strchr (), *strrchr ();
+ #include <getopt.h>
+ #endif
+
+-#include <errno.h>
++#include <cerrno>
+
+ #include <stdlib.h>
+
diff --git a/sys-fs/avfs/avfs-1.1.3.ebuild b/sys-fs/avfs/avfs-1.1.3.ebuild
index d9f910a68c5d..e3c177f4ba40 100644
--- a/sys-fs/avfs/avfs-1.1.3.ebuild
+++ b/sys-fs/avfs/avfs-1.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86"
IUSE="+lzma webdav +zstd"
BDEPEND="
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
"
RDEPEND="
diff --git a/sys-fs/avfs/avfs-1.1.4.ebuild b/sys-fs/avfs/avfs-1.1.4.ebuild
index f8c5a0ef0f50..3a1a43f1c43f 100644
--- a/sys-fs/avfs/avfs-1.1.4.ebuild
+++ b/sys-fs/avfs/avfs-1.1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,7 +23,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- sys-devel/libtool
+ dev-build/libtool
virtual/pkgconfig
"
diff --git a/sys-fs/avfs/metadata.xml b/sys-fs/avfs/metadata.xml
index 4765d7b6a17c..abc19d73a0e0 100644
--- a/sys-fs/avfs/metadata.xml
+++ b/sys-fs/avfs/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<!-- maintainer-needed -->
<use>
- <flag name="lzip">Enable <pkg>app-arch/lzip</pkg> support via <pkg>app-arch/lzlib</pkg></flag>
<flag name="webdav">Allow mounting WebDAV shares via <pkg>net-libs/neon</pkg></flag>
</use>
<upstream>
diff --git a/sys-fs/bcache-tools/Manifest b/sys-fs/bcache-tools/Manifest
index 97abfadeebf6..758c849ef533 100644
--- a/sys-fs/bcache-tools/Manifest
+++ b/sys-fs/bcache-tools/Manifest
@@ -1 +1,2 @@
DIST bcache-tools-1.1.tar.gz 34548 BLAKE2B e6ebc0f609debe0cc123deba0e21076441c37cdbc6edd02bf2c16c0e36fe806f1fc160b9e9baed577f86f6358884182a4e3903f34bccee81943191c0ba6a2d11 SHA512 4ccbef47255bf3644a50242a79951b1f3720e71a55eb1e07dc6b8486df0245da99a77bba751b50197d489b4c5d738e5284aabc014c2f7f44816ddf6a1bb807ca
+DIST bcache-tools-1.1_p20230217.tar.gz 44025 BLAKE2B c6e1c3e64d1f53f581cd6ea80b919bd7db93e0ec048de70e65cfa1b28ae59e921c7cdcf4c3d0f25823ab323f76ef29671bc2e3db616bad34e8c193aaa3a38c89 SHA512 aac047cb773ebc9e9c139f0a3da5721511a24265a497ce26fd607a26195d402ef78fa5f3c76d609195ee48267395527bd7083abe996e9fa3009b43ac85f94652
diff --git a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
index 9e6dc7c64771..b4ba9e225346 100644
--- a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
+++ b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
@@ -1,20 +1,25 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{9..11} )
inherit flag-o-matic python-r1 toolchain-funcs udev
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git https://kernel.googlesource.com/pub/scm/linux/kernel/git/colyli/bcache-tools.git"
+else
+ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
DESCRIPTION="Tools for bcache"
HOMEPAGE="https://bcache.evilpiepirate.org/ https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git/"
-SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/${PN}.git/snapshot/${P}.tar.gz"
SLOT="0"
LICENSE="GPL-2"
-KEYWORDS="amd64 arm64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE=""
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/sys-fs/bcache-tools/bcache-tools-1.1_p20230217-r1.ebuild b/sys-fs/bcache-tools/bcache-tools-1.1_p20230217-r1.ebuild
new file mode 100644
index 000000000000..9e764a2e66bc
--- /dev/null
+++ b/sys-fs/bcache-tools/bcache-tools-1.1_p20230217-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit flag-o-matic python-r1 toolchain-funcs udev vcs-snapshot
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git https://kernel.googlesource.com/pub/scm/linux/kernel/git/colyli/bcache-tools.git"
+else
+ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/${PN}.git/snapshot/a5e3753516bd39c431def86c8dfec8a9cea1ddd4.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Tools for bcache"
+HOMEPAGE="https://bcache.evilpiepirate.org/ https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git/"
+
+SLOT="0"
+LICENSE="GPL-2"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sys-apps/util-linux
+ virtual/udev
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ tc-export CC
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -e '/.*INSTALL.*share\/man/d' \
+ -e '/.*INSTALL.*bcache-status/d' \
+ -i Makefile || die
+
+ append-lfs-flags
+}
+
+src_install() {
+ local udevdir="$(get_udevdir)"
+
+ local mydirs=(
+ sbin
+ "${udevdir}/rules.d"
+ /usr/share/initramfs-tools/hooks/bcache
+ /usr/lib/initcpio/install/bcache
+ )
+ dodir "${mydirs[@]}"
+
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}" \
+ UDEVLIBDIR="${udevdir}" \
+ DRACUTLIBDIR="/usr/lib/dracut" \
+ install
+
+ python_foreach_impl python_doscript bcache-status
+
+ doman *.8
+
+ dodoc README
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/bcache-tools/bcache-tools-9999.ebuild b/sys-fs/bcache-tools/bcache-tools-9999.ebuild
index 1afc686aacaf..baefd75f9838 100644
--- a/sys-fs/bcache-tools/bcache-tools-9999.ebuild
+++ b/sys-fs/bcache-tools/bcache-tools-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit flag-o-matic python-r1 toolchain-funcs udev
@@ -12,6 +12,7 @@ if [[ "${PV}" == "9999" ]]; then
EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/bcache-tools.git https://kernel.googlesource.com/pub/scm/linux/kernel/git/colyli/bcache-tools.git"
else
SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/colyli/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 arm64 ~loong ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
fi
DESCRIPTION="Tools for bcache"
@@ -36,29 +37,33 @@ src_prepare() {
sed \
-e '/^CFLAGS/s:-O2::' \
-e '/^CFLAGS/s:-g::' \
+ -e '/.*INSTALL.*share\/man/d' \
+ -e '/.*INSTALL.*bcache-status/d' \
-i Makefile || die
append-lfs-flags
}
src_install() {
- into /
- dosbin bcache make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache bcache-export-cached
+ local udevdir="$(get_udevdir)"
+
+ local mydirs=(
+ sbin
+ "${udevdir}/rules.d"
+ /usr/share/initramfs-tools/hooks/bcache
+ /usr/lib/initcpio/install/bcache
+ )
+ dodir "${mydirs[@]}"
+
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}" \
+ UDEVLIBDIR="${udevdir}" \
+ DRACUTLIBDIR="/usr/lib/dracut" \
+ install
python_foreach_impl python_doscript bcache-status
- udev_dorules 69-bcache.rules
-
- insinto /etc/initramfs-tools/hooks/bcache
- doins initramfs/hook
-
- # that is what dracut does
- insinto /usr/lib/dracut/modules.d/90bcache
- doins dracut/module-setup.sh
-
doman *.8
dodoc README
diff --git a/sys-fs/bcachefs-tools/Manifest b/sys-fs/bcachefs-tools/Manifest
new file mode 100644
index 000000000000..a0cd188831de
--- /dev/null
+++ b/sys-fs/bcachefs-tools/Manifest
@@ -0,0 +1,147 @@
+DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c
+DIST anstream-0.3.2.crate 19504 BLAKE2B 617b846c244ea4ccd6c7835a382afe85e14c245ea56b678f57ee12e9c7bcc1c0c3db9620eb4d16bf35e17eca38968bf04420b758f482ac5594670e6292c1fbb9 SHA512 b896e5208a2ee6a3c98bf3bb9ac1c52792de114dfa5709dadcac6183ea19ea63230dffd3217e571354a71d69b8eafbb0189e05f8f77f50922020de54e3aeecc8
+DIST anstream-0.6.11.crate 30239 BLAKE2B 4ac585ec56a804239d32ad3e64d93936ef9d5c8e0f0e2df17f7b081b6a3b2c4c32ff4ebc09ec02507bbed22b025628029d859610aed90c024e19a3216de73c8b SHA512 f8dd65cc116a1495782a3bfc98edfdd0973ab22ea2fafd292fb4bd3495af7b5ea410f320d3fa05f7f812fa96c2a20f4cd2af9fc58869a1a306f32714cbe45163
+DIST anstyle-1.0.2.crate 13983 BLAKE2B 4274b101d1cab2b62f9bb7637dab35f4b16e8c08a080355a2ea53e2b7b353ff230aa77fb3a244e0d6ff0dcd27abe5895eb306c630aa0822d0c608f041d4abfea SHA512 09220abfc844192ca698589897845752e02666b4ecd6529af4cde9f260ef36694e6e631c7503fc0e438ac72c88c419043b78399385cb248e789e86404503935a
+DIST anstyle-1.0.6.crate 14604 BLAKE2B 0716d0dbb62bf05c63c2bfe1c689896660073a423d26965ce2570f11e1925752a61209d78c2f2fe65ec4eb64ea4ffbb39669e789c0ba5d1b71e75de929153b20 SHA512 dc0e505465be54799b9faad70d0c6f7f0dcf9f5e1aaa43177b826c85dae626b054910244da0499862f066f6723a1560ad12100aec523f28c6198f1ea0d1b78fa
+DIST anstyle-parse-0.2.1.crate 24802 BLAKE2B 6304a56c6a9fbaf1bb4d1d177b2315684345dc9d71c35836f9544145364f8d6eb56e25c03076690c594ab7db5914501acb569f6c136952e59c93179ced527fb2 SHA512 5c8fc7d88ffc3a6e78340ffe0f3c2d72e865512030ade4509de9c673eba955c536bb1873dac11f6ba11cc8367fb30c67451ed65d19f81507c9e917c702bfd176
+DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399
+DIST anstyle-query-1.0.0.crate 8620 BLAKE2B 2d296b5066fd6284a2410923215571e6df650c5ef892d6de7a7088a0996ca30608797feabc84f3c325ff4d07001dac80ac5067d2a9c9d15d9ba59a276b399f53 SHA512 2781be5c82293b7ae338ec5046fbeb130de9eb2dbf2e4dfaa73ca5233032e1e52c133e141b02f33d4bc36d996a0a3f680ac82d42d614a5305005f60547133c7a
+DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc
+DIST anstyle-wincon-1.0.2.crate 11712 BLAKE2B 68215a76e44cbe0e69c4111eaf7cd818d0e743883aec01f99f6d96e863d8d36bea67ed112db715a3a0daa348535f3db50547d8a0ab5e4572975d68937c49aa86 SHA512 8bda8b79785d201cda90c8d3544f5cead955c25749a4b828bc897e4bb132acbbcc50ac90ee07323ae3077af3e4c613264871366d70e5211200d119f4ddb63b0b
+DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931
+DIST anyhow-1.0.75.crate 43901 BLAKE2B 6353557d7ec2cbfdd001c039fad62c95fea9e02b113149f726fd14bb36b31e637e8609dd5ee20a900e9c11bb783d9958d664b31ba7c467382fa7f51d477ad3aa SHA512 190d6be8ede0af9808210db53e4dc31ce69b126a26b0357220c4705a11e83cab2c2c09c59964a35794f3c434f717eaa6bb669e9e8f16012535c14246b17e8d40
+DIST anyhow-1.0.79.crate 44931 BLAKE2B 9270f04c6fbbecb535e3081f4275c3df28f6a893c1dfc0a9f7c009994de2deb8ebced04fe5e6f62931b33c3707f4fbfb0c3b28da1a611b413d40d27149d1fd2f SHA512 ecd6fb1367d494df18c0e274b336a133f3acf7b6a5487d20bdd06e08c7f1f729877086a0966e998221daff120504fadd2be2dc4219ed621f81b0a50c2bbc2011
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bcachefs-tools-1.3.5_p20231216.tar.gz 1059604 BLAKE2B 0f3a138b0586c04c53967b801917372486f6558e8d1c9230bc33b1de39a1f7c82ba53bea0b063e1609742ec345fed9f374328ee4990d9bdf456f96ae5219334a SHA512 52b49598ceb5308e7ff235d87fb1e628836b7b297f06a02232307ae34b63fa7cd3eeb4919022bda40aa05954e0237284db7d7cb2e1bfecad629f01cf08caaeec
+DIST bcachefs-tools-1.4.0.tar.gz 1060158 BLAKE2B c972de13e305b07910ab4acdfea05df85bfe70ed350dea5fb578a150a9e116f054dc99bf6dd185aa26dab799832939276a6248203717b918c1d7e0e9f2e0fdd9 SHA512 f374c3b2ec1836ea79ed37f188aaf9c98d6d217b2b05c050304467068a1e042e2e5ea99f2e67d546cd68f3e39be065e62bae73ff13e92ceb29a15df9fe63e4e2
+DIST bcachefs-tools-1.4.1.tar.gz 1069244 BLAKE2B 7be0a343758a221a39dad5eca1c11c74d049e208712d30ffdfd919c97ef87e561983b85b2fbefa932cb69ef50418dce761a9c01afe0114f67b8ddd55b5d62a2c SHA512 65d0f182982d942d1263d60cf435a1142393b9dcf1e7dbea53a873925a82954b47422ade04bbc5b69c955de80ef820e9eeefcfed47aaab3bcc27d3916a94ff4a
+DIST bcachefs-tools-1.6.4.tar.gz 1083811 BLAKE2B 656b1545ccf41dd35e3e6f656a9b5280fe0b5fa43a0ea86243c6693033d986b091fdd3d79ab2ff5c1c9402bce6f4ee33f49e070f6aebd5bba355df7a82d8fc21 SHA512 3e73ee15673eac771393859132146f1c23f4250f68bf8753b5214e88e854959c56efabdaeff4a8ad883287bd289abe08c5c37f6ef7220b984fa679a90c578e57
+DIST bindgen-0.69.4.crate 221092 BLAKE2B 69ed55a5827bfe850f589e39bc6e2f4445e20363002c765c5475007b75e4d81cac3d9df358505c63bd6a48300ae4988507abf78dd734bb98b33525bf9212237b SHA512 99530060708690f2ce0b87b97c9ce2998ee968df193137f3c9bf4fa66836814e2ae74c7e0b3057dcff1da7d2c4ea38157e21143c5117be35e94b878c0a427a34
+DIST bitfield-0.14.0.crate 16776 BLAKE2B abca546581d912133e7344f049d93b8d793de323eba7780fab162c53a244b845582ec2bd14b529b9491c363c2da6228b7de58407afc554cc718a9df8370f5535 SHA512 703d534f0684b19af68a18048ecff37367ccbe5a52a3e8d987f2420b980e4a20da9640019ca610b1a73841cbe45dbf4d6a1cfb10cf0e7d09f53199b1fcd141fe
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST bitflags-2.4.2.crate 42602 BLAKE2B 768d4ca52aca73d8acf2f494a66957ed2603eefd5a04332ed0880d230c2cc6ef3bfdc0792fa6f288a0eb132913dbb256793e580bc34f4a40e8200e1fbafe97a9 SHA512 ef4c20e6e78a2ecee97e17189b7100a504d8176c7c15d7f17d62157a116d66f83f8b2bba472a4acf02cd3edbd94b20a7047af918c3f3b371e2e04f7474be0214
+DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cexpr-0.6.0.crate 17966 BLAKE2B cb46f066eb1f4dbac00ec86dc3e562db7ee8ea5ff17d16a60004fa020405e455b8aeb3d001f669cb33d1b62525bfd04ec657ffca4ed44a83af4a5e75b2c820e3 SHA512 766bff7ca7f9bf0885aee6f014bcfc084e7fdfcd567a49443d5340acfe8f257db109de17b24588504fc35c53f2d4303e2d22da21f73669125cfca984950cf886
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chrono-0.4.31.crate 214513 BLAKE2B 2ac43852ea14cb7b129adf68ff62adac1763b3f4802dd3d23c43cb131377b501b4adb22aa93818d7ceded8eb10c17f94a7836257ce2876d0513b063276129c54 SHA512 23276daa2c1bc3b7b2327dc84200fb40cc995a8b599d1a537e92e08138ab8a0d1548a510a8155dcdda18820120d7204e89a4686c866fc3a8d2460cdb30ac6089
+DIST clang-sys-1.6.1.crate 41346 BLAKE2B b70104e6c6b3c1b85caa111c2b1fb2c20d30eeb85059bc616afc49bce9409f7ee2dd8b800750a466accad6a74ef29d10c6a2ee4459d854a2c0c54050ff51cc4b SHA512 a6c62c1d3faae3796f5e7d98ed4f1a8119f0ffaf8fceee8e728cd4da57b0140e82631012450bb0c551cd13814a97065e9e47015320707a87bdfbb6fd317e952c
+DIST clang-sys-1.7.0.crate 42088 BLAKE2B d1ed314a910c1b676eb780fc1c96f5ac391217ec135480d0a91b11d6f447ad06484b48966ae99115e35d921a506caf6aa7ffbc4ed86aa64367dca321678cfd7d SHA512 e544984d5bd76824ea2093f43f98b59a99e1ca8a5de40e49164b870ed4a91a530f3492faf0678190b91e74aa5d122bdbb32c649998d0ce24912dfb0b83ed6b81
+DIST clap-4.3.24.crate 55026 BLAKE2B c49987221905f7a39d6628fd755524b2395130f0b55f984067238fe73ee7e71faf2532e990198ece793ca8aa03043108b638a618c30ff8c0a3e10b68a3f8d0e7 SHA512 4c45cce4ade8058e6e7131ebc7754da5974e5965128ef5be1a6d327e0ac5f7151ab6a0494024d89404e1743efbb8891de76322d3e44abff76cf2123fcb4534f7
+DIST clap-4.4.18.crate 55269 BLAKE2B cb5d4b093bb7958d013b28ee25f9cbf0479ada392b81265834d75a5fa2e6a4a687f8d4a71520d5bdce05785a874ffaa09beb5707766d59e70928dab00bc122ad SHA512 1f151864b92dcfcc69a66c2a8aa8310ce28171895698d82e2e69e19a6b51ed8780e5eaa77410df9aae2d17c9b45117b913a4c23ef879106c1b7a96182656ebb9
+DIST clap_builder-4.3.24.crate 162489 BLAKE2B befbbc2f379d8b6bfe538cf86a0f27927a4f9ed73e7224df980241c2ad6acbf79a56cab74b3f337d09ce26a5b0c9e9f60226ecce58b6b2ae0dcbdd49a3df6ccc SHA512 e81d73bd3bef181c945856bd2402ec52a100d38ffc223bf485186c4618076d38c277dd85b21e2391471de463dbe3f2fcdf59e115576be8dbef330d888fdc05e9
+DIST clap_builder-4.4.18.crate 163538 BLAKE2B 9991c1a8aba5feda466fc878f9415ad9b5922ea1835c17e1dd6c640234ee85e623bc556ba0e4edd84100a0879ae462028c74304465310d69f9d58e333c2ba8a3 SHA512 ff04ce8e700d8df4a0ae94e8341c3bcc1ebd415312e3b21d56e6beadf604aa5576641861506fa1c901a615a013e4f30bf8e6467889d637b34fa37ef22e2a15c2
+DIST clap_complete-4.3.2.crate 34104 BLAKE2B 8ac5d031536f3917755642cb69cb80a70138871505f7f3b346c66163c6295b94c6981c9ec6291dcac4f6f675bcbcd507a9264c44dba42e6403090a32844a0a7a SHA512 8eecccc5ecb24983bad0c0f7118d632b466e6bad2f2efe1d6695bb53616fbc2ee382e1105252fe587d534a5120a985efe07922447e2168cb3d28e9c72704bc4e
+DIST clap_complete-4.4.10.crate 37761 BLAKE2B 41364c37c96e82bfdbf0fde377512e894ff720542ded85fe49da4e305ebfdf39a2d511a48d6662c0ff2e3d191ea95c59704dbfe89e7531a969be42de9409e82c SHA512 d0f541bd167c9f755f149e5ab3171a4b5a9e4a37dba2de62ed51eeaa20691eb7602ef0061392cc7e4ca3594a0a69a7eeec75bf65f14e92fa6bc45285725c3f1b
+DIST clap_derive-4.3.12.crate 29052 BLAKE2B 501fb22eddca5b21456bd9911ad1f90ee5d5c918eedd08e2615d22ce58bb0fa5dd626b51a734f20b78411b9a4492ae63629131e0c2e1bd0f3eee21e5da3fb37f SHA512 a58e948fddf45321f0fcfe9d9afbeff42849da472fc4e4b15c31f46ffe55a0dba34d2c1d14e342530c1e4080c43de790595e4f3dca06cbb6a8a60f9e3cab3abc
+DIST clap_derive-4.4.7.crate 29046 BLAKE2B 96ca919b8f9901b2e89c58ee8cf8bd3881ff715ac27999c03c867b317321e4839d9e923f68d411a05b45c34d54557af12b8a173f2445732fb6de16f30dad8e2b SHA512 4be40460468f7ce22906cdc9eea8d01bb07cb206d4ce0c3df2abd929d6925b175a49cf63907925ca16ae6297d6f4d933087fa5b35958e551117ec7ae050be167
+DIST clap_lex-0.5.0.crate 11792 BLAKE2B 0409c9d957ea6a566eb8b50f4212702df038d04c4c38f7440d91cb4c58ec887940f0cf500c4c3949c2191399aac3f5cb1ce44868eac587cde90211d3e467b9a2 SHA512 0149ed7c2438a19b4857f895767550d783711078f07bfa9ac8ca531e06f51c7388110f4d558e30bf503536367cc370cb581e8deb6fe51f9b5460a334963daacd
+DIST clap_lex-0.6.0.crate 12272 BLAKE2B 22aa04997fffa15a2efc7013ae27fd223c3247cd31f8fe96aafb4e87e3224f075e887df10a95a2da80b468d4e16088ae9f171ba6551c0ae06d77bf3b8920ff9d SHA512 3651aa5e27ed35b6b75b1d25fd9c20c26a2a6039116e54d84c51469087732a4f0fd71754326456b367e341b017d03749e9a6774cb7b62250ca8745f5af46574e
+DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST colored-2.0.4.crate 23654 BLAKE2B 41303ea33785c060415a955383ba2f22ac8e4afe9f1345b9f41dea9817348298f8715c4bfdc60cf4960315c3a7dfabf148f2fdf62e0e0a5ca77e34c57dfca307 SHA512 38e664d23546d77c81da6f5eca6ee8113d6ce20107bf7325255de2c59d532e662ee1f751420bba8ccbbe468b8cb13f743050e4145d0e1f1e37087a1f3a65ada0
+DIST colored-2.1.0.crate 23348 BLAKE2B e2778d83b28571501adb4e9ec3fa95d684faf5730f093f6e608ec631e58b883d2b9f17ed7e2c1612da285a58251f479a365aa90fa7be24a2adbb69e426e0fc89 SHA512 fa70f18fb29f6870a727d8243808c96e9497f8302f5f2b1748f9d9e396031e9c53a025b8edc9c8c9a0f8cfca12e5da73250a71e382b3074e9415b85bc004769e
+DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
+DIST errno-0.2.8.crate 9276 BLAKE2B b73738deb47d1f76ec91ffd15558126d32312647b82677290725669edb01b8f34a503172fad6518ebf0ffb1633ef0afaf0750982b9384a9fb87833d31721c9a8 SHA512 1f513743224cd9a9b7e4caaf33dab075a4a79efa90c9f46c9edfb0c8600daccd3ad2677ba2116621e19fcf8be456954da5d611cbcea4b6f1410f7731828b50d1
+DIST errno-0.3.7.crate 10712 BLAKE2B 1ac3a3084673791fc31e228ea3f49d334eea106f1bb6de3f9548882167d8982153e0d9cd9dbb4bde68fb9a12ea8eced99a4a128c507fe8a6ca90caf849cda1dd SHA512 ba4cd3919fefff84bd5ae473392ecdbaaec52ccaa9d1d93ae06ea5962523054d0fa1c5866787e36114a00d449a60df811a110f89c923a6acf7430d3668c2f54e
+DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9
+DIST filedescriptor-0.8.2.crate 10830 BLAKE2B 964470acbd1f36487755a74666a46649d6012c0782b3622652bd41b086e5d804298d6126c980ecce5a2ce91994d3a006288739b472ecc518099d4e690c89f402 SHA512 dd808b8f26bff4d8b37826241f30c9396bb0f731a0fc3ef53ecb3bd0c0fb7adec6bfe5ff6ecebb6e02c9de6fc5f2f6c0fc361e9c6ba564708dd1c29ab2662f65
+DIST gag-1.0.0.crate 5495 BLAKE2B eeb524092cb26486e10e939147f348d4cb687ded09fbb3623d6e65e623bcdee9be90a765a07d1af94f8d1e92139d61ef01104eb9a52b6c4e7abe65a694ee0186 SHA512 16f540d2075d1c9ede9ba5f579dd03271b38b940422f0cc605f7c72fc972ee0e696ea5e46b05c38b510ae247cca1a12e28c803bdfe835439d6d7f23e32609286
+DIST getset-0.1.2.crate 8831 BLAKE2B b1408f4c0b2ece039d06180e3e2990db2a4ca3c74575be3b4d3df562fc48a43ee8feda42cd957786aa481fc77a554a8e944f34a6a718c07012aea153a1c299c0 SHA512 54f162d0d072253abcf26c8779a9d8eb423db9df85716da13a785edb4c61757cf0c03f3563dde5de4534be9d4d50498c03b8337dcaafeaefc29c9c836dff1371
+DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1
+DIST home-0.5.9.crate 8760 BLAKE2B 02277a6d0e54a88e62a50ceb5b50b08cd5dc1ca5ddc17a799db0f49a17fee8560df53f616ae22cd16020ae2a89ce7c6ec22e5e2c0d513405bc2859a6e3ec61f9 SHA512 3f1f7b619f1a47694cda92321a11d66ebbb2dc0b0c33446a7a4b886f547ee88231b61c038de04bb82acd50e617f19b5085893b8401206d32cd54502033e04bf1
+DIST io-lifetimes-1.0.11.crate 37346 BLAKE2B 7f278b7378a8569d3552c9b6d4be06d7908e05d77cdb964267f0b621ec4975a42fb6e48fc030a75ad5865681adf32ff747943ac559ab4ad73331a6611a1b10c6 SHA512 30c6e5ce6f5beabe0d7bee4f4522884d1316cf7d9b8d093ba0f952995997be3d0f10e1e77b9c20b7fe2b65429de0d2ec89bb35e939455795205206a3154ed544
+DIST is-terminal-0.4.9.crate 8109 BLAKE2B 0fa495da123f6fe5e3ba5f643f1ee097fc4f8e8aa54d9525b6108855a6a2e58556534a5e8dbfe7b5f8e2f1932003ac63f6aa3384317de7b385cf724bee294468 SHA512 0803ea53945715333d9b5fb18feec7230a49cb1a5f7308e2ea8d06a650e376794dd372be111e85622fd21320228706dd589423510dd010cd6ea112f185c46966
+DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
+DIST itertools-0.9.0.crate 96429 BLAKE2B 36d3b1dec7ece85639337f1a40a00330a5216ea8c460d13e52f0f9fea71bed5b3914cc4a7e05b407ed41e0dbc2292ae5873b3481297edcd92ec547866d044b8c SHA512 1c6650060750f3073140c4a77fc4d1acffa7d18320012807df0e20ab06ddb39afa7f086d89626e3909f89dc1f0408c9ccee4dd9454ca1f7a6a145bb213e7c5ce
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST lazycell-1.3.0.crate 12502 BLAKE2B dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8 SHA512 f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST libloading-0.8.1.crate 27893 BLAKE2B afabb6e07ecd390918344388b5fa63e5aa9223bf3ce513d1ed94cf02b1defe9909d94f0fa05e1516a39dfe4f41636834d3de0386b3c58212103263f2b1423f76 SHA512 f17ca367ef8e62fe80f43e5f3e2d1585be7b78b0fe4a733d80acdde38c20f9f72e710cff082442de6afa323aaafa17eda4491c4430b2d12f398d420e057cadab
+DIST libudev-sys-0.1.4.crate 6177 BLAKE2B c513b5cd68fc60a7a33ba281e4fc4f9a5896946aeb1fe31abb8af22d279c39c3d781fd34109f98fd010fe8aa817b9d91726887f0ee8bf0f66a3bf313b01c9ff3 SHA512 185bd84a729a5dda6fb274584c7a731652418da9435d844870a9d09662918c9230287f4ad002273599d0a3e9709a36ae06d59a6686dfba978fb7cd1c51bbc2c7
+DIST linux-raw-sys-0.3.8.crate 1013776 BLAKE2B 375b29d2cc700e95d94ea8dc304cb711562952742f65c9664e33560a3da862aba74f2ad2ee66b1dface8cd5371ea9cbbc452ea953a6b6c656ade7d938b7d2ff2 SHA512 cb0e5c54870dacfa513ad05f7a84e9e90dc1a42f55685fe3e252fd25cffa4b875f1b65eaf4ad132ef0a19e6677c7763b360d71ff0060fe6ce5198f38b9956375
+DIST linux-raw-sys-0.4.11.crate 1413981 BLAKE2B 45172cc348e758bf87831b47d2d52ea43e781a738a59654dffc04cd5f1726efdd8d1e2376cdc247019b64d82d756f4739815422c353f54f081a2c539df02b5f4 SHA512 befe18ab06e5248ee89f0cb8fbc192a5564c15c9873672fea62754322d3c197563d9133b839d5222e6baa522ec1fafc48176ee605ec7954c5d93e52dfb6d9772
+DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62
+DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
+DIST memchr-2.6.4.crate 94439 BLAKE2B d1136f7105a33565214fdeecdc5a95e74d7fc7cf45997f81bf3cf389f3015fa561ab326433ddcff2db0b7259246eb6d26fc7b4e3c90c3af8b9b7ed7e8ec56ba0 SHA512 1065a67e04ec9210c70e430288e0a8d39f36ce6414722099553e99112ea2f8f710eae44bf39f8775b9850e6c8a50e634a1b1b084a8eb4f6b2eae6697dcf5b5f4
+DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
+DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
+DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
+DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
+DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parse-display-0.1.2.crate 3535 BLAKE2B 01554ef911b973cc8e16be5dce205693e5cc74b8e886b4d9a9a26dc6c9a6cb2e29569ebecfb73daf14047f5d0ca01ae52ff9bb1778a0c7062ed3d1819bc47ad8 SHA512 271b32c088b23f945d33e1d4d8693dc37a4bab9aa1661f63a5a373d1cd55ab62e1a8d1fd0fb27c6d1d3b0fd639fd72540cbe2a641bd42a45bf06a751a07498a0
+DIST parse-display-derive-0.1.2.crate 10820 BLAKE2B a9261c11c7768791a69e11d6f074031dc229094a686a8e314229a5dd94e22f218beba6be67089129aaaaa98606715499c089e579058094a135208effe44c5884 SHA512 a9f3099f318e44330cd3478a4cc576beaa2ea70edc6621a46ecd452e9fc28874a7d7967fa0e0b2b7a1d7145565e62979692dcdf3c3fed0f3ac8feee0eebec000
+DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
+DIST peeking_take_while-0.1.2.crate 6697 BLAKE2B 31571604d00872900abcb677a483da93654de523bbdb0331c326dc9a3e531f246e571bebcb983e79dc46e33ed6dd32b978be509841ec0d9f1e7209c06289c22a SHA512 7bf8721987c3e2e1986683dd897746592a909382f02b840b777effec7d8b0a864c1a83b03c73d555e359f22c423168a54b75448a7e7b996b739527ce8c88b721
+DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a
+DIST pkg-config-0.3.29.crate 20563 BLAKE2B ed0559b0073890911fb47742743b2586123bf9e9b594aa0d5b2c419c6768cd37e25b546c21077ea6cc02823a679b302aeaaca6c7fcaf9aeec615dd08f53a1f6f SHA512 bac7dafc0e10bef40e427c1fc0271d1a26acb2f5b1cf7cc7a128f4d4f1f3110529e45057b71cea7b0f6ddff26945fe08962285ddeb22b54639e44a2e43af698f
+DIST prettyplease-0.2.16.crate 57630 BLAKE2B b3548f37a41d1bf46d58e84297142e8d3addf6134e39c07b7fca809cd2f72004947c31bcf7ee2aeef548bc200dfcb9c888e090d3a96f63289bc15aebe1085075 SHA512 f542640f809de6aa77d34d92d9a4454ef2a92153dba38ab41782d9a3fb73cbae2569c3163c21938b908e666303631ca9393ea1166c7ad5e5970145f26238c79e
+DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
+DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
+DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
+DIST regex-1.10.3.crate 253101 BLAKE2B 390ebb00bf5430048412883b672d80737e783fd36f40895343cb38ef2e26e2713418c2fb4d66792bfd3be4c990b4518ba120de229a72cbeb7fd5c2af325fbcaf SHA512 d090898465013b0975a6de87fbdcdf76b4896578056f4da83424bd5e7832547a3d8ace643c379c4f14700a0a88dc95950a38645508d1675306c377879a90cf5d
+DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
+DIST regex-automata-0.4.5.crate 617406 BLAKE2B 21826731ed5439a12cdda5a1ef217dc3239a0884d038170855985bf830f2782bdf4dbfd1b1a8812812db3a2399dadf8c173e75db635dfabc97382fda0561bba3 SHA512 0e9681d5c4529d49ff2555b7b73cf234b1f321a7fc634beccdf76c2bce5094e8501403e8caee2b3a16ac299cbe4701d891f1efa380b54f9dc2d92bbacd4de611
+DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e
+DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST rpassword-4.0.5.crate 10731 BLAKE2B b52325990109ad9b275429c3c2f098eeed631e3a41b02ff0decacf55d66e1b66df98d13c169b8eed727fbc523fa1cb770d206dfcbcc86a6c08f52029233296d5 SHA512 f1d3a76318687f9e5b218a936e43afc144f4a48647d55324409651cd5a39fc07b23732766433bd8a4d3a5370ceedf5bd2dad3007f0ba1d75bf8ac610e684c19d
+DIST rpassword-7.3.1.crate 8164 BLAKE2B 60e89fc36d78a64d9441bd902866500872f4ddbd28ffe4bc5c26b5882ec1dd9bcf50dc06105c87f5fef8c51b327bb9af1a324831cb6396796afab3cb7f4a2288 SHA512 28905b33e5fa26d9a7bc0d682b94edc6119b2d8c2a6826c89d61fa86033230707c54f3ed8047ee3f5da4393c119c70f102ff61efdc1d4bac38e583c04e3b4382
+DIST rtoolbox-0.0.2.crate 9179 BLAKE2B 4cc9faea86aaf0f9e9ed95269d0fa8c633d7c05d539a435bbfcadc563ad5fd0d3f06bc33f83a24432a53da483bc7771edca21e6237888254b1d000f7af1ee41c SHA512 2e239e821d0bdb171ff9d03d3b8df2fbb561ae67ed653f66096ca32b2a83badc7d1b74b4ed1f0f41f141ff2a383fd06618f4f7740a03514b256eca4db0699d42
+DIST rust-bindgen-bcachefs-f773267b090bf16b9e8375fcbdcd8ba5e88806a8.gl.tar.gz 2289197 BLAKE2B 9a767f7341617fe80a59ad3e4583ed14f112a9575f9596547d92b4ee88e1951b123cdd78208446d7876141028449abe9f4cf22d9abe47e96e59d8e72c9aadde0 SHA512 7d1db015f66b47ff07d244247832cc6ea3e9af4f4ae650bf4d3785ebf60390ff966b8664ebb463235f0ad3d40967cd58a299eb540fda733f26548d771275b25a
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustix-0.37.27.crate 324534 BLAKE2B 65fc8317c5aa86236b2099104b6841a7d35d4567977218f5e59a85d199aee7d6b9f0278083d93f575b31d77ef8685576b7cba06ce8da6e96a164af30c854ace3 SHA512 e1c648cf11379509b732b9e9ed88ebd36006d8e73755528a09aed4f46df08e23a705696c5e6ff7ea0e4382513edb487f9859a8f1673150d60d70c698216fec3e
+DIST rustix-0.38.25.crate 362735 BLAKE2B 8d368458850d031d63c76c75e716d8e580a763fa365aaf3f065de7f6f28fa314cd57c558286b0322438b9a8fe5475ebc709b02dc804862e02ebf02ad8fd2f30b SHA512 f14d3112f82e254ee01059a845062e305b5386b84e2de14fd89443606b37c5640322258cac91dda3be79b11cd72de60557515649ee266bfe7a796a284afe6a11
+DIST rustix-0.38.31.crate 375443 BLAKE2B 9e8ba6bb4eb4fdf0bacfbc719124f745f383abbabfeb161bff9908d1948942d358f46191377b90c180a2793a88bb01be20dab556cfabc8da8efa2533af8e460b SHA512 593e0395a7bc5bba949e6f2a5ed9e39ae13140970a598def32ab7d6d91b4ec100752fb05abda407ee2e5e420d950b19e607f963f3974213637423c751df75960
+DIST shlex-1.2.0.crate 6584 BLAKE2B ac07c648d9affe62512edab307fe07436dce69b428570ba6455aaf21c178145b1026e35704f920fc177b334cf190f57e393e4dd9e522dd26d133f80fb2c15f47 SHA512 cf48c0c47aac44654a48047fed3568c30f53f19cd131615cabbc247dbdf1eb1b7540b0d188f341251b4876dd0d5fcc13792800f0160f7907e8d8fe9a5e75083f
+DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
+DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST tempfile-3.8.1.crate 32164 BLAKE2B abccff7939df8cd223a5a8ee61e5af7c35335f1cd61b3e72fed9a8565465c293e99938d57b50743141aace3cd20422ad5d3090507ed66561cb0155771fe0a5ec SHA512 b257bfb70793575d59ec4cf4b7492aff83dafb68b367a48594211f476a3b1d4800b69bddc405d8749d8b320c30cbe71be1261a60b4bbc862663b37a6c7d97a3a
+DIST terminal_size-0.2.6.crate 10585 BLAKE2B 8696b9046c717eec8bf7246346af84a5d0cb740ac6e1335a4d8c20476628f4c0dd7c6106cde33513681466e9701d4b05d73f22a3bd2dfabc4d22045a69d31345 SHA512 95f38bc00f8c5e1a6913bb2a0a7c46d96e02a4f3234af1623ad3d7be41eae677e77f1b5d5d005d1e9d778fcc6c87196f67a51ab37caab5b4d299da79c85d06ed
+DIST terminal_size-0.3.0.crate 10096 BLAKE2B 097ef50a85945128dcfa36d8ea0fb15f11142c206462a32980dbbba4fe2872abd214823fe3c75e804f3159a97d6e929ec338860e9c89587da509fb9e6da5d339 SHA512 f3bc9144aa8a87556543584a2495df6267ce3bb017f3ed3d00fa43e89b5de783e1285ca62dbad9dd9c3b37e3a476a6f3ab0804eba2411cb594a569bbdb310681
+DIST thiserror-1.0.50.crate 19414 BLAKE2B a093f66ad191a8c4b15356f8d29578273b36f9f11b5843195eaa15b70bd4c8eaf6dffb631564386acf35a9ddf856e05055b419af52d4e008f582ae444f3dd5d2 SHA512 65605a9cfbc43447a50980739259a45d933f1eb315926dce909892f7162c79bd04bfcee7b38b5a9fa71b24fbe4416d050ae8e2443932577541513a23ebeeac46
+DIST thiserror-impl-1.0.50.crate 15357 BLAKE2B 41309507014a2c628b7e91d250335070e4cca6c6c452c90ee7e6173bed049df83ca197b37c16537cf15415550919c248e0f6c798aead760e7bbcd25eab701d50 SHA512 8555e010f94390e93ba757bce9ef25d066ed542f23b843db431a66fbab722584ea0ce6c9d4b6f4d92cea3d91c190336abd567c4a0aa4a27893db25720c5b89c9
+DIST udev-0.7.0.crate 17980 BLAKE2B ef62bfc3bebdea9fbc30d8c0de6989b0310da2b7efa65345e991b5ac85d39578a5cc9bf97558786f09806c790eae4a99ca7be29d35b8793a92c71bed07a9b91a SHA512 87aa3182c028911b23c6820408879f901dd674ff6fe95c8382ecdec3d4da9f3e19dc03b2435c72e7cf299af083d5de9a6b83a84a75de4c2483c97ea9c1950393
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
+DIST uuid-1.6.1.crate 55554 BLAKE2B f9b8eb34f9197734ae9a1437ded396f5e5a8551b54e532053016e0c00c8007644f4fbbd3827c9878cdbf8acaa981d8ae9c94739af7edb6939ec299075ee4b443 SHA512 b9f3dbad176b3640b4b943d127ac8fcd0938e7bc750430626cc603efdcf5faf479f8de7940d64ed1b5b6e6378b42a1aaf3c1e791ee59b9db9394409261cf3c55
+DIST uuid-1.7.0.crate 42627 BLAKE2B 493f6a3a643d3493a2bd7e0e92a1ccfb7bd722e3a1fc8deb7df0ddc875a822daead1cdd35dc3ac6f26346844100a671318d71e5ad760c9587471d4f05bbb0c69 SHA512 2ea704d082b725d98717d772e1af84fe743929ee32658ebeb111c6fa2395ff5f44558b7e375087617f91c6f7bc242f2db96e80a631071722de6fe15af845e856
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST which-4.4.2.crate 15953 BLAKE2B 40ca22cd2f625cb035a1d919ed457a300b482c7751dcee4441974c53d56ce13f1f502535e1f7c0746a01981f4de2e2f761c3a255902d6353db1a4c3c62637448 SHA512 2d12aa1d4c2dbc140e39c8f15bd4ee1eeb8e8de71bcdf579479ef4be860fb0839eaf4cdb818addba242d50420f6e08acaf2bfc979a889e092c83644819246fd5
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.0.crate 6229 BLAKE2B 4b1efdd32202f112d3782b586ce60667f5d3b6f97ccae0d7da833aee2ae81ceece88b5ef4126db2448c9019de3f77e4fe66ed4286bb6275d9a5e8ab74725b804 SHA512 0ea09552d89b802ec0d419b640fa02d0af7af602704a0e88ba10f81d123dee0c907460f6ec91224177ec9a948970abd7414740eb219148a4d66c269c2362740e
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.0.crate 430182 BLAKE2B f23370c62c4ab3fd885e3ee22e8ec2fb5a3a837a57044c1df3f9986dd4e7e9d0a44ec58be1648a41e1ea4d037afa3077f0f03de0204199a82fb8395731815a4a SHA512 b7c3fe0a2ad5149be0df48fc7a4d15879eb130bd9441c58c25fc71b8a91483f0b553fb1bf29a9302acd348e9083a547430a840b059b0cfe19867ecaffcae986f
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.0.crate 821663 BLAKE2B e6f772858205f7cd871722136aec4d00daea4793ff9dcae53e6311e74526c46aa11c2b3df7a85e6c577757254cbfa5a713e68c694625ca274b64e7a1c5532c23 SHA512 8446bfe5b9fe538415762c8129ab3bf2fe45482e045bce367475747786602ad4ae1187c6e508dd9d7b6be81bfc8d430e0db9c624e35c7cc52e823023e46f5cf1
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.0.crate 870285 BLAKE2B a7688062a128a1b1394b3978210334e4e2aaa10dce131457c4a11ce0cb3f551e7f4962d1ece1846d8e9526983ced0e0a3ee8c933858e9314b62e76381e086ef9 SHA512 fe993f5bb6e039c257be9b35337e0221f718d23866818bfd19c76aaae236aafc2de4bb5014fcdf919563b5901cdaa14a2136cd086eeed3c83e46a5d02f6aa77e
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.0.crate 888693 BLAKE2B 7a6e9d03e503c8f543e80a8c7bcf3f50cfa7eed462e487ae7b581746d7cc4d871b33e307110d3a3a75226d88e837f9452ac56bf3baf71b66cfab2626cc15558a SHA512 817ac796fd00bed51d80133ec873cf3d3d582ba41fec8a6f6407fbd7544f198e928aa5d710f70c13bbf74a1dde4c91c54e65eb9d3b7518a7f011ea42725eb671
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.0.crate 826213 BLAKE2B 3ca03285ef289fc844261142154e710e996c29940b1c0a7dc3016906ff6452fa50b24f8668fce0ca44bf169ab1228c217fece9f7bddac9ab8bdc54fddafaf8a8 SHA512 2d81af56ad0bc9536f6e066776642a546ce6c6d99551edc0603ffcafe6db15d5d5a32a642b204bbfadf34231daa3894ad7897a9c0c575c2b6bc1e3e58a9a3eb7
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.0.crate 430165 BLAKE2B af9345a1f6e0ed1392ca1534c68d23f3be0fbb6a42b3c5518cee14373e645038526da15e849d14abe45c53766a30c6c2042a626482ba4a05409f325eb6aa36b1 SHA512 e88af35fd1c694dc189783e5c81aafa61aeffbddce4d7130e1125d0ce3d932fafeb345990ffd98477c41b578b7f5090f4f9c0457b02146309b95549c9f8f44f0
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.0.crate 821600 BLAKE2B cc448b65f98fc0fc4949ae622b7020d2dae927ae45310649f6ef71809740eda9d3db0fc035676c201fd9ab9639e9e7f21e2e992b4c789542f12b419d2c752179 SHA512 3aaee31533a1a48a6ab5cd15b3cadfbd906a93a153e53919d0aa74e440d11e29830554e4e014c215f5b88a475bb733fa8ba4ce9d773d3e23a40ea9ad37ddd0a7
diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.3.5_p20231216.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.3.5_p20231216.ebuild
new file mode 100644
index 000000000000..f65a1b327df4
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.3.5_p20231216.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.2
+ anstream@0.3.2
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.2
+ anstyle@1.0.2
+ anyhow@1.0.75
+ atty@0.2.14
+ autocfg@1.1.0
+ bitfield@0.14.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ byteorder@1.5.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ chrono@0.4.31
+ clang-sys@1.6.1
+ clap_builder@4.3.24
+ clap_complete@4.3.2
+ clap_derive@4.3.12
+ clap_lex@0.5.0
+ clap@4.3.24
+ colorchoice@1.0.0
+ colored@2.0.4
+ either@1.9.0
+ errno-dragonfly@0.1.2
+ errno@0.2.8
+ errno@0.3.7
+ fastrand@2.0.1
+ filedescriptor@0.8.2
+ gag@1.0.0
+ getset@0.1.2
+ glob@0.3.1
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.3
+ io-lifetimes@1.0.11
+ is-terminal@0.4.9
+ itertools@0.9.0
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.150
+ libudev-sys@0.1.4
+ linux-raw-sys@0.3.8
+ linux-raw-sys@0.4.11
+ log@0.4.20
+ memchr@2.6.4
+ memoffset@0.8.0
+ minimal-lexical@0.2.1
+ nom@7.1.3
+ num-traits@0.2.17
+ once_cell@1.18.0
+ parse-display-derive@0.1.2
+ parse-display@0.1.2
+ paste@1.0.14
+ peeking_take_while@0.1.2
+ pkg-config@0.3.27
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.69
+ quote@1.0.33
+ redox_syscall@0.4.1
+ regex-automata@0.4.3
+ regex-syntax@0.6.29
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rpassword@4.0.5
+ rustc-hash@1.1.0
+ rustix@0.37.27
+ rustix@0.38.25
+ shlex@1.2.0
+ strsim@0.10.0
+ syn@1.0.109
+ syn@2.0.39
+ tempfile@3.8.1
+ terminal_size@0.2.6
+ thiserror-impl@1.0.50
+ thiserror@1.0.50
+ udev@0.7.0
+ unicode-ident@1.0.12
+ utf8parse@0.2.1
+ uuid@1.6.1
+ version_check@0.9.4
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+"
+
+# Upstream have a fork of bindgen and use cgit
+declare -A GIT_CRATES=(
+ [bindgen]="https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs;f773267b090bf16b9e8375fcbdcd8ba5e88806a8;rust-bindgen-bcachefs-%commit%/bindgen"
+)
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cargo flag-o-matic llvm multiprocessing python-any-r1 toolchain-funcs unpacker
+
+DESCRIPTION="Tools for bcachefs"
+HOMEPAGE="https://bcachefs.org/"
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git"
+else
+ MY_COMMIT=d8e7f3671db406b587a420cae420ec14a189399e
+ SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+ S="${WORKDIR}/${PN}-${MY_COMMIT}"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+IUSE="fuse test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ fuse? ( >=sys-fs/fuse-3.7.0 )
+ app-arch/lz4:=
+ dev-libs/libaio
+ dev-libs/libsodium:=
+ dev-libs/userspace-rcu:=
+ sys-apps/keyutils
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/udev
+"
+
+RDEPEND="${DEPEND}"
+
+# Clang is required for bindgen
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+ ')
+ $(unpacker_src_uri_depends)
+ <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1))
+ virtual/pkgconfig
+ virtual/rust
+"
+
+llvm_check_deps() {
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
+ fi
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ S="${S}/rust-src" cargo_live_src_unpack
+ else
+ unpack ${P}.tar.gz
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ tc-export CC
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+ # Patch our cargo-ebuild patch definition to pretend that our GIT_CRATE is upstream's URI.
+ if ! [[ ${PV} == "9999" ]]; then
+ sed -e 's https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs https://evilpiepirate.org/git/rust-bindgen.git ' \
+ -i "${WORKDIR}/cargo_home/config" || die
+ fi
+ append-lfs-flags
+}
+
+src_compile() {
+ use fuse && export BCACHEFS_FUSE=1
+ export BUILD_VERBOSE=1
+ export VERSION=${PV}
+
+ default
+
+ use test && emake tests
+}
+
+src_test() {
+ if ! use fuse; then
+ EPYTEST_IGNORE=( tests/test_fuse.py )
+ fi
+ EPYTEST_DESELECT=(
+ # Valgrind
+ 'tests/test_fixture.py::test_read_after_free'
+ 'tests/test_fixture.py::test_undefined'
+ 'tests/test_fixture.py::test_write_after_free'
+ 'tests/test_fixture.py::test_undefined_branch'
+ 'tests/test_fixture.py::test_leak'
+ 'tests/test_fixture.py::test_check'
+ # Fails in portage because of usersandbox; ensure that these pass before bumping!
+ 'tests/test_basic.py::test_format'
+ 'tests/test_basic.py::test_fsck'
+ 'tests/test_basic.py::test_list'
+ 'tests/test_basic.py::test_list_inodes'
+ 'tests/test_basic.py::test_list_dirent'
+ )
+ epytest -v -n "$(makeopts_jobs)"
+}
+
+src_install() {
+ into /
+ dosbin bcachefs
+
+ dosym bcachefs /sbin/fsck.bcachefs
+ dosym bcachefs /sbin/mkfs.bcachefs
+ dosym bcachefs /sbin/mount.bcachefs
+
+ if use fuse; then
+ dosym bcachefs /sbin/fsck.fuse.bcachefs
+ dosym bcachefs /sbin/mkfs.fuse.bcachefs
+ dosym bcachefs /sbin/mount.fuse.bcachefs
+ fi
+
+ doman bcachefs.8
+}
+
+pkg_postinst() {
+ if use fuse; then
+ ewarn "FUSE support is experimental."
+ ewarn "Please only use it for development purposes at the risk of losing your data."
+ ewarn "You have been warned."
+ fi
+}
diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.4.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.4.0.ebuild
new file mode 100644
index 000000000000..a2e67f190904
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.4.0.ebuild
@@ -0,0 +1,265 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.2
+ anstream@0.3.2
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.2
+ anstyle@1.0.2
+ anyhow@1.0.75
+ atty@0.2.14
+ autocfg@1.1.0
+ bitfield@0.14.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ byteorder@1.5.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ chrono@0.4.31
+ clang-sys@1.6.1
+ clap_builder@4.3.24
+ clap_complete@4.3.2
+ clap_derive@4.3.12
+ clap_lex@0.5.0
+ clap@4.3.24
+ colorchoice@1.0.0
+ colored@2.0.4
+ either@1.9.0
+ errno-dragonfly@0.1.2
+ errno@0.2.8
+ errno@0.3.7
+ fastrand@2.0.1
+ filedescriptor@0.8.2
+ gag@1.0.0
+ getset@0.1.2
+ glob@0.3.1
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.3
+ io-lifetimes@1.0.11
+ is-terminal@0.4.9
+ itertools@0.9.0
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.150
+ libudev-sys@0.1.4
+ linux-raw-sys@0.3.8
+ linux-raw-sys@0.4.11
+ log@0.4.20
+ memchr@2.6.4
+ memoffset@0.8.0
+ minimal-lexical@0.2.1
+ nom@7.1.3
+ num-traits@0.2.17
+ once_cell@1.18.0
+ parse-display-derive@0.1.2
+ parse-display@0.1.2
+ paste@1.0.14
+ peeking_take_while@0.1.2
+ pkg-config@0.3.27
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.69
+ quote@1.0.33
+ redox_syscall@0.4.1
+ regex-automata@0.4.3
+ regex-syntax@0.6.29
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rpassword@4.0.5
+ rustc-hash@1.1.0
+ rustix@0.37.27
+ rustix@0.38.25
+ shlex@1.2.0
+ strsim@0.10.0
+ syn@1.0.109
+ syn@2.0.39
+ tempfile@3.8.1
+ terminal_size@0.2.6
+ thiserror-impl@1.0.50
+ thiserror@1.0.50
+ udev@0.7.0
+ unicode-ident@1.0.12
+ utf8parse@0.2.1
+ uuid@1.6.1
+ version_check@0.9.4
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+"
+
+# Upstream have a fork of bindgen and use cgit
+declare -A GIT_CRATES=(
+ [bindgen]="https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs;f773267b090bf16b9e8375fcbdcd8ba5e88806a8;rust-bindgen-bcachefs-%commit%/bindgen"
+)
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cargo flag-o-matic llvm multiprocessing python-any-r1 toolchain-funcs unpacker
+
+DESCRIPTION="Tools for bcachefs"
+HOMEPAGE="https://bcachefs.org/"
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git"
+else
+ SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+ S="${WORKDIR}/${P}"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+IUSE="fuse test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/libaio
+ dev-libs/libsodium:=
+ dev-libs/userspace-rcu:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/udev
+ fuse? ( >=sys-fs/fuse-3.7.0 )
+"
+
+RDEPEND="${DEPEND}"
+#
+# Clang is required for bindgen
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+ ')
+ $(unpacker_src_uri_depends)
+ <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1))
+ virtual/pkgconfig
+ virtual/rust
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.0-fix-clang-musl.patch
+)
+
+llvm_check_deps() {
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
+ fi
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ S="${S}/rust-src" cargo_live_src_unpack
+ else
+ unpack ${P}.tar.gz
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ tc-export CC
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+ # Patch our cargo-ebuild patch definition to pretend that our GIT_CRATE is upstream's URI.
+ if ! [[ ${PV} == "9999" ]]; then
+ sed -e 's https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs https://evilpiepirate.org/git/rust-bindgen.git ' \
+ -i "${WORKDIR}/cargo_home/config" || die
+ fi
+ append-lfs-flags
+}
+
+src_compile() {
+ use fuse && export BCACHEFS_FUSE=1
+ export BUILD_VERBOSE=1
+ export VERSION=${PV}
+
+ default
+
+ use test && emake tests
+}
+
+src_test() {
+ if ! use fuse; then
+ EPYTEST_IGNORE=( tests/test_fuse.py )
+ fi
+ EPYTEST_DESELECT=(
+ # Valgrind
+ 'tests/test_fixture.py::test_read_after_free'
+ 'tests/test_fixture.py::test_undefined'
+ 'tests/test_fixture.py::test_write_after_free'
+ 'tests/test_fixture.py::test_undefined_branch'
+ 'tests/test_fixture.py::test_leak'
+ 'tests/test_fixture.py::test_check'
+ # Fails in portage because of usersandbox; ensure that these pass before bumping!
+ 'tests/test_basic.py::test_format'
+ 'tests/test_basic.py::test_fsck'
+ 'tests/test_basic.py::test_list'
+ 'tests/test_basic.py::test_list_inodes'
+ 'tests/test_basic.py::test_list_dirent'
+ )
+ epytest -v -n "$(makeopts_jobs)"
+}
+
+src_install() {
+ into /
+ dosbin bcachefs
+
+ dosym bcachefs /sbin/fsck.bcachefs
+ dosym bcachefs /sbin/mkfs.bcachefs
+ dosym bcachefs /sbin/mount.bcachefs
+
+ if use fuse; then
+ dosym bcachefs /sbin/fsck.fuse.bcachefs
+ dosym bcachefs /sbin/mkfs.fuse.bcachefs
+ dosym bcachefs /sbin/mount.fuse.bcachefs
+ fi
+
+ doman bcachefs.8
+}
+
+pkg_postinst() {
+ if use fuse; then
+ ewarn "FUSE support is experimental."
+ ewarn "Please only use it for development purposes at the risk of losing your data."
+ ewarn "You have been warned."
+ fi
+}
diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.4.1.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.4.1.ebuild
new file mode 100644
index 000000000000..5e14d8dc33f4
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.4.1.ebuild
@@ -0,0 +1,260 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.2
+ anstream@0.3.2
+ anstyle-parse@0.2.1
+ anstyle-query@1.0.0
+ anstyle-wincon@1.0.2
+ anstyle@1.0.2
+ anyhow@1.0.75
+ atty@0.2.14
+ autocfg@1.1.0
+ bitfield@0.14.0
+ bitflags@1.3.2
+ bitflags@2.4.1
+ byteorder@1.5.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ chrono@0.4.31
+ clang-sys@1.6.1
+ clap_builder@4.3.24
+ clap_complete@4.3.2
+ clap_derive@4.3.12
+ clap_lex@0.5.0
+ clap@4.3.24
+ colorchoice@1.0.0
+ colored@2.0.4
+ either@1.9.0
+ errno-dragonfly@0.1.2
+ errno@0.2.8
+ errno@0.3.7
+ fastrand@2.0.1
+ filedescriptor@0.8.2
+ gag@1.0.0
+ getset@0.1.2
+ glob@0.3.1
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.3
+ io-lifetimes@1.0.11
+ is-terminal@0.4.9
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.150
+ libudev-sys@0.1.4
+ linux-raw-sys@0.3.8
+ linux-raw-sys@0.4.11
+ log@0.4.20
+ memchr@2.6.4
+ memoffset@0.8.0
+ minimal-lexical@0.2.1
+ nom@7.1.3
+ num-traits@0.2.17
+ once_cell@1.18.0
+ parse-display-derive@0.1.2
+ parse-display@0.1.2
+ paste@1.0.14
+ peeking_take_while@0.1.2
+ pkg-config@0.3.27
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.69
+ quote@1.0.33
+ redox_syscall@0.4.1
+ regex-automata@0.4.3
+ regex-syntax@0.6.29
+ regex-syntax@0.8.2
+ regex@1.10.2
+ rpassword@4.0.5
+ rustc-hash@1.1.0
+ rustix@0.37.27
+ rustix@0.38.25
+ shlex@1.2.0
+ strsim@0.10.0
+ syn@1.0.109
+ syn@2.0.39
+ tempfile@3.8.1
+ terminal_size@0.2.6
+ thiserror-impl@1.0.50
+ thiserror@1.0.50
+ udev@0.7.0
+ unicode-ident@1.0.12
+ utf8parse@0.2.1
+ uuid@1.6.1
+ version_check@0.9.4
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+"
+
+# Upstream have a fork of bindgen and use cgit
+declare -A GIT_CRATES=(
+ [bindgen]="https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs;f773267b090bf16b9e8375fcbdcd8ba5e88806a8;rust-bindgen-bcachefs-%commit%/bindgen"
+)
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cargo flag-o-matic llvm multiprocessing python-any-r1 toolchain-funcs unpacker
+
+DESCRIPTION="Tools for bcachefs"
+HOMEPAGE="https://bcachefs.org/"
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git"
+else
+ SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+ S="${WORKDIR}/${P}"
+ KEYWORDS="amd64 ~arm64"
+fi
+
+LICENSE="Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+IUSE="fuse test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/libaio
+ dev-libs/libsodium:=
+ dev-libs/userspace-rcu:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/udev
+ fuse? ( >=sys-fs/fuse-3.7.0 )
+"
+
+RDEPEND="${DEPEND}"
+#
+# Clang is required for bindgen
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+ ')
+ $(unpacker_src_uri_depends)
+ <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1))
+ virtual/pkgconfig
+ virtual/rust
+"
+
+llvm_check_deps() {
+ has_version -b "sys-devel/clang:${LLVM_SLOT}"
+}
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
+ fi
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ S="${S}/rust-src" cargo_live_src_unpack
+ else
+ unpack ${P}.tar.gz
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ tc-export CC
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+ # Patch our cargo-ebuild patch definition to pretend that our GIT_CRATE is upstream's URI.
+ if ! [[ ${PV} == "9999" ]]; then
+ sed -e 's https://gitlab.com/Matt.Jolly/rust-bindgen-bcachefs https://evilpiepirate.org/git/rust-bindgen.git ' \
+ -i "${WORKDIR}/cargo_home/config" || die
+ fi
+ append-lfs-flags
+}
+
+src_compile() {
+ use fuse && export BCACHEFS_FUSE=1
+ export BUILD_VERBOSE=1
+ export VERSION=${PV}
+
+ default
+
+ use test && emake tests
+}
+
+src_test() {
+ if ! use fuse; then
+ EPYTEST_IGNORE=( tests/test_fuse.py )
+ fi
+ EPYTEST_DESELECT=(
+ # Valgrind
+ 'tests/test_fixture.py::test_read_after_free'
+ 'tests/test_fixture.py::test_undefined'
+ 'tests/test_fixture.py::test_write_after_free'
+ 'tests/test_fixture.py::test_undefined_branch'
+ 'tests/test_fixture.py::test_leak'
+ 'tests/test_fixture.py::test_check'
+ # Fails in portage because of usersandbox; ensure that these pass before bumping!
+ 'tests/test_basic.py::test_format'
+ 'tests/test_basic.py::test_fsck'
+ 'tests/test_basic.py::test_list'
+ 'tests/test_basic.py::test_list_inodes'
+ 'tests/test_basic.py::test_list_dirent'
+ )
+ epytest -v -n "$(makeopts_jobs)"
+}
+
+src_install() {
+ into /
+ dosbin bcachefs
+
+ dosym bcachefs /sbin/fsck.bcachefs
+ dosym bcachefs /sbin/mkfs.bcachefs
+ dosym bcachefs /sbin/mount.bcachefs
+
+ if use fuse; then
+ dosym bcachefs /sbin/fsck.fuse.bcachefs
+ dosym bcachefs /sbin/mkfs.fuse.bcachefs
+ dosym bcachefs /sbin/mount.fuse.bcachefs
+ fi
+
+ doman bcachefs.8
+}
+
+pkg_postinst() {
+ if use fuse; then
+ ewarn "FUSE support is experimental."
+ ewarn "Please only use it for development purposes at the risk of losing your data."
+ ewarn "You have been warned."
+ fi
+}
diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-1.6.4-r1.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.6.4-r1.ebuild
new file mode 100644
index 000000000000..09617302a1b5
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.6.4-r1.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.2
+ anstream@0.6.11
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.6
+ anyhow@1.0.79
+ autocfg@1.1.0
+ bindgen@0.69.4
+ bitfield@0.14.0
+ bitflags@1.3.2
+ bitflags@2.4.2
+ byteorder@1.5.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ clang-sys@1.7.0
+ clap@4.4.18
+ clap_builder@4.4.18
+ clap_complete@4.4.10
+ clap_derive@4.4.7
+ clap_lex@0.6.0
+ colorchoice@1.0.0
+ colored@2.1.0
+ either@1.9.0
+ errno-dragonfly@0.1.2
+ errno@0.2.8
+ errno@0.3.8
+ glob@0.3.1
+ heck@0.4.1
+ home@0.5.9
+ itertools@0.12.1
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.153
+ libloading@0.8.1
+ libudev-sys@0.1.4
+ linux-raw-sys@0.4.13
+ log@0.4.20
+ memchr@2.7.1
+ memoffset@0.8.0
+ minimal-lexical@0.2.1
+ nom@7.1.3
+ once_cell@1.19.0
+ paste@1.0.14
+ pkg-config@0.3.29
+ prettyplease@0.2.16
+ proc-macro2@1.0.78
+ quote@1.0.35
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.3
+ rpassword@7.3.1
+ rtoolbox@0.0.2
+ rustc-hash@1.1.0
+ rustix@0.38.31
+ shlex@1.3.0
+ strsim@0.10.0
+ syn@2.0.48
+ terminal_size@0.3.0
+ udev@0.7.0
+ unicode-ident@1.0.12
+ utf8parse@0.2.1
+ uuid@1.7.0
+ which@4.4.2
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.0
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.0
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.0
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.0
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.0
+"
+
+LLVM_COMPAT=( {16..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cargo flag-o-matic llvm-r1 multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker
+
+DESCRIPTION="Tools for bcachefs"
+HOMEPAGE="https://bcachefs.org/"
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git"
+else
+ SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+ S="${WORKDIR}/${P}"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+IUSE="fuse test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/libaio
+ dev-libs/libsodium:=
+ dev-libs/userspace-rcu:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/udev
+ fuse? ( >=sys-fs/fuse-3.7.0 )
+"
+
+RDEPEND="${DEPEND}"
+#
+# Clang is required for bindgen
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+ ')
+ $(unpacker_src_uri_depends)
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ ')
+ virtual/pkgconfig
+ virtual/rust
+"
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
+ fi
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ S="${S}/rust-src" cargo_live_src_unpack
+ else
+ unpack ${P}.tar.gz
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ tc-export CC
+
+ # Version sed needed because the Makefile hasn't been bumped yet
+ # Check if it is no longer before bumping
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+ append-lfs-flags
+}
+
+src_compile() {
+ use fuse && export BCACHEFS_FUSE=1
+ export BUILD_VERBOSE=1
+ export VERSION=${PV}
+
+ default
+
+ use test && emake tests
+
+ local shell
+ for shell in bash fish zsh; do
+ ./bcachefs completions ${shell} > ${shell}.completion || die
+ done
+}
+
+src_test() {
+ if ! use fuse; then
+ EPYTEST_IGNORE=( tests/test_fuse.py )
+ fi
+ EPYTEST_DESELECT=(
+ # Valgrind
+ 'tests/test_fixture.py::test_read_after_free'
+ 'tests/test_fixture.py::test_undefined'
+ 'tests/test_fixture.py::test_write_after_free'
+ 'tests/test_fixture.py::test_undefined_branch'
+ 'tests/test_fixture.py::test_leak'
+ 'tests/test_fixture.py::test_check'
+ # Fails in portage because of usersandbox; ensure that these pass before bumping!
+ 'tests/test_basic.py::test_format'
+ 'tests/test_basic.py::test_fsck'
+ 'tests/test_basic.py::test_list'
+ 'tests/test_basic.py::test_list_inodes'
+ 'tests/test_basic.py::test_list_dirent'
+ )
+ epytest -v -n "$(makeopts_jobs)"
+}
+
+src_install() {
+ into /
+ dosbin bcachefs
+
+ dosym bcachefs /sbin/fsck.bcachefs
+ dosym bcachefs /sbin/mkfs.bcachefs
+ dosym bcachefs /sbin/mount.bcachefs
+
+ if use fuse; then
+ dosym bcachefs /sbin/fsck.fuse.bcachefs
+ dosym bcachefs /sbin/mkfs.fuse.bcachefs
+ dosym bcachefs /sbin/mount.fuse.bcachefs
+ fi
+
+ newbashcomp bash.completion bcachefs
+ newfishcomp fish.completion bcachefs.fish
+ newzshcomp zsh.completion _bcachefs
+
+ doman bcachefs.8
+}
+
+pkg_postinst() {
+ if use fuse; then
+ ewarn "FUSE support is experimental."
+ ewarn "Please only use it for development purposes at the risk of losing your data."
+ ewarn "You have been warned."
+ fi
+}
diff --git a/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild
new file mode 100644
index 000000000000..09617302a1b5
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-9999.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ aho-corasick@1.1.2
+ anstream@0.6.11
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.6
+ anyhow@1.0.79
+ autocfg@1.1.0
+ bindgen@0.69.4
+ bitfield@0.14.0
+ bitflags@1.3.2
+ bitflags@2.4.2
+ byteorder@1.5.0
+ cc@1.0.83
+ cexpr@0.6.0
+ cfg-if@1.0.0
+ clang-sys@1.7.0
+ clap@4.4.18
+ clap_builder@4.4.18
+ clap_complete@4.4.10
+ clap_derive@4.4.7
+ clap_lex@0.6.0
+ colorchoice@1.0.0
+ colored@2.1.0
+ either@1.9.0
+ errno-dragonfly@0.1.2
+ errno@0.2.8
+ errno@0.3.8
+ glob@0.3.1
+ heck@0.4.1
+ home@0.5.9
+ itertools@0.12.1
+ lazy_static@1.4.0
+ lazycell@1.3.0
+ libc@0.2.153
+ libloading@0.8.1
+ libudev-sys@0.1.4
+ linux-raw-sys@0.4.13
+ log@0.4.20
+ memchr@2.7.1
+ memoffset@0.8.0
+ minimal-lexical@0.2.1
+ nom@7.1.3
+ once_cell@1.19.0
+ paste@1.0.14
+ pkg-config@0.3.29
+ prettyplease@0.2.16
+ proc-macro2@1.0.78
+ quote@1.0.35
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.3
+ rpassword@7.3.1
+ rtoolbox@0.0.2
+ rustc-hash@1.1.0
+ rustix@0.38.31
+ shlex@1.3.0
+ strsim@0.10.0
+ syn@2.0.48
+ terminal_size@0.3.0
+ udev@0.7.0
+ unicode-ident@1.0.12
+ utf8parse@0.2.1
+ uuid@1.7.0
+ which@4.4.2
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.0
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.0
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.0
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.0
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.0
+"
+
+LLVM_COMPAT=( {16..17} )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cargo flag-o-matic llvm-r1 multiprocessing python-any-r1 shell-completion toolchain-funcs unpacker
+
+DESCRIPTION="Tools for bcachefs"
+HOMEPAGE="https://bcachefs.org/"
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://evilpiepirate.org/git/bcachefs-tools.git"
+else
+ SRC_URI="https://github.com/koverstreet/bcachefs-tools/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}"
+ S="${WORKDIR}/${P}"
+ KEYWORDS="~amd64 ~arm64"
+fi
+
+LICENSE="Apache-2.0 BSD GPL-2 MIT"
+SLOT="0"
+IUSE="fuse test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/lz4:=
+ app-arch/zstd:=
+ dev-libs/libaio
+ dev-libs/libsodium:=
+ dev-libs/userspace-rcu:=
+ sys-apps/keyutils:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/udev
+ fuse? ( >=sys-fs/fuse-3.7.0 )
+"
+
+RDEPEND="${DEPEND}"
+#
+# Clang is required for bindgen
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+ ')
+ $(unpacker_src_uri_depends)
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ ')
+ virtual/pkgconfig
+ virtual/rust
+"
+
+python_check_deps() {
+ if use test; then
+ python_has_version \
+ "dev-python/pytest[${PYTHON_USEDEP}]" \
+ "dev-python/pytest-xdist[${PYTHON_USEDEP}]"
+ fi
+ python_has_version "dev-python/docutils[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ llvm-r1_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == "9999" ]]; then
+ git-r3_src_unpack
+ S="${S}/rust-src" cargo_live_src_unpack
+ else
+ unpack ${P}.tar.gz
+ cargo_src_unpack
+ fi
+}
+
+src_prepare() {
+ default
+ tc-export CC
+
+ # Version sed needed because the Makefile hasn't been bumped yet
+ # Check if it is no longer before bumping
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+ append-lfs-flags
+}
+
+src_compile() {
+ use fuse && export BCACHEFS_FUSE=1
+ export BUILD_VERBOSE=1
+ export VERSION=${PV}
+
+ default
+
+ use test && emake tests
+
+ local shell
+ for shell in bash fish zsh; do
+ ./bcachefs completions ${shell} > ${shell}.completion || die
+ done
+}
+
+src_test() {
+ if ! use fuse; then
+ EPYTEST_IGNORE=( tests/test_fuse.py )
+ fi
+ EPYTEST_DESELECT=(
+ # Valgrind
+ 'tests/test_fixture.py::test_read_after_free'
+ 'tests/test_fixture.py::test_undefined'
+ 'tests/test_fixture.py::test_write_after_free'
+ 'tests/test_fixture.py::test_undefined_branch'
+ 'tests/test_fixture.py::test_leak'
+ 'tests/test_fixture.py::test_check'
+ # Fails in portage because of usersandbox; ensure that these pass before bumping!
+ 'tests/test_basic.py::test_format'
+ 'tests/test_basic.py::test_fsck'
+ 'tests/test_basic.py::test_list'
+ 'tests/test_basic.py::test_list_inodes'
+ 'tests/test_basic.py::test_list_dirent'
+ )
+ epytest -v -n "$(makeopts_jobs)"
+}
+
+src_install() {
+ into /
+ dosbin bcachefs
+
+ dosym bcachefs /sbin/fsck.bcachefs
+ dosym bcachefs /sbin/mkfs.bcachefs
+ dosym bcachefs /sbin/mount.bcachefs
+
+ if use fuse; then
+ dosym bcachefs /sbin/fsck.fuse.bcachefs
+ dosym bcachefs /sbin/mkfs.fuse.bcachefs
+ dosym bcachefs /sbin/mount.fuse.bcachefs
+ fi
+
+ newbashcomp bash.completion bcachefs
+ newfishcomp fish.completion bcachefs.fish
+ newzshcomp zsh.completion _bcachefs
+
+ doman bcachefs.8
+}
+
+pkg_postinst() {
+ if use fuse; then
+ ewarn "FUSE support is experimental."
+ ewarn "Please only use it for development purposes at the risk of losing your data."
+ ewarn "You have been warned."
+ fi
+}
diff --git a/sys-fs/bcachefs-tools/files/bcachefs-tools-1.4.0-fix-clang-musl.patch b/sys-fs/bcachefs-tools/files/bcachefs-tools-1.4.0-fix-clang-musl.patch
new file mode 100644
index 000000000000..b011ca1de422
--- /dev/null
+++ b/sys-fs/bcachefs-tools/files/bcachefs-tools-1.4.0-fix-clang-musl.patch
@@ -0,0 +1,24 @@
+Bug: https://bugs.gentoo.org/921564
+From https://github.com/koverstreet/bcachefs-tools/commit/8e56da27fd23c169395b3b266b15a1c093aba849
+
+diff --git a/libbcachefs.c b/libbcachefs.c
+index 68b750a..ec6b272 100644
+--- a/libbcachefs.c
++++ b/libbcachefs.c
+@@ -445,6 +445,7 @@ struct bchfs_handle bcache_fs_open(const char *path)
+ */
+ struct bchfs_handle bchu_fs_open_by_dev(const char *path, int *idx)
+ {
++ struct bch_opts opts = bch2_opts_empty();
+ char buf[1024], *uuid_str;
+
+ struct stat stat = xstat(path);
+@@ -469,8 +470,6 @@ struct bchfs_handle bchu_fs_open_by_dev(const char *path, int *idx)
+ uuid_str = p + 1;
+ } else {
+ read_super:
+- struct bch_opts opts = bch2_opts_empty();
+-
+ opt_set(opts, noexcl, true);
+ opt_set(opts, nochanges, true);
+
diff --git a/sys-fs/bcachefs-tools/metadata.xml b/sys-fs/bcachefs-tools/metadata.xml
new file mode 100644
index 000000000000..48e79cd6a8f8
--- /dev/null
+++ b/sys-fs/bcachefs-tools/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>csfore@posteo.net</email>
+ <name>Christopher Fore</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <use>
+ <flag name="fuse">Enable bcachefs FUSE support (experimental!)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">koverstreet/bcachefs-tools</remote-id>
+ <remote-id type="gitlab">Matt.Jolly/rust-bindgen-bcachefs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/bees/Manifest b/sys-fs/bees/Manifest
index 1c7af0985034..95df53082d6c 100644
--- a/sys-fs/bees/Manifest
+++ b/sys-fs/bees/Manifest
@@ -1,2 +1 @@
-DIST bees-0.6.5.tar.gz 125987 BLAKE2B 459cec5f3c706045ee12a6efe2e32315d71ca16c966bbdb4d6c813f726a7cc411cf4bd272c082ba0bbfc33e9ec4c715a6be773ba929c2b5b31f1731e10ad137c SHA512 db4cf6bc8c7709ee9aa1e2faa2ac1c6323fb8c7407470cec0c370a0f910ec4a1f3cf6ebe695d16383aaec00b62b3de77aa5bbdd47502bdb564e247b3b8879e0b
-DIST bees-0.7.tar.gz 164311 BLAKE2B b0b7f1bc24257e385b6201f473bf9377021d542a257b341c5c8ba5372fa604697e717bb65329d57abf2d2ac4311325e3242c481430629c911fcee3e42e1ea55e SHA512 beee7563ae0ea43247465941ef15f7bab2d86d5d164ccb280c378678b0bf61a67a4718881b94a5f3a72d4d0296eda92bfd7464dae0faeaa72b0e2a4ebef39a53
+DIST bees-0.10.tar.gz 177509 BLAKE2B 269cf65d5250a07297dfaee6c0fd6bc25199d63fe423d63ce39df8bcdb64d6f8110a0e03d0dc7dc1b105a8886f2a9364da8878481546eaa8dbf3dc46abc569ed SHA512 77a4ae3d66430c2d9dc0351c16c60bad95f21e238fc00f5f5787f55929ba75ee25212ac4bb4a3e4a9419cec27bbcfd2987aa925a54bc2872609b38a698dbedc3
diff --git a/sys-fs/bees/bees-0.7.ebuild b/sys-fs/bees/bees-0.10.ebuild
index a37916aa1764..a1b15c2ef627 100644
--- a/sys-fs/bees/bees-0.7.ebuild
+++ b/sys-fs/bees/bees-0.10.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info systemd toolchain-funcs
@@ -13,12 +13,12 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/Zygo/bees.git"
else
SRC_URI="https://github.com/Zygo/bees/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64"
+ KEYWORDS="amd64 ~arm64"
fi
LICENSE="GPL-3"
SLOT="0"
-IUSE="tools"
+IUSE=""
DEPEND="
>=sys-apps/util-linux-2.30.2
@@ -29,6 +29,10 @@ RDEPEND="${DEPEND}"
CONFIG_CHECK="~BTRFS_FS"
ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
+PATCHES=(
+ "${FILESDIR}/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch"
+)
+
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
if kernel_is -lt 4 11; then
@@ -42,6 +46,12 @@ pkg_pretend() {
ewarn "with more recent kernels:"
ewarn "# WARNING: CPU: 3 PID: 18172 at fs/btrfs/backref.c:1391 find_parent_nodes+0xc41/0x14e0"
ewarn
+ elif kernel_is -lt 5 7 0; then
+ ewarn "With kernel versions below 5.4.96 and 5.7, the kernel may hold file system"
+ ewarn "locks for a long time while at the same time CPU usage increases when bees is"
+ ewarn "operating. bees tries to avoid this behavior by excluding very common extents"
+ ewarn "from deduplication. This has only a minimal impact on dedupe effectiveness."
+ ewarn
fi
if kernel_is -lt 5 1 0; then
ewarn "IMPORTANT: With kernel versions below 5.1.0, you may experience data corruption"
@@ -51,8 +61,8 @@ pkg_pretend() {
ewarn "# commit 8e92821 btrfs: fix corruption reading shared and compressed extents after hole punching"
ewarn
fi
- if kernel_is -lt 5 3 4; then
- ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running"
+ if kernel_is -lt 5 4 19; then
+ ewarn "With kernel versions below 5.4.19, bees may trigger a btrfs bug when running"
ewarn "btrfs-balance in parallel. This may lead to meta-data corruption in the worst"
ewarn "case. Especially, kernels 5.1.21 and 5.2.21 should be avoided. Kernels 5.0.x"
ewarn "after 5.0.21 should be safe. In the best case, affected kernels may force"
@@ -60,6 +70,16 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
+ if kernel_is -gt 5 15 106; then
+ if kernel_is -lt 6 3 10; then
+ ewarn "With kernel versions 5.15.107 or later, there is a memory fragmentation"
+ ewarn "issue with LOGICAL_INO which can lead to cache thrashing and cause IO"
+ ewarn "latency spikes. This version ships with a work-around at the cost of not"
+ ewarn "handling highly duplicated filesystems that well. More details:"
+ ewarn "https://github.com/Zygo/bees/issues/260"
+ ewarn
+ fi
+ fi
elog "Bees recommends running the latest current kernel for performance and"
elog "reliability reasons, see README.md."
@@ -83,9 +103,6 @@ src_configure() {
if [[ ${PV} != "9999" ]] ; then
echo BEES_VERSION=v${PV} >>localconf || die
fi
- if use tools; then
- echo OPTIONAL_INSTALL_TARGETS=install_tools >>localconf || die
- fi
}
src_compile() {
diff --git a/sys-fs/bees/bees-0.6.5-r1.ebuild b/sys-fs/bees/bees-0.6.5-r1.ebuild
deleted file mode 100644
index ee339e86c5d3..000000000000
--- a/sys-fs/bees/bees-0.6.5-r1.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info systemd toolchain-funcs
-
-DESCRIPTION="Best-Effort Extent-Same, a btrfs dedup agent"
-HOMEPAGE="https://github.com/Zygo/bees"
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Zygo/bees.git"
-else
- SRC_URI="https://github.com/Zygo/bees/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm64"
-fi
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="tools"
-
-DEPEND="
- >=sys-apps/util-linux-2.30.2
- >=sys-fs/btrfs-progs-4.20.2
-"
-RDEPEND="${DEPEND}"
-
-CONFIG_CHECK="~BTRFS_FS"
-ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
-
-PATCHES=( "${FILESDIR}/0001-HACK-musl-does-not-define-pthread_getname_np.patch" )
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != buildonly ]]; then
- if kernel_is -lt 4 11; then
- ewarn "With kernel versions below 4.11, bees may severely degrade system performance"
- ewarn "and responsiveness. Especially, the kernel may deadlock while bees is"
- ewarn "running, it's recommended to run at least kernel 4.11."
- ewarn
- elif kernel_is -lt 4 14 29; then
- ewarn "With kernel versions below 4.14.29, bees may generate a lot of bogus WARN_ON()"
- ewarn "messages in the kernel log. These messages can be ignored and this is fixed"
- ewarn "with more recent kernels:"
- ewarn "# WARNING: CPU: 3 PID: 18172 at fs/btrfs/backref.c:1391 find_parent_nodes+0xc41/0x14e0"
- ewarn
- fi
- if kernel_is -lt 5 1 0; then
- ewarn "IMPORTANT: With kernel versions below 5.1.0, you may experience data corruption"
- ewarn "due to bees using compression in btrfs. You are adviced to use a chronologically"
- ewarn "later kernel, that includes older LTS versions released after 5.0.4:"
- ewarn "Fixed in: 5.1+, 5.0.4+, 4.19.31+, 4.14.108+, 4.9.165+, 4.4.177+, 3.18.137+"
- ewarn "# commit 8e92821 btrfs: fix corruption reading shared and compressed extents after hole punching"
- ewarn
- fi
- if kernel_is -lt 5 3 4; then
- ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running"
- ewarn "btrfs-balance in parallel. This may lead to meta-data corruption in the worst"
- ewarn "case. Especially, kernels 5.1.21 and 5.2.21 should be avoided. Kernels 5.0.x"
- ewarn "after 5.0.21 should be safe. In the best case, affected kernels may force"
- ewarn "the device RO without writing corrupted meta-data. More details:"
- ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
- ewarn
- fi
-
- elog "Bees recommends running the latest current kernel for performance and"
- elog "reliability reasons, see README.md."
- fi
-}
-
-src_prepare() {
- default
- sed -i 's/ -Werror//' makeflags || die
- sed -i '/^LDFLAGS/s/=/+=/' {src,test}/Makefile || die
-}
-
-src_configure() {
- tc-export CC CXX
- cat >localconf <<-EOF || die
- ETC_PREFIX="${EPREFIX}/etc"
- LIBEXEC_PREFIX="${EPREFIX}/usr/libexec"
- PREFIX="${EPREFIX}/usr"
- LIBDIR="${EPREFIX}/$(get_libdir)"
- SYSTEMD_SYSTEM_UNIT_DIR="$(systemd_get_systemunitdir)"
- DEFAULT_MAKE_TARGET=all
- EOF
- if [[ ${PV} != "9999" ]] ; then
- cat >>localconf <<-EOF || die
- BEES_VERSION=v${PV}
- EOF
- fi
- if use tools; then
- echo OPTIONAL_INSTALL_TARGETS=install_tools >>localconf || die
- fi
-}
-
-src_compile() {
- default
- # localconf quotes leak in the systemd unit but are still needed for spaces
- sed -i 's/"//g' scripts/beesd@.service || die
-}
diff --git a/sys-fs/bees/bees-9999.ebuild b/sys-fs/bees/bees-9999.ebuild
index 7fffe63931c2..1b164eb56b08 100644
--- a/sys-fs/bees/bees-9999.ebuild
+++ b/sys-fs/bees/bees-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info systemd toolchain-funcs
@@ -18,7 +18,7 @@ fi
LICENSE="GPL-3"
SLOT="0"
-IUSE="tools"
+IUSE=""
DEPEND="
>=sys-apps/util-linux-2.30.2
@@ -29,6 +29,10 @@ RDEPEND="${DEPEND}"
CONFIG_CHECK="~BTRFS_FS"
ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
+PATCHES=(
+ "${FILESDIR}/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch"
+)
+
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
if kernel_is -lt 4 11; then
@@ -42,6 +46,12 @@ pkg_pretend() {
ewarn "with more recent kernels:"
ewarn "# WARNING: CPU: 3 PID: 18172 at fs/btrfs/backref.c:1391 find_parent_nodes+0xc41/0x14e0"
ewarn
+ elif kernel_is -lt 5 7 0; then
+ ewarn "With kernel versions below 5.4.96 and 5.7, the kernel may hold file system"
+ ewarn "locks for a long time while at the same time CPU usage increases when bees is"
+ ewarn "operating. bees tries to avoid this behavior by excluding very common extents"
+ ewarn "from deduplication. This has only a minimal impact on dedupe effectiveness."
+ ewarn
fi
if kernel_is -lt 5 1 0; then
ewarn "IMPORTANT: With kernel versions below 5.1.0, you may experience data corruption"
@@ -51,8 +61,8 @@ pkg_pretend() {
ewarn "# commit 8e92821 btrfs: fix corruption reading shared and compressed extents after hole punching"
ewarn
fi
- if kernel_is -lt 5 3 4; then
- ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running"
+ if kernel_is -lt 5 4 19; then
+ ewarn "With kernel versions below 5.4.19, bees may trigger a btrfs bug when running"
ewarn "btrfs-balance in parallel. This may lead to meta-data corruption in the worst"
ewarn "case. Especially, kernels 5.1.21 and 5.2.21 should be avoided. Kernels 5.0.x"
ewarn "after 5.0.21 should be safe. In the best case, affected kernels may force"
@@ -60,6 +70,16 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
+ if kernel_is -gt 5 15 106; then
+ if kernel_is -lt 6 3 10; then
+ ewarn "With kernel versions 5.15.107 or later, there is a memory fragmentation"
+ ewarn "issue with LOGICAL_INO which can lead to cache thrashing and cause IO"
+ ewarn "latency spikes. This version ships with a work-around at the cost of not"
+ ewarn "handling highly duplicated filesystems that well. More details:"
+ ewarn "https://github.com/Zygo/bees/issues/260"
+ ewarn
+ fi
+ fi
elog "Bees recommends running the latest current kernel for performance and"
elog "reliability reasons, see README.md."
@@ -83,9 +103,6 @@ src_configure() {
if [[ ${PV} != "9999" ]] ; then
echo BEES_VERSION=v${PV} >>localconf || die
fi
- if use tools; then
- echo OPTIONAL_INSTALL_TARGETS=install_tools >>localconf || die
- fi
}
src_compile() {
diff --git a/sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch b/sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch
new file mode 100644
index 000000000000..0ceb5cbfc79e
--- /dev/null
+++ b/sys-fs/bees/files/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch
@@ -0,0 +1,34 @@
+From 10c2006e627b5bda74f9f8aca1a574aa0e0e1eaa Mon Sep 17 00:00:00 2001
+From: Kai Krakow <kai@kaishome.de>
+Date: Sun, 9 Jul 2023 12:24:40 +0200
+Subject: [PATCH] HACK: crucible: Work around kernel memory fragmentation
+
+According to @Zygo:
+
+> This will drastically reduce the number of reflinks bees can handle
+> to a single extent, but that size is beyond more than enough for most
+> filesystems. Making the buffer smaller may also reduce the size of
+> vmallocs which might be aggravating the kernel's memory manager.
+
+Link: https://github.com/Zygo/bees/issues/260#issuecomment-1627586574
+Signed-off-by: Kai Krakow <kai@kaishome.de>
+---
+ include/crucible/fs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/crucible/fs.h b/include/crucible/fs.h
+index 6d1780b..5da7da0 100644
+--- a/include/crucible/fs.h
++++ b/include/crucible/fs.h
+@@ -65,7 +65,7 @@ namespace crucible {
+ };
+
+ struct BtrfsIoctlLogicalInoArgs {
+- BtrfsIoctlLogicalInoArgs(uint64_t logical, size_t buf_size = 16 * 1024 * 1024);
++ BtrfsIoctlLogicalInoArgs(uint64_t logical, size_t buf_size = 64 * 1024);
+
+ uint64_t get_flags() const;
+ void set_flags(uint64_t new_flags);
+--
+2.39.3
+
diff --git a/sys-fs/bees/files/0001-HACK-musl-does-not-define-pthread_getname_np.patch b/sys-fs/bees/files/0001-HACK-musl-does-not-define-pthread_getname_np.patch
deleted file mode 100644
index 5f542956d88b..000000000000
--- a/sys-fs/bees/files/0001-HACK-musl-does-not-define-pthread_getname_np.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From ba43aef5e264abd4b24baa1ca9f042e30e565155 Mon Sep 17 00:00:00 2001
-From: Kai Krakow <kai@kaishome.de>
-Date: Thu, 16 Apr 2020 21:21:57 +0200
-Subject: [PATCH] HACK: musl does not define pthread_getname_np()
-
-The glibc alternative musl does not define this setter function. This
-fix is probably wrong because it resets the thread names used for
-logging internally to empty strings.
-
-Link: https://www.openwall.com/lists/musl/2019/07/17/3
----
- lib/task.cc | 2 ++
- src/bees.cc | 2 ++
- 2 files changed, 4 insertions(+)
-
-diff --git a/lib/task.cc b/lib/task.cc
-index 4bdaeec..5b03335 100644
---- a/lib/task.cc
-+++ b/lib/task.cc
-@@ -104,7 +104,9 @@ namespace crucible {
-
- char buf[24];
- memset(buf, '\0', sizeof(buf));
-+#ifdef _GNU_SOURCE
- DIE_IF_MINUS_ERRNO(pthread_getname_np(pthread_self(), buf, sizeof(buf)));
-+#endif
- Cleanup pthread_name_cleaner([&]() {
- pthread_setname_np(pthread_self(), buf);
- });
-diff --git a/src/bees.cc b/src/bees.cc
-index aa55af0..c1cc8cb 100644
---- a/src/bees.cc
-+++ b/src/bees.cc
-@@ -160,10 +160,12 @@ BeesNote::get_name()
- // OK try the pthread name next.
- char buf[24];
- memset(buf, '\0', sizeof(buf));
-+#ifdef _GNU_SOURCE
- int err = pthread_getname_np(pthread_self(), buf, sizeof(buf));
- if (err) {
- return string("pthread_getname_np: ") + strerror(err);
- }
-+#endif
- buf[sizeof(buf) - 1] = '\0';
-
- // thread_getname_np returns process name
---
-2.24.1
-
diff --git a/sys-fs/bees/metadata.xml b/sys-fs/bees/metadata.xml
index 29a9cccdbdf5..c7b55c3b67c7 100644
--- a/sys-fs/bees/metadata.xml
+++ b/sys-fs/bees/metadata.xml
@@ -9,11 +9,8 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
-<use>
- <flag name="tools">Build extra tools useful for debugging (fiemap, fiewalk)</flag>
-</use>
-<upstream>
- <bugs-to>https://github.com/Zygo/bees/issues</bugs-to>
- <remote-id type="github">Zygo/bees</remote-id>
-</upstream>
+ <upstream>
+ <bugs-to>https://github.com/Zygo/bees/issues</bugs-to>
+ <remote-id type="github">Zygo/bees</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/bindfs/Manifest b/sys-fs/bindfs/Manifest
index 20f2bae4283e..c5d12074b70c 100644
--- a/sys-fs/bindfs/Manifest
+++ b/sys-fs/bindfs/Manifest
@@ -1,3 +1,5 @@
-DIST bindfs-1.14.9.tar.gz 410344 BLAKE2B 3875c436e7f52a59c0b7aeb2d7fbcfa7d4edfc3f8397bf7d2a920a260f857ec16df64b78655175f9b0929b93788fb6af46c2844f30ee59c30b6ef9fb5beb4cf7 SHA512 e8c454b4edd65faa64255c7706c195aa1cab6436a0d3481e434a5e535a3c24df1b13342b72ed3da097e68e9d94582237d682dbb675734061d115e863d5767ffd
-DIST bindfs-1.15.0.tar.gz 415596 BLAKE2B e80bf7e233668ceddb6f57b7b939a68c918f3a6635d99bdc0efdacd67d74fdea66aa3d03ced6cfeddfc1a402e9866d27d83bcbe39dc6c25c50247c6b42739d9a SHA512 4f11dcb29321daa950bc8d778c7cc0269f200535367534c5ebb1e85f2f9e0e37359ebaa0d033fefc2140f07915d6ad7e884d185ac168db31c32e2e52175d0bfa
-DIST bindfs-1.15.1.tar.gz 415676 BLAKE2B 1d18d7a51e60e5ef304cdd13e908ebf5ca3e684b640f6c21678be685c3ff15ed43a20edcecfd6ef13d631974b11c5c7145e4365bf52f7e9280a53772f1377b84 SHA512 da9003f141b7aa2c23651b3b836b1d979bf1b19915f307c05e40ae6906aab738036cc8b5df6caeec158e4fa6b7bca71489ea7884ff1607c6fea72a603a048d59
+DIST bindfs-1.17.3.tar.gz 421902 BLAKE2B 367f4f7d20468c0a652c45825525ad31a354e8d5216f742084ef284537e36c4197bb775daeb84e3c853324750043cce4d268b97c3c91dd5c52204f81586f1812 SHA512 0a3e970dd192d24dd69c7e897e9f88a68ce6e4926a42a70e555d5b1bcb699849e1b4df5767cc550c2bac1da47a8dc03838a6595a73c8d8f1c0eceaafd9e2c83f
+DIST bindfs-1.17.4.tar.gz 423505 BLAKE2B 553688f974dabec256d007dae60b1c8868d63199f04e0f557d55d04b6a31de8524efd192320979cf733d0a5e8a90b80956e4ef04aa508bd17ab3559e75269a52 SHA512 8b49dbccfaec262c26956ad36f8c49b42713d15b4b8ef1a2dc2c74e54d834a6f76430cf5c59d252b69f4c1ce72dc781247366c7832b7f343e78eeeb0a6fb449e
+DIST bindfs-1.17.5.tar.gz 424237 BLAKE2B c0396cad5b4522c280b301e5977d288d58fefe1118c100f4f4556ffc85cd4f8256a0348c51fd853654bc72998262509a9df01eb8969e1da402e90dbf1aab6807 SHA512 950fca3bd4a5f373c632883efafe505f9a1ddb45da40d8cd7bfa814733a68a84a2cfd746b74a831c292036f63da5d935cba35cf46e0e67e108aab29c2154a170
+DIST bindfs-1.17.6.tar.gz 424268 BLAKE2B 6804f830860b3833a5ad867826b6bf7d52bce96f129f456476ccf03dc70bc1af97df7512d707074ccee44d3a17e51c964d075cba59c591faaccc022aebd91a64 SHA512 57a6cf3cdeb6a3ebdbcd59349e0f6fbcb60c4383a26ffc7be3b61152138d593f995501234cb5d4082e689b640de73efc60ce05219c3df1ff776498be27bfe0f1
+DIST bindfs-1.17.7.tar.gz 427251 BLAKE2B 1370f68c0a56ca182c14f6043565ebe7407d165b5ad5a101cb972f2ac9724c4d6c5e6628d9f9da95f4d3e3fa154f8213023daebd3833a3da12b74f2ddf57b0ff SHA512 035593e65b5ffaff77395a6c8c79a6ea01e7702e8f138dfee25342c7e6cd280673cb98c3364f50c036038935a3ace2fa8ebe0713f3bc6b7226fafaf0c9107738
diff --git a/sys-fs/bindfs/bindfs-1.15.0.ebuild b/sys-fs/bindfs/bindfs-1.17.3.ebuild
index fc99a2e749ba..2729a0dd8fb3 100644
--- a/sys-fs/bindfs/bindfs-1.15.0.ebuild
+++ b/sys-fs/bindfs/bindfs-1.17.3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
HOMEPAGE="https://bindfs.org/"
diff --git a/sys-fs/bindfs/bindfs-1.15.1.ebuild b/sys-fs/bindfs/bindfs-1.17.4.ebuild
index fc99a2e749ba..2729a0dd8fb3 100644
--- a/sys-fs/bindfs/bindfs-1.15.1.ebuild
+++ b/sys-fs/bindfs/bindfs-1.17.4.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
HOMEPAGE="https://bindfs.org/"
diff --git a/sys-fs/bindfs/bindfs-1.14.9.ebuild b/sys-fs/bindfs/bindfs-1.17.5.ebuild
index 726cd4bf8101..2729a0dd8fb3 100644
--- a/sys-fs/bindfs/bindfs-1.14.9.ebuild
+++ b/sys-fs/bindfs/bindfs-1.17.5.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
HOMEPAGE="https://bindfs.org/"
@@ -12,12 +12,12 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug"
-RDEPEND=">=sys-fs/fuse-2.9:0"
+RDEPEND=">=sys-fs/fuse-3.10.2:3"
DEPEND="${RDEPEND}
virtual/pkgconfig"
RESTRICT="test"
src_configure() {
- econf $(use_enable debug debug-output)
+ econf $(use_enable debug debug-output) --with-fuse3
}
diff --git a/sys-fs/bindfs/bindfs-1.17.6.ebuild b/sys-fs/bindfs/bindfs-1.17.6.ebuild
new file mode 100644
index 000000000000..2729a0dd8fb3
--- /dev/null
+++ b/sys-fs/bindfs/bindfs-1.17.6.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
+HOMEPAGE="https://bindfs.org/"
+SRC_URI="https://bindfs.org/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND=">=sys-fs/fuse-3.10.2:3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="test"
+
+src_configure() {
+ econf $(use_enable debug debug-output) --with-fuse3
+}
diff --git a/sys-fs/bindfs/bindfs-1.17.7.ebuild b/sys-fs/bindfs/bindfs-1.17.7.ebuild
new file mode 100644
index 000000000000..e72e4409e14b
--- /dev/null
+++ b/sys-fs/bindfs/bindfs-1.17.7.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="FUSE filesystem for bind mounting with altered permissions"
+HOMEPAGE="https://bindfs.org/"
+SRC_URI="https://bindfs.org/downloads/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+RDEPEND=">=sys-fs/fuse-3.10.2:3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+RESTRICT="test"
+
+src_configure() {
+ econf $(use_enable debug debug-output) --with-fuse3
+}
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index 2a80ea54d28a..99a840ad8f68 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -1,7 +1,6 @@
-DIST btrfs-progs-v5.10.1.tar.xz 2204164 BLAKE2B ed83729754f9abd22d4d2e7ae9a7e90e80be9b63d49a4a9692e20e5939467dbd864834b71495661e1c7a1fca89e253a62fbda37f1d01d2eadecb13f5904f0dd0 SHA512 32e5b8bda1863e34613802db91946f240b2cde21288ff8f95c1807e7afd0a67c5a704aa4d2bc0d7b1ca094de6831adbfec83fe61f74e1caf6d1975be7d972f2d
-DIST btrfs-progs-v5.15.1.tar.xz 2280796 BLAKE2B b460254a6261d3d04a2d265a3b4e05a89385888f7ea4f2b16ec5b73922646c7f47a546fc78ba7c009e65914125435cf38157eabffc74f5d00df2c21c844922e3 SHA512 68ed89e337ae857fdaf077eaa889e259e9f162ea2222bdaa03f4187783a8682c24d45c91b0559b901d81429ba2cd3f84087d032d354092d5512fb226bdf91549
-DIST btrfs-progs-v5.16.2.tar.xz 2334464 BLAKE2B a21809a840107c370f1598e19f8b07d8bdd704e8ff3ce4cb78431000e7560802e1047d8200c523a45a761d59a311f1ec384946bd585826a129b05a1a5fd0250e SHA512 c89a763e8b099e0e9d04ff239dfee156a15fc783c515bbd48597f5645f720c377dbb4f2dfe9065971a65d3ade9d8fcb24cf37d527811bf4204153a06f7c8c3a7
-DIST btrfs-progs-v5.16.tar.xz 2327376 BLAKE2B 3bb3b630d465068373bf39776389f733e734cb39801b389a4e94ba2bb325e9625e2cd767c783e4a05e1e18fed92c06190c5d3fbb476b57689a16482357c86b61 SHA512 3ba557134b19f1abb6c63bf3e2092852f92e988677c4bcf9421c824824b87565ae5cc0e5bca0370be81766a8c8fbda21dfb443dcd159f705f31e70b6bf19aa63
-DIST btrfs-progs-v5.17.tar.xz 2286016 BLAKE2B 013acc4f9ec294d8d88b04e9f0ee33c450bfa6621b029005d18885add7c0a1da7e645c1f984931749ebd8f3166e8d849ec128a0f95cc189c15878d45acc0901b SHA512 4c2bfafe0fcae47f01bad41910c2e2b3d48a12b88ca1891a9ea63ac1e65699c2e22f481492c7dd11fbea546647ab78718ab9b6997bb257fc29d1482fde9b08d1
-DIST btrfs-progs-v5.18.1.tar.xz 2293940 BLAKE2B ce2326cca51a4242895aada860e290c6af69a216dc6369673bb3321ab91bfe1c995fcc37dd0c1e15c8e28aabaedf3d6c9508bde393eb0ba4c7b9327c922f749a SHA512 265a03b0db00a231ad51bb75fb161dee0a7a51cd120a696ca0524f08ef635b18afe43b391fa9889a4a79734ccc3931e4374bd950eb26dc47ddc8482368efed0e
-DIST btrfs-progs-v5.18.tar.xz 2293620 BLAKE2B dd5da4618e53d7d1c6636b4dcf9adb0e24e2e735a13ff1858bc55d21a90ad31cb2a7a11ab12beddd44682c62673fda41ebc7517aa80c81cd61cc1b195668a0e1 SHA512 142d9c133a41c0843ab8442018a6caf5186757d6c8d73f9a69a2245f62590d93a448dae6fdde2ebc5f091cc39da9a79ad0e8c94e1873d75e6c723dcc79d74309
+DIST btrfs-progs-v6.6.3.tar.sign 566 BLAKE2B 9f8a14405f78c8eb5a92d59f9ca776cd15bfd43bc323a0f5a98cc2d9a6f782e999a792ddb266fef4dfe189e1cb8eebbd021a12b615e22bdd4097a74bf3b277a9 SHA512 07f062cf66c0e5f0bd833f0a1c9901ec06ac4eb258acec8e96ffbb0b85007a67bdc992492b25f6039fcf603352131fca8c57162fa61007e8ccf1f4edf71dab97
+DIST btrfs-progs-v6.6.3.tar.xz 2557216 BLAKE2B 274fad52bcab45bd0f6496c1bc10e1736e7b766f53b712790996a8a38f74eedcc570783599bed62cd4f84e5629f2216340a66941d9fbe0c7890f1c56ed66df8a SHA512 93e1defacf0f280fc02e10a20fd2bc3775c52956a0339e30b829cc3bef85629d565cf3f6a9af126e38bbb73e8e9b9a0069abbe0e57957a56ca1a8826f5de624a
+DIST btrfs-progs-v6.7.1.tar.sign 566 BLAKE2B e5aba64e199f26cef84a8cbbb034c0a5c24572e43fef2fdce79f0dbd892b1609876f681bf79de53e6473345f3de8b8fee6aac2d33673e0b080ab33fb935bd32d SHA512 8fad1c2c47356a04434e12621c526603bf651bdcb0a08deb4022d83953d8c501b8aaa2da05cbf94e0bde43b48a4135fff78a5746423466036ff4899dd79b9589
+DIST btrfs-progs-v6.7.1.tar.xz 2565576 BLAKE2B 4e05e9dd80e5531425490970318389aef280f61cc636a80aa2bbc630399afd4f1f3ce649d194822ff93ff4b1774d65a504e3bed6f1426ff60830e4c0d0ac87b0 SHA512 8a2e735f036a0778a2482d42c813012269903174232bc2924af41b72bbcfb49783d5f3b7d0af085285a68754748bd76b6534a498a47cdcea94020f4262281ffc
+DIST btrfs-progs-v6.8.tar.sign 566 BLAKE2B 2f063015b515980a88980d02ac359363506d8445bf6ebffccd0f224b09b457b9d859ec7ae1371d3dcb04cfcb29ceee75ec8f73c2adee4765ca8287a79929234c SHA512 d858033046af03d9f7bedb492eadaaae92c8d3dde451e52fc78a8a1c4dbf57078e8d907dbd3344f1414b4dad9646aef616ddec0c0fefaf65340411e84c36c96f
+DIST btrfs-progs-v6.8.tar.xz 2587804 BLAKE2B 0f4cc83fa896bc932fdcd34fffae72b0fad44424ac0b5e2b7bde44dd91fcef33f2fa2ef36eb77299de753e4d4b47794cabad5d84760b9d34a9b6765a834d15b7 SHA512 adce7c15ef5a19c4fc513f1743b4f65f2c72aa4490703d36c93230abb305c576bd69a32c4bcf19c2b58aee5b5755e0d54fb82fe649a5fe021366eb0d89af4261
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild
deleted file mode 100644
index 01164d323b79..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.10.1-r1.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..9} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT=test # tries to mount repared filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- DEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${EPREFIX}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${EPREFIX}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
- newbashcomp btrfs-completion btrfs
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
-
-pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild
deleted file mode 100644
index 8132f35bc6ac..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.15.1.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT="test" # tries to mount repaired filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${EPREFIX}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${EPREFIX}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
- newbashcomp btrfs-completion btrfs
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
-
-pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild
deleted file mode 100644
index 5c1aabd39fb4..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.16.2.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-# TODO: change to sphinx for docs in 5.17
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT="test" # tries to mount repaired filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
-
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
-
- newbashcomp btrfs-completion btrfs
-
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
-
-pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild
deleted file mode 100644
index 81d242c828ef..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.16.ebuild
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 python-single-r1
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- [[ "${PV}" = *_rc* ]] || \
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
- S="${WORKDIR}/${PN}-${MY_PV}"
-else
- WANT_LIBTOOL=none
- inherit autotools git-r3
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-RESTRICT="test" # tries to mount repaired filesystems
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/5.16-linux-headers-before-5.11.patch
-)
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR=m4 eautoreconf
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
-
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
-
- newbashcomp btrfs-completion btrfs
-
- use python && python_optimize
-
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
-
-pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild
deleted file mode 100644
index a8119d0182c4..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.17.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2008-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 python-single-r1 udev
-
-libbtrfs_soname=0
-
-if [[ ${PV} != 9999 ]]; then
- MY_PV="v${PV/_/-}"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
-
- if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
- fi
-
- S="${WORKDIR}"/${PN}-${MY_PV}
-else
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
- WANT_LIBTOOL="none"
- inherit autotools git-r3
-fi
-
-DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
-
-LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
-
-# Tries to mount repaired filesystems
-RESTRICT="test"
-
-RDEPEND="
- dev-libs/lzo:2=
- sys-apps/util-linux:=[static-libs(+)?]
- sys-libs/zlib:=
- convert? (
- sys-fs/e2fsprogs:=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:= )
-"
-DEPEND="${RDEPEND}
- >=sys-kernel/linux-headers-5.10
- convert? ( sys-apps/acl )
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ')
- )
- static? (
- dev-libs/lzo:2[static-libs(+)]
- sys-apps/util-linux:0[static-libs(+)]
- sys-libs/zlib:0[static-libs(+)]
- convert? (
- sys-fs/e2fsprogs[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd[static-libs(+)] )
- )
-"
-BDEPEND="
- doc? (
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- dev-python/sphinx
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- BDEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
- default
- if [[ ${PV} == 9999 ]]; then
- AT_M4DIR="m4" eautoreconf
-
- mkdir config || die
- local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
- [[ -e ${automakedir} ]] || die "Could not locate automake directory"
-
- ln -s "${automakedir}"/install-sh config/install-sh || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
- ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
- fi
-}
-
-src_configure() {
- local myeconfargs=(
- --bindir="${EPREFIX}"/sbin
-
- $(use_enable convert)
- $(use_enable doc documentation)
- $(use_enable elibc_glibc backtrace)
- $(use_enable python)
- $(use_enable static-libs static)
- $(use_enable zstd)
-
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
- )
-
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- emake V=1 all $(usev static)
-}
-
-src_install() {
- local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
- )
-
- emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
-
- newbashcomp btrfs-completion btrfs
-
- use python && python_optimize
-
- # Install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
-}
-
-pkg_postinst() {
- udev_reload
-}
-
-pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.6.3.ebuild
index cc8ae19c469e..565618d2fca3 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-5.18.1-r1.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.6.3.ebuild
@@ -1,39 +1,42 @@
-# Copyright 2008-2022 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-r1 udev
-libbtrfs_soname=0
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+ inherit verify-sig
-if [[ ${PV} != 9999 ]]; then
MY_PV="v${PV/_/-}"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
+ verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
+ "
+ S="${WORKDIR}"/${PN}-${MY_PV}
if [[ ${PV} != *_rc* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
fi
-
- S="${WORKDIR}"/${PN}-${MY_PV}
-else
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
- WANT_LIBTOOL="none"
- inherit autotools git-r3
fi
DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
+SLOT="0/0" # libbtrfs soname
IUSE="+convert python +man reiserfs static static-libs udev +zstd"
# Could support it with just !systemd => eudev, see mdadm, but let's
# see if someone asks for it first.
-REQUIRED_USE="static? ( !udev )"
+REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
# Tries to mount repaired filesystems
RESTRICT="test"
@@ -52,7 +55,8 @@ RDEPEND="
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
@@ -73,21 +77,51 @@ DEPEND="${RDEPEND}
zstd? ( app-arch/zstd[static-libs(+)] )
)
"
-BDEPEND="virtual/pkgconfig
- man? ( dev-python/sphinx )"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ )
+"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
pkg_setup() {
use python && python-single-r1_pkg_setup
}
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if in_iuse verify-sig && use verify-sig ; then
+ mkdir "${T}"/verify-sig || die
+ pushd "${T}"/verify-sig &>/dev/null || die
+
+ # Upstream sign the decompressed .tar
+ # Let's do it separately in ${T} then cleanup to avoid external
+ # effects on normal unpack.
+ cp "${DISTDIR}"/${MY_P}.tar.xz . || die
+ xz -d ${MY_P}.tar.xz || die
+ verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
+
+ popd &>/dev/null || die
+ rm -r "${T}"/verify-sig || die
+ fi
+
+ default
+}
+
src_prepare() {
default
+
if [[ ${PV} == 9999 ]]; then
AT_M4DIR="m4" eautoreconf
@@ -115,22 +149,37 @@ src_configure() {
$(use_enable udev libudev)
$(use_enable zstd)
- # Could support libgcrypt, libsodium, libkcapi
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
--with-crypto=builtin
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
)
- econf "${myeconfargs[@]}"
+ export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
+ export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
+
+ # bash as a tepmorary workaround for https://github.com/kdave/btrfs-progs/pull/721
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
}
src_compile() {
emake V=1 all $(usev static)
}
+src_test() {
+ emake V=1 -j1 -C tests test
+
+ if use python ; then
+ cd libbtrfsutil/python || die
+
+ local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
+ ${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
+ fi
+}
+
src_install() {
local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
+ $(usev python install_python)
+ $(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
@@ -145,5 +194,5 @@ pkg_postinst() {
}
pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
+ udev_reload
}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.7.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.7.1.ebuild
new file mode 100644
index 000000000000..565618d2fca3
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.7.1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit bash-completion-r1 python-single-r1 udev
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+ inherit verify-sig
+
+ MY_PV="v${PV/_/-}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
+ verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
+ "
+ S="${WORKDIR}"/${PN}-${MY_PV}
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86"
+ fi
+fi
+
+DESCRIPTION="Btrfs filesystem utilities"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
+
+LICENSE="GPL-2"
+SLOT="0/0" # libbtrfs soname
+IUSE="+convert python +man reiserfs static static-libs udev +zstd"
+# Could support it with just !systemd => eudev, see mdadm, but let's
+# see if someone asks for it first.
+REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Tries to mount repaired filesystems
+RESTRICT="test"
+
+RDEPEND="
+ dev-libs/lzo:2=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
+ convert? (
+ sys-fs/e2fsprogs:=
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-5.10
+ convert? ( sys-apps/acl )
+ python? (
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ')
+ )
+ static? (
+ dev-libs/lzo:2[static-libs(+)]
+ sys-apps/util-linux:0[static-libs(+)]
+ sys-libs/zlib:0[static-libs(+)]
+ convert? (
+ sys-fs/e2fsprogs[static-libs(+)]
+ reiserfs? (
+ >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
+ )
+ )
+ zstd? ( app-arch/zstd[static-libs(+)] )
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ )
+"
+
+if [[ ${PV} == 9999 ]]; then
+ BDEPEND+=" sys-devel/gnuconfig"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
+fi
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if in_iuse verify-sig && use verify-sig ; then
+ mkdir "${T}"/verify-sig || die
+ pushd "${T}"/verify-sig &>/dev/null || die
+
+ # Upstream sign the decompressed .tar
+ # Let's do it separately in ${T} then cleanup to avoid external
+ # effects on normal unpack.
+ cp "${DISTDIR}"/${MY_P}.tar.xz . || die
+ xz -d ${MY_P}.tar.xz || die
+ verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
+
+ popd &>/dev/null || die
+ rm -r "${T}"/verify-sig || die
+ fi
+
+ default
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ AT_M4DIR="m4" eautoreconf
+
+ mkdir config || die
+ local automakedir="$(autotools_run_tool --at-output automake --print-libdir)"
+ [[ -e ${automakedir} ]] || die "Could not locate automake directory"
+
+ ln -s "${automakedir}"/install-sh config/install-sh || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.guess config/config.guess || die
+ ln -s "${BROOT}"/usr/share/gnuconfig/config.sub config/config.sub || die
+ fi
+}
+
+src_configure() {
+ local myeconfargs=(
+ --bindir="${EPREFIX}"/sbin
+
+ --enable-lzo
+ --disable-experimental
+ $(use_enable convert)
+ $(use_enable man documentation)
+ $(use_enable elibc_glibc backtrace)
+ $(use_enable python)
+ $(use_enable static-libs static)
+ $(use_enable udev libudev)
+ $(use_enable zstd)
+
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
+ --with-crypto=builtin
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
+ )
+
+ export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
+ export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
+
+ # bash as a tepmorary workaround for https://github.com/kdave/btrfs-progs/pull/721
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 all $(usev static)
+}
+
+src_test() {
+ emake V=1 -j1 -C tests test
+
+ if use python ; then
+ cd libbtrfsutil/python || die
+
+ local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
+ ${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
+ fi
+}
+
+src_install() {
+ local makeargs=(
+ $(usev python install_python)
+ $(usev static install-static)
+ )
+
+ emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
+
+ newbashcomp btrfs-completion btrfs
+
+ use python && python_optimize
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild
index b6d87b7e0f05..c9770f5998ae 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-5.18.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild
@@ -1,39 +1,42 @@
-# Copyright 2008-2022 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-r1 udev
-libbtrfs_soname=0
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+ inherit verify-sig
-if [[ ${PV} != 9999 ]]; then
MY_PV="v${PV/_/-}"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
+ verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
+ "
+ S="${WORKDIR}"/${PN}-${MY_PV}
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
-
- S="${WORKDIR}"/${PN}-${MY_PV}
-else
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
- WANT_LIBTOOL="none"
- inherit autotools git-r3
fi
DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
+SLOT="0/0" # libbtrfs soname
IUSE="+convert python +man reiserfs static static-libs udev +zstd"
# Could support it with just !systemd => eudev, see mdadm, but let's
# see if someone asks for it first.
-REQUIRED_USE="static? ( !udev )"
+REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
# Tries to mount repaired filesystems
RESTRICT="test"
@@ -52,7 +55,8 @@ RDEPEND="
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
@@ -73,21 +77,51 @@ DEPEND="${RDEPEND}
zstd? ( app-arch/zstd[static-libs(+)] )
)
"
-BDEPEND="virtual/pkgconfig
- man? ( dev-python/sphinx )"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ )
+"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
pkg_setup() {
use python && python-single-r1_pkg_setup
}
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if in_iuse verify-sig && use verify-sig ; then
+ mkdir "${T}"/verify-sig || die
+ pushd "${T}"/verify-sig &>/dev/null || die
+
+ # Upstream sign the decompressed .tar
+ # Let's do it separately in ${T} then cleanup to avoid external
+ # effects on normal unpack.
+ cp "${DISTDIR}"/${MY_P}.tar.xz . || die
+ xz -d ${MY_P}.tar.xz || die
+ verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
+
+ popd &>/dev/null || die
+ rm -r "${T}"/verify-sig || die
+ fi
+
+ default
+}
+
src_prepare() {
default
+
if [[ ${PV} == 9999 ]]; then
AT_M4DIR="m4" eautoreconf
@@ -115,22 +149,37 @@ src_configure() {
$(use_enable udev libudev)
$(use_enable zstd)
- # Could support libgcrypt, libsodium, libkcapi
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
--with-crypto=builtin
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
)
- econf "${myeconfargs[@]}"
+ export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
+ export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
+
+ # bash as a tepmorary workaround for https://github.com/kdave/btrfs-progs/pull/721
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
}
src_compile() {
emake V=1 all $(usev static)
}
+src_test() {
+ emake V=1 -j1 -C tests test
+
+ if use python ; then
+ cd libbtrfsutil/python || die
+
+ local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
+ ${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
+ fi
+}
+
src_install() {
local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
+ $(usev python install_python)
+ $(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
@@ -138,9 +187,6 @@ src_install() {
newbashcomp btrfs-completion btrfs
use python && python_optimize
-
- # Install prebuilt subset of manuals (very few)
- use man || doman Documentation/*.[58]
}
pkg_postinst() {
@@ -148,5 +194,5 @@ pkg_postinst() {
}
pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
+ udev_reload
}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
index cc8ae19c469e..c9770f5998ae 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
@@ -1,39 +1,42 @@
-# Copyright 2008-2022 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} )
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
inherit bash-completion-r1 python-single-r1 udev
-libbtrfs_soname=0
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
+ EGIT_BRANCH="devel"
+ WANT_LIBTOOL="none"
+ inherit autotools git-r3
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+ inherit verify-sig
-if [[ ${PV} != 9999 ]]; then
MY_PV="v${PV/_/-}"
- SRC_URI="https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${PN}-${MY_PV}.tar.xz"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="
+ https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.xz
+ verify-sig? ( https://www.kernel.org/pub/linux/kernel/people/kdave/${PN}/${MY_P}.tar.sign )
+ "
+ S="${WORKDIR}"/${PN}-${MY_PV}
if [[ ${PV} != *_rc* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
-
- S="${WORKDIR}"/${PN}-${MY_PV}
-else
- EGIT_REPO_URI="https://github.com/kdave/btrfs-progs.git"
- EGIT_BRANCH="devel"
- WANT_LIBTOOL="none"
- inherit autotools git-r3
fi
DESCRIPTION="Btrfs filesystem utilities"
-HOMEPAGE="https://btrfs.wiki.kernel.org"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
+SLOT="0/0" # libbtrfs soname
IUSE="+convert python +man reiserfs static static-libs udev +zstd"
# Could support it with just !systemd => eudev, see mdadm, but let's
# see if someone asks for it first.
-REQUIRED_USE="static? ( !udev )"
+REQUIRED_USE="static? ( !udev ) python? ( ${PYTHON_REQUIRED_USE} )"
# Tries to mount repaired filesystems
RESTRICT="test"
@@ -52,7 +55,8 @@ RDEPEND="
udev? ( virtual/libudev:= )
zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
>=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
@@ -73,21 +77,51 @@ DEPEND="${RDEPEND}
zstd? ( app-arch/zstd[static-libs(+)] )
)
"
-BDEPEND="virtual/pkgconfig
- man? ( dev-python/sphinx )"
+BDEPEND="
+ virtual/pkgconfig
+ man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
+ )
+"
if [[ ${PV} == 9999 ]]; then
BDEPEND+=" sys-devel/gnuconfig"
+else
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-dsterba )"
fi
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
pkg_setup() {
use python && python-single-r1_pkg_setup
}
+src_unpack() {
+ if [[ ${PV} == 9999 ]] ; then
+ git-r3_src_unpack
+ return
+ fi
+
+ if in_iuse verify-sig && use verify-sig ; then
+ mkdir "${T}"/verify-sig || die
+ pushd "${T}"/verify-sig &>/dev/null || die
+
+ # Upstream sign the decompressed .tar
+ # Let's do it separately in ${T} then cleanup to avoid external
+ # effects on normal unpack.
+ cp "${DISTDIR}"/${MY_P}.tar.xz . || die
+ xz -d ${MY_P}.tar.xz || die
+ verify-sig_verify_detached ${MY_P}.tar "${DISTDIR}"/${MY_P}.tar.sign
+
+ popd &>/dev/null || die
+ rm -r "${T}"/verify-sig || die
+ fi
+
+ default
+}
+
src_prepare() {
default
+
if [[ ${PV} == 9999 ]]; then
AT_M4DIR="m4" eautoreconf
@@ -115,22 +149,37 @@ src_configure() {
$(use_enable udev libudev)
$(use_enable zstd)
- # Could support libgcrypt, libsodium, libkcapi
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
--with-crypto=builtin
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
+ --with-convert=ext2$(usev reiserfs ',reiserfs')
)
- econf "${myeconfargs[@]}"
+ export EXTRA_PYTHON_CFLAGS="${CFLAGS}"
+ export EXTRA_PYTHON_LDFLAGS="${LDFLAGS}"
+
+ # bash as a tepmorary workaround for https://github.com/kdave/btrfs-progs/pull/721
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
}
src_compile() {
emake V=1 all $(usev static)
}
+src_test() {
+ emake V=1 -j1 -C tests test
+
+ if use python ; then
+ cd libbtrfsutil/python || die
+
+ local -x LD_LIBRARY_PATH="${S}:libbtrfsutil/python:${LD_LIBRARY_PATH}"
+ ${EPYTHON} -m unittest tests/test_*.py || die "Tests failed with ${EPYTHON}"
+ fi
+}
+
src_install() {
local makeargs=(
- $(usex python install_python '')
- $(usex static install-static '')
+ $(usev python install_python)
+ $(usev static install-static)
)
emake V=1 DESTDIR="${D}" install "${makeargs[@]}"
@@ -145,5 +194,5 @@ pkg_postinst() {
}
pkg_postrm() {
- [[ -n ${REPLACING_VERSIONS} ]] || udev_reload
+ udev_reload
}
diff --git a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch b/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch
deleted file mode 100644
index 184656d96d22..000000000000
--- a/sys-fs/btrfs-progs/files/5.16-linux-headers-before-5.11.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-https://github.com/kdave/btrfs-progs/commit/b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58.patch
-https://bugs.gentoo.org/831817
-
-From b0cfe12c4d4b8b4ef335cdf4ddefcbdcd1b70d58 Mon Sep 17 00:00:00 2001
-From: David Sterba <dsterba@suse.com>
-Date: Thu, 13 Jan 2022 14:47:08 +0100
-Subject: [PATCH] btrfs-progs: kerncompat: add local definition for alignment
- macros
-
-There's still problem left with compilation on musl and kernel < 5.11,
-because __ALIGN_KERNEL is not defined anymore:
-
-../bin/ld: kernel-shared/volumes.o: in function `create_chunk':
-volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL'
-
-Due to the entangled includes and unconditional definition of
-__ALIGN_KERNEL, we can't use #ifdef in kerncompat.h to define it
-eventually (as kerncompat.h is the first include). Instead add local
-definitions of the macros and rename them to avoid name clashes.
-
-Pull-request: #433
-Signed-off-by: David Sterba <dsterba@suse.com>
---- a/kerncompat.h
-+++ b/kerncompat.h
-@@ -359,7 +359,14 @@ do { \
-
- /* Alignment check */
- #define IS_ALIGNED(x, a) (((x) & ((typeof(x))(a) - 1)) == 0)
--#define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
-+
-+/*
-+ * Alignment, copied and renamed from /usr/include/linux/const.h to work around
-+ * issues caused by moving the definition in 5.12
-+ */
-+#define __ALIGN_KERNEL__(x, a) __ALIGN_KERNEL_MASK__(x, (typeof(x))(a) - 1)
-+#define __ALIGN_KERNEL_MASK__(x, mask) (((x) + (mask)) & ~(mask))
-+#define ALIGN(x, a) __ALIGN_KERNEL__((x), (a))
-
- static inline int is_power_of_2(unsigned long n)
- {
diff --git a/sys-fs/btrfs-progs/metadata.xml b/sys-fs/btrfs-progs/metadata.xml
index 53a0e4c3fe00..e0d9388ce73c 100644
--- a/sys-fs/btrfs-progs/metadata.xml
+++ b/sys-fs/btrfs-progs/metadata.xml
@@ -10,4 +10,7 @@
<flag name="reiserfs">Enable reiserfs support in btrfs-convert tool.</flag>
<flag name="static">Build static binaries in addition to the dynamic ones</flag>
</use>
+ <upstream>
+ <remote-id type="github">kdave/btrfs-progs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.2.ebuild b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.2.ebuild
index 0e462a929f0d..ca54be1b39df 100644
--- a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.2.ebuild
+++ b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.4.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kdave/btrfsmaintenance/archive/v${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~ppc64 x86"
IUSE="systemd"
RDEPEND="
diff --git a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild
index fb4f66f17a99..b862c91c6691 100644
--- a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild
+++ b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kdave/btrfsmaintenance/archive/v${PV}.tar.gz -> ${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
IUSE="systemd"
RDEPEND="
diff --git a/sys-fs/cachefilesd/Manifest b/sys-fs/cachefilesd/Manifest
index e280046e2f08..eb575503c470 100644
--- a/sys-fs/cachefilesd/Manifest
+++ b/sys-fs/cachefilesd/Manifest
@@ -1,2 +1 @@
DIST cachefilesd-0.10.10.tar.bz2 26694 BLAKE2B c527a6283617ba53818e0cad1859544b1e66af1107b05d1f83904669425d31c5374f3c032b892c9d95892d02d9256bbd9b180f1d0b6b430f0cfa70440406ef9f SHA512 d7d816b5ef1fffe1272cb8c2e9cbd18c1393438afca250436a36a446c6a37303e7784057725a56be839e0489101190b563c4fc015fc4ff11baa8003121e5183a
-DIST cachefilesd-0.10.9.tar.bz2 26555 BLAKE2B da5df1d2c6715a7cc304b32842f00e69d356359abfae865cfc1b63b89e1149bcb48762ddf84d13f5d18b727d8e0693257d424e599c3874bbe842da9aed4a0cfe SHA512 06ab444a7df8ec37c15bc03554510f4acbb453e0730277f036abc5d61f9e377d90d9387dd5237ea481b95b1bf097b5992adce90ce971fe29760cc4c0d3c9cf34
diff --git a/sys-fs/cachefilesd/cachefilesd-0.10.10-r1.ebuild b/sys-fs/cachefilesd/cachefilesd-0.10.10-r2.ebuild
index 94bbc2597dd0..c21c765b1186 100644
--- a/sys-fs/cachefilesd/cachefilesd-0.10.10-r1.ebuild
+++ b/sys-fs/cachefilesd/cachefilesd-0.10.10-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit flag-o-matic systemd toolchain-funcs tmpfiles
+inherit flag-o-matic systemd toolchain-funcs tmpfiles readme.gentoo-r1
DESCRIPTION="Provides a caching directory on an already mounted filesystem"
HOMEPAGE="https://people.redhat.com/~dhowells/fscache/"
@@ -15,7 +15,6 @@ KEYWORDS="amd64 ~riscv x86"
IUSE="doc selinux"
RDEPEND="selinux? ( sec-policy/selinux-cachefilesd )"
-DEPEND=""
PATCHES=(
"${FILESDIR}"/${PN}-0.10.9-makefile.patch
@@ -29,11 +28,16 @@ src_prepare() {
tc-export CC
append-flags -fpie
+
+ # bug #908661
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
}
src_install() {
default
+ readme.gentoo_create_doc
+
if use selinux; then
dodoc -r selinux
docompress -x /usr/share/doc/${PF}/selinux
@@ -52,12 +56,8 @@ src_install() {
pkg_postinst() {
tmpfiles_process ${PN}.conf
- [[ -d /var/cache/fscache ]] && return
- elog "Before CacheFiles can be used, a directory for local storage"
- elog "must be created. The default configuration of /etc/cachefilesd.conf"
- elog "uses /var/cache/fscache. The filesystem mounted there must support"
- elog "extended attributes (mount -o user_xattr)."
- echo ""
- elog "Once that is taken care of, start the daemon, add -o ...,fsc"
- elog "to the mount options of your network mounts, and let it fly!"
+ if [[ ! -d /var/cache/fscache ]]; then
+ FORCE_PRINT_ELOG=1
+ fi
+ readme.gentoo_print_elog
}
diff --git a/sys-fs/cachefilesd/cachefilesd-0.10.9.ebuild b/sys-fs/cachefilesd/cachefilesd-0.10.9.ebuild
deleted file mode 100644
index 3d5bb6f16587..000000000000
--- a/sys-fs/cachefilesd/cachefilesd-0.10.9.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic systemd toolchain-funcs tmpfiles
-
-DESCRIPTION="Provides a caching directory on an already mounted filesystem"
-HOMEPAGE="https://people.redhat.com/~dhowells/fscache/"
-SRC_URI="https://people.redhat.com/~dhowells/fscache/${P}.tar.bz2"
-
-SLOT="0"
-LICENSE="GPL-2+"
-KEYWORDS="amd64 x86"
-IUSE="doc selinux"
-
-RDEPEND="selinux? ( sec-policy/selinux-cachefilesd )"
-DEPEND=""
-
-src_prepare() {
- eapply_user
- eapply "${FILESDIR}"/${PN}-0.10.9-makefile.patch
- if ! use selinux; then
- sed -e '/^secctx/s:^:#:g' -i cachefilesd.conf || die
- fi
-
- tc-export CC
- append-flags -fpie
-}
-
-src_install() {
- default
-
- if use selinux; then
- dodoc -r selinux
- docompress -x /usr/share/doc/${PF}/selinux
- fi
-
- dodoc howto.txt
-
- newconfd "${FILESDIR}"/${PN}.conf ${PN}
- newinitd "${FILESDIR}"/${PN}-3.init ${PN}
-
- systemd_dounit ${PN}.service
- newtmpfiles "${FILESDIR}"/${PN}-tmpfiles.d ${PN}.conf
-}
-
-pkg_postinst() {
- tmpfiles_process ${PN}.conf
-
- [[ -d /var/cache/fscache ]] && return
- elog "Before CacheFiles can be used, a directory for local storage"
- elog "must be created. The default configuration of /etc/cachefilesd.conf"
- elog "uses /var/cache/fscache. The filesystem mounted there must support"
- elog "extended attributes (mount -o user_xattr)."
- echo ""
- elog "Once that is taken care of, start the daemon, add -o ...,fsc"
- elog "to the mount options of your network mounts, and let it fly!"
-}
diff --git a/sys-fs/cachefilesd/files/README.gentoo b/sys-fs/cachefilesd/files/README.gentoo
new file mode 100644
index 000000000000..a21b8cb8facf
--- /dev/null
+++ b/sys-fs/cachefilesd/files/README.gentoo
@@ -0,0 +1,7 @@
+Before CacheFiles can be used, a directory for local storage
+must be created. The default configuration of /etc/cachefilesd.conf
+uses /var/cache/fscache. The filesystem mounted there must support
+extended attributes (mount -o user_xattr).
+
+Once that is taken care of, start the daemon, add -o ...,fsc
+to the mount options of your network mounts, and let it fly!
diff --git a/sys-fs/cachefilesd/files/cachefilesd-0.10.9-makefile.patch b/sys-fs/cachefilesd/files/cachefilesd-0.10.9-makefile.patch
index 276eff35a1c0..b4bda450505f 100644
--- a/sys-fs/cachefilesd/files/cachefilesd-0.10.9-makefile.patch
+++ b/sys-fs/cachefilesd/files/cachefilesd-0.10.9-makefile.patch
@@ -1,5 +1,5 @@
---- cachefilesd-0.10.9/Makefile.old 2016-07-18 11:12:38.467106807 +0800
-+++ cachefilesd-0.10.9/Makefile 2016-07-18 11:13:59.937770347 +0800
+--- cachefilesd-0.10.9/Makefile
++++ cachefilesd-0.10.9/Makefile
@@ -1,4 +1,3 @@
-CFLAGS := -g -O2 -Wall -Wsign-compare
INSTALL := install
@@ -8,12 +8,12 @@
@@ -40,7 +39,10 @@
###############################################################################
all: cachefilesd
-
+
-cachefilesd: cachefilesd.c Makefile
+cachefilesd.o: cachefilesd.c
+ $(CC) $(CFLAGS) -c $<
+
+cachefilesd: cachefilesd.o
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<
-
+
###############################################################################
diff --git a/sys-fs/cachefilesd/files/cachefilesd-3.init b/sys-fs/cachefilesd/files/cachefilesd-3.init
index 665fab3b369d..2e9205e4b218 100644
--- a/sys-fs/cachefilesd/files/cachefilesd-3.init
+++ b/sys-fs/cachefilesd/files/cachefilesd-3.init
@@ -5,7 +5,6 @@
depend() {
need localmount
use logger
- before nfsmount
}
checkxattr() {
diff --git a/sys-fs/clamfs/clamfs-1.2.0.ebuild b/sys-fs/clamfs/clamfs-1.2.0.ebuild
index c7a90b3a7d45..6b8945a4342a 100644
--- a/sys-fs/clamfs/clamfs-1.2.0.ebuild
+++ b/sys-fs/clamfs/clamfs-1.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -12,7 +12,7 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-DEPEND=">=dev-libs/boost-1.33
+DEPEND="dev-libs/boost
dev-libs/poco
dev-libs/rlog
sys-fs/fuse:3"
diff --git a/sys-fs/clamfs/metadata.xml b/sys-fs/clamfs/metadata.xml
index 07c77c37a72c..910abe248fa2 100644
--- a/sys-fs/clamfs/metadata.xml
+++ b/sys-fs/clamfs/metadata.xml
@@ -9,7 +9,7 @@
ClamFS is a FUSE-based user-space file system for Linux with on-access
anti-virus file scanning through clamd daemon (a file scanning service
developed by ClamAV Project).
-</longdescription>
+ </longdescription>
<upstream>
<remote-id type="sourceforge">clamfs</remote-id>
</upstream>
diff --git a/sys-fs/compsize/metadata.xml b/sys-fs/compsize/metadata.xml
index 8230f6be4b7b..ba656c0ab8ac 100644
--- a/sys-fs/compsize/metadata.xml
+++ b/sys-fs/compsize/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>telans@posteo.de</email>
- <name>James Beddek</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <name>Proxy Maintainers</name>
- <email>proxy-maint@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">kilobyte/compsize</remote-id>
</upstream>
diff --git a/sys-fs/cramfs/metadata.xml b/sys-fs/cramfs/metadata.xml
index d71c8eea78a1..21caac139b20 100644
--- a/sys-fs/cramfs/metadata.xml
+++ b/sys-fs/cramfs/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">cramfs</remote-id>
+ <remote-id type="github">npitre/cramfs-tools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
index f209908d30e4..066345cf8c48 100644
--- a/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
+++ b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{7..10} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit cmake flag-o-matic linux-info python-any-r1
if [[ ${PV} == 9999 ]] ; then
@@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/cryfs/cryfs"
else
SRC_URI="https://github.com/cryfs/cryfs/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
S="${WORKDIR}"
fi
@@ -24,31 +24,43 @@ IUSE="debug test"
RESTRICT="!test? ( test )"
RDEPEND="
- >=dev-libs/boost-1.65.1:=
+ dev-libs/boost:=
>=dev-libs/crypto++-8.2.0:=
net-misc/curl:=
>=sys-fs/fuse-2.8.6:0
- dev-libs/openssl:0=
+ dev-libs/openssl:=
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
test? ( dev-cpp/gtest )
"
-BDEPEND="${PYTHON_DEPS}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ ')
+"
PATCHES=(
# TODO upstream:
"${FILESDIR}/${PN}-0.10.2-unbundle-libs.patch"
"${FILESDIR}/${PN}-0.10.2-install-targets.patch"
+ "${FILESDIR}/${PN}-0.10.3-gcc13.patch"
# From upstream
"${FILESDIR}/${PN}-0.10.3-gcc11.patch"
"${FILESDIR}/${PN}-0.10.3-fix-build-with-boost-1-77.patch"
)
+python_check_deps() {
+ python_has_version "dev-python/versioneer[${PYTHON_USEDEP}]"
+}
+
pkg_setup() {
local CONFIG_CHECK="~FUSE_FS"
local WARNING_FUSE_FS="CONFIG_FUSE_FS is required for cryfs support."
check_extra_config
+ python-any-r1_pkg_setup
}
src_prepare() {
@@ -57,6 +69,9 @@ src_prepare() {
# don't install compressed manpage
cmake_comment_add_subdirectory doc
+ # We use the package instead for >=py3.12 compat, bug #908997
+ rm src/gitversion/versioneer.py || die
+
# remove tests that require internet access to comply with Gentoo policy
sed -e "/CurlHttpClientTest.cpp/d" -e "/FakeHttpClientTest.cpp/d" \
-i test/cpp-utils/CMakeLists.txt || die
@@ -67,6 +82,9 @@ src_prepare() {
}
src_configure() {
+ # ODR violations (bug #880563)
+ filter-lto
+
local mycmakeargs=(
-DBoost_USE_STATIC_LIBS=OFF
-DCRYFS_UPDATE_CHECKS=OFF
@@ -77,6 +95,9 @@ src_configure() {
use debug || append-flags -DNDEBUG
+ # bug 907096
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
cmake_src_configure
}
diff --git a/sys-fs/cryfs/files/cryfs-0.10.3-gcc13.patch b/sys-fs/cryfs/files/cryfs-0.10.3-gcc13.patch
new file mode 100644
index 000000000000..33b6e95d1cea
--- /dev/null
+++ b/sys-fs/cryfs/files/cryfs-0.10.3-gcc13.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/890847
+--- a/src/cpp-utils/thread/LeftRight.h
++++ b/src/cpp-utils/thread/LeftRight.h
+@@ -2,6 +2,7 @@
+ #include <functional>
+ #include <mutex>
+ #include <thread>
++#include <stdexcept>
+ #include <cpp-utils/macros.h>
+ #include <array>
+
diff --git a/sys-fs/cryfs/metadata.xml b/sys-fs/cryfs/metadata.xml
index 29cb5df7d609..dce6d653fddc 100644
--- a/sys-fs/cryfs/metadata.xml
+++ b/sys-fs/cryfs/metadata.xml
@@ -9,4 +9,7 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">cryfs/cryfs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/cryptmount/Manifest b/sys-fs/cryptmount/Manifest
index a59d3072e054..f80e1e8ced04 100644
--- a/sys-fs/cryptmount/Manifest
+++ b/sys-fs/cryptmount/Manifest
@@ -1 +1 @@
-DIST cryptmount-5.3.3.tar.gz 545925 BLAKE2B 7a20d3a3b5805b1fe9ed84aafe6aaebeab4c62652dc8f53ecd70a7e0a0aa993ab5a03d54967910b94e6d8bde28f7ee7bb90a115a2bf101c9d4f4177fee26f90d SHA512 9945630316feee513a64e11dffa61ece77d0dff43a7b611d91fcb0a7c902402effb30ba15266d52c2f5381aa3ab7290a9a0999ca391c3c15cbdb83debe7dcca0
+DIST cryptmount-6.2.0.tar.gz 548497 BLAKE2B 45602d86624464c8c1c2ad9cf3ffc4bf311d60ae16c2294111b1fc98bb0e02952c69c767a1c583428c3d8eb0ade2caddb17d3187f4dd34d780772b299ea1a6c0 SHA512 005d9333792a567515ce6d487d2dfa18f19cb077a64d9c356562acefc1947581d2d0f584ad623e0aab8aed1b34f1614af3a42f0c582d31e0831cdb8eb22bb7ce
diff --git a/sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild b/sys-fs/cryptmount/cryptmount-6.2.0.ebuild
index ec1442f7ac9c..c68573762d40 100644
--- a/sys-fs/cryptmount/cryptmount-5.3.3-r2.ebuild
+++ b/sys-fs/cryptmount/cryptmount-6.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="argv0switch cswap fsck +gcrypt +largefile mount +nls +luks +openssl selinux systemd udev"
REQUIRED_USE="
luks? ( gcrypt )
@@ -36,8 +36,6 @@ DEPEND="
BDEPEND="nls? ( sys-devel/gettext )"
-DOCS=( "AUTHORS" "ChangeLog" "NEWS" "README" "README.sshfs" "RELNOTES" "ToDo" )
-
CONFIG_CHECK="BLK_DEV_DM"
ERROR_BLK_DEV_DM="
Please enable Device Mapper support in your kernel config
diff --git a/sys-fs/cryptsetup/Manifest b/sys-fs/cryptsetup/Manifest
index 05710fd70925..12d3d7733690 100644
--- a/sys-fs/cryptsetup/Manifest
+++ b/sys-fs/cryptsetup/Manifest
@@ -1 +1 @@
-DIST cryptsetup-2.4.3.tar.xz 11242152 BLAKE2B f5859d794d626cb19426a2c9afc4655fac3a1bae462daa42b37b925882804d5146aadff8733799dea89dcfdc311e628e5b806754495824705709ba105f91682f SHA512 2d52498497be37a837126d9cdc9b6331236eccf857c3482fe3347eb88fccc3cd0fd3d8b4490569603e18cfaa462431ae194bce0328f3eafa8bfe3e02e135a26e
+DIST cryptsetup-2.6.1.tar.xz 11402380 BLAKE2B efd7a64d89d863876de68ff3e89d8c94ad5eca6a8d2236c52c234fbe51e9d9ee303a0c7fe7dac7df10e0062003b9c0aeddc8dc342582106c157ab2d1e742155e SHA512 0cbddbf33cbac2b834ed7e2dd47a9fc787131031a1c729f373f5c974600a838097e9cc0555f13719fc79c384a2a34b404f94ba4cc2f35f0bb1d70aef2233fd18
diff --git a/sys-fs/cryptsetup/cryptsetup-2.4.3.ebuild b/sys-fs/cryptsetup/cryptsetup-2.4.3.ebuild
deleted file mode 100644
index 79282c022d79..000000000000
--- a/sys-fs/cryptsetup/cryptsetup-2.4.3.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info tmpfiles
-
-DESCRIPTION="Tool to setup encrypted devices with dm-crypt"
-HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md"
-SRC_URI="https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="0/12" # libcryptsetup.so version
-[[ ${PV} != *_rc* ]] && \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-CRYPTO_BACKENDS="gcrypt kernel nettle +openssl"
-# we don't support nss since it doesn't allow cryptsetup to be built statically
-# and it's missing ripemd160 support so it can't provide full backward compatibility
-IUSE="${CRYPTO_BACKENDS} +argon2 nls pwquality reencrypt ssh static static-libs test +udev urandom"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="^^ ( ${CRYPTO_BACKENDS//+/} )
- static? ( !gcrypt !ssh !udev )" # 496612, 832711
-
-LIB_DEPEND="
- dev-libs/json-c:=[static-libs(+)]
- dev-libs/popt[static-libs(+)]
- >=sys-apps/util-linux-2.31-r1[static-libs(+)]
- argon2? ( app-crypt/argon2:=[static-libs(+)] )
- gcrypt? (
- dev-libs/libgcrypt:0=[static-libs(+)]
- dev-libs/libgpg-error[static-libs(+)]
- )
- nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
- openssl? ( dev-libs/openssl:0=[static-libs(+)] )
- pwquality? ( dev-libs/libpwquality[static-libs(+)] )
- ssh? ( net-libs/libssh[static-libs(+)] )
- sys-fs/lvm2[static-libs(+)]"
-# We have to always depend on ${LIB_DEPEND} rather than put behind
-# !static? () because we provide a shared library which links against
-# these other packages. #414665
-RDEPEND="static-libs? ( ${LIB_DEPEND} )
- ${LIB_DEPEND//\[static-libs\([+-]\)\]}
- udev? ( virtual/libudev:= )"
-# vim-core needed for xxd in tests
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )
- test? ( app-editors/vim-core )"
-BDEPEND="
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${P/_/-}"
-
-pkg_setup() {
- local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256"
- local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n"
- local WARNING_CRYPTO_SHA256="CONFIG_CRYPTO_SHA256:\tis not set (required for cryptsetup)\n"
- local WARNING_CRYPTO_CBC="CONFIG_CRYPTO_CBC:\tis not set (required for kernel 2.6.19)\n"
- local WARNING_CRYPTO="CONFIG_CRYPTO:\tis not set (required for cryptsetup)\n"
- check_extra_config
-}
-
-src_prepare() {
- sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
- default
-}
-
-src_configure() {
- if use kernel ; then
- ewarn "Note that kernel backend is very slow for this type of operation"
- ewarn "and is provided mainly for embedded systems wanting to avoid"
- ewarn "userspace crypto libraries."
- fi
-
- local myeconfargs=(
- --disable-internal-argon2
- --enable-shared
- --sbindir=/sbin
- # for later use
- --with-default-luks-format=LUKS2
- --with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d"
- --with-crypto_backend=$(for x in ${CRYPTO_BACKENDS//+/} ; do usev ${x} ; done)
- $(use_enable argon2 libargon2)
- $(use_enable nls)
- $(use_enable pwquality)
- $(use_enable reencrypt cryptsetup-reencrypt)
- $(use_enable !static external-tokens)
- $(use_enable static static-cryptsetup)
- $(use_enable static-libs static)
- $(use_enable udev)
- $(use_enable !urandom dev-random)
- $(use_enable ssh ssh-token)
- $(usex argon2 '' '--with-luks2-pbkdf=pbkdf2')
- )
- econf "${myeconfargs[@]}"
-}
-
-src_test() {
- if [[ ! -e /dev/mapper/control ]] ; then
- ewarn "No /dev/mapper/control found -- skipping tests"
- return 0
- fi
-
- local p
- for p in /dev/mapper /dev/loop* ; do
- addwrite ${p}
- done
-
- default
-}
-
-src_install() {
- default
-
- if use static ; then
- mv "${ED}"/sbin/cryptsetup{.static,} || die
- mv "${ED}"/sbin/veritysetup{.static,} || die
- mv "${ED}"/sbin/integritysetup{.static,} || die
- if use ssh ; then
- mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die
- fi
- if use reencrypt ; then
- mv "${ED}"/sbin/cryptsetup-reencrypt{.static,} || die
- fi
- fi
- find "${ED}" -type f -name "*.la" -delete || die
-
- dodoc docs/v*ReleaseNotes
-
- newconfd "${FILESDIR}"/2.4.0-dmcrypt.confd dmcrypt
- newinitd "${FILESDIR}"/2.4.0-dmcrypt.rc dmcrypt
-}
-
-pkg_postinst() {
- tmpfiles_process cryptsetup.conf
-}
diff --git a/sys-fs/cryptsetup/cryptsetup-2.4.3-r1.ebuild b/sys-fs/cryptsetup/cryptsetup-2.6.1.ebuild
index 48ef57af21a5..07d4351b691c 100644
--- a/sys-fs/cryptsetup/cryptsetup-2.4.3-r1.ebuild
+++ b/sys-fs/cryptsetup/cryptsetup-2.6.1.ebuild
@@ -1,27 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit linux-info tmpfiles
DESCRIPTION="Tool to setup encrypted devices with dm-crypt"
-HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup/blob/master/README.md"
+HOMEPAGE="https://gitlab.com/cryptsetup/cryptsetup"
SRC_URI="https://www.kernel.org/pub/linux/utils/${PN}/v$(ver_cut 1-2)/${P/_/-}.tar.xz"
+S="${WORKDIR}"/${P/_/-}
LICENSE="GPL-2+"
SLOT="0/12" # libcryptsetup.so version
-[[ ${PV} != *_rc* ]] && \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
CRYPTO_BACKENDS="gcrypt kernel nettle +openssl"
# we don't support nss since it doesn't allow cryptsetup to be built statically
# and it's missing ripemd160 support so it can't provide full backward compatibility
-IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality reencrypt ssh static static-libs test +udev urandom"
+IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality ssh static static-libs test +udev urandom"
RESTRICT="!test? ( test )"
-REQUIRED_USE="^^ ( ${CRYPTO_BACKENDS//+/} )
+# bug #496612, bug #832711, bug #843863
+REQUIRED_USE="
+ ^^ ( ${CRYPTO_BACKENDS//+/} )
static? ( !gcrypt !ssh !udev !fips )
fips? ( !kernel !nettle )
-" # 496612, 832711, 843863
+"
LIB_DEPEND="
dev-libs/json-c:=[static-libs(+)]
@@ -36,23 +41,26 @@ LIB_DEPEND="
openssl? ( dev-libs/openssl:0=[static-libs(+)] )
pwquality? ( dev-libs/libpwquality[static-libs(+)] )
ssh? ( net-libs/libssh[static-libs(+)] )
- sys-fs/lvm2[static-libs(+)]"
+ sys-fs/lvm2[static-libs(+)]
+"
# We have to always depend on ${LIB_DEPEND} rather than put behind
# !static? () because we provide a shared library which links against
-# these other packages. #414665
-RDEPEND="static-libs? ( ${LIB_DEPEND} )
+# these other packages. bug #414665
+RDEPEND="
+ static-libs? ( ${LIB_DEPEND} )
${LIB_DEPEND//\[static-libs\([+-]\)\]}
- udev? ( virtual/libudev:= )"
-# vim-core needed for xxd in tests
-DEPEND="${RDEPEND}
+ udev? ( virtual/libudev:= )
+"
+DEPEND="
+ ${RDEPEND}
static? ( ${LIB_DEPEND} )
- test? ( app-editors/vim-core )"
+"
+# vim-core needed for xxd in tests
BDEPEND="
virtual/pkgconfig
+ test? ( app-editors/vim-core )
"
-S="${WORKDIR}/${P/_/-}"
-
pkg_setup() {
local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256"
local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n"
@@ -63,19 +71,15 @@ pkg_setup() {
}
src_prepare() {
- sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
default
+
+ sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
}
src_configure() {
- if use kernel ; then
- ewarn "Note that kernel backend is very slow for this type of operation"
- ewarn "and is provided mainly for embedded systems wanting to avoid"
- ewarn "userspace crypto libraries."
- fi
-
local myeconfargs=(
--disable-internal-argon2
+ --disable-asciidoc
--enable-shared
--sbindir="${EPREFIX}"/sbin
# for later use
@@ -85,16 +89,16 @@ src_configure() {
$(use_enable argon2 libargon2)
$(use_enable nls)
$(use_enable pwquality)
- $(use_enable reencrypt cryptsetup-reencrypt)
$(use_enable !static external-tokens)
$(use_enable static static-cryptsetup)
$(use_enable static-libs static)
$(use_enable udev)
$(use_enable !urandom dev-random)
$(use_enable ssh ssh-token)
- $(usex argon2 '' '--with-luks2-pbkdf=pbkdf2')
+ $(usev !argon2 '--with-luks2-pbkdf=pbkdf2')
$(use_enable fips)
)
+
econf "${myeconfargs[@]}"
}
@@ -119,13 +123,12 @@ src_install() {
mv "${ED}"/sbin/cryptsetup{.static,} || die
mv "${ED}"/sbin/veritysetup{.static,} || die
mv "${ED}"/sbin/integritysetup{.static,} || die
+
if use ssh ; then
mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die
fi
- if use reencrypt ; then
- mv "${ED}"/sbin/cryptsetup-reencrypt{.static,} || die
- fi
fi
+
find "${ED}" -type f -name "*.la" -delete || die
dodoc docs/v*ReleaseNotes
@@ -136,4 +139,10 @@ src_install() {
pkg_postinst() {
tmpfiles_process cryptsetup.conf
+
+ if use kernel ; then
+ ewarn "Note that kernel backend is very slow for this type of operation"
+ ewarn "and is provided mainly for embedded systems wanting to avoid"
+ ewarn "userspace crypto libraries."
+ fi
}
diff --git a/sys-fs/cryptsetup/files/2.4.0-dmcrypt.confd b/sys-fs/cryptsetup/files/2.4.0-dmcrypt.confd
deleted file mode 100644
index 96c523e0f954..000000000000
--- a/sys-fs/cryptsetup/files/2.4.0-dmcrypt.confd
+++ /dev/null
@@ -1,112 +0,0 @@
-# /etc/conf.d/dmcrypt
-
-# For people who run dmcrypt on top of some other layer (like raid),
-# use rc_need to specify that requirement. See the runscript(8) man
-# page for more information.
-
-#--------------------
-# Instructions
-#--------------------
-
-# Note regarding the syntax of this file. This file is *almost* bash,
-# but each line is evaluated separately. Separate swaps/targets can be
-# specified. The init-script which reads this file assumes that a
-# swap= or target= line starts a new section, similar to lilo or grub
-# configuration.
-
-# Note when using gpg keys and /usr on a separate partition, you will
-# have to copy /usr/bin/gpg to /bin/gpg so that it will work properly
-# and ensure that gpg has been compiled statically.
-# See http://bugs.gentoo.org/90482 for more information.
-
-# Note that the init-script which reads this file detects whether your
-# partition is LUKS or not. No mkfs is run unless you specify a makefs
-# option.
-
-# Global options:
-#----------------
-
-# How long to wait for each timeout (in seconds).
-dmcrypt_key_timeout=1
-
-# Max number of checks to perform (see dmcrypt_key_timeout).
-#dmcrypt_max_timeout=300
-
-# Number of password retries.
-dmcrypt_retries=5
-
-# Arguments:
-#-----------
-# target=<name> == Mapping name for partition.
-# swap=<name> == Mapping name for swap partition.
-# source='<dev>' == Real device for partition.
-# Note: You can (and should) specify a tag like UUID
-# for blkid (see -t option). This is safer than using
-# the full path to the device.
-# key='</path/to/keyfile>[:<mode>]' == Fullpath from / or from inside removable media.
-# remdev='<dev>' == Device that will be assigned to removable media.
-# gpg_options='<opts>' == Default are --quiet --decrypt
-# options='<opts>' == cryptsetup, for LUKS you can only use --readonly
-# loop_file='<file>' == Loopback file.
-# Note: If you omit $source, then a free loopback will
-# be looked up automatically.
-# pre_mount='cmds' == commands to execute before mounting partition.
-# post_mount='cmds' == commands to execute after mounting partition.
-# wait=5 == wait given amount of seconds for source to appear
-#-----------
-# Supported Modes
-# gpg == decrypt and pipe key into cryptsetup.
-# Note: new-line character must not be part of key.
-# Command to erase \n char: 'cat key | tr -d '\n' > cleanKey'
-
-#--------------------
-# dm-crypt examples
-#--------------------
-
-## swap
-# Swap partitions. These should come first so that no keys make their
-# way into unencrypted swap.
-# If no options are given, they will default to: -c aes -h sha1 -d /dev/urandom
-# If no makefs is given then mkswap will be assumed
-#swap=crypt-swap
-#source='/dev/hda2'
-
-## /home with passphrase
-#target=crypt-home
-#source='/dev/hda5'
-
-## /home with regular keyfile
-#target=crypt-home
-#source='/dev/hda5'
-#key='/full/path/to/homekey'
-
-## /home with gpg protected key
-#target=crypt-home
-#source='/dev/hda5'
-#key='/full/path/to/homekey:gpg'
-
-## /home with regular keyfile on removable media(such as usb-stick)
-#target=crypt-home
-#source='/dev/hda5'
-#key='/full/path/to/homekey'
-#remdev='/dev/sda1'
-
-## /home with gpg protected key on removable media(such as usb-stick)
-#target=crypt-home
-#source='/dev/hda5'
-#key='/full/path/to/homekey:gpg'
-#remdev='/dev/sda1'
-
-## /tmp with regular keyfile
-#target=crypt-tmp
-#source='/dev/hda6'
-#key='/full/path/to/tmpkey'
-#pre_mount='/sbin/mkreiserfs -f -f ${dev}'
-#post_mount='chown root:root ${mount_point}; chmod 1777 ${mount_point}'
-
-## Loopback file example
-#target='crypt-loop-home'
-#source='/dev/loop0'
-#loop_file='/mnt/crypt/home'
-
-# The file must be terminated by a newline. Or leave this comment last.
diff --git a/sys-fs/cryptsetup/files/2.4.0-dmcrypt.rc b/sys-fs/cryptsetup/files/2.4.0-dmcrypt.rc
deleted file mode 100644
index 102576509515..000000000000
--- a/sys-fs/cryptsetup/files/2.4.0-dmcrypt.rc
+++ /dev/null
@@ -1,350 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- use modules
- before checkfs fsck
-
- if grep -qs ^swap= "${conf_file}" ; then
- before swap
- fi
-}
-
-# We support multiple dmcrypt instances based on $SVCNAME
-conf_file="/etc/conf.d/${SVCNAME}"
-
-# Get splash helpers if available.
-if [ -e /sbin/splash-functions.sh ] ; then
- . /sbin/splash-functions.sh
-fi
-
-# Setup mappings for an individual target/swap
-# Note: This relies on variables localized in the main body below.
-dm_crypt_execute() {
- local dev ret mode foo source_dev
-
- if [ -z "${target}" -a -z "${swap}" ] ; then
- return
- fi
-
- # Set up default values.
- : ${dmcrypt_key_timeout:=1}
- : ${dmcrypt_max_timeout:=300}
- : ${dmcrypt_retries:=5}
- : ${wait:=5}
-
- # Handle automatic look up of the source path.
- if [ -z "${source}" -a -n "${loop_file}" ] ; then
- source=$(losetup --show -f "${loop_file}")
- fi
- case ${source} in
- *=*)
- i=0
- while [ ${i} -lt ${wait} ]; do
- if source_dev="$(blkid -l -t "${source}" -o device)"; then
- source="${source_dev}"
- break
- fi
- : $((i += 1))
- einfo "waiting for source \"${source}\" for ${target}..."
- sleep 1
- done
- ;;
- esac
- if [ -z "${source}" ] || [ ! -e "${source}" ] ; then
- ewarn "source \"${source}\" for ${target} missing, skipping..."
- return
- fi
-
- if [ -n "${target}" ] ; then
- # let user set options, otherwise leave empty
- : ${options:=' '}
- elif [ -n "${swap}" ] ; then
- if cryptsetup isLuks ${source} 2>/dev/null ; then
- ewarn "The swap you have defined is a LUKS partition. Aborting crypt-swap setup."
- return
- fi
- target=${swap}
- # swap contents do not need to be preserved between boots, luks not required.
- # suspend2 users should have initramfs's init handling their swap partition either way.
- : ${options:='-c aes -h sha1 -d /dev/urandom'}
- : ${pre_mount:='mkswap ${dev}'}
- fi
-
- if [ -n "${loop_file}" ] ; then
- dev="/dev/mapper/${target}"
- ebegin " Setting up loop device ${source}"
- losetup ${source} ${loop_file}
- fi
-
- # cryptsetup:
- # open <device> <name> # <device> is $source
- # create <name> <device> # <name> is $target
- local arg1="create" arg2="${target}" arg3="${source}"
- if cryptsetup isLuks ${source} 2>/dev/null ; then
- arg1="open"
- arg2="${source}"
- arg3="${target}"
- fi
-
- # Older versions reported:
- # ${target} is active:
- # Newer versions report:
- # ${target} is active[ and is in use.]
- if cryptsetup status ${target} | egrep -q ' is active' ; then
- einfo "dm-crypt mapping ${target} is already configured"
- return
- fi
- splash svc_input_begin ${SVCNAME} >/dev/null 2>&1
-
- # Handle keys
- if [ -n "${key}" ] ; then
- read_abort() {
- # some colors
- local ans savetty resettty
- [ -z "${NORMAL}" ] && eval $(eval_ecolors)
- einfon " $1? (${WARN}yes${NORMAL}/${GOOD}No${NORMAL}) "
- shift
- # This is ugly as s**t. But POSIX doesn't provide `read -t`, so
- # we end up having to implement our own crap with stty/etc...
- savetty=$(stty -g)
- resettty='stty ${savetty}; trap - EXIT HUP INT TERM'
- trap 'eval "${resettty}"' EXIT HUP INT TERM
- stty -icanon
- stty min 0 time "$(( $2 * 10 ))"
- ans=$(dd count=1 bs=1 2>/dev/null) || ans=''
- eval "${resettty}"
- if [ -z "${ans}" ] ; then
- printf '\r'
- else
- echo
- fi
- case ${ans} in
- [yY]) return 0;;
- *) return 1;;
- esac
- }
-
- # Notes: sed not used to avoid case where /usr partition is encrypted.
- mode=${key##*:} && ( [ "${mode}" = "${key}" ] || [ -z "${mode}" ] ) && mode=reg
- key=${key%:*}
- case "${mode}" in
- gpg|reg)
- # handle key on removable device
- if [ -n "${remdev}" ] ; then
- # temp directory to mount removable device
- local mntrem="${RC_SVCDIR}/dm-crypt-remdev.$$"
- if [ ! -d "${mntrem}" ] ; then
- if ! mkdir -p "${mntrem}" ; then
- ewarn "${source} will not be decrypted ..."
- einfo "Reason: Unable to create temporary mount point '${mntrem}'"
- return
- fi
- fi
- i=0
- einfo "Please insert removable device for ${target}"
- while [ ${i} -lt ${dmcrypt_max_timeout} ] ; do
- foo=""
- if mount -n -o ro "${remdev}" "${mntrem}" 2>/dev/null >/dev/null ; then
- # keyfile exists?
- if [ ! -e "${mntrem}${key}" ] ; then
- umount -n "${mntrem}"
- rmdir "${mntrem}"
- einfo "Cannot find ${key} on removable media."
- read_abort "Abort" ${dmcrypt_key_timeout} && return
- else
- key="${mntrem}${key}"
- break
- fi
- else
- [ -e "${remdev}" ] \
- && foo="mount failed" \
- || foo="mount source not found"
- fi
- : $((i += 1))
- read_abort "Stop waiting after $i attempts (${foo})" -t 1 && return
- done
- else # keyfile ! on removable device
- if [ ! -e "${key}" ] ; then
- ewarn "${source} will not be decrypted ..."
- einfo "Reason: keyfile ${key} does not exist."
- return
- fi
- fi
- ;;
- *)
- ewarn "${source} will not be decrypted ..."
- einfo "Reason: mode ${mode} is invalid."
- return
- ;;
- esac
- else
- mode=none
- fi
- ebegin " ${target} using: ${options} ${arg1} ${arg2} ${arg3}"
- if [ "${mode}" = "gpg" ] ; then
- : ${gpg_options:='-q -d'}
- # gpg available ?
- if command -v gpg >/dev/null ; then
- i=0
- while [ ${i} -lt ${dmcrypt_retries} ] ; do
- # paranoid, don't store key in a variable, pipe it so it stays very little in ram unprotected.
- # save stdin stdout stderr "values"
- timeout ${dmcrypt_max_timeout} gpg ${gpg_options} ${key} 2>/dev/null | \
- cryptsetup --key-file - ${options} ${arg1} ${arg2} ${arg3}
- ret=$?
- # The timeout command exits 124 when it times out.
- [ ${ret} -eq 0 -o ${ret} -eq 124 ] && break
- : $(( i += 1 ))
- done
- eend ${ret} "failure running cryptsetup"
- else
- ewarn "${source} will not be decrypted ..."
- einfo "Reason: cannot find gpg application."
- einfo "You have to install app-crypt/gnupg first."
- einfo "If you have /usr on its own partition, try copying gpg to /bin ."
- fi
- else
- if [ "${mode}" = "reg" ] ; then
- cryptsetup ${options} -d ${key} ${arg1} ${arg2} ${arg3}
- ret=$?
- eend ${ret} "failure running cryptsetup"
- else
- cryptsetup ${options} ${arg1} ${arg2} ${arg3}
- ret=$?
- eend ${ret} "failure running cryptsetup"
- fi
- fi
- if [ -d "${mntrem}" ] ; then
- umount -n ${mntrem} 2>/dev/null >/dev/null
- rmdir ${mntrem} 2>/dev/null >/dev/null
- fi
- splash svc_input_end ${SVCNAME} >/dev/null 2>&1
-
- if [ ${ret} -ne 0 ] ; then
- cryptfs_status=1
- else
- if [ -n "${pre_mount}" ] ; then
- dev="/dev/mapper/${target}"
- eval ebegin \"" pre_mount: ${pre_mount}"\"
- eval "${pre_mount}" > /dev/null
- ewend $? || cryptfs_status=1
- fi
- fi
-}
-
-# Lookup optional bootparams
-get_bootparam_val() {
- # We're given something like:
- # foo=bar=cow
- # Return the "bar=cow" part.
- case $1 in
- *=*)
- echo "${1#*=}"
- ;;
- esac
-}
-
-start() {
- local header=true cryptfs_status=0
- local gpg_options key loop_file target targetline options pre_mount post_mount source swap remdev
-
- local x
- for x in $(cat /proc/cmdline) ; do
- case "${x}" in
- key_timeout=*)
- dmcrypt_key_timeout=$(get_bootparam_val "${x}")
- ;;
- esac
- done
-
- while read targetline <&3 ; do
- case ${targetline} in
- # skip comments and blank lines
- ""|"#"*) continue ;;
- # skip service-specific openrc configs #377927
- rc_*) continue ;;
- esac
-
- ${header} && ebegin "Setting up dm-crypt mappings"
- header=false
-
- # check for the start of a new target/swap
- case ${targetline} in
- target=*|swap=*)
- # If we have a target queued up, then execute it
- dm_crypt_execute
-
- # Prepare for the next target/swap by resetting variables
- unset gpg_options key loop_file target options pre_mount post_mount source swap remdev wait
- ;;
-
- gpg_options=*|remdev=*|key=*|loop_file=*|options=*|pre_mount=*|post_mount=*|wait=*|source=*)
- if [ -z "${target}${swap}" ] ; then
- ewarn "Ignoring setting outside target/swap section: ${targetline}"
- continue
- fi
- ;;
-
- dmcrypt_*=*)
- # ignore global options
- continue
- ;;
-
- *)
- ewarn "Skipping invalid line in ${conf_file}: ${targetline}"
- ;;
- esac
-
- # Queue this setting for the next call to dm_crypt_execute
- eval "${targetline}"
- done 3< ${conf_file}
-
- # If we have a target queued up, then execute it
- dm_crypt_execute
-
- ewend ${cryptfs_status} "Failed to setup dm-crypt devices"
-}
-
-stop() {
- local line header
-
- # Break down all mappings
- header=true
- egrep "^(target|swap)=" ${conf_file} | \
- while read line ; do
- ${header} && einfo "Removing dm-crypt mappings"
- header=false
-
- target= swap=
- eval ${line}
-
- [ -n "${swap}" ] && target=${swap}
- if [ -z "${target}" ] ; then
- ewarn "invalid line in ${conf_file}: ${line}"
- continue
- fi
-
- ebegin " ${target}"
- cryptsetup remove ${target}
- eend $?
- done
-
- # Break down loop devices
- header=true
- grep '^source=./dev/loop' ${conf_file} | \
- while read line ; do
- ${header} && einfo "Detaching dm-crypt loop devices"
- header=false
-
- source=
- eval ${line}
-
- ebegin " ${source}"
- losetup -d "${source}"
- eend $?
- done
-
- return 0
-}
diff --git a/sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc b/sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc
index 0903ac5eabd0..ea9a5ca4807b 100644
--- a/sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc
+++ b/sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc
@@ -5,6 +5,7 @@
depend() {
use modules
before checkfs fsck
+ after dev-settle
if grep -qs ^swap= "${conf_file}" ; then
before swap
@@ -109,7 +110,7 @@ dm_crypt_execute() {
# ${target} is active:
# Newer versions report:
# ${target} is active[ and is in use.]
- if cryptsetup ${header_opt} status ${target} | egrep -q ' is active' ; then
+ if cryptsetup ${header_opt} status ${target} | grep -E -q ' is active' ; then
einfo "dm-crypt mapping ${target} is already configured"
return
fi
@@ -329,7 +330,7 @@ stop() {
# Break down all mappings
print_header=true
- egrep "^(target|swap)=" ${conf_file} | \
+ grep -E "^(target|swap)=" ${conf_file} | \
while read line ; do
${print_header} && einfo "Removing dm-crypt mappings"
print_header=false
diff --git a/sys-fs/cryptsetup/metadata.xml b/sys-fs/cryptsetup/metadata.xml
index 5f7443faf40f..fc0ad715a118 100644
--- a/sys-fs/cryptsetup/metadata.xml
+++ b/sys-fs/cryptsetup/metadata.xml
@@ -13,11 +13,11 @@
<flag name="nettle">Use <pkg>dev-libs/nettle</pkg> crypto backend</flag>
<flag name="openssl">Use <pkg>dev-libs/openssl</pkg> crypto backend</flag>
<flag name="pwquality">Use <pkg>dev-libs/libpwquality</pkg> for password quality checking</flag>
- <flag name="reencrypt">Build cryptsetup-reencrypt</flag>
<flag name="ssh">Build cryptsetup-ssh for experimental support of token via SSH-server</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
</use>
<upstream>
+ <remote-id type="cpe">cpe:/a:cryptsetup_project:cryptsetup</remote-id>
<remote-id type="gitlab">cryptsetup/cryptsetup</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/davl/davl-1.2.4-r2.ebuild b/sys-fs/davl/davl-1.2.4-r2.ebuild
index d91a538ee69d..6b0ae67ee19d 100644
--- a/sys-fs/davl/davl-1.2.4-r2.ebuild
+++ b/sys-fs/davl/davl-1.2.4-r2.ebuild
@@ -1,22 +1,22 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
+
inherit toolchain-funcs
DESCRIPTION="Visualizes the fragmentation status of ext2/3 filesystems"
-HOMEPAGE="http://davl.sourceforge.net/"
+HOMEPAGE="https://davl.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~x86"
-IUSE=""
RDEPEND=">=x11-libs/gtk+-2.6:2"
DEPEND="${RDEPEND}
- >=sys-fs/e2fsprogs-1.41.7-r1
- virtual/pkgconfig"
+ >=sys-fs/e2fsprogs-1.41.7-r1"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-1.2.1-asneeded.patch
diff --git a/sys-fs/dd-rescue/Manifest b/sys-fs/dd-rescue/Manifest
index 8cf0f92b7681..7e349d7d3171 100644
--- a/sys-fs/dd-rescue/Manifest
+++ b/sys-fs/dd-rescue/Manifest
@@ -1,2 +1 @@
-DIST dd_rescue-1.99.11.tar.bz2 181927 BLAKE2B 8cd4db6cb8d85962e4cea50b0006fdbe5f085fbcf7bdbfe4d0fab1fe33412c1379317f54429c76ed1d905e32d5e791869fa27f2f14917cb1c3842fc6caca2a12 SHA512 e1d32711421ebbafd80fd210718667ff8c2d22b5349945105b3e4c29d54d381385b1fd188b2d8aa1b7a0aaf2cc9d8f7374373cff3992726a3d17549ca50f3904
-DIST dd_rescue-1.99.8.tar.bz2 174594 BLAKE2B 51e62989bf6318cb5926f30bc1db746bddd41fb49aab15dc2b1c67e0af079469161d390ba4e1e109d195249b3aace3aa830a3aec14ba534eb47f38c0136f910c SHA512 a230e1df4532671ea631036012dd1e38614e45bed58b00757f0017b0ea60f14ac3bdac07777d175aa4929def593b3c8485e463b1fc25b5067adf4cf3f3ac040d
+DIST dd_rescue-1.99.13.tar.bz2 182574 BLAKE2B da16f37dffc702695d49517aed9a33ce4d00b5e9903c363deaf4b4ed8b5294246d0fe78e977b8a6f6128b9b643a8986437359c78726695fc8e68be41bb11d93e SHA512 2276128fe176dce3ecbd6aa8e0d00b9547887f0498ce0cd135e61dbf882c521e22e2afce3539a73496da1d0472cd9582971a30eb558ce3211820c8d0358c8241
diff --git a/sys-fs/dd-rescue/dd-rescue-1.99.11.ebuild b/sys-fs/dd-rescue/dd-rescue-1.99.13-r1.ebuild
index 881768ee7963..0f51c3d5bd9d 100644
--- a/sys-fs/dd-rescue/dd-rescue-1.99.11.ebuild
+++ b/sys-fs/dd-rescue/dd-rescue-1.99.13-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools flag-o-matic multilib toolchain-funcs
+inherit autotools flag-o-matic toolchain-funcs
MY_PN="${PN/-/_}"
MY_P="${MY_PN}-${PV}"
@@ -14,17 +14,19 @@ SRC_URI="http://www.garloff.de/kurt/linux/ddrescue/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~mips ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="cpu_flags_x86_avx2 lzo cpu_flags_x86_sse4_2 static xattr"
-RDEPEND="lzo? ( dev-libs/lzo )
- xattr? ( sys-apps/attr )"
+RDEPEND="
+ lzo? ( dev-libs/lzo )
+ xattr? ( sys-apps/attr )
+"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MY_P}"
PATCHES=(
- "${FILESDIR}"/${PN}-1.99.11-musl-r2.patch
+ "${FILESDIR}"/${PN}-1.99.13-musl.patch
)
src_prepare() {
@@ -51,6 +53,12 @@ src_prepare() {
}
src_configure() {
+ # configure tests for the existence of fallocate64; if it can't find
+ # it it replaces it with a wrapper incompatible with musl... /o\
+ # we force it to assume its existence and then tell everyone to
+ # supply the *64 interface... bug 920159
+ # this workaround will stop working around once musl drops the *64 functions.
+
use static && append-ldflags -static
# OpenSSL is only used by a random helper tool we don't install.
ac_cv_header_attr_xattr_h=$(usex xattr) \
@@ -58,6 +66,7 @@ src_configure() {
ac_cv_lib_crypto_EVP_aes_192_ctr=no \
ac_cv_lib_lzo2_lzo1x_1_compress=$(usex lzo) \
ac_cv_header_lzo_lzo1x_h=$(usex lzo) \
+ ac_cv_func_fallocate64=yes \
econf
}
@@ -78,7 +87,7 @@ _emake() {
OS="${os}" \
HAVE_SSE42=$(usex cpu_flags_x86_sse4_2 1 0) \
HAVE_AVX2=$(usex cpu_flags_x86_avx2 1 0) \
- RPM_OPT_FLAGS="${CFLAGS} ${CPPFLAGS}" \
+ RPM_OPT_FLAGS="${CFLAGS} ${CPPFLAGS} -D_LARGEFILE64_SOURCE" \
CFLAGS_OPT='$(CFLAGS)' \
LDFLAGS="${LDFLAGS} -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/${PN}" \
CC="$(tc-getCC)" \
@@ -90,7 +99,7 @@ src_compile() {
}
src_test() {
- append-cflags -fcommon # bug 707796
+ append-cflags -fcommon # bug #707796
_emake check
}
diff --git a/sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild b/sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild
deleted file mode 100644
index d421dc83aa03..000000000000
--- a/sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs flag-o-matic multilib autotools
-
-MY_PN="${PN/-/_}"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Similar to dd but can copy from source with errors"
-HOMEPAGE="http://www.garloff.de/kurt/linux/ddrescue/"
-SRC_URI="http://www.garloff.de/kurt/linux/ddrescue/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~mips ppc ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="cpu_flags_x86_avx2 lzo cpu_flags_x86_sse4_2 static xattr"
-
-RDEPEND="lzo? ( dev-libs/lzo )
- xattr? ( sys-apps/attr )"
-DEPEND="${RDEPEND}"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${MY_PN}-1.99-musl-r2.patch
- "${FILESDIR}"/${PN}-1.99.8-xattr.patch
- "${FILESDIR}"/${PN}-1.99.8-sysrandom.patch
- "${FILESDIR}"/${PN}-1.99.8-testhole.patch
-)
-
-src_prepare() {
- default
-
- sed -i \
- -e 's:-ldl:$(LDFLAGS) -ldl:' \
- -e 's:-shared:$(CFLAGS) $(LDFLAGS) -shared:' \
- Makefile || die
-
- if ! use cpu_flags_x86_sse4_2; then
- sed -i \
- -e 's:^CC_FLAGS_CHECK(-msse4.2,SSE42):#&:' \
- configure.in || die
- fi
-
- if ! use cpu_flags_x86_avx2; then
- sed -i \
- -e 's:^CC_FLAGS_CHECK(-mavx2,AVX2):#&:' \
- configure.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- use static && append-ldflags -static
- # OpenSSL is only used by a random helper tool we don't install.
- ac_cv_header_attr_xattr_h=$(usex xattr) \
- ac_cv_header_openssl_evp_h=no \
- ac_cv_lib_crypto_EVP_aes_192_ctr=no \
- ac_cv_lib_lzo2_lzo1x_1_compress=$(usex lzo) \
- ac_cv_header_lzo_lzo1x_h=$(usex lzo) \
- econf
-}
-
-_emake() {
- local arch
- case ${ARCH} in
- x86) arch=i386;;
- amd64) arch=x86_64;;
- arm) arch=arm;;
- arm64) arch=aarch64;;
- esac
-
- local os=$(usex kernel_linux Linux IDK)
-
- # The Makefile is a mess. Override a few vars rather than patch it.
- emake \
- MACH="${arch}" \
- OS="${os}" \
- HAVE_SSE42=$(usex cpu_flags_x86_sse4_2 1 0) \
- HAVE_AVX2=$(usex cpu_flags_x86_avx2 1 0) \
- RPM_OPT_FLAGS="${CFLAGS} ${CPPFLAGS}" \
- CFLAGS_OPT='$(CFLAGS)' \
- LDFLAGS="${LDFLAGS} -Wl,-rpath,${EPREFIX}/usr/$(get_libdir)/${PN}" \
- CC="$(tc-getCC)" \
- "$@"
-}
-
-src_compile() {
- _emake
-}
-
-src_test() {
- append-cflags -fcommon # bug 707796
- _emake check
-}
-
-src_install() {
- # easier to install by hand than trying to make sense of the Makefile.
- dobin dd_rescue
- dodir /usr/$(get_libdir)/${PN}
- cp -pPR libddr_*.so "${ED%/}"/usr/$(get_libdir)/${PN}/ || die
- dodoc README.dd_rescue
- doman dd_rescue.1
- use lzo && doman ddr_lzo.1
-}
diff --git a/sys-fs/dd-rescue/files/dd-rescue-1.99.11-musl-r2.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.11-musl-r2.patch
deleted file mode 100644
index d88649d65eae..000000000000
--- a/sys-fs/dd-rescue/files/dd-rescue-1.99.11-musl-r2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 69c3974670f5a8ee0f2258f10a9228b39025b464 Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Wed, 13 Dec 2017 01:02:12 +0100
-Subject: [PATCH] loff_t and __WORDSIZE includes for MUSL
-
-Rewrite of Justin Keogh's patch [Link 1] to fix build problems
-on ARM.
-
-Link 1: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f5abc0f1b036921d6eb5b0f434c960ed280619f
-Fixes: https://bugs.gentoo.org/616364
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7332da8..ef2016a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -11,7 +11,7 @@ AC_C_INLINE
-
- #AC_PROG_INSTALL
- #CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
--AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h attr/xattr.h sys/acl.h sys/ioctl.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h sys/resource.h])
-+AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h attr/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h sys/resource.h])
- AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports getrlimit aligned_alloc])
- AC_CHECK_LIB(dl,dlsym)
- AC_CHECK_LIB(fallocate,linux_fallocate64)
---
-2.31.1
-
diff --git a/sys-fs/dd-rescue/files/dd_rescue-1.99-musl-r2.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.13-musl.patch
index c98ddeca13a0..53d8af201280 100644
--- a/sys-fs/dd-rescue/files/dd_rescue-1.99-musl-r2.patch
+++ b/sys-fs/dd-rescue/files/dd-rescue-1.99.13-musl.patch
@@ -1,94 +1,76 @@
-From e96b79c9e4cd6c40ba6e5fe495904f07a95fb909 Mon Sep 17 00:00:00 2001
+# Original patch was created by Thomas Deutschmann <whissi@gentoo.org>, but the
+# patch needed to be rebased. Mainly configure.ac instead of configure.in.
+# The only additional included part is secmem patch.
+#
+# Closes: https://bugs.gentoo.org/829285
+From 69c3974670f5a8ee0f2258f10a9228b39025b464 Mon Sep 17 00:00:00 2001
From: Thomas Deutschmann <whissi@gentoo.org>
Date: Wed, 13 Dec 2017 01:02:12 +0100
-Subject: [PATCH 49/49] loff_t and __WORDSIZE includes for MUSL
+Subject: [PATCH] loff_t and __WORDSIZE includes for MUSL
Rewrite of Justin Keogh's patch [Link 1] to fix build problems
on ARM.
Link 1: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f5abc0f1b036921d6eb5b0f434c960ed280619f
Fixes: https://bugs.gentoo.org/616364
----
- configure.in | 2 +-
- ddr_ctrl.h | 3 +++
- ffs.h | 3 +++
- fiemap.h | 4 ++++
- fmt_no.h | 2 ++
- fstrim.h | 3 +++
- libddr_hash.c | 4 ++++
- libddr_lzo.c | 3 +++
- libddr_null.c | 3 +++
- sha512.h | 4 ++++
- 10 files changed, 30 insertions(+), 1 deletion(-)
-
-diff --git a/configure.in b/configure.in
-index eb2e813..355ea84 100644
---- a/configure.in
-+++ b/configure.in
-@@ -6,7 +6,7 @@ AC_C_INLINE
- AC_HEADER_STDC
+--- a/configure.ac
++++ b/configure.ac
+@@ -11,7 +11,7 @@ AC_C_INLINE
+
#AC_PROG_INSTALL
#CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
--AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h attr/xattr.h sys/acl.h sys/ioctl.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
-+AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h attr/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
- AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports])
+-AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h attr/xattr.h sys/acl.h sys/ioctl.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h sys/resource.h sys/endian.h linux/swab.h])
++AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h attr/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h sys/resource.h sys/endian.h linux/swab.h])
+ AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htonl htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports getrlimit aligned_alloc])
AC_CHECK_LIB(dl,dlsym)
AC_CHECK_LIB(fallocate,linux_fallocate64)
-diff --git a/ddr_ctrl.h b/ddr_ctrl.h
-index ac71e4f..58cffd5 100644
--- a/ddr_ctrl.h
+++ b/ddr_ctrl.h
@@ -7,6 +7,9 @@
* License: GNU GPLv2 or v3
*/
-
+
+#define _GNU_SOURCE
+#include <fcntl.h>
+
#ifndef _DDR_CTRL_H
#define _DDR_CTRL_H
-
-diff --git a/ffs.h b/ffs.h
-index 2215080..c1f3444 100644
+
--- a/ffs.h
+++ b/ffs.h
@@ -28,6 +28,9 @@
#include <endian.h>
#endif
-
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
-
+
#ifdef HAVE_FFS
# define myffs(x) ffs(x)
-diff --git a/fiemap.h b/fiemap.h
-index df1ba95..31cde3b 100644
+
--- a/fiemap.h
+++ b/fiemap.h
@@ -29,5 +29,9 @@
-
+
#endif /* HAVE_LINUX_FS_H */
-
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
+
#endif /* _FIEMAPH */
-
-diff --git a/fmt_no.h b/fmt_no.h
-index cb0a81b..52ec236 100644
+
--- a/fmt_no.h
+++ b/fmt_no.h
@@ -1,4 +1,6 @@
/** Decl for int to str conversion with highlighting */
+#define _GNU_SOURCE
+#include <fcntl.h>
-
+
#ifndef _FMT_NO_H
#define _FMT_NO_H
-diff --git a/fstrim.h b/fstrim.h
-index 7447061..b9cdcbb 100644
+
--- a/fstrim.h
+++ b/fstrim.h
@@ -1,3 +1,6 @@
@@ -97,38 +79,33 @@ index 7447061..b9cdcbb 100644
+
#ifndef _FSTRIM_H
#define _FSTRIM_H
-
-diff --git a/libddr_hash.c b/libddr_hash.c
-index 7c8cdf8..cdbbd4d 100644
+
--- a/libddr_hash.c
+++ b/libddr_hash.c
-@@ -33,6 +33,10 @@
+@@ -34,6 +34,10 @@
#include <unistd.h>
#include <fcntl.h>
-
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
+
#include <netinet/in.h> /* For ntohl/htonl */
#include <endian.h>
-
-diff --git a/libddr_lzo.c b/libddr_lzo.c
-index 8d3983e..8c83c04 100644
+
--- a/libddr_lzo.c
+++ b/libddr_lzo.c
-@@ -26,6 +26,9 @@
- #include <errno.h>
- #include <netinet/in.h>
- #include <sys/stat.h>
+@@ -16,6 +16,9 @@
+ #include "ddr_plugin.h"
+ #include "ddr_ctrl.h"
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
- #include <signal.h>
- #include <lzo/lzo1x.h>
- #include <lzo/lzo1y.h>
-diff --git a/libddr_null.c b/libddr_null.c
-index 3f0f194..c379961 100644
+ #include <stdlib.h>
+ #include <string.h>
+ #include <stdint.h>
+
--- a/libddr_null.c
+++ b/libddr_null.c
@@ -10,6 +10,9 @@
@@ -138,17 +115,16 @@ index 3f0f194..c379961 100644
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
-
+
/* fwd decl */
extern ddr_plugin_t ddr_plug;
-diff --git a/sha512.h b/sha512.h
-index 4d08043..f54d371 100644
+
--- a/sha512.h
+++ b/sha512.h
@@ -3,6 +3,10 @@
-
+
#include "hash.h"
-
+
+#ifdef HAVE_SYS_REG_H
+#include <sys/reg.h>
+#endif
@@ -156,6 +132,14 @@ index 4d08043..f54d371 100644
void sha512_init(hash_t *ctx);
void sha384_init(hash_t *ctx);
void sha512_128(const uint8_t* msg, hash_t* ctx);
---
-2.15.0
+--- a/secmem.c
++++ b/secmem.c
+@@ -15,6 +15,7 @@
+ #endif
+ #ifdef HAVE_SYS_RESOURCE_H
+ # include <sys/resource.h>
++# include <stddef.h>
+ #endif
+
+ static unsigned char *optr;
diff --git a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch
deleted file mode 100644
index 5ef3da297747..000000000000
--- a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-sysrandom.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Use sys/random.h for getrandom() decl if present.
-
---- a/configure.in
-+++ b/configure.in
-@@ -6,7 +6,7 @@ AC_C_INLINE
- AC_HEADER_STDC
- #AC_PROG_INSTALL
- #CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
--AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
-+AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h sys/random.h malloc.h sched.h sys/statvfs.h])
- AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports])
- AC_CHECK_LIB(dl,dlsym)
- AC_CHECK_LIB(fallocate,linux_fallocate64)
---- a/random.c
-+++ b/random.c
-@@ -23,6 +23,10 @@ typedef unsigned int __u32;
- #include <linux/random.h>
- #endif
-
-+#ifdef HAVE_SYS_RANDOM_H
-+#include <sys/random.h>
-+#endif
-+
- static void msleep(unsigned int msecs)
- {
- struct timespec ts1, ts2;
-
diff --git a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch
deleted file mode 100644
index 444907088b3b..000000000000
--- a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-testhole.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-commit 7f2ff6434586083747bc5d046e0207886025e684
-Author: Kurt Garloff <kurt@garloff.de>
-Date: Sat May 12 09:54:45 2018 +0000
-
- Fix test case by ensuring there is a hole ...
-
-diff --git a/test_crypt.sh b/test_crypt.sh
-index 47f1fc9..62cf853 100755
---- a/test_crypt.sh
-+++ b/test_crypt.sh
-@@ -52,13 +52,20 @@ rm dd_rescue2
-
- # Holes (all), skiphole
- echo "*** Holes ***"
-+# Produce file that consists of dd_rescue + hole + dd_rescue
- ./dd_rescue -qpt dd_rescue dd_rescue3
- ./dd_rescue -qS 512k dd_rescue dd_rescue3
-+# Ensure there is a hole even if dd_rescue is long
-+./dd_rescue -qS 384k -m 128k /dev/zero dd_rescue3
-+# Test without and with skiphole
- enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen "" "" "-qpt"
- enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen skiphole "" "-qpt"
-+# Store 384k-512k in cmp3
- ./dd_rescue -qt -s 384k -m 128k -S 0 dd_rescue3.cmp dd_rescue3.cmp3
-+# Should be 128k of zeroes
- ./dd_rescue -qm 128k /dev/zero dd_rescue3.cmp2
- cmp dd_rescue3.cmp2 dd_rescue3.cmp3 || exit 4
-+# Repeat test with reverse
- enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen "" "" "-qptr"
- enc_dec_compare_keys dd_rescue3 AES192-CTR keygen:ivgen skiphole "" "-qptr"
- ./dd_rescue -qt -s 384k -m 128k -S 0 dd_rescue3.cmp dd_rescue3.cmp3
-
diff --git a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-xattr.patch b/sys-fs/dd-rescue/files/dd-rescue-1.99.8-xattr.patch
deleted file mode 100644
index 39e719c33861..000000000000
--- a/sys-fs/dd-rescue/files/dd-rescue-1.99.8-xattr.patch
+++ /dev/null
@@ -1,300 +0,0 @@
---- dd_rescue-1.99.8/configure.in
-+++ dd_rescue-1.99.8/configure.in
-@@ -6,7 +6,7 @@
- AC_HEADER_STDC
- #AC_PROG_INSTALL
- #CFLAGS="$CFLAGS -DHAVE_CONFIG_H"
--AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h attr/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
-+AC_CHECK_HEADERS([fallocate.h dlfcn.h unistd.h sys/xattr.h sys/acl.h sys/ioctl.h sys/reg.h endian.h linux/fs.h linux/fiemap.h stdint.h lzo/lzo1x.h openssl/evp.h linux/random.h malloc.h sched.h sys/statvfs.h])
- AC_CHECK_FUNCS([ffs ffsl basename fallocate64 splice getopt_long open64 pread pread64 lseek64 stat64 posix_fadvise posix_fadvise64 __builtin_prefetch htobe64 feof_unlocked getline getentropy getrandom posix_memalign valloc sched_yield fstatvfs __builtin_cpu_supports])
- AC_CHECK_LIB(dl,dlsym)
- AC_CHECK_LIB(fallocate,linux_fallocate64)
---- dd_rescue-1.99.8/dd_rescue.c
-+++ dd_rescue-1.99.8/dd_rescue.c
-@@ -161,8 +161,8 @@
- #endif
-
- /* xattrs */
--#ifdef HAVE_ATTR_XATTR_H
--# include <attr/xattr.h>
-+#ifdef HAVE_SYS_XATTR_H
-+# include <sys/xattr.h>
- #else
- /* TODO: Could provide the prototypes for the syscalls ourselves ... */
- # warning No support for copying extended attributes / ACLs
-@@ -1276,7 +1276,7 @@
-
- /** Copy xattrs */
- int copyxattr(const char* inm, const char* onm)
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- {
- char *attrs = NULL;
- ssize_t aln = listxattr(inm, NULL, 0);
-@@ -2486,7 +2486,7 @@
- #ifdef FITRIM
- fprintf(stderr, "fitrim ");
- #endif
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- fprintf(stderr, "xattr ");
- #endif
- #if (defined(__x86_64__) || defined(__i386__)) && !defined(NO_RDRND)
---- dd_rescue-1.99.8/libddr_crypt.c
-+++ dd_rescue-1.99.8/libddr_crypt.c
-@@ -47,8 +47,8 @@
- #include <endian.h>
- #include <signal.h>
-
--#ifdef HAVE_ATTR_XATTR_H
--#include <attr/xattr.h>
-+#ifdef HAVE_SYS_XATTR_H
-+#include <sys/xattr.h>
- #endif
-
- #if __WORDSIZE == 64
-@@ -90,7 +90,7 @@
- size_t saltlen;
- loff_t lastpos;
- loff_t processed;
--#if 1 //def HAVE_ATTR_XATTR_H
-+#if 1 //def HAVE_SYS_XATTR_H
- char* salt_xattr_name;
- char sxattr, sxfallback;
- char* key_xattr_name;
-@@ -113,13 +113,13 @@
- " Parameters: [alg[o[rithm]]=]ALG:enc[rypt]:dec[rypt]:engine=STR:pad=STR\n"
- "\t:keyhex=HEX:keyfd=[x]INT[@INT@INT]:keyfile=NAME[@INT@INT]:keygen:keysfile\n"
- "\t:ivhex=HEX:ivfd=[x]INT[@INT@INT]:ivfile=NAME[@INT@INT]:ivgen:ivsfile\n"
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- "\t:keyxattr[=xattr_name]:kxfallback:ivxattr[=xattr_name]:ixfallback\n"
- #endif
- "\t:pass=STR:passfd=[x]INT[@INT@INT]:passfile=NAME[@INT@INT]\n"
- "\t:salt=STR:salthex=HEX:saltfd=[x]INT[@INT@INT]:saltfile=NAME[@INT@INT]\n"
- "\t:saltlen=INT:saltgen:saltsfile"
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- ":saltxattr[=xattr_name]:sxfallback"
- #endif
- "\n\t:pbkdf2[=INT]:opbkdf[11]:debug:bench[mark]:skiphole:weakrnd:outkeyiv:ctrbug198\n"
-@@ -346,7 +346,7 @@
- state->saltlen = ATOL(param+8);
- else if (!strcmp(param, "saltgen"))
- state->sgen = 1;
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- else if (!strcmp(param, "saltxattr"))
- err += set_flag(&state->sxattr, "saltxattr");
- else if (!memcmp(param, "saltxattr=", 10)) {
-@@ -709,7 +709,7 @@
- return err;
- }
-
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- int get_xattr(crypt_state *state, const char* atrnm,
- unsigned char* data, int dlen,
- char fb, char* fbf, char* flag)
-@@ -883,7 +883,7 @@
- sprintf(ivsnm, "IVS.%s", state->alg->name);
- sprintf(keynm, "KEYS.%s", state->alg->name);
- sprintf(saltnm, "SALT.%s", state->alg->name);
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->sxattr && !state->salt_xattr_name) {
- state->salt_xattr_name = malloc(32);
- snprintf(state->salt_xattr_name, 32, "user.salt.%s", state->alg->name);
-@@ -958,7 +958,7 @@
- }
-
- /* 5c */
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- /* Try getting salt from xattr */
- if (!state->sset && state->sxattr && !get_salt_xattr(state) && !state->enc)
- state->sxattr = 0;
-@@ -999,7 +999,7 @@
- if (write_file(state->sec->salt, state->sfnm, 8, 0640))
- return -1;
- }
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- /* Write salt to xattr */
- if (state->sxattr && state->enc && set_salt_xattr(state)) {
- if (!state->sxfallback)
-@@ -1028,7 +1028,7 @@
- if (!state->keyf && !state->kxattr)
- FPLOG(WARN, "Generated key not written anywhere?\n", NULL);
- else {
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- /* Write key to xattr, failure is fatal */
- if (state->kxattr && state->enc && set_key_xattr(state) && !state->kxfallback)
- return -1;
-@@ -1066,7 +1066,7 @@
- FPLOG(FATAL, "Key generation with pass+salt failed!\n", NULL);
- return -1;
- }
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- /* Write key to xattr, failure is fatal */
- if (state->kxattr && state->enc && set_key_xattr(state) && !state->kxfallback)
- return -1;
-@@ -1077,7 +1077,7 @@
- return -1;
-
- } else {
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->kxattr)
- get_key_xattr(state);
- #endif
-@@ -1100,7 +1100,7 @@
- }
- }
- } else {
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->kxattr && set_key_xattr(state) && !state->kxfallback) {
- FPLOG(FATAL, "Can't save key in xattr");
- return -1;
-@@ -1123,7 +1123,7 @@
- if (!state->ivf && !state->ixattr)
- FPLOG(WARN, "Generated IV not saved?\n", NULL);
- else {
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- /* Write IV to xattr, failure w/o fb is fatal */
- if (state->ixattr && state->enc && set_iv_xattr(state) && !state->ixfallback)
- return -1;
-@@ -1149,7 +1149,7 @@
- return -1;
- }
- }
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- /* Write IV to xattr, failure w/o fb is fatal */
- if (state->ixattr && state->enc && set_iv_xattr(state) && !state->ixfallback)
- return -1;
-@@ -1159,7 +1159,7 @@
- if (write_keyfile(state, ivsnm, encnm, state->sec->nonce1, BLKSZ, 0640, 1, 0))
- return -1;
- } else {
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->ixattr)
- get_iv_xattr(state);
- #endif
-@@ -1180,7 +1180,7 @@
- }
- }
- } else if (state->alg->stream->needs_iv) {
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->ixattr && set_iv_xattr(state) && !state->ixfallback) {
- FPLOG(FATAL, "Can't save IV in xattr");
- return -1;
-@@ -1454,7 +1454,7 @@
- FPLOG(INFO, "%.2fs CPU time, %.1fMiB/s\n",
- (double)state->cpu/CLOCKS_PER_SEC,
- state->processed/1024 / (state->cpu/(CLOCKS_PER_SEC/1024.0)));
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->salt_xattr_name)
- free(state->salt_xattr_name);
- if (state->key_xattr_name)
---- dd_rescue-1.99.8/libddr_hash.c
-+++ dd_rescue-1.99.8/libddr_hash.c
-@@ -36,8 +36,8 @@
- #include <netinet/in.h> /* For ntohl/htonl */
- #include <endian.h>
-
--#ifdef HAVE_ATTR_XATTR_H
--#include <attr/xattr.h>
-+#ifdef HAVE_SYS_XATTR_H
-+#include <sys/xattr.h>
- #endif
- // TODO: pass at runtime rather than compile time
- #define HASH_DEBUG(x) if (state->debug) x
-@@ -75,7 +75,7 @@
- #endif
- int hmacpln;
- char xfallback;
--#if 1 //def HAVE_ATTR_XATTR_H
-+#if 1 //def HAVE_SYS_XATTR_H
- char chk_xattr, set_xattr, xnmalloc;
- char* xattr_name;
- #endif
-@@ -90,7 +90,7 @@
- ":multipart=size"
- #endif
- "\n"
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- "\t:chk_xattr[=xattr_name]:set_xattr[=xattr_name]:fallb[ack][=FILE]\n"
- #endif
- " Use algorithm=help to get a list of supported hash algorithms\n";
-@@ -167,7 +167,7 @@
- state->append = param+7;
- else if (!memcmp(param, "prepend=", 8))
- state->prepend = param+8;
--#if 1 //def HAVE_ATTR_XATTR_H
-+#if 1 //def HAVE_SYS_XATTR_H
- else if (!memcmp(param, "chk_xattr=", 10)) {
- state->chk_xattr = 1; state->xattr_name = param+10; }
- else if (!strcmp(param, "chk_xattr"))
-@@ -258,7 +258,7 @@
- FPLOG(FATAL, "No hash algorithm specified\n");
- return --err;
- }
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if ((state->chk_xattr || state->set_xattr) && !state->xattr_name) {
- state->xattr_name = (char*)malloc(32);
- state->xnmalloc = 1;
-@@ -269,7 +269,7 @@
- }
- #endif
- if ((!state->chkfnm || !*state->chkfnm) && (state->chkf || state->outf
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- || state->xfallback
- #endif
- )) {
-@@ -301,7 +301,7 @@
- if (!stat || !(*stat))
- return -1;
- hash_state *state = (hash_state*)*stat;
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->xnmalloc)
- free((void*)state->xattr_name);
- #endif
-@@ -351,7 +351,7 @@
- strcat(nnm, "->");
- strcat(nnm, opt->oname);
- state->fname = nnm;
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->chk_xattr || state->set_xattr) {
- --err;
- FPLOG(WARN, "Can't access xattr in the middle of a plugin chain!");
-@@ -607,7 +607,7 @@
- return err;
- }
-
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- int check_xattr(hash_state* state, const char* res)
- {
- char xatstr[144];
-@@ -734,7 +734,7 @@
- err += check_chkf(state, res);
- if (state->outf)
- err += write_chkf(state, res);
--#ifdef HAVE_ATTR_XATTR_H
-+#ifdef HAVE_SYS_XATTR_H
- if (state->chk_xattr)
- err += check_xattr(state, res);
- if (state->set_xattr)
diff --git a/sys-fs/ddrescue/Manifest b/sys-fs/ddrescue/Manifest
index 3c389a7e0746..0bb770634960 100644
--- a/sys-fs/ddrescue/Manifest
+++ b/sys-fs/ddrescue/Manifest
@@ -1,2 +1,2 @@
-DIST ddrescue-1.25.tar.lz 87001 BLAKE2B 45054ecb6ca12f8fe27d6b783f7e339fc11a9a3425160012e0682e39644fd3c91362ecd568a2a0b93f9f0af87fae2415b33a7c3fcd8fff2262898e8474818a00 SHA512 90e344a618e385730836218817588f6854db6d1acdf357bf60bdba04c76382e73041dfc367ba4de60062992ee74b2da58417f6e464ffbeed10ec89fac110f4b8
-DIST ddrescue-1.26.tar.lz 91930 BLAKE2B c545499e380587729eb3fcc90a7baf66288348dc88027dfc14401ec72254cc786d8ab7be076a346964327668ff719048dada916c9f1514a765a255f02c5666c7 SHA512 bbe414563d459a1ad1c4e55848214d195e01f8bc455104eddbeff7046623f5bc21d961457d27ace2605d13dff68c7948182706b8afe6755e5c363e8cad86a1cc
+DIST ddrescue-1.27.tar.lz 93496 BLAKE2B a8957819dec2255e446504c822331ae13a86193f4655cbe6d559a498db9daf8c0f8066355e395cfd44f08b2f15d831820003bdfde6fc59c8434a695f95bdbe21 SHA512 b9a8b462536c5ec29db69e3a5f70b0bce160d5c58373cb519f6d54aba2fc0c4907e74fbcd11d49291306dc29c76f1992575aef7cfff41f34748bbd96e33b745a
+DIST ddrescue-1.28.tar.lz 93823 BLAKE2B 8c212f0d495e0df8e0398b97730c812ea9ccb77bd42e730198222e9918e3652fc52d932449b1e0dc9bdd453a123e2450c962e33e98d9845ce81b9a934a5bbdaa SHA512 ad3df2361b3b0228e2875792e0f6b301dc4d9cefd3f4fcdbce180a53c32924ee026bd27397b8efc94f40ee10f5f9d453fa72bd19203b6cb90208881e287e2c46
diff --git a/sys-fs/ddrescue/ddrescue-1.26.ebuild b/sys-fs/ddrescue/ddrescue-1.27.ebuild
index d9028f4ce2c3..8bf8cf8643e1 100644
--- a/sys-fs/ddrescue/ddrescue-1.26.ebuild
+++ b/sys-fs/ddrescue/ddrescue-1.27.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,11 +11,10 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux"
IUSE="static"
-DEPEND="$(unpacker_src_uri_depends)"
-RDEPEND=""
+BDEPEND="$(unpacker_src_uri_depends)"
src_configure() {
use static && append-ldflags -static
diff --git a/sys-fs/ddrescue/ddrescue-1.25.ebuild b/sys-fs/ddrescue/ddrescue-1.28.ebuild
index 61ffa9c9ef9d..0ba725b13aff 100644
--- a/sys-fs/ddrescue/ddrescue-1.25.ebuild
+++ b/sys-fs/ddrescue/ddrescue-1.28.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs flag-o-matic unpacker
@@ -11,11 +11,10 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.lz"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc ppc64 ~sparc x86 ~amd64-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
IUSE="static"
-DEPEND="$(unpacker_src_uri_depends)"
-RDEPEND=""
+BDEPEND="$(unpacker_src_uri_depends)"
src_configure() {
use static && append-ldflags -static
diff --git a/sys-fs/ddrescue/metadata.xml b/sys-fs/ddrescue/metadata.xml
index 2ac0eef8d76b..2bdb11292283 100644
--- a/sys-fs/ddrescue/metadata.xml
+++ b/sys-fs/ddrescue/metadata.xml
@@ -2,7 +2,10 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>marecki@gentoo.org</email>
+ <name>Marek Szuba</name>
</maintainer>
+ <upstream>
+ <remote-id type="savannah">ddrescue</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/dfc/dfc-3.1.1.ebuild b/sys-fs/dfc/dfc-3.1.1.ebuild
index 6efb0e5b80cd..4e0dba7f60f0 100644
--- a/sys-fs/dfc/dfc-3.1.1.ebuild
+++ b/sys-fs/dfc/dfc-3.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ DEPEND="nls? (
RDEPEND="nls? ( virtual/libintl )"
src_configure() {
- mycmakeargs=(
+ local mycmakeargs=(
# avoid installing xdg config in /usr
-DXDG_CONFIG_DIR="${EPREFIX}"/etc/xdg
# use the standard Gentoo doc path
diff --git a/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild b/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild
index f3adae2ed197..827b33bc27b7 100644
--- a/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild
+++ b/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
MY_PV=${PV%_p*}
@@ -29,6 +29,15 @@ PATCHES=(
)
src_compile() {
+ # -Werror=strict-alising
+ # https://bugs.gentoo.org/863893
+ # Upstream is entirely dead (since 2006!) and apple's opensource dump isn't
+ # exactly where you go to report (0) bugs to an automated feed.
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
emake -f Makefile.lnx AR="$(tc-getAR)" CC="$(tc-getCC)"
}
diff --git a/sys-fs/diskdev_cmds/metadata.xml b/sys-fs/diskdev_cmds/metadata.xml
index 115e9d64a669..7f8d6f17fd5b 100644
--- a/sys-fs/diskdev_cmds/metadata.xml
+++ b/sys-fs/diskdev_cmds/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">apple-opensource/diskdev_cmds</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/dislocker/Manifest b/sys-fs/dislocker/Manifest
index f50b11e8fd11..a1a495a1eb9d 100644
--- a/sys-fs/dislocker/Manifest
+++ b/sys-fs/dislocker/Manifest
@@ -1,3 +1 @@
-DIST dislocker-0.7.1-fix-find-ruby.patch 25942 BLAKE2B bd9d93c5eddcbade0039c1787dae36f5dd01f91cd435dfb9dbcfcb16f0f09cba7e73a3221c8b2f3843d0a68199fb9e38bdb91428fa784442659f7af53ab6d4dd SHA512 70f5a628659ef4645d757b899f3e6310e3a4d2ab89f429748c711177a0944e9b0eabf5341e394ab09216b0fa18e3c2b0832406b27f40c04510df937ffe5f65ef
-DIST dislocker-0.7.1.tar.gz 103194 BLAKE2B 05421b0d3e7686480e40a41e67086017c454b76e0852fef78a7b5d10134cf388b4bf7b9669d87b867418f4c074cc023ea9b0260dbdbc837322d04f217aa40b28 SHA512 8852ba3e363fdea992eebecfe1e4dad2b85404f57c57ce6b2937a9859d03cfa88d969926c9e11e6d22596c6d96805b7d1737893ae2c5a957448ab26708bce226
DIST dislocker-0.7.3.tar.gz 111257 BLAKE2B ba8403facfef04f5194a22421d2010d472b073d6dce03c9f457d7661de11bb818782cc66bfee8cd88fe72af7ac127bbbcbe1a01c5c35f0cf054f282b3208c3ea SHA512 c62241d70d51f6445a2f6d0f08e099bbc1a4257ca98232471fc43ec63e69d62ae5f702c995ec00b7e1db7d33f4bb3a31ea05bc13862bf3b539feb301a0e034ff
diff --git a/sys-fs/dislocker/dislocker-0.7.1-r3.ebuild b/sys-fs/dislocker/dislocker-0.7.1-r3.ebuild
deleted file mode 100644
index 90375bf7590b..000000000000
--- a/sys-fs/dislocker/dislocker-0.7.1-r3.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
-inherit cmake flag-o-matic
-
-DESCRIPTION="Read BitLocker encrypted partitions"
-HOMEPAGE="https://github.com/Aorimn/dislocker"
-
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/Aorimn/dislocker.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/Aorimn/dislocker/archive/v${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~juippis/distfiles/tmp/dislocker-0.7.1-fix-find-ruby.patch"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="ruby"
-
-DEPEND="
- sys-fs/fuse:0=
- net-libs/mbedtls:0=
- ruby? ( dev-lang/ruby:* )
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- if use ruby && [[ ${PV} == "0.7.1" ]]; then
- PATCHES=( "${DISTDIR}/${P}-fix-find-ruby.patch" )
- fi
- cmake_src_prepare
-
-# We either need to change Werror to Wno-error or remove the multiple declarations of FORTIFY_SOURCE
-# sed 's:Werror:Wno-error:g' -i "src/CMakeLists.txt" || die
- sed 's:-D_FORTIFY_SOURCE=2::g' -i "src/CMakeLists.txt" || die
-
-# sed 's:\.\./man:'../../${P}/man':g' -i "src/CMakeLists.txt" || die
-# Do not process compressed versions of the manuals
- sed -r 's:( create_symlink \$\{BIN_FUSE\}\.1)\.gz (.+\.1)\.gz\\:\1 \2\\:' -i "src/CMakeLists.txt" || die
- sed -r 's:^(.+\.1\.gz):#\1:' -i "src/CMakeLists.txt" || die
-}
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package ruby Ruby)
- )
- cmake_src_configure
-}
-
-src_install() {
- if ! use ruby; then
- rm "${S}/man/linux/${PN}-find.1" || die
- fi
- find "${S}/man/linux" -name '*.1' -exec doman '{}' + || die
- cmake_src_install
-}
diff --git a/sys-fs/dislocker/dislocker-0.7.3.ebuild b/sys-fs/dislocker/dislocker-0.7.3.ebuild
index 645e524dff46..16d0907613c8 100644
--- a/sys-fs/dislocker/dislocker-0.7.3.ebuild
+++ b/sys-fs/dislocker/dislocker-0.7.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
-inherit cmake flag-o-matic
+inherit cmake
DESCRIPTION="Dislocker is used to read BitLocker encrypted partitions"
HOMEPAGE="https://github.com/Aorimn/dislocker"
diff --git a/sys-fs/dislocker/dislocker-9999.ebuild b/sys-fs/dislocker/dislocker-9999.ebuild
index 645e524dff46..16d0907613c8 100644
--- a/sys-fs/dislocker/dislocker-9999.ebuild
+++ b/sys-fs/dislocker/dislocker-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
-inherit cmake flag-o-matic
+inherit cmake
DESCRIPTION="Dislocker is used to read BitLocker encrypted partitions"
HOMEPAGE="https://github.com/Aorimn/dislocker"
diff --git a/sys-fs/dislocker/metadata.xml b/sys-fs/dislocker/metadata.xml
index c12d7f89706a..5b357b2c530d 100644
--- a/sys-fs/dislocker/metadata.xml
+++ b/sys-fs/dislocker/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>nativemad@gentoo.org</email>
- <name>Andreas Schuerch</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">Aorimn/dislocker</remote-id>
</upstream>
diff --git a/sys-fs/dmg2img/Manifest b/sys-fs/dmg2img/Manifest
deleted file mode 100644
index 52e955840185..000000000000
--- a/sys-fs/dmg2img/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dmg2img-1.6.7.tar.gz 23238 BLAKE2B d4dc8da2974bc296e8aba21de816413df797322c6194e4ece3d0900d64fcd33084b29be6172a45bdc3f515c2e10544f107be2c7f0e6b7d247cf5d6bc5ad03e2f SHA512 4c42841c5cdbf868b6038648a6c83e78d4b7f2010f7065d7b3f4c2c04d13af9489716c1dfa867aff5f3c3b3eef96dc3fc0610eff13fec139265f37f468e339e6
diff --git a/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild b/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild
deleted file mode 100644
index c503f486c0fc..000000000000
--- a/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit toolchain-funcs
-
-DESCRIPTION="Converts Apple DMG files to standard HFS+ images"
-HOMEPAGE="http://vu1tur.eu.org/tools"
-SRC_URI="http://vu1tur.eu.org/tools/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-
-RDEPEND="app-arch/bzip2
- sys-libs/zlib
- dev-libs/openssl:0=
- "
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-openssl11.patch #674168
-)
-
-src_prepare() {
- default
- sed -i -e 's:-s:$(LDFLAGS):g' Makefile || die "sed failed"
-}
-
-src_compile() {
- tc-export CC
- emake CFLAGS="${CFLAGS}"
-}
-
-src_install() {
- dobin dmg2img vfdecrypt
- dodoc README
- doman vfdecrypt.1
-}
diff --git a/sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch b/sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch
deleted file mode 100644
index 53b73038ade1..000000000000
--- a/sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-diff --git a/old/vfdecrypt.c b/vfdecrypt.c
-index 56d3530..b1a36d3 100644
---- a/old/vfdecrypt.c
-+++ b/vfdecrypt.c
-@@ -183,7 +183,7 @@ void adjust_v2_header_byteorder(cencrypted_v2_pwheader *pwhdr) {
- pwhdr->encrypted_keyblob_size = htonl(pwhdr->encrypted_keyblob_size);
- }
-
--HMAC_CTX hmacsha1_ctx;
-+HMAC_CTX *hmacsha1_ctx;
- AES_KEY aes_decrypt_key;
- int CHUNK_SIZE=4096; // default
-
-@@ -196,9 +196,9 @@ void compute_iv(uint32_t chunk_no, uint8_t *iv) {
- unsigned int mdLen;
-
- chunk_no = OSSwapHostToBigInt32(chunk_no);
-- HMAC_Init_ex(&hmacsha1_ctx, NULL, 0, NULL, NULL);
-- HMAC_Update(&hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t));
-- HMAC_Final(&hmacsha1_ctx, mdResult, &mdLen);
-+ HMAC_Init_ex(hmacsha1_ctx, NULL, 0, NULL, NULL);
-+ HMAC_Update(hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t));
-+ HMAC_Final(hmacsha1_ctx, mdResult, &mdLen);
- memcpy(iv, mdResult, CIPHER_BLOCKSIZE);
- }
-
-@@ -212,52 +212,75 @@ void decrypt_chunk(uint8_t *ctext, uint8_t *ptext, uint32_t chunk_no) {
- /* DES3-EDE unwrap operation loosely based on to RFC 2630, section 12.6
- * wrapped_key has to be 40 bytes in length. */
- int apple_des3_ede_unwrap_key(uint8_t *wrapped_key, int wrapped_key_len, uint8_t *decryptKey, uint8_t *unwrapped_key) {
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- uint8_t *TEMP1, *TEMP2, *CEKICV;
- uint8_t IV[8] = { 0x4a, 0xdd, 0xa2, 0x2c, 0x79, 0xe8, 0x21, 0x05 };
- int outlen, tmplen, i;
-
-- EVP_CIPHER_CTX_init(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ ctx = EVP_CIPHER_CTX_new();
-+#else
-+ ctx = malloc(sizeof(*ctx));
-+#endif
-+ if (!ctx) {
-+ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n");
-+ return(-1);
-+ }
-+
-+ EVP_CIPHER_CTX_init(ctx);
- /* result of the decryption operation shouldn't be bigger than ciphertext */
- TEMP1 = malloc(wrapped_key_len);
- TEMP2 = malloc(wrapped_key_len);
- CEKICV = malloc(wrapped_key_len);
- /* uses PKCS#7 padding for symmetric key operations by default */
-- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV);
-+ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV);
-
-- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) {
-+ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) {
- fprintf(stderr, "internal error (1) during key unwrap operation!\n");
- return(-1);
- }
-- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) {
-+ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) {
- fprintf(stderr, "internal error (2) during key unwrap operation!\n");
- return(-1);
- }
- outlen += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_reset(ctx);
-+#else
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
-
- /* reverse order of TEMP3 */
- for(i = 0; i < outlen; i++) TEMP2[i] = TEMP1[outlen - i - 1];
-
-- EVP_CIPHER_CTX_init(&ctx);
-+ EVP_CIPHER_CTX_init(ctx);
- /* uses PKCS#7 padding for symmetric key operations by default */
-- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2);
-- if(!EVP_DecryptUpdate(&ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) {
-+ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2);
-+ if(!EVP_DecryptUpdate(ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) {
- fprintf(stderr, "internal error (3) during key unwrap operation!\n");
- return(-1);
- }
-- if(!EVP_DecryptFinal_ex(&ctx, CEKICV + outlen, &tmplen)) {
-+ if(!EVP_DecryptFinal_ex(ctx, CEKICV + outlen, &tmplen)) {
- fprintf(stderr, "internal error (4) during key unwrap operation!\n");
- return(-1);
- }
-
- outlen += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_reset(ctx);
-+#else
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
-
- memcpy(unwrapped_key, CEKICV+4, outlen-4);
- free(TEMP1);
- free(TEMP2);
- free(CEKICV);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_free(ctx);
-+#else
-+ free(ctx);
-+#endif
- return(0);
- }
-
-@@ -279,31 +302,46 @@ int unwrap_v1_header(char *passphrase, cencrypted_v1_header *header, uint8_t *ae
- int unwrap_v2_header(char *passphrase, cencrypted_v2_pwheader *header, uint8_t *aes_key, uint8_t *hmacsha1_key) {
- /* derived key is a 3DES-EDE key */
- uint8_t derived_key[192/8];
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- uint8_t *TEMP1;
- int outlen, tmplen;
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ ctx = EVP_CIPHER_CTX_new();
-+#else
-+ ctx = malloc(sizeof(*ctx));
-+#endif
-+ if (!ctx) {
-+ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n");
-+ return(-1);
-+ }
-+
- PKCS5_PBKDF2_HMAC_SHA1(passphrase, strlen(passphrase), (unsigned char*)header->kdf_salt, 20,
- PBKDF2_ITERATION_COUNT, sizeof(derived_key), derived_key);
-
- print_hex(derived_key, 192/8);
-
-- EVP_CIPHER_CTX_init(&ctx);
-+ EVP_CIPHER_CTX_init(ctx);
- /* result of the decryption operation shouldn't be bigger than ciphertext */
- TEMP1 = malloc(header->encrypted_keyblob_size);
- /* uses PKCS#7 padding for symmetric key operations by default */
-- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv);
-+ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv);
-
-- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) {
-+ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) {
- fprintf(stderr, "internal error (1) during key unwrap operation!\n");
- return(-1);
- }
-- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) {
-+ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) {
- fprintf(stderr, "internal error (2) during key unwrap operation!\n");
- return(-1);
- }
- outlen += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_free(ctx);
-+#else
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+ free(ctx);
-+#endif
- memcpy(aes_key, TEMP1, 16);
- memcpy(hmacsha1_key, TEMP1, 20);
-
-@@ -446,8 +484,21 @@ int main(int argc, char *argv[]) {
- CHUNK_SIZE = v2header.blocksize;
- }
-
-- HMAC_CTX_init(&hmacsha1_ctx);
-- HMAC_Init_ex(&hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ hmacsha1_ctx = HMAC_CTX_new();
-+#else
-+ hmacsha1_ctx = malloc(sizeof(*hmacsha1_ctx));
-+#endif
-+ if (!hmacsha1_ctx) {
-+ fprintf(stderr, "Out of memory: HMAC CTX!\n");
-+ exit(1);
-+ }
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ HMAC_CTX_reset(hmacsha1_ctx);
-+#else
-+ HMAC_CTX_init(hmacsha1_ctx);
-+#endif
-+ HMAC_Init_ex(hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL);
- AES_set_decrypt_key(aes_key, CIPHER_KEY_LENGTH * 8, &aes_decrypt_key);
-
- if (verbose >= 1) {
-@@ -472,5 +523,11 @@ int main(int argc, char *argv[]) {
- }
-
- if (verbose) fprintf(stderr, "%"PRIX32" chunks written\n", chunk_no);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ HMAC_CTX_free(hmacsha1_ctx);
-+#else
-+ HMAC_CTX_cleanup(hmacsha1_ctx);
-+ free(hmacsha1_ctx);
-+#endif
- return(0);
- }
diff --git a/sys-fs/dmg2img/metadata.xml b/sys-fs/dmg2img/metadata.xml
deleted file mode 100644
index 78ed2a765d2d..000000000000
--- a/sys-fs/dmg2img/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- dmg2img is an application that can convert .dmg files, popular on Mac OSX
- systems, to HFS+ disk images, suitable for mounting on Linux systems.
- </longdescription>
-</pkgmetadata>
diff --git a/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild b/sys-fs/dmraid/dmraid-1.0.0_rc16-r7.ebuild
index 4d1ce63d0172..9b4b3388e2d2 100644
--- a/sys-fs/dmraid/dmraid-1.0.0_rc16-r5.ebuild
+++ b/sys-fs/dmraid/dmraid-1.0.0_rc16-r7.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools linux-info
+inherit flag-o-matic autotools linux-info
MY_PV=${PV/_/.}-3
@@ -14,10 +14,10 @@ S="${WORKDIR}/${PN}/${MY_PV}/${PN}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
-IUSE="intel_led led mini static"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="intel-led led mini static"
-RDEPEND=">=sys-fs/lvm2-2.02.45"
+RDEPEND=">=sys-fs/lvm2-2.02.45[lvm(+)]"
DEPEND="
${RDEPEND}
static? ( sys-fs/lvm2[static-libs] )
@@ -67,6 +67,9 @@ src_prepare() {
}
src_configure() {
+ # bug 908662
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
# disable klibc and dietlibc, bug #653392
econf \
--with-usrlibdir='${prefix}'/$(get_libdir) \
@@ -75,7 +78,7 @@ src_configure() {
$(use_enable static static_link) \
$(use_enable mini) \
$(use_enable led) \
- $(use_enable intel_led)
+ $(use_enable intel-led intel_led)
}
src_install() {
diff --git a/sys-fs/dmraid/metadata.xml b/sys-fs/dmraid/metadata.xml
index a588239c2c89..a3d2230c49f6 100644
--- a/sys-fs/dmraid/metadata.xml
+++ b/sys-fs/dmraid/metadata.xml
@@ -2,7 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<use>
- <flag name="intel_led">Enable Intel LED support</flag>
+ <flag name="intel-led">Enable Intel LED support</flag>
<flag name="led">Enable LED support</flag>
<flag name="mini">Create a minimal binary suitable for early boot environments</flag>
</use>
diff --git a/sys-fs/duf/Manifest b/sys-fs/duf/Manifest
new file mode 100644
index 000000000000..789950b0a991
--- /dev/null
+++ b/sys-fs/duf/Manifest
@@ -0,0 +1,2 @@
+DIST duf-0.8.1-deps.tar.xz 6372212 BLAKE2B 01baf089f6142759ef8e376b352e31ecd482f0a94106a4e2606c2f6146cdd7ec33b431621dd680876650896f9d590a21d242b871777164af588e35804a11477e SHA512 51b966b5a8701c8e39ea2d022ca6ee1e0c64fd189b3531d8d0e253d46ee2b5d7270963c3a4930e964312085914edac45c78ed8fa440b459df13977c83ab3c964
+DIST duf-0.8.1.tar.gz 138214 BLAKE2B 388b7494ae15bdc026303ec81f529c08c66e34a8fb82d13c9b7fa730b1684edee5711497d866cbd16376573a386ef9311288e7e9d6143a577d2381425f8218bc SHA512 598318cd90e8a27bdc448cb84682f3846baa02bab0f527a26de42b8b3efd3ba258a76b6f7a74a41405e20b23ccff92db1b6ef7d3412fc8261942a8ccde4241dc
diff --git a/sys-fs/duf/duf-0.8.1.ebuild b/sys-fs/duf/duf-0.8.1.ebuild
new file mode 100644
index 000000000000..a165b7a726cb
--- /dev/null
+++ b/sys-fs/duf/duf-0.8.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module
+
+DESCRIPTION="Disk Usage/Free Utility - a better 'df' alternative"
+HOMEPAGE="https://github.com/muesli/duf"
+SRC_URI="https://github.com/muesli/duf/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://github.com/mrmagic223325/deps/releases/download/${P}/${P}-deps.tar.xz"
+
+LICENSE="MIT BSD Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="pie"
+
+src_compile() {
+ use pie && GOFLAGS+=" -buildmode=pie"
+ ego build
+}
+
+src_install() {
+ dobin duf
+ dodoc README.md
+ doman duf.1
+}
diff --git a/sys-fs/duf/metadata.xml b/sys-fs/duf/metadata.xml
new file mode 100644
index 000000000000..a154ef85f53a
--- /dev/null
+++ b/sys-fs/duf/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>mrmagic223325@fedora.email</email>
+ <name>Mathis Winterer</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <maintainer status="active">
+ <name>Christian Muehlhaeuser</name>
+ </maintainer>
+ <bugs-to>https://github.com/muesli/duf/issues</bugs-to>
+ <doc>https://github.com/muesli/duf</doc>
+ <remote-id type="github">muesli/duf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/duperemove/Manifest b/sys-fs/duperemove/Manifest
index 4ab5e7a8670c..36168fc8f9ef 100644
--- a/sys-fs/duperemove/Manifest
+++ b/sys-fs/duperemove/Manifest
@@ -1 +1 @@
-DIST duperemove-0.11.3.tar.gz 158445 BLAKE2B dff7fdcf8468933c21753a8253067dddc400d2baec4052cd70cd3d94e92ad6e612bb24ffc12ad4a79e356747dcf4ceba15aa3bf6b3fca4a7a0b829f7c2783391 SHA512 0669cbb8a08082b9c2b62aff26759951e3e2c1b2236676ac6d79b9639027f775e4e5a218d1c7930b33ad7cca39726764cce5ac3063dc7d2049eb65fc4431af89
+DIST duperemove-0.14.1.gh.new.tar.gz 167968 BLAKE2B 74d5ed6c452a24103d9ca0050ee1d1fdbb4eb4df5c2e86f84e6a1c70abf54d2caf27597d2088a5130d696bebaf07f93dd5f47e9c414af9ce3d19f096b872a02a SHA512 16af9fb002d6e51ce469869507d5d4b8f9576620746337252ad733e6f74ae275c1e83da6af1c203543b9d19890180952d87f9fad4a02d4c4e0a25577ce569191
diff --git a/sys-fs/duperemove/duperemove-0.11.3.ebuild b/sys-fs/duperemove/duperemove-0.11.3.ebuild
deleted file mode 100644
index 2f93aae79038..000000000000
--- a/sys-fs/duperemove/duperemove-0.11.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit toolchain-funcs
-
-DESCRIPTION="Btrfs and xfs deduplication utility"
-HOMEPAGE="https://github.com/markfasheh/duperemove"
-SRC_URI="https://github.com/markfasheh/duperemove/archive/v${PV/_/.}.tar.gz -> ${P/_/.}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-IUSE=""
-
-RDEPEND="
- dev-db/sqlite:3
- dev-libs/glib:2"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${P/_/.}
-
-src_prepare() {
- sed -i -e "/VER/s:0.12.dev:${PV}:" Makefile || die
- default
-}
-
-src_compile() {
- emake CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Wall"
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-}
diff --git a/sys-fs/duperemove/duperemove-0.14.1.ebuild b/sys-fs/duperemove/duperemove-0.14.1.ebuild
new file mode 100644
index 000000000000..8ce73d66e3e1
--- /dev/null
+++ b/sys-fs/duperemove/duperemove-0.14.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Btrfs and xfs deduplication utility"
+HOMEPAGE="https://github.com/markfasheh/duperemove/"
+# XXX: drop .new on bump after 0.14, added for respin
+SRC_URI="
+ https://github.com/markfasheh/duperemove/archive/v${PV/_/.}.tar.gz
+ -> ${P/_/.}.gh.new.tar.gz
+"
+S=${WORKDIR}/${P/_/.}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+
+DEPEND="
+ dev-db/sqlite:3
+ dev-libs/glib:2
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_compile() {
+ emake VERSION="${PV}" IS_RELEASE=1 CC="$(tc-getCC)" CFLAGS="${CFLAGS} -Wall"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+}
diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest
index 1affd4f6f476..5e61ba790588 100644
--- a/sys-fs/e2fsprogs/Manifest
+++ b/sys-fs/e2fsprogs/Manifest
@@ -1 +1 @@
-DIST e2fsprogs-1.46.5.tar.xz 7040672 BLAKE2B 8d8c02e891c464782a7cff518c41d793fc73366b57e17d80ffc5afd96e6144e354290e667e9710509a9dde4e5dab7e7185c5bf084c5bfd26219f05e5e92e0830 SHA512 53282e1c524f62a95012b1aceef296d494f5238c82c9b08b29fbe6a803dbf7ccfdcd9124eb2f11fe2ff9de26387c78751a92c3217ca414f6db6242098a72d3fa
+DIST e2fsprogs-1.47.0.tar.xz 7059372 BLAKE2B 84f58b05a9f0e14e1a66c6e5171ff23b022f51c4e9a02d4d6d1d26c91909f3c7ec9c9f0462663a4457b4479043774502b8891f691e58a61f4ef6bf9ba33f33aa SHA512 0e6d64c565b455becb84166b6a5c7090724bac5cfe69098657a31bf0481b4e2cace3de1363121b7d84820fbae85b7c83ac5f2a2b02bb36280f0e3ae83a934cec
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.46.5-r1.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild
index 26512e0a9bf7..3bf3b866da64 100644
--- a/sys-fs/e2fsprogs/e2fsprogs-1.46.5-r1.ebuild
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit flag-o-matic systemd toolchain-funcs udev usr-ldscript multilib-minimal
+inherit flag-o-matic multilib-minimal systemd toolchain-funcs udev
DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
HOMEPAGE="http://e2fsprogs.sourceforge.net/"
@@ -12,34 +12,41 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/$
LICENSE="GPL-2 BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="cron fuse lto nls static-libs test +threads +tools"
+IUSE="cron fuse nls static-libs test +tools"
RESTRICT="!test? ( test )"
RDEPEND="
!sys-libs/${PN}-libs
- cron? ( sys-fs/lvm2[-device-mapper-only(-)] )
+ cron? ( sys-fs/lvm2[lvm] )
fuse? ( sys-fs/fuse:0 )
nls? ( virtual/libintl )
- tools? ( sys-apps/util-linux )"
+ tools? ( sys-apps/util-linux )
+"
# For testing lib/ext2fs, lib/support/libsupport.a is required, which
# unconditionally includes '<blkid/blkid.h>' from sys-apps/util-linux.
DEPEND="
${RDEPEND}
- test? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )"
+ test? ( sys-apps/util-linux[${MULTILIB_USEDEP}] )
+"
BDEPEND="
- virtual/pkgconfig
sys-apps/texinfo
- nls? ( sys-devel/gettext )"
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/ext2fs/ext2_types.h
+)
PATCHES=(
- "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
+ "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch # bug #516854
+ # We can drop this metadata patch after 6 months or so to let initramfses
+ # upgrade. See bug #904093 and bug #904048.
+ "${FILESDIR}"/${PN}-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch
- # Upstream patches (can usually removed with next version bump)
- "${FILESDIR}"/${P}-parallel-make.patch
-)
+ "${FILESDIR}"/e2fsprogs-1.47.0-parallel-make.patch
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/ext2fs/ext2_types.h
+ # Upstream patches (can usually removed with next version bump)
)
src_prepare() {
@@ -51,18 +58,18 @@ src_prepare() {
# violation due to mktexfmt invocation
rm -r doc || die "Failed to remove doc dir"
- # prevent included intl cruft from building #81096
+ # Prevent included intl cruft from building, bug #81096
sed -i -r \
-e 's:@LIBINTL@:@LTLIBINTL@:' \
MCONFIG.in || die 'intl cruft'
}
multilib_src_configure() {
- # Keep the package from doing silly things #261411
+ # Keep the package from doing silly things, bug #261411
export VARTEXFONTS="${T}/fonts"
- # needs open64() prototypes and friends
- append-cppflags -D_GNU_SOURCE
+ # needed for >=musl-1.2.4, bug 908892
+ use elibc_musl && append-cflags -D_FILE_OFFSET_BITS=64
local myeconfargs=(
--with-root-prefix="${EPREFIX}"
@@ -77,11 +84,12 @@ multilib_src_configure() {
$(multilib_native_use_enable tools e2initrd-helper)
--disable-fsck
--disable-uuidd
- $(use_enable lto)
- $(use_with threads pthread)
+ --disable-lto
+ --with-pthread
+ --enable-largefile
)
- # we use blkid/uuid from util-linux now
+ # We use blkid/uuid from util-linux now
if use kernel_linux ; then
export ac_cv_lib_{uuid_uuid_generate,blkid_blkid_get_cache}=yes
myeconfargs+=( --disable-lib{blkid,uuid} )
@@ -97,7 +105,7 @@ multilib_src_configure() {
if grep -qs 'USE_INCLUDED_LIBINTL.*yes' config.{log,status} ; then
eerror "INTL sanity check failed, aborting build."
eerror "Please post your ${S}/config.log file as an"
- eerror "attachment to https://bugs.gentoo.org/show_bug.cgi?id=81096"
+ eerror "attachment to https://bugs.gentoo.org/81096"
die "Preventing included intl cruft from building"
fi
}
@@ -117,7 +125,7 @@ multilib_src_test() {
if multilib_is_native_abi && use tools ; then
emake V=1 check
else
- # required by lib/ext2fs's check target
+ # Required by lib/ext2fs's check target
emake -C lib/support V=1
# For non-native, there's no binaries to test. Just libraries.
@@ -138,11 +146,7 @@ multilib_src_install() {
emake -C lib/e2p V=1 DESTDIR="${D}" install
fi
- # Move shared libraries to /lib/, install static libraries to
- # /usr/lib/, and install linker scripts to /usr/lib/.
- gen_usr_ldscript -a com_err ss ext2fs e2p
-
- # configure doesn't have an option to disable static libs :/
+ # configure doesn't have an option to disable static libs
if ! use static-libs ; then
find "${ED}" -name '*.a' -delete || die
fi
@@ -156,3 +160,11 @@ multilib_src_install_all() {
doins "${FILESDIR}"/e2fsck.conf
fi
}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.46.5-parallel-make.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.46.5-parallel-make.patch
deleted file mode 100644
index 335f6659457d..000000000000
--- a/sys-fs/e2fsprogs/files/e2fsprogs-1.46.5-parallel-make.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/lib/ext2fs/Makefile.in
-+++ b/lib/ext2fs/Makefile.in
-@@ -729,6 +729,12 @@
- $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
- $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/bmap64.h $(srcdir)/rbtree.h \
- $(srcdir)/compiler.h
-+blknum.o: $(srcdir)/blknum.c $(top_builddir)/lib/config.h \
-+ $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
-+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
-+ $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h $(top_srcdir)/lib/et/com_err.h \
-+ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
-+ $(srcdir)/ext2_ext_attr.h $(srcdir)/hashmap.h $(srcdir)/bitops.h
- block.o: $(srcdir)/block.c $(top_builddir)/lib/config.h \
- $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
-@@ -837,6 +843,13 @@
- $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
- $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \
- $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \
-+ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \
-+ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
-+ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/e2image.h
-+fallocate.o: $(srcdir)/fallocate.c $(top_builddir)/lib/config.h \
-+ $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
-+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fsP.h \
-+ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \
- $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \
- $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
- $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/e2image.h
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch
new file mode 100644
index 000000000000..566b5fb8d9af
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-disable-metadata_csum_seed-and-orphan_file-by-default.patch
@@ -0,0 +1,30 @@
+https://lwn.net/Articles/923969/
+https://sources.debian.org/data/main/e/e2fsprogs/1.47.0-2/debian/patches/disable-metadata_csum_seed-and-orphan_file-by-default
+
+Description: Disable metadata_csum_seed and orphan_file by default for Debian
+ .
+ There are a lot of debian packages that assume that mkfs.ext4 for
+ Debian N will work on Debian N-1 (and sometimes N-2, N-3, etc.). This
+ is a bad assumption, but it's too late to fix this for Debian
+ Bookworm.
+ .
+ So revert making these feature a default for now. We will enable it
+ again post Bookworm.
+Author: Theodore Ts'o <tytso@mit.edu>
+Origin: vendor
+Forwarded: not-needed
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1031622
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1030939
+--- a/misc/mke2fs.conf.in
++++ b/misc/mke2fs.conf.in
+@@ -11,7 +11,7 @@
+ features = has_journal
+ }
+ ext4 = {
+- features = has_journal,extent,huge_file,flex_bg,metadata_csum,metadata_csum_seed,64bit,dir_nlink,extra_isize,orphan_file
++ features = has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize
+ }
+ small = {
+ blocksize = 1024
+--
+2.31.0
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-parallel-make.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-parallel-make.patch
new file mode 100644
index 000000000000..3396aa467db6
--- /dev/null
+++ b/sys-fs/e2fsprogs/files/e2fsprogs-1.47.0-parallel-make.patch
@@ -0,0 +1,68 @@
+From 711ed1823c7676533d5f6d5e4d1558a792d43837 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 25 Apr 2023 21:53:19 +0200
+Subject: [PATCH] Add missing Makefile dependencies
+
+* With very high -j parallelism, we get failures in Gentoo:
+
+ In file included from lib/ext2fs/blknum.c:15:
+ lib/ext2fs/ext2fs.h:105:10: fatal error: ext2fs/ext2_err.h: No such file or directory
+ 105 | #include <ext2fs/ext2_err.h>
+ | ^~~~~~~~~~~~~~~~~~~
+ compilation terminated.
+ In file included from lib/ext2fs/fallocate.c:19:
+ lib/ext2fs/ext2fs.h:105:10: fatal error: ext2fs/ext2_err.h: No such file or directory
+ 105 | #include <ext2fs/ext2_err.h>
+ | ^~~~~~~~~~~~~~~~~~~
+
+Bug: https://bugs.gentoo.org/806875#c17
+Signed-off-by: David Seifert <soap@gentoo.org>
+---
+ lib/ext2fs/Makefile.in | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in
+index 798ff609..2c4e0277 100644
+--- a/lib/ext2fs/Makefile.in
++++ b/lib/ext2fs/Makefile.in
+@@ -731,6 +731,12 @@ blkmap64_rb.o: $(srcdir)/blkmap64_rb.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
+ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/bmap64.h $(srcdir)/rbtree.h \
+ $(srcdir)/compiler.h
++blknum.o: $(srcdir)/blknum.c $(top_builddir)/lib/config.h \
++ $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
++ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \
++ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \
++ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
++ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/bmap64.h
+ block.o: $(srcdir)/block.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
+@@ -842,6 +848,12 @@ extent.o: $(srcdir)/extent.c $(top_builddir)/lib/config.h \
+ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \
+ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
+ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/e2image.h
++fallocate.o: $(srcdir)/fallocate.c $(top_builddir)/lib/config.h \
++ $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
++ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \
++ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \
++ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
++ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/bmap64.h
+ fileio.o: $(srcdir)/fileio.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2_fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2fs.h \
+@@ -1049,6 +1061,12 @@ openfs.o: $(srcdir)/openfs.c $(top_builddir)/lib/config.h \
+ $(srcdir)/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(srcdir)/ext2_ext_attr.h $(srcdir)/hashmap.h $(srcdir)/bitops.h \
+ $(srcdir)/e2image.h
++orphan.o: $(srcdir)/orphan.c $(top_builddir)/lib/config.h \
++ $(srcdir)/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
++ $(srcdir)/ext2fs.h $(srcdir)/ext2_fs.h $(srcdir)/ext3_extents.h \
++ $(top_srcdir)/lib/et/com_err.h $(srcdir)/ext2_io.h \
++ $(top_builddir)/lib/ext2fs/ext2_err.h $(srcdir)/ext2_ext_attr.h \
++ $(srcdir)/hashmap.h $(srcdir)/bitops.h $(srcdir)/bmap64.h
+ progress.o: $(srcdir)/progress.c $(top_builddir)/lib/config.h \
+ $(top_builddir)/lib/dirpaths.h $(srcdir)/ext2fs.h \
+ $(top_builddir)/lib/ext2fs/ext2_types.h $(srcdir)/ext2_fs.h \
+--
+2.40.0
diff --git a/sys-fs/e2fsprogs/metadata.xml b/sys-fs/e2fsprogs/metadata.xml
index 902c90f4f054..3030299059ee 100644
--- a/sys-fs/e2fsprogs/metadata.xml
+++ b/sys-fs/e2fsprogs/metadata.xml
@@ -6,9 +6,8 @@
<name>Gentoo Base System</name>
</maintainer>
<use>
- <flag name="cron">Install e2scrub_all cron script</flag>
+ <flag name="cron">Install e2scrub_all cron script</flag>
<flag name="fuse">Build fuse2fs, a FUSE file system client for ext2/ext3/ext4 file systems</flag>
- <flag name="lto">Build with link time optimization (LTO)</flag>
<flag name="tools">Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)</flag>
</use>
<upstream>
diff --git a/sys-fs/e2tools/metadata.xml b/sys-fs/e2tools/metadata.xml
index 73dda144f9ac..7aeeadca19bb 100644
--- a/sys-fs/e2tools/metadata.xml
+++ b/sys-fs/e2tools/metadata.xml
@@ -5,4 +5,7 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
+<upstream>
+ <remote-id type="github">ndim/e2tools</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sys-fs/ecryptfs-utils/ecryptfs-utils-111_p20170609-r1.ebuild b/sys-fs/ecryptfs-utils/ecryptfs-utils-111_p20170609-r1.ebuild
index 13befda463d2..087aa4162554 100644
--- a/sys-fs/ecryptfs-utils/ecryptfs-utils-111_p20170609-r1.ebuild
+++ b/sys-fs/ecryptfs-utils/ecryptfs-utils-111_p20170609-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ S="${WORKDIR}/~${MY_PN}/${MY_PN}/trunk/"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86"
IUSE="doc gpg gtk nls openssl pam pkcs11 suid tpm"
BDEPEND="
diff --git a/sys-fs/encfs/encfs-1.9.5-r1.ebuild b/sys-fs/encfs/encfs-1.9.5-r1.ebuild
deleted file mode 100644
index 3d07c9a58501..000000000000
--- a/sys-fs/encfs/encfs-1.9.5-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit cmake
-
-DESCRIPTION="An implementation of encrypted filesystem in user-space using FUSE"
-HOMEPAGE="https://vgough.github.io/encfs/"
-SRC_URI="https://github.com/vgough/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3 LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm ~ppc64 ~sparc x86"
-IUSE="nls"
-
-RDEPEND="
- dev-libs/openssl:0=
- dev-libs/tinyxml2:0=
- sys-fs/fuse:0=
- sys-libs/zlib"
-DEPEND="
- ${RDEPEND}
- dev-lang/perl
- sys-devel/gettext
- virtual/pkgconfig"
-
-# Build dir is hardcoded in test suite, but we restrict them
-# because they can lead to false negatives, bug #630486
-RESTRICT="test"
-BUILD_DIR="${S}/build"
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_NLS="$(usex nls)"
- -DUSE_INTERNAL_TINYXML=OFF
- -DBUILD_UNIT_TESTS=OFF
- -DBUILD_SHARED_LIBS=OFF
- )
- cmake_src_configure
-}
diff --git a/sys-fs/encfs/encfs-1.9.5-r2.ebuild b/sys-fs/encfs/encfs-1.9.5-r2.ebuild
index c26268474a9d..248d5daddc17 100644
--- a/sys-fs/encfs/encfs-1.9.5-r2.ebuild
+++ b/sys-fs/encfs/encfs-1.9.5-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/vgough/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 LGPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~sparc ~x86"
+KEYWORDS="amd64 arm ~ppc64 ~sparc x86"
IUSE="nls"
RDEPEND="dev-libs/openssl:=
diff --git a/sys-fs/encfs/metadata.xml b/sys-fs/encfs/metadata.xml
index 4308d94ef082..e85e23514cb1 100644
--- a/sys-fs/encfs/metadata.xml
+++ b/sys-fs/encfs/metadata.xml
@@ -1,9 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>zoltan@sinustrom.info</email>
+ <name>Zoltan Puskas</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
<maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
<upstream>
<remote-id type="google-code">encfs</remote-id>
diff --git a/sys-fs/erofs-utils/Manifest b/sys-fs/erofs-utils/Manifest
index 0c2d2532e5de..96e333932c0b 100644
--- a/sys-fs/erofs-utils/Manifest
+++ b/sys-fs/erofs-utils/Manifest
@@ -1 +1,2 @@
-DIST erofs-utils-1.4.tar.gz 93979 BLAKE2B aef1dca8cb95e6104d73a84590319d3c55aba1a4ef5dbdbf470662cb86ee1b66a5707dc1c453470115ec6f2bf1246ee4b6b28aa1cb83b4cb9c8eed45e88668d4 SHA512 ab95d6a7b2d278ee443d1e378c62354db66ce7ab5ce03b3a8d9004cf498c4e43e3e8ced6524444d2ea4871c4db0195489f033180c8a2082c2cba69c46c09692f
+DIST erofs-utils-1.6.tar.gz 126558 BLAKE2B ad4ce3777c484d485b91f29a97c08499398595d654a4ad63e1cc6a75c176b0476d3af1d7a2bf1ef5f6df996281c1b1bdfdf004be4428c0c168652af68acd83d1 SHA512 1537c5cb60cb70c607b8c00408451f90122fe902d80c9d35dde7b9205588ae3513ddd7cb38d4062e55bb57e37d9b53a668752792e6cba0bc0d78176afed3e502
+DIST erofs-utils-1.7.tar.gz 165393 BLAKE2B f22183fbc3346db0632f0fc842586251d0e17ea19e1de3be51cd807dfac4a6150a080d6b81625c3e08eeebc2ae28d7840f8209c905ca87fc70481d3d8c3913ec SHA512 0f204cd40644bde28f9bd0c5c234d93e68db3a3998bb089f43bfb3ce9a9db1e1cc2fa65919205cbd4a484fa4388cffadf5b395bc4363de3882e1a19778c2d62b
diff --git a/sys-fs/erofs-utils/erofs-utils-1.4.ebuild b/sys-fs/erofs-utils/erofs-utils-1.6-r1.ebuild
index b12a9a233e0d..87fe99420cfd 100644
--- a/sys-fs/erofs-utils/erofs-utils-1.4.ebuild
+++ b/sys-fs/erofs-utils/erofs-utils-1.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,11 +13,12 @@ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapsho
KEYWORDS="~amd64 ~loong"
SLOT="0"
-IUSE="fuse +lz4 selinux +uuid"
+IUSE="fuse +lz4 +lzma selinux +uuid"
RDEPEND="
fuse? ( sys-fs/fuse:0 )
lz4? ( app-arch/lz4:0= )
+ lzma? ( >=app-arch/xz-utils-5.4.0:0= )
selinux? ( sys-libs/libselinux:0= )
uuid? ( sys-apps/util-linux )
"
@@ -25,9 +26,8 @@ DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
- "${FILESDIR}/${PV}-dump-fix-de-nid-issues.patch"
- "${FILESDIR}/${PV}-fsck-add-missing-include.patch"
- "${FILESDIR}/${PV}-werror.patch"
+ "${FILESDIR}/${P}-CVE-2023-33551.patch"
+ "${FILESDIR}/${P}-CVE-2023-33552.patch"
)
src_prepare() {
@@ -36,13 +36,14 @@ src_prepare() {
}
src_configure() {
- # This package asks for MicroLZMA support, which is not included in any
- # released version of xz-utils at the moment, so disable lzma until a new
- # xz-utils is packaged.
- econf \
- $(use_enable fuse) \
- $(use_enable lz4) \
- --disable-lzma \
- $(use_with selinux) \
+ local myeconfargs=(
+ --disable-werror
+ $(use_enable fuse)
+ $(use_enable lz4)
+ $(use_enable lzma)
+ $(use_with selinux)
$(use_with uuid)
+ )
+
+ econf "${myeconfargs[@]}"
}
diff --git a/sys-fs/erofs-utils/erofs-utils-1.7.ebuild b/sys-fs/erofs-utils/erofs-utils-1.7.ebuild
new file mode 100644
index 000000000000..bae6965ed9b7
--- /dev/null
+++ b/sys-fs/erofs-utils/erofs-utils-1.7.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Userspace tools for EROFS"
+HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git"
+LICENSE="GPL-2+"
+
+SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/xiang/${PN}.git/snapshot/${P}.tar.gz"
+KEYWORDS="~amd64 ~arm64 ~loong"
+
+SLOT="0"
+IUSE="fuse +lz4 +lzma selinux +uuid +zlib"
+
+RDEPEND="
+ fuse? ( sys-fs/fuse:0 )
+ lz4? ( app-arch/lz4:0= )
+ lzma? ( >=app-arch/xz-utils-5.4.0:0= )
+ selinux? ( sys-libs/libselinux:0= )
+ uuid? ( sys-apps/util-linux )
+ zlib? ( sys-libs/zlib:0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --disable-werror
+ $(use_enable fuse)
+ $(use_enable lz4)
+ $(use_enable lzma)
+ $(use_with selinux)
+ $(use_with uuid)
+ $(use_with zlib)
+ --without-libdeflate # not packaged
+ )
+
+ econf "${myeconfargs[@]}"
+}
diff --git a/sys-fs/erofs-utils/files/1.4-dump-fix-de-nid-issues.patch b/sys-fs/erofs-utils/files/1.4-dump-fix-de-nid-issues.patch
deleted file mode 100644
index 4c833d737fa2..000000000000
--- a/sys-fs/erofs-utils/files/1.4-dump-fix-de-nid-issues.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-From 35b15cc9c75cc2d7782f36433bad90326e9cb060 Mon Sep 17 00:00:00 2001
-From: Gao Xiang <xiang@kernel.org>
-Date: Mon, 22 Nov 2021 07:48:48 +0800
-Subject: [PATCH 1/2] erofs-utils: dump: fix de->nid issues
-
-As David Michael reported, "
- In file included from main.c:11:
- main.c: In function 'erofs_checkdirent':
- ../include/erofs/print.h:68:25: error: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type '__le64' {aka 'long unsigned int'} [-Werror=format=]
- 68 | "<E> " PR_FMT_FUNC_LINE(fmt), \
- | ^~~~~~
- main.c:264:17: note: in expansion of macro 'erofs_err'
- 264 | erofs_err("invalid file type %llu", de->nid);
- | ^~~~~~~~~
- main.c: In function 'erofs_read_dirent':
- ../include/erofs/print.h:68:25: error: format '%llu' expects argument of type 'long long unsigned int', but argument 3 has type '__le64' {aka 'long unsigned int'} [-Werror=format=]
- 68 | "<E> " PR_FMT_FUNC_LINE(fmt), \
- | ^~~~~~
- main.c:303:25: note: in expansion of macro 'erofs_err'
- 303 | erofs_err("parse dir nid %llu error occurred\n",
- | ^~~~~~~~~
- cc1: all warnings being treated as errors
-"
-
-Also there are many de->nid lacking of endianness handling.
-Should fix them together.
-
-Link: https://lore.kernel.org/r/20211121234848.12663-1-xiang@kernel.org
-Fixes: cf8be8a4352a ("erofs-utils: dump: add feature for collecting filesystem statistics")
-Cc: Wang Qi <mpiglet@outlook.com>
-Cc: Guo Xuenan <guoxuenan@huawei.com>
-Reported-by: David Michael <fedora.dm0@gmail.com>
-Signed-off-by: Gao Xiang <xiang@kernel.org>
----
- dump/main.c | 31 ++++++++++++++++---------------
- 1 file changed, 16 insertions(+), 15 deletions(-)
-
-diff --git a/dump/main.c b/dump/main.c
-index b7560ec..f85903b 100644
---- a/dump/main.c
-+++ b/dump/main.c
-@@ -242,11 +242,12 @@ static inline int erofs_checkdirent(struct erofs_dirent *de,
- {
- int dname_len;
- unsigned int nameoff = le16_to_cpu(de->nameoff);
-+ erofs_nid_t nid = le64_to_cpu(de->nid);
-
- if (nameoff < sizeof(struct erofs_dirent) ||
- nameoff >= PAGE_SIZE) {
- erofs_err("invalid de[0].nameoff %u @ nid %llu",
-- nameoff, de->nid | 0ULL);
-+ nameoff, nid | 0ULL);
- return -EFSCORRUPTED;
- }
-
-@@ -255,13 +256,12 @@ static inline int erofs_checkdirent(struct erofs_dirent *de,
- /* a corrupted entry is found */
- if (nameoff + dname_len > maxsize ||
- dname_len > EROFS_NAME_LEN) {
-- erofs_err("bogus dirent @ nid %llu",
-- le64_to_cpu(de->nid) | 0ULL);
-+ erofs_err("bogus dirent @ nid %llu", nid | 0ULL);
- DBG_BUGON(1);
- return -EFSCORRUPTED;
- }
- if (de->file_type >= EROFS_FT_MAX) {
-- erofs_err("invalid file type %llu", de->nid);
-+ erofs_err("invalid file type %llu", nid | 0ULL);
- return -EFSCORRUPTED;
- }
- return dname_len;
-@@ -273,7 +273,7 @@ static int erofs_read_dirent(struct erofs_dirent *de,
- {
- int err;
- erofs_off_t occupied_size = 0;
-- struct erofs_inode inode = { .nid = de->nid };
-+ struct erofs_inode inode = { .nid = le64_to_cpu(de->nid) };
-
- stats.files++;
- stats.file_category_stat[de->file_type]++;
-@@ -296,12 +296,12 @@ static int erofs_read_dirent(struct erofs_dirent *de,
- update_file_size_statatics(occupied_size, inode.i_size);
- }
-
-- if ((de->file_type == EROFS_FT_DIR)
-- && de->nid != nid && de->nid != parent_nid) {
-- err = erofs_read_dir(de->nid, nid);
-+ if (de->file_type == EROFS_FT_DIR && inode.nid != nid &&
-+ inode.nid != parent_nid) {
-+ err = erofs_read_dir(inode.nid, nid);
- if (err) {
- erofs_err("parse dir nid %llu error occurred\n",
-- de->nid);
-+ inode.nid | 0ULL);
- return err;
- }
- }
-@@ -338,7 +338,8 @@ static int erofs_read_dir(erofs_nid_t nid, erofs_nid_t parent_nid)
- int ret;
-
- /* skip "." and ".." dentry */
-- if (de->nid == nid || de->nid == parent_nid) {
-+ if (le64_to_cpu(de->nid) == nid ||
-+ le64_to_cpu(de->nid) == parent_nid) {
- de++;
- continue;
- }
-@@ -399,18 +400,18 @@ static int erofs_get_pathname(erofs_nid_t nid, erofs_nid_t parent_nid,
- if (len < 0)
- return len;
-
-- if (de->nid == target) {
-+ if (le64_to_cpu(de->nid) == target) {
- memcpy(path + pos, dname, len);
- path[pos + len] = '\0';
- return 0;
- }
-
- if (de->file_type == EROFS_FT_DIR &&
-- de->nid != parent_nid &&
-- de->nid != nid) {
-+ le64_to_cpu(de->nid) != parent_nid &&
-+ le64_to_cpu(de->nid) != nid) {
- memcpy(path + pos, dname, len);
-- err = erofs_get_pathname(de->nid, nid,
-- target, path, pos + len);
-+ err = erofs_get_pathname(le64_to_cpu(de->nid),
-+ nid, target, path, pos + len);
- if (!err)
- return 0;
- memset(path + pos, 0, len);
---
-2.34.1
-
diff --git a/sys-fs/erofs-utils/files/1.4-fsck-add-missing-include.patch b/sys-fs/erofs-utils/files/1.4-fsck-add-missing-include.patch
deleted file mode 100644
index 8e4f6ac3d336..000000000000
--- a/sys-fs/erofs-utils/files/1.4-fsck-add-missing-include.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 2ac662b01de904802da4e84d0738e47bf573efde Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex@linutronix.de>
-Date: Mon, 6 Dec 2021 20:14:03 +0100
-Subject: [PATCH 2/2] fsck/main.c: add missing include
-
-Otherwise musl C library builds fail with missing S_IFMT/S_IFDIR
-definitions.
-
-Link: https://lore.kernel.org/r/20211206191403.1435229-1-alex@linutronix.de
-Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
-Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
----
- fsck/main.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/fsck/main.c b/fsck/main.c
-index aefa881..ad48e35 100644
---- a/fsck/main.c
-+++ b/fsck/main.c
-@@ -6,6 +6,7 @@
- #include <stdlib.h>
- #include <getopt.h>
- #include <time.h>
-+#include <sys/stat.h>
- #include "erofs/print.h"
- #include "erofs/io.h"
- #include "erofs/decompress.h"
---
-2.34.1
-
diff --git a/sys-fs/erofs-utils/files/1.4-werror.patch b/sys-fs/erofs-utils/files/1.4-werror.patch
deleted file mode 100644
index 21740d646c54..000000000000
--- a/sys-fs/erofs-utils/files/1.4-werror.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -11,7 +11,7 @@ AC_CONFIG_SRCDIR([config.h.in])
- AC_CONFIG_HEADERS([config.h])
- AC_CONFIG_MACRO_DIR([m4])
- AC_CONFIG_AUX_DIR(config)
--AM_INIT_AUTOMAKE([foreign -Wall -Werror])
-+AM_INIT_AUTOMAKE([foreign -Wall])
-
- # Checks for programs.
- AM_PROG_AR
---- a/dump/Makefile.am
-+++ b/dump/Makefile.am
-@@ -5,6 +5,6 @@ AUTOMAKE_OPTIONS = foreign
- bin_PROGRAMS = dump.erofs
- AM_CPPFLAGS = ${libuuid_CFLAGS}
- dump_erofs_SOURCES = main.c
--dump_erofs_CFLAGS = -Wall -Werror -I$(top_srcdir)/include
-+dump_erofs_CFLAGS = -Wall -I$(top_srcdir)/include
- dump_erofs_LDADD = $(top_builddir)/lib/liberofs.la ${libselinux_LIBS} \
- ${libuuid_LIBS} ${liblz4_LIBS} ${liblzma_LIBS}
---- a/fsck/Makefile.am
-+++ b/fsck/Makefile.am
-@@ -5,6 +5,6 @@ AUTOMAKE_OPTIONS = foreign
- bin_PROGRAMS = fsck.erofs
- AM_CPPFLAGS = ${libuuid_CFLAGS}
- fsck_erofs_SOURCES = main.c
--fsck_erofs_CFLAGS = -Wall -Werror -I$(top_srcdir)/include
-+fsck_erofs_CFLAGS = -Wall -I$(top_srcdir)/include
- fsck_erofs_LDADD = $(top_builddir)/lib/liberofs.la ${libselinux_LIBS} \
- ${libuuid_LIBS} ${liblz4_LIBS} ${liblzma_LIBS}
---- a/fuse/Makefile.am
-+++ b/fuse/Makefile.am
-@@ -3,7 +3,7 @@
- AUTOMAKE_OPTIONS = foreign
- bin_PROGRAMS = erofsfuse
- erofsfuse_SOURCES = dir.c main.c
--erofsfuse_CFLAGS = -Wall -Werror -I$(top_srcdir)/include
-+erofsfuse_CFLAGS = -Wall -I$(top_srcdir)/include
- erofsfuse_CFLAGS += -DFUSE_USE_VERSION=26 ${libfuse_CFLAGS} ${libselinux_CFLAGS}
- erofsfuse_LDADD = $(top_builddir)/lib/liberofs.la ${libfuse_LIBS} ${liblz4_LIBS} \
- ${libselinux_LIBS} ${liblzma_LIBS}
---- a/lib/Makefile.am
-+++ b/lib/Makefile.am
-@@ -27,7 +27,7 @@ noinst_HEADERS += compressor.h
- liberofs_la_SOURCES = config.c io.c cache.c super.c inode.c xattr.c exclude.c \
- namei.c data.c compress.c compressor.c zmap.c decompress.c \
- compress_hints.c hashmap.c sha256.c blobchunk.c
--liberofs_la_CFLAGS = -Wall -Werror -I$(top_srcdir)/include
-+liberofs_la_CFLAGS = -Wall -I$(top_srcdir)/include
- if ENABLE_LZ4
- liberofs_la_CFLAGS += ${LZ4_CFLAGS}
- liberofs_la_SOURCES += compressor_lz4.c
---- a/mkfs/Makefile.am
-+++ b/mkfs/Makefile.am
-@@ -4,6 +4,6 @@ AUTOMAKE_OPTIONS = foreign
- bin_PROGRAMS = mkfs.erofs
- AM_CPPFLAGS = ${libuuid_CFLAGS} ${libselinux_CFLAGS}
- mkfs_erofs_SOURCES = main.c
--mkfs_erofs_CFLAGS = -Wall -Werror -I$(top_srcdir)/include
-+mkfs_erofs_CFLAGS = -Wall -I$(top_srcdir)/include
- mkfs_erofs_LDADD = ${libuuid_LIBS} $(top_builddir)/lib/liberofs.la ${libselinux_LIBS} \
- ${liblz4_LIBS} ${liblzma_LIBS}
diff --git a/sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33551.patch b/sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33551.patch
new file mode 100644
index 000000000000..ce20d18cb33f
--- /dev/null
+++ b/sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33551.patch
@@ -0,0 +1,70 @@
+https://git.kernel.org/xiang/erofs-utils/c/27aeef179bf17d5f1d98f827e93d24839a6d4176
+From: Gao Xiang <hsiangkao@linux.alibaba.com>
+Date: Fri, 2 Jun 2023 13:52:56 +0800
+Subject: erofs-utils: fsck: block insane long paths when extracting images
+
+Since some crafted EROFS filesystem images could have insane deep
+hierarchy (or may form directory loops) which triggers the
+PATH_MAX-sized path buffer OR stack overflow.
+
+Actually some crafted images cannot be deemed as real corrupted
+images but over-PATH_MAX paths are not something that we'd like to
+support for now.
+
+CVE: CVE-2023-33551
+Closes: https://nvd.nist.gov/vuln/detail/CVE-2023-33551
+Reported-by: Chaoming Yang <lometsj@live.com>
+Fixes: f44043561491 ("erofs-utils: introduce fsck.erofs")
+Fixes: b11f84f593f9 ("erofs-utils: fsck: convert to use erofs_iterate_dir()")
+Fixes: 412c8f908132 ("erofs-utils: fsck: add --extract=X support to extract to path X")
+Signeo-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Link: https://lore.kernel.org/r/20230602055256.18061-1-hsiangkao@linux.alibaba.com
+--- a/fsck/main.c
++++ b/fsck/main.c
+@@ -680,28 +680,35 @@ again:
+ static int erofsfsck_dirent_iter(struct erofs_dir_context *ctx)
+ {
+ int ret;
+- size_t prev_pos = fsckcfg.extract_pos;
++ size_t prev_pos, curr_pos;
+
+ if (ctx->dot_dotdot)
+ return 0;
+
+- if (fsckcfg.extract_path) {
+- size_t curr_pos = prev_pos;
++ prev_pos = fsckcfg.extract_pos;
++ curr_pos = prev_pos;
++
++ if (prev_pos + ctx->de_namelen >= PATH_MAX) {
++ erofs_err("unable to fsck since the path is too long (%u)",
++ curr_pos + ctx->de_namelen);
++ return -EOPNOTSUPP;
++ }
+
++ if (fsckcfg.extract_path) {
+ fsckcfg.extract_path[curr_pos++] = '/';
+ strncpy(fsckcfg.extract_path + curr_pos, ctx->dname,
+ ctx->de_namelen);
+ curr_pos += ctx->de_namelen;
+ fsckcfg.extract_path[curr_pos] = '\0';
+- fsckcfg.extract_pos = curr_pos;
++ } else {
++ curr_pos += ctx->de_namelen;
+ }
+-
++ fsckcfg.extract_pos = curr_pos;
+ ret = erofsfsck_check_inode(ctx->dir->nid, ctx->de_nid);
+
+- if (fsckcfg.extract_path) {
++ if (fsckcfg.extract_path)
+ fsckcfg.extract_path[prev_pos] = '\0';
+- fsckcfg.extract_pos = prev_pos;
+- }
++ fsckcfg.extract_pos = prev_pos;
+ return ret;
+ }
+
+--
+cgit
+
diff --git a/sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33552.patch b/sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33552.patch
new file mode 100644
index 000000000000..c53a9b8044fe
--- /dev/null
+++ b/sys-fs/erofs-utils/files/erofs-utils-1.6-CVE-2023-33552.patch
@@ -0,0 +1,117 @@
+https://git.kernel.org/xiang/erofs-utils/c/2145dff03dd3f3f74bcda3b52160fbad37f7fcfe
+From: Gao Xiang <hsiangkao@linux.alibaba.com>
+Date: Fri, 2 Jun 2023 11:05:19 +0800
+Subject: erofs-utils: fsck: don't allocate/read too large extents
+
+Since some crafted EROFS filesystem images could have insane large
+extents, which causes unexpected bahaviors when extracting data.
+
+Fix it by extracting large extents with a buffer of a reasonable
+maximum size limit and reading multiple times instead.
+
+Note that only `--extract` option is impacted.
+
+CVE: CVE-2023-33552
+Closes: https://nvd.nist.gov/vuln/detail/CVE-2023-33552
+Reported-by: Chaoming Yang <lometsj@live.com>
+Fixes: 412c8f908132 ("erofs-utils: fsck: add --extract=X support to extract to path X")
+Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
+Link: https://lore.kernel.org/r/20230602030519.117071-1-hsiangkao@linux.alibaba.com
+--- a/fsck/main.c
++++ b/fsck/main.c
+@@ -392,6 +392,8 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
+ }
+
+ while (pos < inode->i_size) {
++ unsigned int alloc_rawsize;
++
+ map.m_la = pos;
+ if (compressed)
+ ret = z_erofs_map_blocks_iter(inode, &map,
+@@ -420,10 +422,28 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
+ if (!(map.m_flags & EROFS_MAP_MAPPED) || !fsckcfg.check_decomp)
+ continue;
+
+- if (map.m_plen > raw_size) {
+- raw_size = map.m_plen;
+- raw = realloc(raw, raw_size);
+- BUG_ON(!raw);
++ if (map.m_plen > Z_EROFS_PCLUSTER_MAX_SIZE) {
++ if (compressed) {
++ erofs_err("invalid pcluster size %" PRIu64 " @ offset %" PRIu64 " of nid %" PRIu64,
++ map.m_plen, map.m_la,
++ inode->nid | 0ULL);
++ ret = -EFSCORRUPTED;
++ goto out;
++ }
++ alloc_rawsize = Z_EROFS_PCLUSTER_MAX_SIZE;
++ } else {
++ alloc_rawsize = map.m_plen;
++ }
++
++ if (alloc_rawsize > raw_size) {
++ char *newraw = realloc(raw, alloc_rawsize);
++
++ if (!newraw) {
++ ret = -ENOMEM;
++ goto out;
++ }
++ raw = newraw;
++ raw_size = alloc_rawsize;
+ }
+
+ if (compressed) {
+@@ -434,18 +454,27 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
+ }
+ ret = z_erofs_read_one_data(inode, &map, raw, buffer,
+ 0, map.m_llen, false);
++ if (ret)
++ goto out;
++
++ if (outfd >= 0 && write(outfd, buffer, map.m_llen) < 0)
++ goto fail_eio;
+ } else {
+- ret = erofs_read_one_data(&map, raw, 0, map.m_plen);
+- }
+- if (ret)
+- goto out;
++ u64 p = 0;
+
+- if (outfd >= 0 && write(outfd, compressed ? buffer : raw,
+- map.m_llen) < 0) {
+- erofs_err("I/O error occurred when verifying data chunk @ nid %llu",
+- inode->nid | 0ULL);
+- ret = -EIO;
+- goto out;
++ do {
++ u64 count = min_t(u64, alloc_rawsize,
++ map.m_llen);
++
++ ret = erofs_read_one_data(&map, raw, p, count);
++ if (ret)
++ goto out;
++
++ if (outfd >= 0 && write(outfd, raw, count) < 0)
++ goto fail_eio;
++ map.m_llen -= count;
++ p += count;
++ } while (map.m_llen);
+ }
+ }
+
+@@ -460,6 +489,12 @@ out:
+ if (buffer)
+ free(buffer);
+ return ret < 0 ? ret : 0;
++
++fail_eio:
++ erofs_err("I/O error occurred when verifying data chunk @ nid %llu",
++ inode->nid | 0ULL);
++ ret = -EIO;
++ goto out;
+ }
+
+ static inline int erofs_extract_dir(struct erofs_inode *inode)
+--
+cgit
+
diff --git a/sys-fs/eudev/Manifest b/sys-fs/eudev/Manifest
deleted file mode 100644
index 5a38d7af12ed..000000000000
--- a/sys-fs/eudev/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST eudev-3.2.11.tar.gz 2254373 BLAKE2B cfa6235d6509b751fde93ff2b0961b93c3741458e561a7ad9b07b49a57779627532cff25ad3519e5f79320854fcedfcdc23642ef542505cebcd6b2803067389a SHA512 17b328365913af3e434abe667dd0498c3702a41c6cb66f3793ca2c195b05ac06397b0a401077f81df7dd25193e4eeea13657a221ca6cb3d237c4d91e31e30b33
-DIST eudev-3.2.12-pre3.tar.gz 2166940 BLAKE2B 46cb4e2daa7302380f169b2505e01483a1c879f83802537b718d1380b9411621db9b58454eaf828ca22aa8e913342b52b682593604c365d7159ddc1df82fe719 SHA512 a450ef8ccfb0ec8817e03ae666464cb43390849d1b340f057e047bc42b246ff30e13cfef148417c7452755316bce858ef0c89bf94abf27af143f87db7de9f446
diff --git a/sys-fs/eudev/eudev-3.2.11-r2.ebuild b/sys-fs/eudev/eudev-3.2.11-r2.ebuild
deleted file mode 100644
index 2b259de878f5..000000000000
--- a/sys-fs/eudev/eudev-3.2.11-r2.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-KV_MIN=2.6.39
-
-inherit autotools linux-info multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/eudev-project/eudev.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/eudev-project/eudev/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://github.com/gentoo/eudev"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="+kmod introspection rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND=">=sys-apps/util-linux-2.20
- >=sys-kernel/linux-headers-${KV_MIN}
- virtual/libcrypt:=
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-RDEPEND="${DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !sys-apps/systemd-utils[udev]
- !sys-fs/udev
- !sys-apps/systemd
- !sys-apps/hwids[udev]"
-BDEPEND="dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- test? ( app-text/tree dev-lang/perl )"
-PDEPEND=">=sys-fs/udev-init-scripts-26"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/udev.h
-)
-
-pkg_pretend() {
- ewarn
- ewarn "As of 2013-01-29, ${P} provides the new interface renaming functionality,"
- ewarn "as described in the URL below:"
- ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- ewarn
- ewarn "This functionality is enabled BY DEFAULT because eudev has no means of synchronizing"
- ewarn "between the default or user-modified choice of sys-fs/udev. If you wish to disable"
- ewarn "this new iface naming, please be sure that /etc/udev/rules.d/80-net-name-slot.rules"
- ewarn "exists: touch /etc/udev/rules.d/80-net-name-slot.rules"
- ewarn
-}
-
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
- linux-info_pkg_setup
- get_running_version
-
- # These are required kernel options, but we don't error out on them
- # because you can build under one kernel and run under another.
- if kernel_is lt ${KV_MIN//./ }; then
- ewarn
- ewarn "Your current running kernel version ${KV_FULL} is too old to run ${P}."
- ewarn "Make sure to run udev under kernel version ${KV_MIN} or above."
- ewarn
- fi
-}
-
-src_prepare() {
- # change rules back to group uucp instead of dialout for now
- sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \
- || die "failed to change group dialout to uucp"
-
- default
- eautoreconf
-}
-
-multilib_src_configure() {
- # bug #463846
- tc-export CC
- # bug #502950
- export cc_cv_CFLAGS__flto=no
-
- # Keep sorted by ./configure --help and only pass --disable flags
- # when *required* to avoid external deps or unnecessary compile
- local econf_args
- econf_args=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
- --with-rootprefix=
- --with-rootrundir=/run
- --exec-prefix="${EPREFIX}"
- --bindir="${EPREFIX}"/bin
- --includedir="${EPREFIX}"/usr/include
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --with-rootlibexecdir="${EPREFIX}"/lib/udev
- --enable-split-usr
- --enable-manpages
- )
-
- # Only build libudev for non-native_abi, and only install it to libdir,
- # that means all options only apply to native_abi
- if multilib_is_native_abi; then
- econf_args+=(
- --with-rootlibdir="${EPREFIX}"/$(get_libdir)
- $(use_enable introspection)
- $(use_enable kmod)
- $(use_enable static-libs static)
- $(use_enable selinux)
- $(use_enable rule-generator)
- )
- else
- econf_args+=(
- --disable-static
- --disable-introspection
- --disable-kmod
- --disable-selinux
- --disable-rule-generator
- --disable-hwdb
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${econf_args[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi; then
- emake
- else
- emake -C src/shared
- emake -C src/libudev
- fi
-}
-
-multilib_src_test() {
- # make sandbox get out of the way
- # these are safe because there is a fake root filesystem put in place,
- # but sandbox seems to evaluate the paths of the test i/o instead of the
- # paths of the actual i/o that results.
- # also only test for native abi
- if multilib_is_native_abi; then
- addread /sys
- addwrite /dev
- addwrite /run
-
- default_src_test
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
- insinto /lib/udev/rules.d
- doins "${FILESDIR}"/40-gentoo.rules
-
- use rule-generator && doinitd "${FILESDIR}"/udev-postmount
-}
-
-pkg_postinst() {
- mkdir -p "${EROOT}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${EROOT}"/dev/loop 2>/dev/null
- if [[ -d ${EROOT}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- # REPLACING_VERSIONS should only ever have zero or 1 values but in case it doesn't,
- # process it as a list. We only care about the zero case (new install) or the case where
- # the same version is being re-emerged. If there is a second version, allow it to abort.
- local rv rvres=doitnew
- for rv in ${REPLACING_VERSIONS} ; do
- if [[ ${rvres} == doit* ]]; then
- if [[ ${rv%-r*} == ${PV} ]]; then
- rvres=doit
- else
- rvres=${rv}
- fi
- fi
- done
-
- if has_version 'sys-apps/hwids[udev]'; then
- udevadm hwdb --update --root="${ROOT}"
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- # reload database after it has be rebuilt, but only if we are not upgrading
- # also pass if we are -9999 since who knows what hwdb related changes there might be
- if [[ ${rvres} == doit* ]] && [[ -z ${ROOT} ]] && [[ ${PV} != "9999" ]]; then
- udevadm control --reload
- fi
- fi
-
- if [[ ${rvres} != doitnew ]]; then
- ewarn
- ewarn "You need to restart eudev as soon as possible to make the"
- ewarn "upgrade go into effect:"
- ewarn "\t/etc/init.d/udev --nodeps restart"
- fi
-
- if use rule-generator && \
- [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qsv 'boot\|default\|sysinit'; then
- ewarn
- ewarn "Please add the udev-postmount init script to your default runlevel"
- ewarn "to ensure the legacy rule-generator functionality works as reliably"
- ewarn "as possible."
- ewarn "\trc-update add udev-postmount default"
- fi
-
- elog
- elog "For more information on eudev on Gentoo, writing udev rules, and"
- elog "fixing known issues visit: https://wiki.gentoo.org/wiki/Eudev"
-}
diff --git a/sys-fs/eudev/eudev-3.2.12_pre3.ebuild b/sys-fs/eudev/eudev-3.2.12_pre3.ebuild
deleted file mode 100644
index d286cedd7a14..000000000000
--- a/sys-fs/eudev/eudev-3.2.12_pre3.ebuild
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KV_MIN=2.6.39
-
-inherit linux-info multilib-minimal toolchain-funcs udev
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/eudev-project/eudev.git"
- inherit autotools git-r3
-else
- MY_PV=${PV/_pre/-pre}
- SRC_URI="https://github.com/eudev-project/eudev/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz"
- S="${WORKDIR}"/${PN}-${MY_PV}
-
- if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://github.com/eudev-project/eudev"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="+kmod rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND=">=sys-apps/util-linux-2.20
- >=sys-kernel/linux-headers-${KV_MIN}
- virtual/libcrypt:=
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-RDEPEND="${DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !sys-apps/systemd-utils[udev]
- !sys-fs/udev
- !sys-apps/systemd
- !sys-apps/hwids[udev]"
-BDEPEND="dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- test? (
- app-text/tree
- dev-lang/perl
- )"
-PDEPEND=">=sys-fs/udev-init-scripts-26"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/udev.h
-)
-
-pkg_pretend() {
- ewarn
- ewarn "As of 2013-01-29, ${PN} provides the new interface renaming functionality,"
- ewarn "as described in the URL below:"
- ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- ewarn
- ewarn "This functionality is enabled BY DEFAULT because eudev has no means of synchronizing"
- ewarn "between the default or user-modified choice of sys-fs/udev. If you wish to disable"
- ewarn "this new iface naming, please be sure that /etc/udev/rules.d/80-net-name-slot.rules"
- ewarn "exists: touch /etc/udev/rules.d/80-net-name-slot.rules"
- ewarn
-}
-
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
- linux-info_pkg_setup
- get_running_version
-
- # These are required kernel options, but we don't error out on them
- # because you can build under one kernel and run under another.
- if kernel_is lt ${KV_MIN//./ }; then
- ewarn
- ewarn "Your current running kernel version ${KV_FULL} is too old to run ${P}."
- ewarn "Make sure to run udev under kernel version ${KV_MIN} or above."
- ewarn
- fi
-}
-
-src_prepare() {
- default
-
- # Change rules back to group uucp instead of dialout for now
- sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \
- || die "failed to change group dialout to uucp"
-
- if [[ ${PV} == 9999* ]] ; then
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- # bug #463846
- tc-export CC
- # bug #502950
- export cc_cv_CFLAGS__flto=no
-
- local myeconfargs=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
-
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
-
- --with-rootprefix=
- --with-rootrundir=/run
- --exec-prefix="${EPREFIX}"
- --bindir="${EPREFIX}"/bin
- --includedir="${EPREFIX}"/usr/include
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --with-rootlibexecdir="${EPREFIX}"/lib/udev
- --enable-split-usr
- --enable-manpages
- )
-
- # Only build libudev for non-native_abi, and only install it to libdir,
- # that means all options only apply to native_abi
- if multilib_is_native_abi ; then
- myeconfargs+=(
- --with-rootlibdir="${EPREFIX}"/$(get_libdir)
- $(use_enable kmod)
- $(use_enable static-libs static)
- $(use_enable selinux)
- $(use_enable rule-generator)
- )
- else
- myeconfargs+=(
- --disable-static
- --disable-kmod
- --disable-selinux
- --disable-rule-generator
- --disable-hwdb
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake -C src/shared
- emake -C src/libudev
- fi
-}
-
-multilib_src_test() {
- # Make sandbox get out of the way.
- # These are safe because there is a fake root filesystem put in place,
- # but sandbox seems to evaluate the paths of the test i/o instead of the
- # paths of the actual i/o that results. Also only test for native abi
- if multilib_is_native_abi ; then
- addread /sys
- addwrite /dev
- addwrite /run
-
- default
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
- insinto /lib/udev/rules.d
- doins "${FILESDIR}"/40-gentoo.rules
-
- use rule-generator && doinitd "${FILESDIR}"/udev-postmount
-}
-
-pkg_postrm() {
- udev_reload
-}
-
-pkg_postinst() {
- udev_reload
-
- mkdir -p "${EROOT}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${EROOT}"/dev/loop 2>/dev/null
- if [[ -d ${EROOT}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- # REPLACING_VERSIONS should only ever have zero or 1 values but in case it doesn't,
- # process it as a list. We only care about the zero case (new install) or the case where
- # the same version is being re-emerged. If there is a second version, allow it to abort.
- local rv rvres=doitnew
- for rv in ${REPLACING_VERSIONS} ; do
- if [[ ${rvres} == doit* ]]; then
- if [[ ${rv%-r*} == ${PV} ]]; then
- rvres=doit
- else
- rvres=${rv}
- fi
- fi
- done
-
- if has_version 'sys-apps/hwids[udev]'; then
- udevadm hwdb --update --root="${ROOT}"
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- # reload database after it has be rebuilt, but only if we are not upgrading
- # also pass if we are -9999 since who knows what hwdb related changes there might be
- if [[ ${rvres} == doit* ]] && [[ -z ${ROOT} ]] && [[ ${PV} != "9999" ]]; then
- udevadm control --reload
- fi
- fi
-
- if [[ ${rvres} != doitnew ]]; then
- ewarn
- ewarn "You need to restart eudev as soon as possible to make the"
- ewarn "upgrade go into effect:"
- ewarn "\t/etc/init.d/udev --nodeps restart"
- fi
-
- if use rule-generator && \
- [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qsv 'boot\|default\|sysinit'; then
- ewarn
- ewarn "Please add the udev-postmount init script to your default runlevel"
- ewarn "to ensure the legacy rule-generator functionality works as reliably"
- ewarn "as possible."
- ewarn "\trc-update add udev-postmount default"
- fi
-
- elog
- elog "For more information on eudev on Gentoo, writing udev rules, and"
- elog "fixing known issues visit: https://wiki.gentoo.org/wiki/Eudev"
-}
diff --git a/sys-fs/eudev/eudev-9999.ebuild b/sys-fs/eudev/eudev-9999.ebuild
deleted file mode 100644
index d286cedd7a14..000000000000
--- a/sys-fs/eudev/eudev-9999.ebuild
+++ /dev/null
@@ -1,247 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KV_MIN=2.6.39
-
-inherit linux-info multilib-minimal toolchain-funcs udev
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/eudev-project/eudev.git"
- inherit autotools git-r3
-else
- MY_PV=${PV/_pre/-pre}
- SRC_URI="https://github.com/eudev-project/eudev/releases/download/v${MY_PV}/${PN}-${MY_PV}.tar.gz"
- S="${WORKDIR}"/${PN}-${MY_PV}
-
- if [[ ${PV} != *_pre* ]] ; then
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://github.com/eudev-project/eudev"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="+kmod rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-DEPEND=">=sys-apps/util-linux-2.20
- >=sys-kernel/linux-headers-${KV_MIN}
- virtual/libcrypt:=
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-RDEPEND="${DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !sys-apps/systemd-utils[udev]
- !sys-fs/udev
- !sys-apps/systemd
- !sys-apps/hwids[udev]"
-BDEPEND="dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- test? (
- app-text/tree
- dev-lang/perl
- )"
-PDEPEND=">=sys-fs/udev-init-scripts-26"
-
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/udev.h
-)
-
-pkg_pretend() {
- ewarn
- ewarn "As of 2013-01-29, ${PN} provides the new interface renaming functionality,"
- ewarn "as described in the URL below:"
- ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- ewarn
- ewarn "This functionality is enabled BY DEFAULT because eudev has no means of synchronizing"
- ewarn "between the default or user-modified choice of sys-fs/udev. If you wish to disable"
- ewarn "this new iface naming, please be sure that /etc/udev/rules.d/80-net-name-slot.rules"
- ewarn "exists: touch /etc/udev/rules.d/80-net-name-slot.rules"
- ewarn
-}
-
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
- linux-info_pkg_setup
- get_running_version
-
- # These are required kernel options, but we don't error out on them
- # because you can build under one kernel and run under another.
- if kernel_is lt ${KV_MIN//./ }; then
- ewarn
- ewarn "Your current running kernel version ${KV_FULL} is too old to run ${P}."
- ewarn "Make sure to run udev under kernel version ${KV_MIN} or above."
- ewarn
- fi
-}
-
-src_prepare() {
- default
-
- # Change rules back to group uucp instead of dialout for now
- sed -e 's/GROUP="dialout"/GROUP="uucp"/' -i rules/*.rules \
- || die "failed to change group dialout to uucp"
-
- if [[ ${PV} == 9999* ]] ; then
- eautoreconf
- fi
-}
-
-multilib_src_configure() {
- # bug #463846
- tc-export CC
- # bug #502950
- export cc_cv_CFLAGS__flto=no
-
- local myeconfargs=(
- ac_cv_search_cap_init=
- ac_cv_header_sys_capability_h=yes
-
- DBUS_CFLAGS=' '
- DBUS_LIBS=' '
-
- --with-rootprefix=
- --with-rootrundir=/run
- --exec-prefix="${EPREFIX}"
- --bindir="${EPREFIX}"/bin
- --includedir="${EPREFIX}"/usr/include
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --with-rootlibexecdir="${EPREFIX}"/lib/udev
- --enable-split-usr
- --enable-manpages
- )
-
- # Only build libudev for non-native_abi, and only install it to libdir,
- # that means all options only apply to native_abi
- if multilib_is_native_abi ; then
- myeconfargs+=(
- --with-rootlibdir="${EPREFIX}"/$(get_libdir)
- $(use_enable kmod)
- $(use_enable static-libs static)
- $(use_enable selinux)
- $(use_enable rule-generator)
- )
- else
- myeconfargs+=(
- --disable-static
- --disable-kmod
- --disable-selinux
- --disable-rule-generator
- --disable-hwdb
- )
- fi
-
- ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
-}
-
-multilib_src_compile() {
- if multilib_is_native_abi ; then
- emake
- else
- emake -C src/shared
- emake -C src/libudev
- fi
-}
-
-multilib_src_test() {
- # Make sandbox get out of the way.
- # These are safe because there is a fake root filesystem put in place,
- # but sandbox seems to evaluate the paths of the test i/o instead of the
- # paths of the actual i/o that results. Also only test for native abi
- if multilib_is_native_abi ; then
- addread /sys
- addwrite /dev
- addwrite /run
-
- default
- fi
-}
-
-multilib_src_install() {
- if multilib_is_native_abi ; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- fi
-}
-
-multilib_src_install_all() {
- find "${ED}" -name '*.la' -delete || die
-
- insinto /lib/udev/rules.d
- doins "${FILESDIR}"/40-gentoo.rules
-
- use rule-generator && doinitd "${FILESDIR}"/udev-postmount
-}
-
-pkg_postrm() {
- udev_reload
-}
-
-pkg_postinst() {
- udev_reload
-
- mkdir -p "${EROOT}"/run
-
- # "losetup -f" is confused if there is an empty /dev/loop/, Bug #338766
- # So try to remove it here (will only work if empty).
- rmdir "${EROOT}"/dev/loop 2>/dev/null
- if [[ -d ${EROOT}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- # REPLACING_VERSIONS should only ever have zero or 1 values but in case it doesn't,
- # process it as a list. We only care about the zero case (new install) or the case where
- # the same version is being re-emerged. If there is a second version, allow it to abort.
- local rv rvres=doitnew
- for rv in ${REPLACING_VERSIONS} ; do
- if [[ ${rvres} == doit* ]]; then
- if [[ ${rv%-r*} == ${PV} ]]; then
- rvres=doit
- else
- rvres=${rv}
- fi
- fi
- done
-
- if has_version 'sys-apps/hwids[udev]'; then
- udevadm hwdb --update --root="${ROOT}"
-
- # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- # reload database after it has be rebuilt, but only if we are not upgrading
- # also pass if we are -9999 since who knows what hwdb related changes there might be
- if [[ ${rvres} == doit* ]] && [[ -z ${ROOT} ]] && [[ ${PV} != "9999" ]]; then
- udevadm control --reload
- fi
- fi
-
- if [[ ${rvres} != doitnew ]]; then
- ewarn
- ewarn "You need to restart eudev as soon as possible to make the"
- ewarn "upgrade go into effect:"
- ewarn "\t/etc/init.d/udev --nodeps restart"
- fi
-
- if use rule-generator && \
- [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qsv 'boot\|default\|sysinit'; then
- ewarn
- ewarn "Please add the udev-postmount init script to your default runlevel"
- ewarn "to ensure the legacy rule-generator functionality works as reliably"
- ewarn "as possible."
- ewarn "\trc-update add udev-postmount default"
- fi
-
- elog
- elog "For more information on eudev on Gentoo, writing udev rules, and"
- elog "fixing known issues visit: https://wiki.gentoo.org/wiki/Eudev"
-}
diff --git a/sys-fs/eudev/files/40-gentoo.rules b/sys-fs/eudev/files/40-gentoo.rules
deleted file mode 100644
index 6b96bd07051e..000000000000
--- a/sys-fs/eudev/files/40-gentoo.rules
+++ /dev/null
@@ -1,3 +0,0 @@
-# Gentoo specific groups
-ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
-ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
diff --git a/sys-fs/eudev/files/udev-postmount b/sys-fs/eudev/files/udev-postmount
deleted file mode 100644
index f1f94f48902a..000000000000
--- a/sys-fs/eudev/files/udev-postmount
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend()
-{
- need localmount
- keyword -vserver -lxc
-}
-
-dir_writeable()
-{
- touch "$1"/.test.$$ 2>/dev/null && rm "$1"/.test.$$
-}
-
-# store persistent-rules that got created while booting
-# when / was still read-only
-store_persistent_rules()
-{
- # create /etc/udev/rules.d if it does not exist and /etc/udev is writable
- [ -d /etc/udev/rules.d ] || \
- dir_writeable /etc/udev && \
- mkdir -p /etc/udev/rules.d
-
- # only continue if rules-directory is writable
- dir_writeable /etc/udev/rules.d || return 0
-
- local file dest
- for file in /run/udev/tmp-rules--*; do
- dest=${file##*tmp-rules--}
- [ "$dest" = '*' ] && break
- type=${dest##70-persistent-}
- type=${type%%.rules}
- ebegin "Saving udev persistent ${type} rules to /etc/udev/rules.d"
- cat "$file" >> /etc/udev/rules.d/"$dest" && rm -f "$file"
- eend $? "Failed moving persistent rules!"
- done
-}
-
-start()
-{
- # check if this system uses udev
- [ -d /run/udev ] || return 0
-
- # store persistent-rules that got created while booting
- # when / was still read-only
- store_persistent_rules
-}
-
-stop()
-{
- return 0
-}
-
-# vim:ts=4
diff --git a/sys-fs/eudev/metadata.xml b/sys-fs/eudev/metadata.xml
deleted file mode 100644
index 859a60f953f6..000000000000
--- a/sys-fs/eudev/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>eudev@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="kmod">enable module loading through libkmod</flag>
- <flag name="rule-generator">install legacy rule generator rules and support scripts - note
- that the functionality within was dropped from <pkg>sys-fs/udev</pkg> as it is not stable in
- all cases; use at your own risk</flag>
- </use>
- <upstream>
- <remote-id type="github">eudev-project/eudev</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sys-fs/exfat-utils/Manifest b/sys-fs/exfat-utils/Manifest
index 324f86130dd2..1b59be982c08 100644
--- a/sys-fs/exfat-utils/Manifest
+++ b/sys-fs/exfat-utils/Manifest
@@ -1 +1,2 @@
DIST exfat-utils-1.3.0.tar.gz 188943 BLAKE2B 07af437fc21ae2f7d99db778069135c7391554f964a05eb6df715bcb5135003ecdc1257c541a61e0c140bfcffbc0802dd4118413f8d11a175be3f8adf5f5b83f SHA512 e1c5b708f22e878d7521e3299866bba127145757e3620696ff11b18c8c7d4830522974e8ee4771234b70aa9718295d3433779cf34ca990e28ccc06cbf9325f7e
+DIST exfat-utils-1.4.0.tar.gz 203422 BLAKE2B cfff22c64c7dc7c4db49ee1a1c60879983223afd8534002a0afac1b8fe57e865515f39e1b8caa3ed4670923e44e7397872587eadc78fded719dae64ada5823f3 SHA512 789cb6b6264971606af9a2cd96f8445a9d813f7362ede51206fae3e2d6db4f115101475e73b12f2caafad1b117e3f1bea292f9aad62310a05ada3056687d4af7
diff --git a/sys-fs/exfat-utils/exfat-utils-1.4.0.ebuild b/sys-fs/exfat-utils/exfat-utils-1.4.0.ebuild
new file mode 100644
index 000000000000..60000fa9c1c7
--- /dev/null
+++ b/sys-fs/exfat-utils/exfat-utils-1.4.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="exFAT filesystem utilities"
+HOMEPAGE="https://github.com/relan/exfat"
+SRC_URI="https://github.com/relan/exfat/releases/download/v${PV}/${P}.tar.gz"
+
+# COPYING is GPL-2 but ChangeLog says "Relicensed the project from GPLv3+ to GPLv2+"
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
+
+src_install() {
+ default
+ dosym exfatfsck.8 /usr/share/man/man8/fsck.exfat.8
+ dosym mkexfatfs.8 /usr/share/man/man8/mkfs.exfat.8
+}
diff --git a/sys-fs/exfatprogs/Manifest b/sys-fs/exfatprogs/Manifest
index 03271778d749..b4ae7dbe2736 100644
--- a/sys-fs/exfatprogs/Manifest
+++ b/sys-fs/exfatprogs/Manifest
@@ -1 +1,4 @@
DIST exfatprogs-1.1.3.tar.xz 261936 BLAKE2B 7d1e471eb24f408999efd7fd6e8e2b60f0ef4efbceca9780de5a52c0b0bcad18a25648b7e669e805a40f382541406c01ea75cd40b4660f44281848bf38f9d1c0 SHA512 d23bfe4d0233d944b0d5a484e1167746db77ea9b7fbacdbfac2dd4d37a8a1d747f2445b09baced9fd7b5d3dbfc7664bdc1efe16326d7e678d05294eee124efa3
+DIST exfatprogs-1.2.0.tar.xz 272716 BLAKE2B d8b4188ee2fd96b4b0abab52540e894f55279e3031596081f8077a45a2ad5737870298a0658feee177818dbf02ae036e035c350437c3ea4b7ab7100f46fc8772 SHA512 61a78af024e1ff7e12f2d7449c3ee2ff9476c8746269e29c453c77dbc73d3f52af7ca8fc3e1bd85d6a75b6ed8b7712b5f80e5cc1dffc5ff00fb63455a57ca9bf
+DIST exfatprogs-1.2.1.tar.xz 274108 BLAKE2B 8c505c7e0cfd7c2e64c1923f058031bba86e909ae2f22db0acfc9feee9d510087b87c259e7707b761d3ed0cfaa8471527a1d90723486b94d1910b515ba06e832 SHA512 5ddc327e5257389e9cd11f6b16978a91dbc1d4096575fe1ccc77851310639e464537ea750c304821e078557fd1a8c4ce8f1cc47d6ab238ee0d7ad98b4ff0061f
+DIST exfatprogs-1.2.2.tar.xz 274552 BLAKE2B 457c2036f07d81193bfb8f23a47410f70ddf125b91f88ddb303874341d5304293cc254e337d820b15ac135c4a96d59a35e6e741f049052065a5f866720516c13 SHA512 51ff77860704a7a4a2986e0090514d46614d6d6ce5ad07ea622e4dd806f06f034959a0c35d7e67689a7eb6836a1de967e302d5ec1c9ca6d33fa80d68d574741e
diff --git a/sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild b/sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild
index 691798509eb0..41a8cfd16696 100644
--- a/sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild
+++ b/sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild
@@ -10,7 +10,7 @@ if [[ "${PV}" == *9999 ]] ; then
EGIT_REPO_URI="https://github.com/exfatprogs/exfatprogs.git"
else
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~loong ~ppc ppc64 ~riscv x86"
+ KEYWORDS="amd64 ~loong ppc ppc64 ~riscv x86"
fi
LICENSE="GPL-2"
SLOT="0"
diff --git a/sys-fs/exfatprogs/exfatprogs-1.2.0.ebuild b/sys-fs/exfatprogs/exfatprogs-1.2.0.ebuild
new file mode 100644
index 000000000000..d48989b37991
--- /dev/null
+++ b/sys-fs/exfatprogs/exfatprogs-1.2.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Userspace utilities for new exfat filesystem (kernel 5.7+)"
+HOMEPAGE="https://github.com/exfatprogs/exfatprogs"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/exfatprogs/exfatprogs.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 ~loong ppc ppc64 ~riscv x86"
+fi
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="!sys-fs/exfat-utils"
+
+src_prepare() {
+ default
+
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
diff --git a/sys-fs/exfatprogs/exfatprogs-1.2.1.ebuild b/sys-fs/exfatprogs/exfatprogs-1.2.1.ebuild
new file mode 100644
index 000000000000..d48989b37991
--- /dev/null
+++ b/sys-fs/exfatprogs/exfatprogs-1.2.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Userspace utilities for new exfat filesystem (kernel 5.7+)"
+HOMEPAGE="https://github.com/exfatprogs/exfatprogs"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/exfatprogs/exfatprogs.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 ~loong ppc ppc64 ~riscv x86"
+fi
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="!sys-fs/exfat-utils"
+
+src_prepare() {
+ default
+
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
diff --git a/sys-fs/exfatprogs/exfatprogs-1.2.2.ebuild b/sys-fs/exfatprogs/exfatprogs-1.2.2.ebuild
new file mode 100644
index 000000000000..64cf3654a575
--- /dev/null
+++ b/sys-fs/exfatprogs/exfatprogs-1.2.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Userspace utilities for new exfat filesystem (kernel 5.7+)"
+HOMEPAGE="https://github.com/exfatprogs/exfatprogs"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://github.com/exfatprogs/exfatprogs.git"
+else
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 ~loong ppc ppc64 ~riscv x86"
+fi
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND="!sys-fs/exfat-utils"
+
+src_prepare() {
+ default
+
+ [[ ${PV} == *9999 ]] && eautoreconf
+}
diff --git a/sys-fs/exfatprogs/exfatprogs-9999.ebuild b/sys-fs/exfatprogs/exfatprogs-9999.ebuild
index e9fc0d2e9745..38c4ccbcd880 100644
--- a/sys-fs/exfatprogs/exfatprogs-9999.ebuild
+++ b/sys-fs/exfatprogs/exfatprogs-9999.ebuild
@@ -1,25 +1,25 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="Userspace utilities for new exfat filesystem (kernel 5.7+)"
HOMEPAGE="https://github.com/exfatprogs/exfatprogs"
-if [[ "${PV}" == *9999 ]] ; then
+
+if [[ ${PV} == *9999 ]] ; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/exfatprogs/exfatprogs.git"
else
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
-IUSE=""
-
RDEPEND="!sys-fs/exfat-utils"
src_prepare() {
default
- [[ "${PV}" == *9999 ]] && eautoreconf
+
+ [[ ${PV} == *9999 ]] && eautoreconf
}
diff --git a/sys-fs/ext3grep/ext3grep-0.10.2.ebuild b/sys-fs/ext3grep/ext3grep-0.10.2-r1.ebuild
index 1c8c5533ad98..6be20c71aa3f 100644
--- a/sys-fs/ext3grep/ext3grep-0.10.2.ebuild
+++ b/sys-fs/ext3grep/ext3grep-0.10.2-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Recover deleted files on an ext3 file system"
HOMEPAGE="https://code.google.com/p/ext3grep/"
@@ -12,21 +12,22 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="debug pch"
-DEPEND="sys-fs/e2fsprogs
+DEPEND="
+ sys-fs/e2fsprogs
virtual/os-headers
- virtual/pkgconfig"
-
-DOCS="NEWS README"
+"
+BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/${PN}-0.10.1-gcc44.patch"
"${FILESDIR}/${P}-include-unistd_h-for-sysconf.patch"
"${FILESDIR}/${P}-new-e2fsprogs.patch"
"${FILESDIR}/${P}-newer-e2fsprogs.patch"
+ "${FILESDIR}/${P}-missing-cassert-include.patch"
)
src_configure() {
- myeconfargs=(
+ local myeconfargs=(
$(use_enable debug)
$(use_enable pch)
)
diff --git a/sys-fs/ext3grep/files/ext3grep-0.10.2-missing-cassert-include.patch b/sys-fs/ext3grep/files/ext3grep-0.10.2-missing-cassert-include.patch
new file mode 100644
index 000000000000..34e60b00a659
--- /dev/null
+++ b/sys-fs/ext3grep/files/ext3grep-0.10.2-missing-cassert-include.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/890987
+--- a/src/custom.cc
++++ b/src/custom.cc
+@@ -44,6 +44,7 @@
+ #include "init_consts.h"
+ #include "print_inode_to.h"
+ #include <sys/time.h>
++#include <cassert>
+ #include <cstring>
+ #include <ctime>
+
diff --git a/sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild b/sys-fs/ext4magic/ext4magic-0.3.2-r2.ebuild
index 5138e1955c4a..6374f4d94c66 100644
--- a/sys-fs/ext4magic/ext4magic-0.3.2-r1.ebuild
+++ b/sys-fs/ext4magic/ext4magic-0.3.2-r2.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Tool for recovery of deleted or overwritten files on ext3/ext4 filesystems"
HOMEPAGE="https://sourceforge.net/projects/ext4magic/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-LICENSE="GPL-2"
+LICENSE="BSD-2 FSFAP GPL-2 GPL-2+"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
IUSE="debug +expert-mode file-attr"
RDEPEND="app-arch/bzip2
@@ -24,6 +24,7 @@ DOCS="AUTHORS ChangeLog NEWS README TODO"
PATCHES=(
"${FILESDIR}"/${PN}-0.3.2-sysmacros.patch
"${FILESDIR}"/${PN}-0.3.2-i_dir_acl.patch
+ "${FILESDIR}"/${PN}-0.3.2-fix-sys-types-h.patch
)
src_configure() {
diff --git a/sys-fs/ext4magic/files/ext4magic-0.3.2-fix-sys-types-h.patch b/sys-fs/ext4magic/files/ext4magic-0.3.2-fix-sys-types-h.patch
new file mode 100644
index 000000000000..f1e1d1c91716
--- /dev/null
+++ b/sys-fs/ext4magic/files/ext4magic-0.3.2-fix-sys-types-h.patch
@@ -0,0 +1,183 @@
+From 22960546489285b03857609c5c3f6c25ae91a6cd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Y=C3=BCksek?= <gokturk@gentoo.org>
+Date: Sun, 7 Jan 2024 16:59:09 -0800
+Subject: [PATCH 1/1] Include config.h in various files before any other
+ include statements
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This is an indirect way to fix a compilation failure with musl
+libc. Glibc includes sys/stat.h as part of stdlib.h[1], which
+eventually typedefs dev_t[2]. Musl libc doesn't seem to pull that in
+like glibc does. The header file ext2fs.h uses dev_t in some of its
+function signatures[3], but the inclusion of sys/types.h is guarded by
+the macro `#ifdef HAVE_SYS_TYPES_H`[4].
+
+So every time ext4magic tries to include ext2fs.h while building with musl, it fails with:
+
+```
+In file included from hard_link_stack.h:23,
+from hard_link_stack.c:25:
+/usr/include/ext2fs/ext2fs.h:1402:39: error: unknown type name 'dev_t'; did you mean 'div_t'?
+1402 | extern char *ext2fs_find_block_device(dev_t device);
+| ^~~~~
+| div_t
+/usr/include/ext2fs/ext2fs.h:1822:62: error: unknown type name 'mode_t'
+1822 | extern int ext2fs_open_file(const char *pathname, int flags, mode_t mode);
+| ^~~~~~
+make[2]: *** [Makefile:467: ext4magic-hard_link_stack.o] Error 1
+```
+
+Autoconf actually declares HAVE_SYS_TYPES_H during ext4magic build, we
+just need to include config.h in the relevant C files so that the
+macro propagates. The alternative would be to pass -DHAVE_SYS_TYPES_H
+to gcc but that solution seems more of a hack compared to including
+config.h as it's meant to be included.
+
+[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=include/stdlib.h;h=580da9be15adf0c1034986f62dd89aaaf6498c3f;hb=HEAD#l20
+[2] https://sourceware.org/git/?p=glibc.git;a=blob;f=io/sys/stat.h;h=1fa6d6e62ecb2e4b4f0039d0154307a6c27e3fa9;hb=HEAD#l40
+[3] https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/lib/ext2fs/ext2fs.h#n1402
+[4] https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/tree/lib/ext2fs/ext2fs.h#n68
+
+Bug: https://bugs.gentoo.org/716136
+Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
+---
+ src/block.c | 4 ++++
+ src/file_type.c | 5 +++++
+ src/hard_link_stack.c | 4 ++++
+ src/imap_search.c | 4 ++++
+ src/inode.c | 5 +++++
+ src/lookup_local.c | 5 +++++
+ src/magic_block_scan.c | 5 +++++
+ src/util.c | 5 +++++
+ 8 files changed, 37 insertions(+)
+
+diff --git a/src/block.c b/src/block.c
+index 84fc1bb..4681d8e 100644
+--- a/src/block.c
++++ b/src/block.c
+@@ -12,6 +12,10 @@
+ * %End-Header%
+ */
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ /*
+ This is a workaround to allow compilation, but the one line that uses
+ this constant will never run because we open the fs read-only.
+diff --git a/src/file_type.c b/src/file_type.c
+index a1396c1..cf1790a 100644
+--- a/src/file_type.c
++++ b/src/file_type.c
+@@ -17,6 +17,11 @@
+ * *
+ * C Implementation: file_type *
+ ***************************************************************************/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+diff --git a/src/hard_link_stack.c b/src/hard_link_stack.c
+index abef55e..df7666f 100644
+--- a/src/hard_link_stack.c
++++ b/src/hard_link_stack.c
+@@ -16,6 +16,10 @@
+ * along with this program; if not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ //construct for global collect of hardlinks
+
+ #include <stdio.h>
+diff --git a/src/imap_search.c b/src/imap_search.c
+index 3c9c180..b8025c9 100644
+--- a/src/imap_search.c
++++ b/src/imap_search.c
+@@ -19,6 +19,10 @@
+ * C Implementation: imap_search *
+ ***************************************************************************/
+
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ //header util.h
+
+ #include "util.h"
+diff --git a/src/inode.c b/src/inode.c
+index 5cbf52e..db8c915 100644
+--- a/src/inode.c
++++ b/src/inode.c
+@@ -15,6 +15,11 @@
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+diff --git a/src/lookup_local.c b/src/lookup_local.c
+index c566809..9dcd8aa 100644
+--- a/src/lookup_local.c
++++ b/src/lookup_local.c
+@@ -15,6 +15,11 @@
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ //header util.h
+
+ #include <stdio.h>
+diff --git a/src/magic_block_scan.c b/src/magic_block_scan.c
+index 000cf80..d0844e1 100644
+--- a/src/magic_block_scan.c
++++ b/src/magic_block_scan.c
+@@ -18,6 +18,11 @@
+ * *
+ * C Implementation: magic_block_scan *
+ ***************************************************************************/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+diff --git a/src/util.c b/src/util.c
+index b148baa..99a58fc 100644
+--- a/src/util.c
++++ b/src/util.c
+@@ -15,6 +15,11 @@
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
++
++#ifdef HAVE_CONFIG_H
++#include <config.h>
++#endif
++
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+--
+2.43.0
+
diff --git a/sys-fs/f2fs-tools/Manifest b/sys-fs/f2fs-tools/Manifest
index c14b471509d5..7cad1b728e87 100644
--- a/sys-fs/f2fs-tools/Manifest
+++ b/sys-fs/f2fs-tools/Manifest
@@ -1,2 +1 @@
-DIST f2fs-tools-1.14.0.tar.gz 371225 BLAKE2B 4b015e751ca7a8df8769de7a49afa1351717581d09973537d80780ff83f64db9a6fbf454a9a85d8acb761a8d00443a94d09d83cfaba9e5203c0fd656a96d505a SHA512 951b74178f99722550e73f331be066f124f6ee6022710f6b47ae47390b978b08f12a7f2a268d82ca69a32bf440cd3ce3adddc8a4c49c32df83da87e7f659f98d
-DIST f2fs-tools-1.15.0.tar.gz 387663 BLAKE2B 1e55f87c839cee6431d9a83e9786201e9b6b872be27c8b92854b30b0fd1c651a9b7235ce93e70c530bfa7a4e9f4dfd309c72702b3338a4aa96e365b29424fb1d SHA512 61e40f16296091b55cec2dbdc6306af6abc2d3f854f39ef03a741b7f6f47348f915498375789f017f8da27fa7d27c79c905dd047693518adde503ea7ebf89387
+DIST f2fs-tools-1.16.0.tar.gz 265507 BLAKE2B a4fb94ff879198652a2922a0101b7e34aad156c3536e5a20c1cb2e36a6a734d92d3f97b2570eb702d029ef1d6c03d6123113fc1aa5658ba979401e0691b7b447 SHA512 ea198cebf7c5bb0c42c9b53bc80484495c403b1ed1354eb7cb7b4f63ed9a5c81653a76eaf1bc35067171fa5fd99b1564178c5440c21b6b025f4e83b9def82680
diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.14.0.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.14.0.ebuild
deleted file mode 100644
index 6f0482e3a871..000000000000
--- a/sys-fs/f2fs-tools/f2fs-tools-1.14.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="Tools for Flash-Friendly File System (F2FS)"
-HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/about/"
-SRC_URI="https://dev.gentoo.org/~zlogene/distfiles/${CATEGORY}/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/8"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86"
-IUSE="selinux"
-
-RDEPEND="
- selinux? ( sys-libs/libselinux )
- elibc_musl? ( sys-libs/queue-standalone )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- #This is required to install to /sbin, bug #481110
- econf \
- --bindir="${EPREFIX}"/sbin \
- --disable-static \
- $(use_with selinux)
-}
-
-src_install() {
- default
- find "${D}" -name "*.la" -delete || die
-}
diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild
deleted file mode 100644
index 5cda3fe17880..000000000000
--- a/sys-fs/f2fs-tools/f2fs-tools-1.15.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="Tools for Flash-Friendly File System (F2FS)"
-HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/about/"
-SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git/snapshot/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0/9"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86"
-IUSE="selinux"
-
-RDEPEND="
- selinux? ( sys-libs/libselinux )
- elibc_musl? ( sys-libs/queue-standalone )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- #This is required to install to /sbin, bug #481110
- econf \
- --bindir="${EPREFIX}"/sbin \
- --disable-static \
- $(use_with selinux)
-}
-
-src_install() {
- default
- find "${D}" -name "*.la" -delete || die
-}
diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.16.0-r1.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.16.0-r1.ebuild
new file mode 100644
index 000000000000..a99653220be6
--- /dev/null
+++ b/sys-fs/f2fs-tools/f2fs-tools-1.16.0-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/about/"
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git"
+ EGIT_BRANCH="dev"
+else
+ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/10"
+IUSE="lz4 lzo selinux"
+
+RDEPEND="
+ lz4? ( app-arch/lz4:= )
+ lzo? ( dev-libs/lzo:2 )
+ sys-apps/util-linux
+ selinux? ( sys-libs/libselinux )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-musl-1.2.4-lfs.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/863896
+ # Sent an email to linux-f2fs-devel@ but it hasn't been accepted yet...
+ filter-lto
+
+ local myconf=(
+ # This is required to install to /sbin, bug #481110
+ --bindir="${EPREFIX}"/sbin
+ $(use_with lz4)
+ $(use_with lzo lzo2)
+ $(use_with selinux)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/sys-fs/f2fs-tools/f2fs-tools-9999.ebuild b/sys-fs/f2fs-tools/f2fs-tools-9999.ebuild
new file mode 100644
index 000000000000..7657d65cf872
--- /dev/null
+++ b/sys-fs/f2fs-tools/f2fs-tools-9999.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/about/"
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git"
+ EGIT_BRANCH="dev"
+else
+ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/${PN}.git/snapshot/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/10"
+IUSE="lz4 lzo selinux"
+
+RDEPEND="
+ lz4? ( app-arch/lz4:= )
+ lzo? ( dev-libs/lzo:2 )
+ sys-apps/util-linux
+ selinux? ( sys-libs/libselinux )
+ elibc_musl? ( sys-libs/queue-standalone )
+"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/863896
+ # Sent an email to linux-f2fs-devel@ but it hasn't been accepted yet...
+ filter-lto
+
+ local myconf=(
+ # This is required to install to /sbin, bug #481110
+ --bindir="${EPREFIX}"/sbin
+ $(use_with lz4)
+ $(use_with lzo lzo2)
+ $(use_with selinux)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/sys-fs/f2fs-tools/files/f2fs-tools-1.16.0-musl-1.2.4-lfs.patch b/sys-fs/f2fs-tools/files/f2fs-tools-1.16.0-musl-1.2.4-lfs.patch
new file mode 100644
index 000000000000..03be41400c20
--- /dev/null
+++ b/sys-fs/f2fs-tools/files/f2fs-tools-1.16.0-musl-1.2.4-lfs.patch
@@ -0,0 +1,403 @@
+https://bugs.gentoo.org/908664
+https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/commit/?id=b15b6cc56ac7764be17acbdbf96448f388992adc
+
+From b15b6cc56ac7764be17acbdbf96448f388992adc Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Wed, 23 Aug 2023 15:41:28 +0200
+Subject: f2fs-tools: convert to lseek() and kill lseek64
+
+This patch replaces lseek64 with lseek() having #define _FILE_OFFSET_BITS 64.
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
+--- a/configure.ac
++++ b/configure.ac
+@@ -187,8 +187,6 @@ AC_CHECK_FUNCS_ONCE([
+ getmntent
+ getuid
+ keyctl
+- llseek
+- lseek64
+ memset
+ setmntent
+ clock_gettime
+--- a/fsck/Makefile.am
++++ b/fsck/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Makefile.am
+
+ AM_CPPFLAGS = ${libuuid_CFLAGS} -I$(top_srcdir)/include
+-AM_CFLAGS = -Wall
++AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64
+ sbin_PROGRAMS = fsck.f2fs
+ noinst_HEADERS = common.h dict.h dqblk_v2.h f2fs.h fsck.h node.h quotaio.h \
+ quotaio_tree.h quotaio_v2.h xattr.h compress.h
+--- a/include/android_config.h
++++ b/include/android_config.h
+@@ -30,8 +30,6 @@
+ #define HAVE_FSTAT 1
+ #define HAVE_FSTAT64 1
+ #define HAVE_GETMNTENT 1
+-#define HAVE_LLSEEK 1
+-#define HAVE_LSEEK64 1
+ #define HAVE_MEMSET 1
+ #define HAVE_SELINUX_ANDROID_H 1
+ #define HAVE_SETMNTENT 1
+@@ -67,7 +65,6 @@
+ #define HAVE_FSTAT 1
+ #define HAVE_FSTAT64 1
+ #define HAVE_GETMNTENT 1
+-#define HAVE_LLSEEK 1
+ #define HAVE_MEMSET 1
+ #define HAVE_SPARSE_SPARSE_H 1
+ #define HAVE_LIBLZ4 1
+@@ -78,6 +75,5 @@
+ #endif
+
+ #if defined(_WIN32)
+-#define HAVE_LSEEK64
+ #define HAVE_SPARSE_SPARSE_H 1
+ #endif
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -3,7 +3,7 @@
+ lib_LTLIBRARIES = libf2fs.la
+
+ libf2fs_la_SOURCES = libf2fs.c libf2fs_io.c libf2fs_zoned.c nls_utf8.c
+-libf2fs_la_CFLAGS = -Wall
++libf2fs_la_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64
+ libf2fs_la_CPPFLAGS = -I$(top_srcdir)/include
+ libf2fs_la_LDFLAGS = -version-info $(LIBF2FS_CURRENT):$(LIBF2FS_REVISION):$(LIBF2FS_AGE)
+
+--- a/lib/libf2fs.c
++++ b/lib/libf2fs.c
+@@ -6,9 +6,6 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
+-#define _FILE_OFFSET_BITS 64
+-
+ #include <f2fs_fs.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+--- a/lib/libf2fs_io.c
++++ b/lib/libf2fs_io.c
+@@ -11,8 +11,6 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -67,22 +65,13 @@ static int __get_device_fd(__u64 *offset)
+ return -1;
+ }
+
+-#ifndef HAVE_LSEEK64
+-typedef off_t off64_t;
+-
+-static inline off64_t lseek64(int fd, __u64 offset, int set)
+-{
+- return lseek(fd, offset, set);
+-}
+-#endif
+-
+ /* ---------- dev_cache, Least Used First (LUF) policy ------------------- */
+ /*
+ * Least used block will be the first victim to be replaced when max hash
+ * collision exceeds
+ */
+ static bool *dcache_valid; /* is the cached block valid? */
+-static off64_t *dcache_blk; /* which block it cached */
++static off_t *dcache_blk; /* which block it cached */
+ static uint64_t *dcache_lastused; /* last used ticks for cache entries */
+ static char *dcache_buf; /* cached block data */
+ static uint64_t dcache_usetick; /* current use tick */
+@@ -172,7 +161,7 @@ static int dcache_alloc_all(long n)
+ {
+ if (n <= 0)
+ return -1;
+- if ((dcache_blk = (off64_t *) malloc(sizeof(off64_t) * n)) == NULL
++ if ((dcache_blk = (off_t *) malloc(sizeof(off_t) * n)) == NULL
+ || (dcache_lastused = (uint64_t *)
+ malloc(sizeof(uint64_t) * n)) == NULL
+ || (dcache_buf = (char *) malloc (F2FS_BLKSIZE * n)) == NULL
+@@ -257,7 +246,7 @@ static inline long dcache_relocate(long entry, int n)
+ dcache_config.num_cache_entry;
+ }
+
+-static long dcache_find(off64_t blk)
++static long dcache_find(off_t blk)
+ {
+ register long n = dcache_config.num_cache_entry;
+ register unsigned m = dcache_config.max_hash_collision;
+@@ -278,10 +267,10 @@ static long dcache_find(off64_t blk)
+ }
+
+ /* Physical read into cache */
+-static int dcache_io_read(int fd, long entry, off64_t offset, off64_t blk)
++static int dcache_io_read(int fd, long entry, off_t offset, off_t blk)
+ {
+- if (lseek64(fd, offset, SEEK_SET) < 0) {
+- MSG(0, "\n lseek64 fail.\n");
++ if (lseek(fd, offset, SEEK_SET) < 0) {
++ MSG(0, "\n lseek fail.\n");
+ return -1;
+ }
+ if (read(fd, dcache_buf + entry * F2FS_BLKSIZE, F2FS_BLKSIZE) < 0) {
+@@ -308,12 +297,12 @@ static int dcache_io_read(int fd, long entry, off64_t offset, off64_t blk)
+ * 1: cache not available (uninitialized)
+ * -1: error
+ */
+-static int dcache_update_rw(int fd, void *buf, off64_t offset,
++static int dcache_update_rw(int fd, void *buf, off_t offset,
+ size_t byte_count, bool is_write)
+ {
+- off64_t blk;
++ off_t blk;
+ int addr_in_blk;
+- off64_t start;
++ off_t start;
+
+ if (!dcache_initialized)
+ dcache_init(); /* auto initialize */
+@@ -377,13 +366,13 @@ static int dcache_update_rw(int fd, void *buf, off64_t offset,
+ * return value: 1: cache not available
+ * 0: success, -1: I/O error
+ */
+-int dcache_update_cache(int fd, void *buf, off64_t offset, size_t count)
++int dcache_update_cache(int fd, void *buf, off_t offset, size_t count)
+ {
+ return dcache_update_rw(fd, buf, offset, count, true);
+ }
+
+ /* handles read into cache + read into buffer */
+-int dcache_read(int fd, void *buf, off64_t offset, size_t count)
++int dcache_read(int fd, void *buf, off_t offset, size_t count)
+ {
+ return dcache_update_rw(fd, buf, offset, count, false);
+ }
+@@ -395,7 +384,7 @@ int dev_read_version(void *buf, __u64 offset, size_t len)
+ {
+ if (c.sparse_mode)
+ return 0;
+- if (lseek64(c.kd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(c.kd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (read(c.kd, buf, len) < 0)
+ return -1;
+@@ -534,10 +523,10 @@ int dev_read(void *buf, __u64 offset, size_t len)
+
+ /* err = 1: cache not available, fall back to non-cache R/W */
+ /* err = 0: success, err=-1: I/O error */
+- err = dcache_read(fd, buf, (off64_t)offset, len);
++ err = dcache_read(fd, buf, (off_t)offset, len);
+ if (err <= 0)
+ return err;
+- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (read(fd, buf, len) < 0)
+ return -1;
+@@ -580,9 +569,9 @@ int dev_write(void *buf, __u64 offset, size_t len)
+ * dcache_update_cache() just update cache, won't do I/O.
+ * Thus even no error, we need normal non-cache I/O for actual write
+ */
+- if (dcache_update_cache(fd, buf, (off64_t)offset, len) < 0)
++ if (dcache_update_cache(fd, buf, (off_t)offset, len) < 0)
+ return -1;
+- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (write(fd, buf, len) < 0)
+ return -1;
+@@ -596,7 +585,7 @@ int dev_write_block(void *buf, __u64 blk_addr)
+
+ int dev_write_dump(void *buf, __u64 offset, size_t len)
+ {
+- if (lseek64(c.dump_fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(c.dump_fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (write(c.dump_fd, buf, len) < 0)
+ return -1;
+@@ -618,7 +607,7 @@ int dev_fill(void *buf, __u64 offset, size_t len)
+ /* Only allow fill to zero */
+ if (*((__u8*)buf))
+ return -1;
+- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
++ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
+ return -1;
+ if (write(fd, buf, len) < 0)
+ return -1;
+--- a/lib/libf2fs_zoned.c
++++ b/lib/libf2fs_zoned.c
+@@ -6,7 +6,6 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
+
+ #include <f2fs_fs.h>
+ #include <stdio.h>
+--- a/mkfs/Makefile.am
++++ b/mkfs/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Makefile.am
+
+ AM_CPPFLAGS = ${libuuid_CFLAGS} ${libblkid_CFLAGS} -I$(top_srcdir)/include
+-AM_CFLAGS = -Wall -DWITH_BLKDISCARD
++AM_CFLAGS = -Wall -DWITH_BLKDISCARD -D_FILE_OFFSET_BITS=64
+ sbin_PROGRAMS = mkfs.f2fs
+ noinst_HEADERS = f2fs_format_utils.h
+ include_HEADERS = $(top_srcdir)/include/f2fs_fs.h
+@@ -10,7 +10,7 @@ mkfs_f2fs_LDADD = ${libuuid_LIBS} ${libblkid_LIBS} $(top_builddir)/lib/libf2fs.l
+
+ lib_LTLIBRARIES = libf2fs_format.la
+ libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c
+-libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD
++libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD -D_FILE_OFFSET_BITS=64
+ libf2fs_format_la_LDFLAGS = ${libblkid_LIBS} ${libuuid_LIBS} -L$(top_builddir)/lib -lf2fs \
+ -version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE)
+
+--- a/mkfs/f2fs_format.c
++++ b/mkfs/f2fs_format.c
+@@ -6,8 +6,6 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
+--- a/mkfs/f2fs_format_main.c
++++ b/mkfs/f2fs_format_main.c
+@@ -6,8 +6,6 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
+-
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <fcntl.h>
+--- a/mkfs/f2fs_format_utils.c
++++ b/mkfs/f2fs_format_utils.c
+@@ -6,20 +6,10 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#ifndef _LARGEFILE_SOURCE
+-#define _LARGEFILE_SOURCE
+-#endif
+-#ifndef _LARGEFILE64_SOURCE
+-#define _LARGEFILE64_SOURCE
+-#endif
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE
+ #endif
+
+-#ifndef _FILE_OFFSET_BITS
+-#define _FILE_OFFSET_BITS 64
+-#endif
+-
+ #include <f2fs_fs.h>
+
+ #include <stdio.h>
+--- a/mkfs/f2fs_format_utils.h
++++ b/mkfs/f2fs_format_utils.h
+@@ -6,8 +6,6 @@
+ *
+ * Dual licensed under the GPL or LGPL version 2 licenses.
+ */
+-#define _LARGEFILE64_SOURCE
+-
+ #include "f2fs_fs.h"
+
+ extern struct f2fs_configuration c;
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -1,7 +1,7 @@
+ ## Makefile.am
+
+ AM_CPPFLAGS = ${libuuid_CFLAGS} -I$(top_srcdir)/include
+-AM_CFLAGS = -Wall
++AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64
+ sbin_PROGRAMS =
+ if !WINDOWS
+ sbin_PROGRAMS += fibmap.f2fs parse.f2fs
+--- a/tools/f2fs_io/Makefile.am
++++ b/tools/f2fs_io/Makefile.am
+@@ -2,7 +2,7 @@
+
+ if LINUX
+ AM_CPPFLAGS = -I$(top_srcdir)/include
+-AM_CFLAGS = -Wall
++AM_CFLAGS = -Wall -D_FILE_OFFSET_BITS=64
+ sbin_PROGRAMS = f2fs_io
+ f2fs_io_SOURCES = f2fs_io.c
+ endif
+--- a/tools/f2fs_io/f2fs_io.c
++++ b/tools/f2fs_io/f2fs_io.c
+@@ -9,12 +9,6 @@
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE
+ #endif
+-#ifndef _LARGEFILE_SOURCE
+-#define _LARGEFILE_SOURCE
+-#endif
+-#ifndef _LARGEFILE64_SOURCE
+-#define _LARGEFILE64_SOURCE
+-#endif
+ #ifndef O_LARGEFILE
+ #define O_LARGEFILE 0
+ #endif
+--- a/tools/f2fs_io_parse.c
++++ b/tools/f2fs_io_parse.c
+@@ -8,7 +8,6 @@
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+-#define _LARGEFILE64_SOURCE
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+--- a/tools/f2fscrypt.c
++++ b/tools/f2fscrypt.c
+@@ -7,15 +7,6 @@
+ * Authors: Michael Halcrow <mhalcrow@google.com>,
+ * Ildar Muslukhov <ildarm@google.com>
+ */
+-
+-#ifndef _LARGEFILE_SOURCE
+-#define _LARGEFILE_SOURCE
+-#endif
+-
+-#ifndef _LARGEFILE64_SOURCE
+-#define _LARGEFILE64_SOURCE
+-#endif
+-
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE
+ #endif
+--- a/tools/fibmap.c
++++ b/tools/fibmap.c
+@@ -1,13 +1,6 @@
+ #if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
+ #define _XOPEN_SOURCE 600
+ #define _DARWIN_C_SOURCE
+-#define _FILE_OFFSET_BITS 64
+-#ifndef _LARGEFILE_SOURCE
+-#define _LARGEFILE_SOURCE
+-#endif
+-#ifndef _LARGEFILE64_SOURCE
+-#define _LARGEFILE64_SOURCE
+-#endif
+ #ifndef _GNU_SOURCE
+ #define _GNU_SOURCE
+ #endif
+--
+cgit
diff --git a/sys-fs/f2fs-tools/metadata.xml b/sys-fs/f2fs-tools/metadata.xml
index a4753dec8e9c..3901c1ae875f 100644
--- a/sys-fs/f2fs-tools/metadata.xml
+++ b/sys-fs/f2fs-tools/metadata.xml
@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>blueness@gentoo.org</email>
- <name>Anthony G. Basile</name>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
</maintainer>
<maintainer type="person">
- <email>zlogene@gentoo.org</email>
- <name>Mikle Kolyada</name>
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">f2fs-tools</remote-id>
+ <remote-id type="github">jaegeuk/f2fs-tools</remote-id>
+ <remote-id type="cpe">cpe:/a:f2fs-tools_project:f2fs-tools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/fatcat/fatcat-1.1.1.ebuild b/sys-fs/fatcat/fatcat-1.1.1.ebuild
index 1cbdeace786e..ac61be67b09a 100644
--- a/sys-fs/fatcat/fatcat-1.1.1.ebuild
+++ b/sys-fs/fatcat/fatcat-1.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2018-2022 Gentoo Authors
+# Copyright 2018-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,9 @@ IUSE=""
DEPEND="!elibc_glibc? ( sys-libs/argp-standalone )"
RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}"/fatcat-include-getopt.patch )
+PATCHES=(
+ "${FILESDIR}/fatcat-1.1.1-musl-1.2.4-fixes.patch"
+)
src_install() {
cmake_src_install
diff --git a/sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch b/sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch
new file mode 100644
index 000000000000..e01533fee306
--- /dev/null
+++ b/sys-fs/fatcat/files/fatcat-1.1.1-musl-1.2.4-fixes.patch
@@ -0,0 +1,107 @@
+From 12fdf46cb916b71ed8360250d50b9208684695c9 Mon Sep 17 00:00:00 2001
+From: Alex Kiernan <alex.kiernan@gmail.com>
+Date: Sun, 19 Jan 2020 16:03:21 +0000
+Subject: [PATCH 1/2] Use unistd.h not argp.h for all POSIX systems
+
+getopt(3) is found in unistd.h on all POSIX systems and we make no use
+of any of the GNU specific argp extensions. Include unistd.h directly to
+allow building with musl on linux, whilst retaining compatibility with
+glibc and other unices.
+
+Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+---
+ src/fatcat.cpp | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/src/fatcat.cpp b/src/fatcat.cpp
+index ce23ca0..b4427e4 100644
+--- a/src/fatcat.cpp
++++ b/src/fatcat.cpp
+@@ -1,14 +1,10 @@
+ #include <stdlib.h>
+-#include<string.h>
+-#ifdef __APPLE__
+-#include <unistd.h>
+-#else
++#include <string.h>
+ #ifdef __WIN__
+ #include <ctype.h>
+ #include "xgetopt/xgetopt.h"
+ #else
+-#include <argp.h>
+-#endif
++#include <unistd.h>
+ #endif
+
+ #include <stdio.h>
+
+From 29021747ac2e52a27013310a532439bfdf438c24 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 16 Dec 2022 18:54:55 -0800
+Subject: [PATCH 2/2] Enable 64bit off_t
+
+Ensure that off_t is always 64-bit by specifying -D_LARGEFILE_SOURCE
+-D_FILE_OFFSET_BITS=64 this will ensure that normal lseek() function is
+same as lseek64
+
+This helps compiling on latest musl where lseek64 and friends are not
+available
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ CMakeLists.txt | 2 ++
+ src/core/FatSystem.cpp | 4 ++--
+ src/core/FatSystem.h | 2 --
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d6a2649..4cdd1fb 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,6 +34,8 @@ IF(DEFINE_WIN)
+ add_definitions(-D__WIN__)
+ ENDIF(DEFINE_WIN)
+
++add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64)
++
+ include_directories("${CMAKE_SOURCE_DIR}/src")
+
+ add_executable(fatcat "src/fatcat.cpp" ${ALL_SOURCES})
+diff --git a/src/core/FatSystem.cpp b/src/core/FatSystem.cpp
+index 79cda8c..1f52e82 100644
+--- a/src/core/FatSystem.cpp
++++ b/src/core/FatSystem.cpp
+@@ -90,7 +90,7 @@ int FatSystem::readData(unsigned long long address, char *buffer, int size)
+ cerr << "! Trying to read outside the disk" << endl;
+ }
+
+- lseek64(fd, globalOffset+address, SEEK_SET);
++ lseek(fd, globalOffset+address, SEEK_SET);
+
+ int n;
+ int pos = 0;
+@@ -112,7 +112,7 @@ int FatSystem::writeData(unsigned long long address, const char *buffer, int siz
+ throw string("Trying to write data while write mode is disabled");
+ }
+
+- lseek64(fd, globalOffset+address, SEEK_SET);
++ lseek(fd, globalOffset+address, SEEK_SET);
+
+ int n;
+ int pos = 0;
+diff --git a/src/core/FatSystem.h b/src/core/FatSystem.h
+index cd3c914..f9f2ca3 100644
+--- a/src/core/FatSystem.h
++++ b/src/core/FatSystem.h
+@@ -11,11 +11,9 @@
+
+ #ifdef __APPLE__
+ #define O_LARGEFILE 0
+-#define lseek64 lseek
+ #endif
+ #ifdef __WIN__
+ #define O_LARGEFILE 0
+-#define lseek64 lseek
+ #endif
+ using namespace std;
+
diff --git a/sys-fs/fatcat/files/fatcat-include-getopt.patch b/sys-fs/fatcat/files/fatcat-include-getopt.patch
deleted file mode 100644
index a9c9094eceb3..000000000000
--- a/sys-fs/fatcat/files/fatcat-include-getopt.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur a/src/fatcat.cpp b/src/fatcat.cpp
---- a/src/fatcat.cpp 2020-04-05 11:12:55.773602065 -0500
-+++ b/src/fatcat.cpp 2020-04-05 11:13:14.112132604 -0500
-@@ -8,6 +8,7 @@
- #include "xgetopt/xgetopt.h"
- #else
- #include <argp.h>
-+#include <getopt.h>
- #endif
- #endif
-
diff --git a/sys-fs/fatcat/metadata.xml b/sys-fs/fatcat/metadata.xml
index da20bb112a7c..2fb86914fc19 100644
--- a/sys-fs/fatcat/metadata.xml
+++ b/sys-fs/fatcat/metadata.xml
@@ -5,4 +5,7 @@
<email>bkohler@gentoo.org</email>
<name>Ben Kohler</name>
</maintainer>
+<upstream>
+ <remote-id type="github">Gregwar/fatcat</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sys-fs/fatresize/metadata.xml b/sys-fs/fatresize/metadata.xml
index 85e4ed814fa2..23628a858427 100644
--- a/sys-fs/fatresize/metadata.xml
+++ b/sys-fs/fatresize/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">ya-mouse/fatresize</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/fatsort/Manifest b/sys-fs/fatsort/Manifest
index f4ffba9723bb..16391f44ec6b 100644
--- a/sys-fs/fatsort/Manifest
+++ b/sys-fs/fatsort/Manifest
@@ -1,2 +1 @@
-DIST fatsort-1.6.3.622.tar.xz 123644 BLAKE2B 1db530753bdaee4ebda9ab36a47f6794584bc590de4cbf8d144a5baa770c080c9d27a1ecadd5a22de72538887c4e10f161f3c4fb3afb3e63bd18834897ebe905 SHA512 309c7424e53fb74f57d0c4272a1a4b3df57fa1130d7e7adae0ac73ac1c8b1900504e49efd0cc4dafea3efa2fbc9191f343b10bb97b647dd6124197356cd01c53
-DIST fatsort-1.6.4.625.tar.xz 123964 BLAKE2B 4d958886af48e9f6d6a39b128b5ff96b809e67667026483a5abfb3db6f16d8a5ebb257433f2a7fbba6c7e4d81614477cc4cec437bcfba868a2c2fb6b13b15c42 SHA512 1d67c3cb515295d0a47054803e5b2a625875e71f41b2fad17f9d495b6aa4a291776696692545800bb4d5b826e9d622ea34077c81f7f08f41b8dfd70491e439ef
+DIST fatsort-1.6.5.640.tar.xz 131792 BLAKE2B 6e89c2240241642c828e462d44832e533351f5d6dcde78617b55fe61e24d30c92ebe567eaa4c2293e0db1671e60955cd2d48c83ade9acb6988371bbb05cd0953 SHA512 e4b0e6f007686ed873df8415e09787203cf508a27b94ac033c38b47bf9938f5d8fb130d98cc6588a376ea0004a8f8add55dc38e2fb9b133e6984b24bce3160ca
diff --git a/sys-fs/fatsort/fatsort-1.6.4.625.ebuild b/sys-fs/fatsort/fatsort-1.6.4.625.ebuild
deleted file mode 100644
index 2c171133543c..000000000000
--- a/sys-fs/fatsort/fatsort-1.6.4.625.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="Sorts files on FAT16/32 partitions, ideal for basic audio players"
-HOMEPAGE="http://fatsort.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-src_prepare() {
- default
-
- sed -i -e 's|/usr/local|/usr|g' \
- $(find ./ -name Makefile || die) || die
-}
-
-src_compile() {
- emake \
- CC="$(tc-getCC)" LD="$(tc-getCC)" \
- CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
- man
-}
-
-src_test() {
- # Tests require root permissions and mounting filesystems which does
- # not work inside the ebuild environment
- true
-}
diff --git a/sys-fs/fatsort/fatsort-1.6.3.622.ebuild b/sys-fs/fatsort/fatsort-1.6.5.640.ebuild
index 2c171133543c..44138ec302ac 100644
--- a/sys-fs/fatsort/fatsort-1.6.3.622.ebuild
+++ b/sys-fs/fatsort/fatsort-1.6.5.640.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="Sorts files on FAT16/32 partitions, ideal for basic audio players"
-HOMEPAGE="http://fatsort.sourceforge.net/"
+HOMEPAGE="https://fatsort.sourceforge.io/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
LICENSE="GPL-2"
diff --git a/sys-fs/fscrypt/Manifest b/sys-fs/fscrypt/Manifest
index e7fee779e9d3..e325d5a9e0bd 100644
--- a/sys-fs/fscrypt/Manifest
+++ b/sys-fs/fscrypt/Manifest
@@ -1,46 +1,2 @@
-DIST fscrypt-0.3.3.tar.gz 167020 BLAKE2B d271c397782bcb40cbb9d1d87463927080487898b590a83b301d98ba584fe9cb7c651c9b0c6eb905e55de42877f09367ca77593efcaca7c2441909d10190bf86 SHA512 d217212a15111bf036725f02b9530ae3716f3242e451ea5f9c8bd93cba113d9d21d1d970d9d0efaa75eb5f30a135cc6cdf18fceb8eb7d04a57363dabf4ed9fe9
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.mod 34 BLAKE2B ce54a247aef91043830bdf0603c8452ba38eceb1495af6e7a74c9119234a0dc5cd080cb25258c28f5e270acf91189a5ed33e361cbf17de2be5e37dadbda1d90d SHA512 320941bc3b7fb8bc595e6135cbc513a7583d129f0cd92508055291e141191066303cf75148e25198c21f6c6c539a790ea3210f3ecf5de6a2a03b70c753091146
-DIST github.com%2F!burnt!sushi%2Ftoml%2F@v%2Fv0.3.1.zip 56132 BLAKE2B 5edcfe991d7fc40094d637bae8d8d6f1f897ab3d3786ade2bb80287738103264520681ced8d30d2037253206c32d3f867f4d024a571cb9aad030ebc451e198eb SHA512 43ed64ae515738487e9b75a2290d0b2bc25e83c021a9f29b21487c37adbf34e74e1e7d3d5ec0dfe678c8396356f95c3993a5f5610d1791ff62056cd182a4272f
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.mod 35 BLAKE2B 45d27e6bbd9255a355b6bd14ac839c7d87fabb393693a8b862ad974017af01309e5d36fa99d4925905c1617c0d90b5263b54cd95af2dbab186e293936dc86459 SHA512 ca8192c6321468b4332eb63c765a5798150dce9312873123b48d9ec67ebb4229cffc7b7e8054b8b0a6f45611f08130008031edf33da3468bb9a4ee9455fa02a5
-DIST github.com%2Fclient9%2Fmisspell%2F@v%2Fv0.3.4.zip 246908 BLAKE2B 94b71d3c77553dca4889c6f066f6741fa9d17a0ea86b564e3e8ff05b015b87c18fd3fcbe2b3d942a8569c99ef4bdf42c686bd58485e9373447d25724ceb934ca SHA512 47991999bacf78ddfd33a4af3c0d5b8a418cb7664e05bc59d886150025a1d5aad831deacbd6da76d5a21a97ed115d4210c374459e7af8ed7b93c4c1c0e7a42fa
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.mod 34 BLAKE2B a4239cba934b6e80714b93d47e88f22ad28ce41d1d984c4261cc3f5f3b857fb28785223fa911b258e2665be2a9d24ffbd925e9e0f374452a2aacd712ad9d5f75 SHA512 e059a34363bb826bbcb8981adbfc10da90e04b86dc5376ab20bdfe1fab135953cff41ef1daa116aff10e9f3e6503168f6baf902f09aa0e8cd9a0da96b932f4b6
-DIST github.com%2Fgolang%2Fprotobuf%2F@v%2Fv1.2.0.zip 482403 BLAKE2B 47db66e9c8187c20b27b9aeb8584f0f2289084103ccda25406eb30059147c3bcb867c76d145c4cab7eae801ed4cf76a63efe23f091e05c9206fcadc3358a02f6 SHA512 d102d00618f077f7d677eea9f0d4aff600e4b95caaca6ae6021355e64ed0a8fe418fd731370baa968f6fd338e377b5d3a2077b0b8a1ee399f992b8a7717cf77f
-DIST github.com%2Fgoogle%2Frenameio%2F@v%2Fv0.1.0.mod 34 BLAKE2B 1eabef50b2977886d7980d7da197828b826c54018766418b3160f5cd512784635e5791a40cc4fb806d52f5ead99f941fae8037872d6cedfd6c851103f3be1a74 SHA512 a46cae976ce90d1cef802eeaa873c059cc9ec3678d5c3c304a9de45f44f20a24d68fa290cfdcf78c4ac222a6d619a005825de8f11e72b9a5af476a0b0180092b
-DIST github.com%2Fkisielk%2Fgotool%2F@v%2Fv1.0.0.mod 35 BLAKE2B 2f43dcbab430f12316fde243db4bafe24372c74d60874b05917269e249a36660309c23da151db31d89c0d0a8fd0f179e2dd7f386af3ca533c95ef74017609af9 SHA512 86aca37f7f94ada381e0528a535b344c8fdbab9e0dcc7b71d716083501ad3d61db701ee159ccfb5455a351fc18a405301abe798037dd1200f9950bdd805d3dc9
-DIST github.com%2Fkr%2Fpretty%2F@v%2Fv0.1.0.mod 67 BLAKE2B 2e1b4a8a38998179a32db321d331db54f881770a89719410876cdde1799cb8558ca2862bc70838d606540606d05918c4b115cf1c125945a77ed376c2efc4aa85 SHA512 4d841fc7a022e4e09e0a95925ad92a75809a67c30fb88de9190e4a2196383038dab9a5b3294b6a0b4786248977a0e09eea857a34100cbf22f8a52912ce9fa58d
-DIST github.com%2Fkr%2Fpty%2F@v%2Fv1.1.1.mod 25 BLAKE2B 63db8520df2f699bca5a7ccecc44ee04973307d86099cfe66ded30e2ca1bdd76fc3db48cfca0138673c20c6f94061caf219f018b21b9d67231fe959eef338596 SHA512 967fcdce835c12afbf3b12bb204a256f32d46a3da535e2a7250159f62781a163ee107dd2a4fa20743b76bbf52b97e627e11e895c8d5ef73aede37d6a89e326eb
-DIST github.com%2Fkr%2Ftext%2F@v%2Fv0.1.0.mod 64 BLAKE2B 475c51201a379df2cc4ff8c5681b6a7a1524f60d0b8fd0853fef569dea754efabf3425cd4b84e8427db8a6cf3e9b1141d5050d48d5d429cc1ce82162aa70050c SHA512 11d2502a7d241a0edf4e67bcb651a890a12f49d00f8b944cc9eb8f6e9cf5fbb2b2827e696021649bc795ffa275e95ee700e4a1706e03e88fa9ae079f5b9f48ce
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.mod 29 BLAKE2B 7fb53b19bd1be0e783039647b42ecbe2070f51af102e473ec6d3544eea0ffa5863f1874ca1615348d5f8abbaa39c841b4fe18d43a8a615fa648cf22f35955e38 SHA512 0c156e21d35c45a89c1a1b69ff1976b4f7511b3870bf96126121f5a5effa3723eb45bf080e840d5c8b96898c65207dba83eb3e1a23668dd8a5e20ee6be775cc0
-DIST github.com%2Fpkg%2Ferrors%2F@v%2Fv0.8.0.zip 14743 BLAKE2B c0c06d296c0583be2a6eb06359659b50941ea516bc768833bbfe252b73a2d81616dbe2d2db1991bd196b4a615b253c60046bbc6d56ca7268ded5b0ff40a4dc81 SHA512 2975fb8868fddaff560951be41194b82b631138d617705c3f6162acb76ace8697cc8ebc8f610ca1fb1a5167c6b6b0ecc87c150133a757447831463a0da18f392
-DIST github.com%2Frogpeppe%2Fgo-internal%2F@v%2Fv1.3.0.mod 73 BLAKE2B 21e3545a4518c64daac1cf36e47a2c8e1fc8ab7402372f2e871052d0dd9d83fc2aa44babb2f8751180cb66dcd2af82ed202afbf5ad3a219c4562da23ae8ce185 SHA512 4fd07ae7c00bcc135cc10a0b34ab102a893ed8ea4708f9d38da52f98b09fb66144f970ffd8795476fd6625b25c9e48390a5b1c5c99bd0c8d536a94201dc96613
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.20.0.mod 29 BLAKE2B 4f20ac8fb7beef2b678cff290a28c8125d368504aebfcde33e746d3ca7b9606804bd94c59c50fe328da4c1c592b8768b1aad89bc1d22ddf76cbc88d0f0f76b74 SHA512 5edcf2aac39658fc7e60d5086b066470c6d6213b66a2432bc35c6f67b8cb37a66a67fd97cdd4b8fa1b8b1bddfd544e4aa9838cec06806b89f8e1447e3c61bd2a
-DIST github.com%2Furfave%2Fcli%2F@v%2Fv1.20.0.zip 72765 BLAKE2B 61a5269577f397701a50299f9e32b195f56af70a439ecc94f3ccba5a04cf6d1d220b5ae34d26c1a019989b19996335d265abb665ac5aee876ba50b941665cf99 SHA512 5edcc7510abaf7a6326a27a43aa7debd43d333dd1c23462a5f0d8a8d526ef74c085db35a637536eb6883d531bce4bf35648b75dbb19e43e481382572cdd24b3f
-DIST github.com%2Fwadey%2Fgocovmerge%2F@v%2Fv0.0.0-20160331181800-b5bfa59ec0ad.mod 35 BLAKE2B 37259015d6e78647e4bae8cd5be6c9b49824fb31b641093bd17cb2a0d3ad0d0f01b6b4634988b6ae81bc6b3c4bd4e5907aa3066566397e6e7ed2227302ff8eb6 SHA512 4b15d52818e6cbffb54542844afa76c5b6a2b8c30ead35d3c8b77cfc40f143bcda269fe6c22191b41f9185966b61761b09e74b3109cdf2601a0d92489c976856
-DIST github.com%2Fwadey%2Fgocovmerge%2F@v%2Fv0.0.0-20160331181800-b5bfa59ec0ad.zip 2832 BLAKE2B d7ddd1d9d4c2e4e5219db98b3c85fe1e5fcc229aa90569ad20d68489951fbf08df3a4ea14339894d7d888e9287685e197564a42cb602934a0899c5e154b9855e SHA512 976ddf67ea97ba65839c3b6c89fbfdbfcc93b8e4358eebca0d50bad112f2428c81e178442f41d2ead9ec2b4c6bcfb6319d4d52e882944c61073ef0da442f574b
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190308221718-c2843e01d9a2.mod 88 BLAKE2B aec7d0eea1278eb3d1568d5bfb4041267501ad14457ebfcbdbc5fe21473170b8616ca4028f52af2edbfd85922cbe04540b4b0df7f69f63197698143cc5557a7a SHA512 2df49895053b36fed7ea905aa73f86568fbafd79ff0a7976679d8c77cf15025129435d9dbfd89367b611b1aadbea4f4bd1835eb4efa9ea702466e443638d379e
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.mod 146 BLAKE2B 6fe18cbe4eb6c3f6c26a4d2f9f309c48eb9ea59017125179cbfd61bb1e62395515c8cb286e1139fbcf54d37dcb2baa1a2f98dcfbcb6178b7f7df3b51929ff5c5 SHA512 f40c7b620b28b5bdc6ce92d43768af71b5869e7f0eb7872dd0f2751eed2bd15a17f7af26bf2dc5c6f7e6b816a174d010bfd22b3f8f5dd72f22dc4e4357dea842
-DIST golang.org%2Fx%2Fcrypto%2F@v%2Fv0.0.0-20190510104115-cbcb75029529.zip 1812396 BLAKE2B 6a78f16355c218fd5670a85d17dbe4b66b2ed80dbf08cc62827ef873a6c10fc0850cf2285d839446978980513b6d048eba2b054884da91244abd25fc2eb8dd85 SHA512 da2da56521490eae98c27ff1099f8c7a8681402d0db46e9f981576bae3df5e0968b15dc6b0ffefaab889ae4c08c78bef50c6b18120a63bc504047acb987405a2
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.mod 88 BLAKE2B 04ec98f76d6779784920b4f746fccafdba5ee6f365edc58985219675791d417746575165985de6d866ee891b6c768d317360a4229e61f19a1f05e4f0bafdb111 SHA512 5e787e9d2c16c87238995214eab353f87d009acf8ef78889295d11dfabef73cea4e8cabfc2999f9ef0c936efb84c22963e0aa2bce4b3678680a389cbe23df961
-DIST golang.org%2Fx%2Flint%2F@v%2Fv0.0.0-20190930215403-16217165b5de.zip 45710 BLAKE2B 7349ff19c5695071b04342199b7694af51d7a63b2a9940c72abdc8e2a03da41260da0ae09b039f1cf2c3752c7f2256164a3f0f4ce00410adcd5389cdc07e5cb9 SHA512 00ae7262d6a4f5839915a648e09a51fd939300b9f0404f2c13c062412d059b8278e3c40b2db2a927bffe74a940295834c18b77fb7dc58e88401e0b7606c13aeb
-DIST golang.org%2Fx%2Fmod%2F@v%2Fv0.0.0-20190513183733-4bf6d317e70e.mod 97 BLAKE2B f6c97d5de5c229ab22e047250a7030c201829f8237b63c0b272c0453dd8ea91360f4a73f9d2b56212103c76c36c01699231d9dd31d48ba8624554b5b36499190 SHA512 15deca99c6d866dcffdd51b1334fbe7f33ce88e1fd82badec64f5155782681887e7fd959ec2686fb35adf70afbe08d743e36c6a891f43462074663357e5b309a
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190311183353-d8887717615a.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190404232315-eb5bcb51f2a3.mod 119 BLAKE2B e042b2716739483252c3340451b2c3c7b421fdf8d6b3e0333e979802fca66159596982ea63a24b6a64457b2757a0ad24cbb9ea032bab4c5377edf84a3ea18b97 SHA512 26b6c92eecd2208967336d4d23f8a71f77f9a73643ad1e5cd84dee36b2f626fffc806e4dd33acc284831a0961e2b363d898a747903235945fbfb665c5b4d5ef2
-DIST golang.org%2Fx%2Fnet%2F@v%2Fv0.0.0-20190620200207-3b0461eec859.mod 181 BLAKE2B 95ef87cbad118eb6bfc963893e37a555067b7fcf70e52cf4261de029eb46b739b12f50530a46fb91ec9119febcf5033176324a55064f589c17b240a23a15bb4a SHA512 2794c616072f01ca3324107aad2ed97e05f6e6c1e9811a1749073376a89c9ce57a910cfdc8dd6bdc2583d133bb53605c7a68917eaa221ec5c1c8319e5dfbb236
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.mod 25 BLAKE2B 01f7f78a0324ca728efd4d662ea130d7e200ab25805125e472720ca01feaaf2625b15bf53f51837a6913e35e060a19018928a38851d7445f39e6e42e237dfda2 SHA512 a9dd073f69c5be1153aaab6e84dd3bb1610a0df8b9882ca4c486c6625d4b5201e5032f86e5014421358dff564d93c4e67f20e5fd1d21ed5e259ddfbc90af43c0
-DIST golang.org%2Fx%2Fsync%2F@v%2Fv0.0.0-20190423024810-112230192c58.zip 25620 BLAKE2B 770b7dc9bdd8999123fb58cfd951dcbd5592172fd394f1a70abc918e3d7adee5273da1c757f95be15a0ede27f4fd00804564828251ab308d6fc4b116415ac144 SHA512 5a9db9d294b5f2121f3de994da38161f013a0512ad64aaf51f1c7a94b7cdb1ec4102f7c457d29f9bde209e8c254f6ad034c294af3649dbd10d5349c05874f74c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190215142949-d0b11bdaac8a.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190412213103-97732733099d.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20201119102817-f84b799fce68.zip 1529034 BLAKE2B a30815639bc723fe9c7078c1fc5214e43aa946520c8d2d1efdc2cfb88b53c1faf50054f693d4f3b92461a64c07c8dbb845901c87a8deb86650cfcfc0482aae08 SHA512 113ecd43b0aecd6050a3a7319bbb43d351e62d71f01f9b98af7ab15b179fff616ebbb81920447f3b1192a9230c230c95bb20e9172981d4c8b926804ee92af508
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210422114643-f5beecf764ed.mod 95 BLAKE2B 8385688f2081360fc2694f05d128ff0c587ef131e1b5757a942d9335870200e06545318afb1a7d1f059d060f51fe94fc16a48a1d7ec31a9a83e07b3c93f34ce3 SHA512 a3401e3d20dc1aaaebbf3c296a783668003f2182ed77ec830431f97339e07eda1859fe8c3c7fdfb0125b3ed331d23208519df520f86e20c1a05c822b3d766b08
-DIST golang.org%2Fx%2Fterm%2F@v%2Fv0.0.0-20210422114643-f5beecf764ed.zip 22714 BLAKE2B 10545c76ecd42f673e027368d2c8f20e9c704e1ea777dd58dce7376b0a52a90be023d412787b95cf7a5b251814ca4dc0a97b3725a1c3fd7253232ce51fd1df83 SHA512 c127f2f4e68b3343926dbd290221c640a36c5996f4d6557b3ed8f092fb246022dbc25c24b766164b4b8546fba00d6654f35ef581b7961205d1b136a3d1efc2e0
-DIST golang.org%2Fx%2Ftext%2F@v%2Fv0.3.0.mod 25 BLAKE2B 31009af0fdcd0f8730c9985287e6e364ec4e5183e57e92560dbc80a2010eced51b8a90f01a82b49384268c8a0adbf69d179c205d3f68e0eb459169d2ea9528f0 SHA512 ca081ef7cccd7bbedc6843fbe0c452352661a07e1298cd02ff338ed79d807c6401d613a3cf20011189d2f98a794ffa410547b3e352eb58a6f0a84822285d391d
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190311212946-11955173bddd.mod 87 BLAKE2B 32cb406deea05323b1121386bf61f344f8eda0b5370e95bb73828ce0bea50bee375ae3e9b076b9d683a4d89561709c5e97e45e6b08344fbdf6b03b3ce4398dcd SHA512 18ae9b2f54109b4ec5cdea433ee0e3b7006e4d5ea57022d6e8151d4d364735a6b55cf7b5eb2f43b602ec786b2b6819ad78dfc33151ee1a63a0b1199f54ce34a1
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20190621195816-6e04913cbbac.mod 155 BLAKE2B 538451f0cc08c6752c81241193caad56fcb8fb7a5cdc2ad6840ae44a1f5c3e1539067634352ded872712c84da7046b32053f9634da76c4888eec9046035a0935 SHA512 5823f6ea0fb08243f243a9577cd31397999bb387c8e29312304ca2dd0e73391cad60891a2a1181ac5fb665c1b01824933c295289a5d4cd580fc77f1bd828955b
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191025023517-2077df36852e.mod 212 BLAKE2B ab1d99a25eed3af5426d8a58d249b827e4d30a046302df72c7e0b59955e65b636f4645c5c436bb21ec54ec3745b9996bce92d29826ad93cbc9120a06dc19b49a SHA512 6a0316ac3b01aba3f186b5db540a368ab780a821252f7f0975f9e44afea9170c4b3e7027dc5f79a54ebc6af290cbb59b876d3b53bbf26fd05fc3a80a06fae109
-DIST golang.org%2Fx%2Ftools%2F@v%2Fv0.0.0-20191025023517-2077df36852e.zip 2893027 BLAKE2B 5253ef33d4a457c4d01f2ec569f840ac492ade928a5e34cdd13a02ad419f93b9981e1ce56a39ee5be03c1f0a59c4989312ef5baeb723ca380359df225982034a SHA512 ae8f7e24a954020d1ef3f9175d1e4006fe0be40fa01cccc91c5128b37229453c7487ae4d1b5ec262726f13baff5f5ba844aebfeff7375a3f4a740d27557e255e
-DIST golang.org%2Fx%2Fxerrors%2F@v%2Fv0.0.0-20190717185122-a985d3407aa7.mod 37 BLAKE2B 7449be81e1998a6439070de1a0ddf5bfd1e4971c90c2e358590a9c1c41128bfc1daa42a9bbc3709506df2442ec8420e6354343a095c837be46335c180083f28a SHA512 659d18a7a3a1be45ff6dc9e7475276b82ee7f11c47d39b0c237d7f872836a1dbdfff0902f21d6cd8093663997865da92e3e5a4acf1ad6129f972dc5e667b4f05
-DIST gopkg.in%2Fcheck.v1%2F@v%2Fv1.0.0-20180628173108-788fd7840127.mod 25 BLAKE2B 6470f3d94700c4d8b3176d692bdb91646750f2c6a866ff2ef4183aff1de01f024a8757f97b4626ec0355092e5f25e7ded91cd5be845f627d107c58b1daf400d7 SHA512 9ac0f80ef05881387cb2f48f81560f3207fe586ea16495383662e6d62e43d93fac01dfe72e1d0063d3ab065331dab3a8098d7da4f1830ba1aff6f27f8e1bc1b2
-DIST gopkg.in%2Ferrgo.v2%2F@v%2Fv2.1.0.mod 133 BLAKE2B c4ac637e2bf2d6635065be5213d73f23a1870054c58e9f1cce93af4627ed6fdefa96798b0fbbd27666573757f8b4a48c694ddf3f86c98e898124294459500771 SHA512 cac59fd7470fc9d3203dab6b9e881d4182cfca5acf0a19207a9aff2964d42f20422f9a164bb52b2fa73c523e3caafd63028189bd4190a1670870154dbf3e8178
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.mod 300 BLAKE2B 3e3f5a2be0918cbaacd5e43e59fcc6c7c6999645f0c9214cd5a522c31d34b6d3dad61e3ddae8ccdb2f3f0d90b406c047802ee3d9d54dc40fe6eff9cd35620792 SHA512 0c8aa788d0c03d6d049f0dd7468d0f81ce2131ccedd5a5a3a18362b7d30eef7ef325277844eefe4b707b1ad71c6f83a44e110b7af7b98e05406d347237a7bafb
-DIST honnef.co%2Fgo%2Ftools%2F@v%2Fv0.0.1-2019.2.3.zip 506912 BLAKE2B a38cb31fd8df49dae4ff187e67704b5586ba78a0dcfe5afa3b820f0ac80f7e12ba4bdb705caa97c6be85407fe97599d1244d2f56f0e9e36554ba43289d9f21d8 SHA512 3285ab90762ee6b771c95e1c842ab308f04ac366ddfa693040c49d8951bb01db33994eb69c2c9dfd6ab2b379b29cbfe31558ca6b6aafe3feea1e693b2a36d0cb
+DIST fscrypt-0.3.4-deps.tar.xz 29862020 BLAKE2B 86c68888687e18bc46b791bcba4f5d08d91605d9e0397bdc94347f76c549ec9afd3f1b5030812a4eb0339a4cb6882e4db31aeb3beb543c53e7949db80adb6ceb SHA512 a406b3f4153dea04cac66bce3e0b29ec162f8dc57c3460f03489e830c43b968288d956079e22277760283bd96f7e6a8120b7bde765c4c964c8cb999871f1c04a
+DIST fscrypt-0.3.4.tar.gz 175778 BLAKE2B b8f548690fb908dd5bfbab45d70e77d773d3d46aeb89cb0f3bb397af97058f2fcf4d4d6694c66b2cefe3d5db4a0b11e9ee1a19044700183160d0d1a2917054a0 SHA512 e99ade63092281f3db948564458ddd259420bb7295c6ad896fb5e22697405aa471725c929cf98631e91c05615141c9715bce3eb1b37cbe7c07a7c7c248117b06
diff --git a/sys-fs/fscrypt/fscrypt-0.3.3.ebuild b/sys-fs/fscrypt/fscrypt-0.3.3.ebuild
deleted file mode 100644
index 6a019db69a91..000000000000
--- a/sys-fs/fscrypt/fscrypt-0.3.3.ebuild
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright 2020-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit go-module pam
-
-DESCRIPTION="Tool for managing Linux filesystem encryption"
-HOMEPAGE="https://github.com/google/fscrypt"
-
-EGO_SUM=(
- "github.com/BurntSushi/toml v0.3.1"
- "github.com/BurntSushi/toml v0.3.1/go.mod"
- "github.com/client9/misspell v0.3.4"
- "github.com/client9/misspell v0.3.4/go.mod"
- "github.com/golang/protobuf v1.2.0"
- "github.com/golang/protobuf v1.2.0/go.mod"
- "github.com/google/renameio v0.1.0/go.mod"
- "github.com/kisielk/gotool v1.0.0/go.mod"
- "github.com/kr/pretty v0.1.0/go.mod"
- "github.com/kr/pty v1.1.1/go.mod"
- "github.com/kr/text v0.1.0/go.mod"
- "github.com/pkg/errors v0.8.0"
- "github.com/pkg/errors v0.8.0/go.mod"
- "github.com/rogpeppe/go-internal v1.3.0/go.mod"
- "github.com/urfave/cli v1.20.0"
- "github.com/urfave/cli v1.20.0/go.mod"
- "github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad"
- "github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod"
- "golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529"
- "golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de"
- "golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod"
- "golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod"
- "golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod"
- "golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod"
- "golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58"
- "golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod"
- "golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod"
- "golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod"
- "golang.org/x/sys v0.0.0-20201119102817-f84b799fce68"
- "golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod"
- "golang.org/x/term v0.0.0-20210422114643-f5beecf764ed"
- "golang.org/x/term v0.0.0-20210422114643-f5beecf764ed/go.mod"
- "golang.org/x/text v0.3.0/go.mod"
- "golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod"
- "golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod"
- "golang.org/x/tools v0.0.0-20191025023517-2077df36852e"
- "golang.org/x/tools v0.0.0-20191025023517-2077df36852e/go.mod"
- "golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod"
- "gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod"
- "gopkg.in/errgo.v2 v2.1.0/go.mod"
- "honnef.co/go/tools v0.0.1-2019.2.3"
- "honnef.co/go/tools v0.0.1-2019.2.3/go.mod"
-)
-go-module_set_globals
-
-SRC_URI="
- https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}
-"
-
-# Apache-2.0: fscrypt, google/renameio
-# BSD: golang/protobuf, rogpeppe/go-internal, golang/x/*
-# BSD-2: pkg/errors
-# MIT: BurntSushi/toml, kisielk/gotool, kr/*, urfave/cli, honnef.co/go/tools
-LICENSE="Apache-2.0 BSD BSD-2 MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-DEPEND="sys-libs/pam"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}/0001-Remove-TestLoadSourceDevice.patch"
-)
-
-src_compile() {
- # Set GO_LINK_FLAGS to the empty string, as fscrypt strips the
- # binary by default. See bug #783780.
- emake GO_LINK_FLAGS=""
-}
-
-src_install() {
- emake \
- DESTDIR="${ED}" \
- PREFIX="/usr" \
- PAM_MODULE_DIR="$(getpam_mod_dir)" \
- PAM_CONFIG_DIR= \
- install
- einstalldocs
-
- newpamd "${FILESDIR}/fscrypt.pam-config" fscrypt
-}
diff --git a/sys-fs/fscrypt/fscrypt-0.3.4.ebuild b/sys-fs/fscrypt/fscrypt-0.3.4.ebuild
new file mode 100644
index 000000000000..1e4eba12360d
--- /dev/null
+++ b/sys-fs/fscrypt/fscrypt-0.3.4.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2020-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit go-module pam
+
+DESCRIPTION="Tool for managing Linux filesystem encryption"
+HOMEPAGE="https://github.com/google/fscrypt"
+SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~flow/distfiles/${PN}/${P}-deps.tar.xz
+"
+
+# Apache-2.0: fscrypt, google/renameio
+# BSD: golang/protobuf, rogpeppe/go-internal, golang/x/*
+# BSD-2: pkg/errors
+# MIT: BurntSushi/toml, kisielk/gotool, kr/*, urfave/cli, honnef.co/go/tools
+LICENSE="Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DEPEND="sys-libs/pam"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/0001-Remove-TestLoadSourceDevice.patch"
+)
+
+src_compile() {
+ # Set GO_LINK_FLAGS to the empty string, as fscrypt strips the
+ # binary by default. See bug #783780.
+ emake GO_LINK_FLAGS=""
+}
+
+src_install() {
+ emake \
+ DESTDIR="${ED}" \
+ PREFIX="/usr" \
+ PAM_MODULE_DIR="$(getpam_mod_dir)" \
+ PAM_CONFIG_DIR= \
+ install
+ einstalldocs
+
+ newpamd "${FILESDIR}/fscrypt.pam-config" fscrypt
+}
diff --git a/sys-fs/fswatch/Manifest b/sys-fs/fswatch/Manifest
index b9e7a1470faf..29ad9d3d7c9c 100644
--- a/sys-fs/fswatch/Manifest
+++ b/sys-fs/fswatch/Manifest
@@ -1 +1,2 @@
DIST fswatch-1.16.0.tar.gz 844804 BLAKE2B 55527e7d38421f16a9d2c51b5455b73de54220d280233d905a02d192bc374ef91b02c0d68dcd1c1ed6a29351421df0cd0ee9fad50bb98ec9c9018088a6064d4b SHA512 80100b92f5acef503436bbb684f07f5b692099a7eee0970a61c04670de67cd9bfa7942af40b348236dd97fc4d02fcd6a081b96486332efbd06500379c1eff806
+DIST fswatch-1.17.1.tar.gz 853852 BLAKE2B 0d4d6a350325d4c7cc4ed4277e640d3fa4bfade5ec92b1c27abee9b506f34a024abadfbd5f002fdb3afd80a4ae432a071dd94c664123f447167ded6d5dbbaf9d SHA512 8d98b12e538026545052763961fe7d8147809958c25921bc30f43ba0d63c7f63a00c4b8412bbb63e3d1a0807687f8821f20e2667ee716b439cfb254ce346ccad
diff --git a/sys-fs/fswatch/fswatch-1.17.1.ebuild b/sys-fs/fswatch/fswatch-1.17.1.ebuild
new file mode 100644
index 000000000000..1ff71d7d6e2d
--- /dev/null
+++ b/sys-fs/fswatch/fswatch-1.17.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="cross-platform file change monitor with multiple backends"
+HOMEPAGE="https://github.com/emcrisostomo/fswatch"
+SRC_URI="https://github.com/emcrisostomo/${PN}/releases/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0/13"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="nls static-libs"
+
+src_configure() {
+ econf \
+ $(use_enable nls) \
+ $(use_enable static-libs static) \
+ CXX="$(tc-getCXX)"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+}
diff --git a/sys-fs/fswatch/metadata.xml b/sys-fs/fswatch/metadata.xml
index 91e8ad9f5e33..d73a90465c32 100644
--- a/sys-fs/fswatch/metadata.xml
+++ b/sys-fs/fswatch/metadata.xml
@@ -4,4 +4,7 @@
<maintainer type="project">
<email>ada@gentoo.org</email>
</maintainer>
+ <upstream>
+ <remote-id type="github">emcrisostomo/fswatch</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/fuse-common/metadata.xml b/sys-fs/fuse-common/metadata.xml
index ec0d3b0161be..78b2173758a4 100644
--- a/sys-fs/fuse-common/metadata.xml
+++ b/sys-fs/fuse-common/metadata.xml
@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bman@gentoo.org</email>
- <name>Aaron Bauman</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
<upstream>
<remote-id type="github">libfuse/libfuse</remote-id>
+ <remote-id type="cpe">cpe:/a:libfuse_project:libfuse</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/fuse-exfat/Manifest b/sys-fs/fuse-exfat/Manifest
index e5b775c98d04..e6075aaa0a50 100644
--- a/sys-fs/fuse-exfat/Manifest
+++ b/sys-fs/fuse-exfat/Manifest
@@ -1 +1,2 @@
DIST fuse-exfat-1.3.0.tar.gz 161278 BLAKE2B 864eed57d5ae70eac03464899ac7c63f5d55254b61b69064592bb7ae04f6c164b8113c568946103c407867c1b53511bf2b88bd6b25cf75aa3a1a9a2a7d4f12ae SHA512 90d2b89322590199012b035b88ae01559f1824172793d9e7845603940e2807e788c687e4958f1ef76678bd214bb03671b91fd2537901b6d6acf2e8c525a3f1f3
+DIST fuse-exfat-1.4.0.tar.gz 167536 BLAKE2B b277a6cce725d5dde83fe8ebba9cb2899cf41bfbb600f0044e45da9af06681b5fe7440456a73865739e4bcca525f33de06aedc8935d0de88d7d8a37dc1123fc6 SHA512 9285d17786cdbb50f531a7f35795dbf3b650b33c6fd81619174791516c0ef5743fb6450d1d898900cfc142c088eccf8fc44ea1ccbbe1af07e2cbd1d65c73a174
diff --git a/sys-fs/fuse-exfat/fuse-exfat-1.4.0.ebuild b/sys-fs/fuse-exfat/fuse-exfat-1.4.0.ebuild
new file mode 100644
index 000000000000..7e1430ddb19b
--- /dev/null
+++ b/sys-fs/fuse-exfat/fuse-exfat-1.4.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="exFAT filesystem FUSE module"
+HOMEPAGE="https://github.com/relan/exfat"
+SRC_URI="https://github.com/relan/exfat/releases/download/v${PV}/${P}.tar.gz"
+
+# COPYING is GPL-2 but ChangeLog says "Relicensed the project from GPLv3+ to GPLv2+"
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
+IUSE="suid"
+
+RDEPEND="sys-fs/fuse:3"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_install() {
+ default
+ use suid && fperms u+s /usr/sbin/mount.exfat-fuse
+ dosym mount.exfat-fuse.8 /usr/share/man/man8/mount.exfat.8
+}
diff --git a/sys-fs/fuse-exfat/metadata.xml b/sys-fs/fuse-exfat/metadata.xml
index 9b3ae497122e..1c5d604b9f1b 100644
--- a/sys-fs/fuse-exfat/metadata.xml
+++ b/sys-fs/fuse-exfat/metadata.xml
@@ -8,5 +8,6 @@
<upstream>
<remote-id type="google-code">exfat</remote-id>
<remote-id type="github">relan/exfat</remote-id>
+ <remote-id type="cpe">cpe:/a:exfat_project:exfat</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/fuse-overlayfs/Manifest b/sys-fs/fuse-overlayfs/Manifest
index c3e424e6396a..59c692404d23 100644
--- a/sys-fs/fuse-overlayfs/Manifest
+++ b/sys-fs/fuse-overlayfs/Manifest
@@ -1,5 +1,2 @@
-DIST fuse-overlayfs-1.7.1.tar.gz 103575 BLAKE2B 1fc92852f3afdead707af8745db03e2f5b0cf1f154f12c13850e5c37b30a0ad84122aa06c7f96c3825cd89cc2d26874abecb8ffbf0ad4edec5e0ffc854962944 SHA512 2199f9a5040832537b57792fe361943065c6132d31613bb1f838e931049703011902fca3abc25f6d7136efb2eb5505161f11c252b91dfb19158ac663e1ec15c2
-DIST fuse-overlayfs-1.8.1.tar.gz 103753 BLAKE2B 42ac0b75b563cee9457721dfebe03355d930e074f44cda43d071e853df2d2192266f6b2901c4faa333414de45fb1b95e245a42ae15c52714e311a1aad98deeb6 SHA512 7a63f1f129c100615676bccdb0f7fd83c4e9901786064d98fa3776dd64dbb61c38913f8d0eff428a601cb44b1bfd3261ded5ec5e471b889c7cd28f81a859d8ad
-DIST fuse-overlayfs-1.8.2.tar.gz 103892 BLAKE2B 18473c9703d12befbd68b5c1374fd18233dca3663dc0c6346e0a0c2f6f8928a57e8c04cf151196db3d6404ca8816e5ef2826a989c86d3ec7171344a73cec189f SHA512 637fbde0e9481b31491fa7fbdce9315e3832e9de076668dddfeba407a0dd9ceb2072723348eb2a47586756da8a8242a040bc20dbb5e1ac3be3ffa795daf22b95
-DIST fuse-overlayfs-1.8.tar.gz 103726 BLAKE2B 12da116bba60c5833b43d130b24ba6a60fcaabe1248226fa30e8c0b2c2439a438c66b39d28a8d3dd0f65bf353c38811e87f23a2fdbd830982063a7b5df7b4808 SHA512 68a7b6a41fd2c44fbfb194d324cc6869d7f6ce198f7ff3ddf74e91f9679785ffa610634a6e35c2661549e0bb776bf68741be45501d860b1e8dd6814d2b3fb0ab
-DIST fuse-overlayfs-1.9.tar.gz 104063 BLAKE2B f18703e32644ccbd1b47e9120b13a8efe1227ca8c142dbe90ff174e33937a2882ba354a837f874b5cd7bf28d1de7bb5039b86b6123288bde1ffc570a68500fb6 SHA512 16f4feb8426c0d6f78082065a2c1c6afb96e4fc665e40e79e2b2692b0b21e77998a2195cf2cd81f505d0167318ed843f55be4eb16956aadaeab56f47ccbddc0b
+DIST fuse-overlayfs-1.12.tar.gz 99684 BLAKE2B e7ef075c043738d506efcf973ecef7eb321e9f2b2812b318a4087d2a913f022240ed4b0d46e47463daff6976dd99fb587a5819a22c7e58dd52029930e92abffc SHA512 f113ac20b389d2f1c5e5ff160a60c308017e74c9c85d74a7200bab81a4cfa30335a64740c173f17c91ab4feddffb138ca4378e92894645a67eea5ac73d42890f
+DIST fuse-overlayfs-1.13.tar.gz 99775 BLAKE2B 7a0643a5ef029db7f3d1009e9dd4e7a647bf936205723fc3656dfd6d14d622e98f9df15590783492f056ab3f151fd658b6fe65f7177f9499532d02411138ac7c SHA512 2f005b7eb4f0cc31dd75a6c453d81fbbf1c77cb6c1e8f991a53465c1e8c0109c999063a3b2088978abeea2272677985cd79ecbbbcd7aaaac0088dcdd34981f4b
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.7.1.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild
index ac1ce4cae8e2..48a89849ffc5 100644
--- a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.7.1.ebuild
+++ b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild
@@ -1,25 +1,22 @@
-# Copyright 2019-2021 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools
DESCRIPTION="FUSE implementation for overlayfs"
HOMEPAGE="https://github.com/containers/fuse-overlayfs"
-EGIT_COMMIT="v${PV}"
-SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/containers/fuse-overlayfs/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv"
-RDEPEND=">=sys-fs/fuse-3:="
-DEPEND="${RDEPEND}"
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
-
src_prepare() {
default
eautoreconf
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild
index ea15a96bde4e..f5ede1ae6ee4 100644
--- a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.9.ebuild
+++ b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild
@@ -1,24 +1,25 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools
+inherit autotools linux-info
DESCRIPTION="FUSE implementation for overlayfs"
HOMEPAGE="https://github.com/containers/fuse-overlayfs"
-EGIT_COMMIT="v${PV}"
-SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/containers/fuse-overlayfs/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-RDEPEND=">=sys-fs/fuse-3:="
-DEPEND="${RDEPEND}"
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
+pkg_pretend() {
+ kernel_is -lt 4 18 && eerror "Linux Kernel > v4.18.0 is required" && die
+}
src_prepare() {
default
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.1.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.1.ebuild
deleted file mode 100644
index 456cd5903e7d..000000000000
--- a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="FUSE implementation for overlayfs"
-HOMEPAGE="https://github.com/containers/fuse-overlayfs"
-EGIT_COMMIT="v${PV}"
-SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-RDEPEND=">=sys-fs/fuse-3:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.2.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.2.ebuild
deleted file mode 100644
index ea15a96bde4e..000000000000
--- a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="FUSE implementation for overlayfs"
-HOMEPAGE="https://github.com/containers/fuse-overlayfs"
-EGIT_COMMIT="v${PV}"
-SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-
-RDEPEND=">=sys-fs/fuse-3:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.ebuild
deleted file mode 100644
index f86accf13a28..000000000000
--- a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.8.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="FUSE implementation for overlayfs"
-HOMEPAGE="https://github.com/containers/fuse-overlayfs"
-EGIT_COMMIT="v${PV}"
-SRC_URI="https://github.com/containers/fuse-overlayfs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-RDEPEND=">=sys-fs/fuse-3:="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sys-fs/fuse-overlayfs/metadata.xml b/sys-fs/fuse-overlayfs/metadata.xml
index bb6d344e280c..f802fb94fd07 100644
--- a/sys-fs/fuse-overlayfs/metadata.xml
+++ b/sys-fs/fuse-overlayfs/metadata.xml
@@ -8,4 +8,12 @@
<email>zmedico@gentoo.org</email>
<name>Zac Medico</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>me@rahil.rocks</email>
+ <name>Rahil Bhimjiani</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-fs/fuse/Manifest b/sys-fs/fuse/Manifest
index c15df9a1ef3b..dd3955eaebc7 100644
--- a/sys-fs/fuse/Manifest
+++ b/sys-fs/fuse/Manifest
@@ -1,4 +1,3 @@
DIST fuse-2.9.9.tar.gz 1813177 BLAKE2B 9e9141380bda46eb0bcce325c6fd293fe3844fe884a4952bb38d4b89dc48b728ffcc891038b3a7a861f05acfacce9dd7bb0e11d600609f3ad0ab278ccbe98847 SHA512 3d82fafd04f2924299bb09d2bb144935fa004a43fb9a6568e2e1cc5a60fded2efa1711029a0d7f12b3e6e4501f7217f2ee3545646d89da8dece083cb390f23e2
-DIST fuse-3.10.5.tar.xz 2931828 BLAKE2B 72de5e5867dc0934912248e1e626e2753c0f654626ba9d397753a7fbbf21dde877e6c528a44950ae1c828583f36a49c39f44a587544e44f8e749bd4c604b33b4 SHA512 da17788acc3fabef3dc7b736b7319c1638d7de27e163699f7dbc0fe9159aeba35964af6afa77a7654f1f321e2fc03ee167909f21516cbb585ead33cad95620fe
-DIST fuse-3.11.0.tar.xz 3515332 BLAKE2B 30d2dfee25a34b5f84f0a6b13523a6183fde7989b3ac908b68b8b9e4c327da51678453918c3009712ff1f3aaa79c4b0a29f22bcb712ee550563b23fd9ac64a09 SHA512 033324de7ea4c7e91fb21c453211c01e53771ec5805c2126e13ef2d4334119a51f5c783b6249e888e28888c753aa04b48ed33cefb6d486d8d526546565f6ae50
+DIST fuse-3.16.2.tar.gz 14165836 BLAKE2B 04f0037f924ef7b7cc90cb4c26afd1e942da69efebd93f3114774f2101550729379a0256ba190d7c99249fbce4ead5902133c01b29d8d75f41777d148540f521 SHA512 3e8889863cd67dada67271f095f694dc9e5aaf2561fd1e2285aee95b5a54e692bb195ab8fce57fc2bdf08d0ea17b6d56ca4967b4e4371d639d6133907b2370d3
DIST iconv.m4.bz2 3057 BLAKE2B 9d8f7637d87bfcea1b60f3ea11e162aecf391b3f4579a3b85afb01735f56bfbae363a7e781279f3b2bed0d1dd3336f7d0678d3b1d59004824d7d0ca848dceb6e SHA512 9899368b8acc06e216a7a548b83a894f780e152a02612cd52af02b5c3f2ff38e2c36e77bda300587f81c3d74c90addec8066885216fa0e74f3f3280a383d2b55
diff --git a/sys-fs/fuse/fuse-2.9.9-r1.ebuild b/sys-fs/fuse/fuse-2.9.9-r2.ebuild
index 4d6a5352e737..93b3e2a8d0d4 100644
--- a/sys-fs/fuse/fuse-2.9.9-r1.ebuild
+++ b/sys-fs/fuse/fuse-2.9.9-r2.ebuild
@@ -17,7 +17,8 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="examples static-libs"
-BDEPEND="virtual/pkgconfig"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
PATCHES=(
@@ -28,9 +29,6 @@ PATCHES=(
pkg_setup() {
if use kernel_linux ; then
- if kernel_is lt 2 6 9 ; then
- die "Your kernel is too old."
- fi
CONFIG_CHECK="~FUSE_FS"
WARNING_FUSE_FS="You need to have FUSE module built to use user-mode utils"
linux-info_pkg_setup
@@ -47,9 +45,11 @@ src_prepare() {
src_configure() {
# lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
- # gcc-9 with -flto leads to link failures: #663518,
+ # gcc-9 with -flto leads to link failures: #663518 (see also #863899)
# https://gcc.gnu.org/PR91186
- filter-flags -flto*
+ filter-lto
+ # ... and strict aliasing warnings, bug #863899
+ append-flags -fno-strict-aliasing
econf \
INIT_D_PATH="${EPREFIX}/etc/init.d" \
diff --git a/sys-fs/fuse/fuse-3.10.5.ebuild b/sys-fs/fuse/fuse-3.10.5.ebuild
deleted file mode 100644
index cafbd51d479b..000000000000
--- a/sys-fs/fuse/fuse-3.10.5.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8,9,10} )
-inherit meson-multilib udev python-any-r1
-
-DESCRIPTION="An interface for filesystems implemented in userspace"
-HOMEPAGE="https://github.com/libfuse/libfuse"
-SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+suid test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="virtual/pkgconfig
- test? (
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- )"
-RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
-
-DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt )
-
-python_check_deps() {
- has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- use test && python_setup
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_use test examples)
- $(meson_use test tests)
- -Duseroot=false
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- )
- meson_src_configure
-}
-
-src_test() {
- if [[ ${EUID} != 0 ]]; then
- ewarn "Running as non-root user, skipping tests"
- elif has sandbox ${FEATURES}; then
- ewarn "Sandbox enabled, skipping tests"
- else
- multilib-minimal_src_test
- fi
-}
-
-multilib_src_test() {
- ${EPYTHON} -m pytest test || die
-}
-
-multilib_src_install_all() {
- # installed via fuse-common
- rm -r "${ED}"{/etc,$(get_udevdir)} || die
-
- # init script location is hard-coded in install_helper.sh
- rm -rf "${D}"/etc || die
-
- # useroot=false prevents the build system from doing this.
- use suid && fperms u+s /usr/bin/fusermount3
-
- # manually install man pages to respect compression
- rm -r "${ED}"/usr/share/man || die
- doman doc/{fusermount3.1,mount.fuse3.8}
-}
diff --git a/sys-fs/fuse/fuse-3.11.0.ebuild b/sys-fs/fuse/fuse-3.16.2.ebuild
index cd8c88e80772..2997ce0cf204 100644
--- a/sys-fs/fuse/fuse-3.11.0.ebuild
+++ b/sys-fs/fuse/fuse-3.16.2.ebuild
@@ -1,69 +1,75 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{8,9,10} )
-inherit meson-multilib udev python-any-r1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit flag-o-matic meson-multilib udev python-any-r1
DESCRIPTION="An interface for filesystems implemented in userspace"
HOMEPAGE="https://github.com/libfuse/libfuse"
-SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.xz"
+SRC_URI="https://github.com/libfuse/libfuse/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="+suid test"
-RESTRICT="!test? ( test )"
+RESTRICT="test"
+PROPERTIES="test_privileged"
-BDEPEND="virtual/pkgconfig
+BDEPEND="
+ virtual/pkgconfig
test? (
${PYTHON_DEPS}
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- )"
+ $(python_gen_any_dep 'dev-python/looseversion[${PYTHON_USEDEP}]')
+ )
+"
RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
DOCS=( AUTHORS ChangeLog.rst README.md doc/README.NFS doc/kernel.txt )
python_check_deps() {
- has_version -b "dev-python/pytest[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]"
}
pkg_setup() {
- use test && python_setup
+ use test && python-any-r1_pkg_setup
}
multilib_src_configure() {
+ # bug #853058
+ filter-lto
+
local emesonargs=(
$(meson_use test examples)
$(meson_use test tests)
-Duseroot=false
+ -Dinitscriptdir=
-Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
)
meson_src_configure
}
src_test() {
- if [[ ${EUID} != 0 ]]; then
- ewarn "Running as non-root user, skipping tests"
- elif has sandbox ${FEATURES}; then
- ewarn "Sandbox enabled, skipping tests"
- else
- multilib-minimal_src_test
- fi
+ # For tests to pass:
+ # sandbox must be disabled.
+ # Write access to /dev/cuse* and /dev/fuse is required.
+ # root must be a member of the portage group; CAP_DAC_OVERRIDE is dropped.
+ # TMPDIR must be short for unix socket paths.
+ local -x TMPDIR=/tmp
+ multilib-minimal_src_test
}
multilib_src_test() {
- ${EPYTHON} -m pytest test || die
+ epytest
}
multilib_src_install_all() {
- # installed via fuse-common
+ # Installed via fuse-common
rm -r "${ED}"{/etc,$(get_udevdir)} || die
- # init script location is hard-coded in install_helper.sh
- rm -rf "${D}"/etc || die
-
# useroot=false prevents the build system from doing this.
use suid && fperms u+s /usr/bin/fusermount3
diff --git a/sys-fs/genext2fs/files/backport-pr-32.patch b/sys-fs/genext2fs/files/backport-pr-32.patch
new file mode 100644
index 000000000000..92c67e02031d
--- /dev/null
+++ b/sys-fs/genext2fs/files/backport-pr-32.patch
@@ -0,0 +1,94 @@
+From 9651f5df1c95cdfee3d8f5f3f989fe326547f5d0 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Mon, 16 May 2022 21:54:21 -0400
+Subject: [PATCH 1/2] Fix alignment issues for strict architectures
+
+Fixes two locations where unaligned accesses will cause bus errors on
+architectures that are strict about such accesses, namely sparc.
+
+The first is in swab32_into, which is called with an offset of +1 into
+an unsigned char array from mklink_fs.
+
+The second is in add2fs_from_tarball when checking the validity of a
+tarball, which casts a string from an unaligned position inside a struct
+to a long.
+
+After these changes, the test suite passes on sparc.
+---
+ genext2fs.c | 15 +++++++++------
+ 1 file changed, 9 insertions(+), 6 deletions(-)
+
+diff --git a/genext2fs.c b/genext2fs.c
+index 96bbb43..404f31e 100644
+--- a/genext2fs.c
++++ b/genext2fs.c
+@@ -2058,11 +2058,14 @@ mkdir_fs(filesystem *fs, uint32 parent_nod, const char *name, uint32 mode,
+
+ // byte swapping for symlinks
+ static inline void
+-swab32_into(uint32 *dst, uint32 *src, size_t n)
++swab32_into(uint32 *dst, uint8 *src, size_t n)
+ {
+ size_t i;
+- for(i = 0; i < n; i++)
+- dst[i] = swab32(src[i]);
++ for(i = 0; i < n; i++) {
++ uint32 tmp_buf;
++ memcpy(&tmp_buf, src + i * sizeof(uint32) / sizeof(uint8), sizeof(uint32) / sizeof(uint8));
++ dst[i] = swab32(tmp_buf);
++ }
+ }
+
+ // make a symlink
+@@ -2079,7 +2082,7 @@ mklink_fs(filesystem *fs, uint32 parent_nod, const char *name, size_t size, uint
+
+ if (size < 4 * (EXT2_TIND_BLOCK + 1))
+ if (fs->swapit)
+- swab32_into(node->i_block, (uint32 *)b, EXT2_TIND_BLOCK + 1);
++ swab32_into(node->i_block, b, EXT2_TIND_BLOCK + 1);
+ else
+ memcpy(node->i_block, b, 4 * (EXT2_TIND_BLOCK + 1));
+ else
+@@ -2290,7 +2293,7 @@ add2fs_from_tarball(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids,
+ continue;
+ } else
+ nbnull = 0;
+- if (*(long *)tarhead->ustar != *(long *)"ustar\00000" && strcmp(tarhead->ustar, "ustar "))
++ if (memcmp(tarhead->ustar, "ustar\00000", sizeof(long)) && strcmp(tarhead->ustar, "ustar "))
+ error_msg_and_die("not a tarball");
+ signed_checksum = unsigned_checksum = 0;
+ checksum = OCTAL_READ(tarhead->checksum);
+@@ -3351,7 +3354,7 @@ print_link(filesystem *fs, uint32 nod)
+ uint32 *buf = malloc(4 * (EXT2_TIND_BLOCK + 1));
+ if (buf == NULL)
+ error_msg_and_die(memory_exhausted);
+- swab32_into(buf, node->i_block, EXT2_TIND_BLOCK + 1);
++ swab32_into(buf, (uint8*)node->i_block, EXT2_TIND_BLOCK + 1);
+ printf("links to '%s'\n", (char*) buf);
+ free(buf);
+ } else {
+
+From 4a99c22603fb01ca8d6c6c4cb9873f50124ac025 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Wed, 18 May 2022 11:46:44 -0400
+Subject: [PATCH 2/2] Hardcode length of hardcoded char array instead of
+ sizeof(long)
+
+sizeof(long) != 8 on 32-bit.
+---
+ genext2fs.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/genext2fs.c b/genext2fs.c
+index 404f31e..e8c71ff 100644
+--- a/genext2fs.c
++++ b/genext2fs.c
+@@ -2293,7 +2293,7 @@ add2fs_from_tarball(filesystem *fs, uint32 this_nod, FILE * fh, int squash_uids,
+ continue;
+ } else
+ nbnull = 0;
+- if (memcmp(tarhead->ustar, "ustar\00000", sizeof(long)) && strcmp(tarhead->ustar, "ustar "))
++ if (memcmp(tarhead->ustar, "ustar\00000", 8) && strcmp(tarhead->ustar, "ustar "))
+ error_msg_and_die("not a tarball");
+ signed_checksum = unsigned_checksum = 0;
+ checksum = OCTAL_READ(tarhead->checksum);
diff --git a/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild b/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild
new file mode 100644
index 000000000000..730550a3a7ac
--- /dev/null
+++ b/sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="generate ext2 file systems"
+HOMEPAGE="https://github.com/bestouff/genext2fs"
+SRC_URI="https://github.com/bestouff/genext2fs/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~mips ppc ~ppc64 sparc x86"
+
+PATCHES=( "${FILESDIR}/backport-pr-32.patch" )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sys-fs/genfstab/Manifest b/sys-fs/genfstab/Manifest
index bc932e1f1131..2c0a26c64bed 100644
--- a/sys-fs/genfstab/Manifest
+++ b/sys-fs/genfstab/Manifest
@@ -1 +1,2 @@
-DIST genfstab-24.tar.gz 14281 BLAKE2B 93987794ba12e08daefd20ef596e915a70a11a9e641470b6f93873b738b4c4bb22f808513c63e7675cade43b992f308d26f3a2db0b211e99518a3d3702d6b897 SHA512 8c4d40e98b7a35abcd5fb2bf496722aa65819e4124a37385090fa70b55118ea3590ecb4e16f117bf93118a36bf402c4616ba0cb1837869b11db54a827332c661
+DIST arch-install-scripts-v28.tar.gz 19730 BLAKE2B 0ff5ba79b200ad642e049ec19217cc5c0794d627a28f42e03c0df2444fef4d8488a6ee011d26fb8fe958c1a1a2fa0a13920567e394b2389c772f516b1fe8f388 SHA512 09a027b04b70e01ccd1fd82e3a443c876bdf978b94a922de9dea4dbc187360460ea35720816724b72fc31b02338b11bf39b47ec9156518a8a3ade000530bf1df
+DIST genfstab-24.gh.tar.gz 17916 BLAKE2B 07246efbde341dce7dc624c467e3f0bd849bccec46cd27f90f132960526674f44554b1ae7ac89e2d1f603567db4058f8dd465f54297071e89f65845ba07c6499 SHA512 0391bf93fc7c6ef0acefc3a0ce314d8c52542d519e4f88198734d90db9fc9ef23310c0c414c0940703fb6c0f74f6d8f23d1795bb3eed2b2a8ff5a594f00b63e4
diff --git a/sys-fs/genfstab/genfstab-24.ebuild b/sys-fs/genfstab/genfstab-24.ebuild
index 2981f73bb2c5..702066b4d0b9 100644
--- a/sys-fs/genfstab/genfstab-24.ebuild
+++ b/sys-fs/genfstab/genfstab-24.ebuild
@@ -1,15 +1,27 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+inherit bash-completion-r1
+
DESCRIPTION="Genfstab - generate output suitable for addition to an fstab file"
-HOMEPAGE="https://github.com/mscardovi/genfstab https://man.archlinux.org/man/genfstab.8"
-SRC_URI="https://github.com/mscardovi/genfstab/releases/download/${PV}/${P}.tar.gz"
-S="${WORKDIR}"
+HOMEPAGE="https://github.com/archlinux/arch-install-scripts https://man.archlinux.org/man/genfstab.8"
+SRC_URI="https://github.com/archlinux/arch-install-scripts/archive/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/arch-install-scripts-tags-v${PV}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm64 x86"
BDEPEND="app-text/asciidoc"
+
+src_compile() {
+ emake MANS="doc/genfstab.8" BINPROGS="genfstab"
+}
+
+src_install() {
+ dobin genfstab
+ doman doc/genfstab.8
+ newbashcomp completion/genfstab.bash genfstab
+}
diff --git a/sys-fs/genfstab/genfstab-28-r1.ebuild b/sys-fs/genfstab/genfstab-28-r1.ebuild
new file mode 100644
index 000000000000..c12a1e8a0b84
--- /dev/null
+++ b/sys-fs/genfstab/genfstab-28-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+DESCRIPTION="Genfstab - generate output suitable for addition to an fstab file"
+HOMEPAGE="https://github.com/archlinux/arch-install-scripts https://man.archlinux.org/man/genfstab.8"
+SRC_URI="https://github.com/archlinux/arch-install-scripts/archive/refs/tags/v${PV}.tar.gz -> arch-install-scripts-v${PV}.tar.gz"
+
+S="${WORKDIR}/arch-install-scripts-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-alternatives/awk
+ app-text/asciidoc
+ sys-devel/m4
+"
+
+src_test() {
+ emake MANS="doc/genfstab.8" BINPROGS="genfstab" check
+}
+
+src_compile() {
+ emake MANS="doc/genfstab.8" BINPROGS="genfstab"
+}
+
+src_install() {
+ dobin genfstab
+ doman doc/genfstab.8
+ newbashcomp completion/genfstab.bash genfstab
+}
diff --git a/sys-fs/genfstab/metadata.xml b/sys-fs/genfstab/metadata.xml
index d85c660dd955..c35c75ddbeb0 100644
--- a/sys-fs/genfstab/metadata.xml
+++ b/sys-fs/genfstab/metadata.xml
@@ -1,8 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person" proxied="yes">
+ <email>peeweep@0x0.ee</email>
+ <name>jinqiang zhang</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>cat@catcream.org</email>
+ <name>Alfred Persson</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription lang="en">
+ genfstab helps fill in an fstab file by autodetecting all the current
+ mounts below a given mountpoint and printing them in fstab-compatible
+ format to standard output. It can be used to persist a manually mounted
+ filesystem hierarchy and is often used during the initial install and
+ configuration of an OS.
+ </longdescription>
+ <longdescription lang="it">
+ genfstab aiuta a compilare un file fstab rilevando automaticamente
+ tutti i montaggi correnti al di sotto di un dato punto di montaggio
+ e stampandoli in un formato compatibile con fstab sullo standard output.
+ Può essere utilizzato per rendere persistente una gerarchia di file
+ system montata manualmente e viene spesso utilizzato durante
+ l'installazione iniziale e la configurazione di un sistema operativo.
+ </longdescription>
<upstream>
- <remote-id type="github">scardracs/genfstab</remote-id>
+ <remote-id type="github">archlinux/arch-install-scripts</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/genimage/Manifest b/sys-fs/genimage/Manifest
new file mode 100644
index 000000000000..b8c04dd31f16
--- /dev/null
+++ b/sys-fs/genimage/Manifest
@@ -0,0 +1,2 @@
+DIST genimage-16.tar.gz 87544 BLAKE2B 822c1b5901ed3fa19e33961e6e9e718f961d6c0a2315dcb4301aea3cccad6368a03d48ab5b5713592bdd096e78e7d24c03e8016a1470c7864ace71e3341b16a4 SHA512 7cb079d6ae889a744e2a3596b0eac737f7fdf1734c2024c71bb5ff85b93bff1d8ec26d61ee5b210aad4f0f9137968a6e256492c8c8376bafe2c5da2d12985a73
+DIST genimage-17.tar.gz 94853 BLAKE2B 371f35be1f47ecc012adcac5e6138f8bf32b097fd508b599d788d3a1af3fd0ccb9a213d0dc683ecc6e11f762e6376cf3a2683dec3fefd26e70ceebc48e7d2814 SHA512 b02415e030e2ef9ace40b965935e2634c208db4f4d401e1a824aa6dcf06c9656ba060d66e4a3a4306216ec74ce2ddcea4647bb68eb61a3bf4e9aadb1ff0d73ef
diff --git a/sys-fs/genimage/genimage-16.ebuild b/sys-fs/genimage/genimage-16.ebuild
new file mode 100644
index 000000000000..4becc18f6212
--- /dev/null
+++ b/sys-fs/genimage/genimage-16.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools optfeature
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pengutronix/genimage.git"
+else
+ SRC_URI="https://github.com/pengutronix/genimage/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64"
+fi
+
+DESCRIPTION="Tool to generate multiple filesystem and flash images from a tree"
+HOMEPAGE="https://github.com/pengutronix/genimage"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/confuse:="
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( sys-apps/fakeroot )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+pkg_postinst() {
+ optfeature "cpio support" app-alternatives/cpio
+ optfeature "tar support" app-arch/tar
+ optfeature "qemu support" app-emulation/qemu
+ optfeature "dosfstools support" sys-fs/dosfstools
+ optfeature "cramfs support" sys-fs/cramfs
+ optfeature "genext2fs support" sys-fs/genext2fs
+ optfeature "jffs, ubifs and ubinize support" sys-fs/mtd-utils
+ optfeature "squashfs support" sys-fs/squashfs-tools
+}
diff --git a/sys-fs/genimage/genimage-17.ebuild b/sys-fs/genimage/genimage-17.ebuild
new file mode 100644
index 000000000000..4becc18f6212
--- /dev/null
+++ b/sys-fs/genimage/genimage-17.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools optfeature
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pengutronix/genimage.git"
+else
+ SRC_URI="https://github.com/pengutronix/genimage/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64"
+fi
+
+DESCRIPTION="Tool to generate multiple filesystem and flash images from a tree"
+HOMEPAGE="https://github.com/pengutronix/genimage"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/confuse:="
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( sys-apps/fakeroot )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+pkg_postinst() {
+ optfeature "cpio support" app-alternatives/cpio
+ optfeature "tar support" app-arch/tar
+ optfeature "qemu support" app-emulation/qemu
+ optfeature "dosfstools support" sys-fs/dosfstools
+ optfeature "cramfs support" sys-fs/cramfs
+ optfeature "genext2fs support" sys-fs/genext2fs
+ optfeature "jffs, ubifs and ubinize support" sys-fs/mtd-utils
+ optfeature "squashfs support" sys-fs/squashfs-tools
+}
diff --git a/sys-fs/genimage/genimage-9999.ebuild b/sys-fs/genimage/genimage-9999.ebuild
new file mode 100644
index 000000000000..498034c2ce2a
--- /dev/null
+++ b/sys-fs/genimage/genimage-9999.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools optfeature
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pengutronix/genimage.git"
+else
+ SRC_URI="https://github.com/pengutronix/genimage/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Tool to generate multiple filesystem and flash images from a tree"
+HOMEPAGE="https://github.com/pengutronix/genimage"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/confuse:="
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( sys-apps/fakeroot )"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+pkg_postinst() {
+ optfeature "cpio support" app-alternatives/cpio
+ optfeature "tar support" app-arch/tar
+ optfeature "qemu support" app-emulation/qemu
+ optfeature "dosfstools support" sys-fs/dosfstools
+ optfeature "cramfs support" sys-fs/cramfs
+ optfeature "genext2fs support" sys-fs/genext2fs
+ optfeature "jffs, ubifs and ubinize support" sys-fs/mtd-utils
+ optfeature "squashfs support" sys-fs/squashfs-tools
+}
diff --git a/sys-fs/genimage/metadata.xml b/sys-fs/genimage/metadata.xml
new file mode 100644
index 000000000000..39daab896f74
--- /dev/null
+++ b/sys-fs/genimage/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">pengutronix/genimage</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/google-drive-ocamlfuse/Manifest b/sys-fs/google-drive-ocamlfuse/Manifest
new file mode 100644
index 000000000000..48c9b62d13d7
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/Manifest
@@ -0,0 +1,2 @@
+DIST google-drive-ocamlfuse-0.7.29.gh.tar.gz 98832 BLAKE2B 7a959047abacc65379c2da0f590c6dba613cb7708dd56a7e029409d8791d76e6a0a164eea113b21a84b07bf522879401833431482f18d97865364eaee03dcb3b SHA512 562bca2e9019a999886052eb4b7f6554706c25be69670148c1938d3b30d742b03eafb6fba430c4762ba44713e291ec3b0cddabc1baaa6491740ddd3e77655fe9
+DIST google-drive-ocamlfuse-0.7.30.gh.tar.gz 98849 BLAKE2B 89ff486cc13d86b67ef4ceda769ff7e144d91cf8c4ce67a8d8fb011f7a26a2c21e802c71dbb8bda50b871de089cd6c70762bcb9640c841c84dcd8696b011ebee SHA512 4182ab3697b84afa983ea033f6de7f94a3482f2c9c9024c875feeee0ed196dbe33c97fa88a0a86c818b55f30eddd1f3d9ab674dd4a6df2a1f8abcfc793f4d4b3
diff --git a/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild
new file mode 100644
index 000000000000..540886355a64
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.29.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit dune findlib
+
+DESCRIPTION="FUSE filesystem over Google Drive"
+HOMEPAGE="
+ https://github.com/astrada/google-drive-ocamlfuse
+ https://opam.ocaml.org/packages/google-drive-ocamlfuse/
+"
+SRC_URI="https://github.com/astrada/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="ocamlopt test"
+
+RDEPEND="
+ >=dev-ml/gapi-ocaml-0.4.2:=
+ >=dev-ml/ocamlfuse-2.7.1:=
+ dev-ml/cryptokit:=
+ dev-ml/extlib:=
+ dev-ml/ocaml-sqlite3:=
+ >=dev-ml/tiny_httpd-0.6:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-ml/camlidl:=
+ test? ( dev-ml/ounit2 )
+"
+
+RESTRICT="!test? ( test )"
diff --git a/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.30.ebuild b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.30.ebuild
new file mode 100644
index 000000000000..95bdbd6fd5f6
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/google-drive-ocamlfuse-0.7.30.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dune findlib
+
+DESCRIPTION="FUSE filesystem over Google Drive"
+HOMEPAGE="
+ https://github.com/astrada/google-drive-ocamlfuse
+ https://opam.ocaml.org/packages/google-drive-ocamlfuse/
+"
+SRC_URI="https://github.com/astrada/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~amd64"
+IUSE="ocamlopt test"
+
+RDEPEND="
+ >=dev-ml/gapi-ocaml-0.4.2:=
+ >=dev-ml/ocamlfuse-2.7.1:=
+ dev-ml/cryptokit:=
+ dev-ml/extlib:=
+ dev-ml/ocaml-sqlite3:=
+ >=dev-ml/tiny_httpd-0.6:=
+"
+DEPEND="
+ ${RDEPEND}
+ dev-ml/camlidl:=
+ test? ( dev-ml/ounit2 )
+"
+
+RESTRICT="!test? ( test )"
diff --git a/sys-fs/google-drive-ocamlfuse/metadata.xml b/sys-fs/google-drive-ocamlfuse/metadata.xml
new file mode 100644
index 000000000000..f3bfd6d0e892
--- /dev/null
+++ b/sys-fs/google-drive-ocamlfuse/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>ml@gentoo.org</email>
+ <name>ML</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/astrada/google-drive-ocamlfuse/issues</bugs-to>
+ <remote-id type="github">astrada/google-drive-ocamlfuse</remote-id>
+ <maintainer>
+ <name>Alessandro Strada</name>
+ <email>alessandro.strada@gmail.com</email>
+ </maintainer>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/growpart/growpart-0.0.32.ebuild b/sys-fs/growpart/growpart-0.0.32-r1.ebuild
index bc8e3069db4c..a2d6df9f568d 100644
--- a/sys-fs/growpart/growpart-0.0.32.ebuild
+++ b/sys-fs/growpart/growpart-0.0.32-r1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="A script that can grow your rootfs on first boot"
HOMEPAGE="http://manpages.ubuntu.com/manpages/natty/man1/growpart.1.html"
@@ -11,9 +11,7 @@ S="${WORKDIR}"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
-IUSE=""
-DEPEND=""
RDEPEND="sys-apps/gptfdisk"
src_install() {
diff --git a/sys-fs/hfsplusutils/files/hfsplusutils-1.0.4-Wincompatible-pointer-types.patch b/sys-fs/hfsplusutils/files/hfsplusutils-1.0.4-Wincompatible-pointer-types.patch
new file mode 100644
index 000000000000..0ad76d93f453
--- /dev/null
+++ b/sys-fs/hfsplusutils/files/hfsplusutils-1.0.4-Wincompatible-pointer-types.patch
@@ -0,0 +1,32 @@
+--- a/src/charset.c
++++ b/src/charset.c
+@@ -159,7 +159,7 @@
+ * NAME: charset->latin1()
+ * DESCRIPTION: return a Latin-1 (ISO 8859-1) string for MacOS Standard Roman
+ */
+-char *cs_latin1(char *mstr, int *lenptr)
++char *cs_latin1(char *mstr, size_t *lenptr)
+ {
+ int ilen, olen, i;
+ char *latin1, *ptr;
+--- a/src/charset.h
++++ b/src/charset.h
+@@ -23,6 +23,9 @@
+ *
+ * $Id: charset.h,v 1.1.1.1 2002/03/05 19:50:29 klaus Exp $
+ */
++
++#include <stddef.h>
++
+ /* a two byte unicode character, gnus wchar_t is 4 bytes in linux */
+ typedef unsigned short UCS2;
+
+@@ -35,7 +38,7 @@
+ * lenptr may be null in wich case the given strs len is used.
+ * on return *lenptr is set to the returned strings len.
+ * must be free()d */
+-char *cs_latin1(char *, int *);
++char *cs_latin1(char *, size_t *);
+
+ /* return a MacOS Standard Roman string for Latin-1 (ISO 8859-1).
+ * lenptr may be null in wich case the given strs len is used.
diff --git a/sys-fs/hfsplusutils/hfsplusutils-1.0.4-r2.ebuild b/sys-fs/hfsplusutils/hfsplusutils-1.0.4-r3.ebuild
index 34c9cf508cba..203f0abf002b 100644
--- a/sys-fs/hfsplusutils/hfsplusutils-1.0.4-r2.ebuild
+++ b/sys-fs/hfsplusutils/hfsplusutils-1.0.4-r3.ebuild
@@ -1,21 +1,20 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools
+inherit autotools flag-o-matic
MY_P="hfsplus_${PV}"
DESCRIPTION="HFS+ Filesystem Access Utilities (a PPC filesystem)"
HOMEPAGE="http://penguinppc.org/historical/hfsplus/"
SRC_URI="http://penguinppc.org/historical/hfsplus/${MY_P}.src.tar.bz2"
+S="${WORKDIR}/hfsplus-${PV}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ppc ppc64 x86"
-
-S="${WORKDIR}/hfsplus-${PV}"
+KEYWORDS="~amd64 ~loong ppc ppc64 x86"
PATCHES=(
"${FILESDIR}"/${P}-glob.patch
@@ -26,23 +25,26 @@ PATCHES=(
"${FILESDIR}"/${P}-cflags.patch
"${FILESDIR}"/${P}-fno-common-gcc10.patch
"${FILESDIR}"/${P}-gcc5.patch
+ "${FILESDIR}"/${P}-Wincompatible-pointer-types.patch
)
src_prepare() {
default
- # let's avoid the Makefile.cvs since isn't working for us
- mv configure.{in,ac} || die
+ # let's avoid the Makefile.cvs since it isn't working for us
eautoreconf
}
src_configure() {
- econf --disable-static
+ # brittle codebase with lots of type punning, breaks LTO (#863902)
+ append-cflags -fno-strict-aliasing
+
+ default
}
src_install() {
default
newman doc/man/hfsp.man hfsp.1
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/sys-fs/hfsutils/Manifest b/sys-fs/hfsutils/Manifest
index a8fde341db17..85998337affc 100644
--- a/sys-fs/hfsutils/Manifest
+++ b/sys-fs/hfsutils/Manifest
@@ -1,2 +1,2 @@
-DIST hfsutils_3.2.6-14.debian.tar.xz 6780 BLAKE2B 00474d328f5ec2614ec429052e6940b9eb10d04f433399f686ccc24d66ca1559e7ca45c4ab3ebe6386e02fc4de5ffd96242a7aa6f58d6032798d5536da912a61 SHA512 33d44f7b9094743031fc9315cf9380e158225ee2cd5af7a5ec7c55a2ae9af42e16f9cad3c667b153a1d3d9484d4ea773d34b88b78bfe9499df52a8b9d77defb2
+DIST hfsutils_3.2.6-15.debian.tar.xz 6364 BLAKE2B 7a588ceb4fefe50531d669f9c70452d6f7105f54cd674740296154203336a0d0977eb17d6aa9122b003029c26a4aa7674919fcdbbf8c527031be71a56d5a2c3f SHA512 67e3e7d33918b58cb02b7b8626caac890cf6c3bda5d81adeae9d0fa55bf7ad8fad18b0ecec5619bdfb9be037e16b5986eb1c6c8cd2044164e31927c5a1b6b1bf
DIST hfsutils_3.2.6.orig.tar.gz 207697 BLAKE2B 96c3d839e3c07e325e4e175a484b3c637d7cdebdc02ec11ee6810096162d155aa75d71a8e133b801b767a78d50115384460c4181359767f49e015524800885e8 SHA512 0db3050e5969c4e4e6c6ddb10cbc221a5837eb1e12f9331e7129511d31a4ec8d38420ed0b948dadc85ed990f3b1085e930eb7f0c37b3883866d963e47cbbb173
diff --git a/sys-fs/hfsutils/files/hfsutils-3.2.6_p15-Include-string.h-for-strcmp.patch b/sys-fs/hfsutils/files/hfsutils-3.2.6_p15-Include-string.h-for-strcmp.patch
new file mode 100644
index 000000000000..4b9db273ec40
--- /dev/null
+++ b/sys-fs/hfsutils/files/hfsutils-3.2.6_p15-Include-string.h-for-strcmp.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/871165
+
+From 065e349d0a0e1db9fda99f90ff825b7934f191da Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 16 Oct 2022 18:18:58 +0100
+Subject: [PATCH] Include <string.h> for strcmp
+
+--- a/hpwd.c
++++ b/hpwd.c
+@@ -24,6 +24,7 @@
+ # endif
+
+ # include <stdio.h>
++# include <string.h>
+
+ # include "hfs.h"
+ # include "hcwd.h"
diff --git a/sys-fs/hfsutils/files/hfsutils-3.2.6_p15-drop-manual-autoconf.patch b/sys-fs/hfsutils/files/hfsutils-3.2.6_p15-drop-manual-autoconf.patch
new file mode 100644
index 000000000000..00f5bfb8a438
--- /dev/null
+++ b/sys-fs/hfsutils/files/hfsutils-3.2.6_p15-drop-manual-autoconf.patch
@@ -0,0 +1,78 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -197,23 +197,6 @@ dist ::
+
+ ###############################################################################
+
+-Makefile: config.status
+- ./config.status && touch .stamp/config.h
+-
+-.stamp/config.h: config.status
+- ./config.status && touch .stamp/config.h
+-
+-config.status: .stamp/configure .stamp/config.h.in Makefile.in
+- ./config.status --recheck
+-
+-.stamp/configure: configure.in
+- autoconf && touch .stamp/configure
+-
+-.stamp/config.h.in: configure.in acconfig.h
+- autoheader && touch .stamp/config.h.in
+-
+-###############################################################################
+-
+ $(LIBHFS) ::
+ cd libhfs && $(MAKE)
+
+--- a/libhfs/Makefile.in
++++ b/libhfs/Makefile.in
+@@ -96,23 +96,6 @@ maintainer-clean :: distclean
+
+ ###############################################################################
+
+-Makefile: config.status
+- ./config.status && touch .stamp/config.h
+-
+-.stamp/config.h: config.status
+- ./config.status && touch .stamp/config.h
+-
+-config.status: .stamp/configure .stamp/config.h.in Makefile.in
+- ./config.status --recheck
+-
+-.stamp/configure: configure.in
+- autoconf && touch .stamp/configure
+-
+-.stamp/config.h.in: configure.in acconfig.h
+- autoheader && touch .stamp/config.h.in
+-
+-###############################################################################
+-
+ $(HFSTARGET): $(HFSOBJS)
+ $(AR) $@ $(HFSOBJS)
+ $(RANLIB) $@
+--- a/librsrc/Makefile.in
++++ b/librsrc/Makefile.in
+@@ -92,23 +92,6 @@ maintainer-clean :: distclean
+
+ ###############################################################################
+
+-Makefile: config.status
+- ./config.status && touch .stamp/config.h
+-
+-.stamp/config.h: config.status
+- ./config.status && touch .stamp/config.h
+-
+-config.status: .stamp/configure .stamp/config.h.in Makefile.in
+- ./config.status --recheck
+-
+-.stamp/configure: configure.in
+- autoconf && touch .stamp/configure
+-
+-.stamp/config.h.in: configure.in acconfig.h
+- autoheader && touch .stamp/config.h.in
+-
+-###############################################################################
+-
+ $(RSRCTARGET): $(RSRCOBJS)
+ $(AR) $@ $(RSRCOBJS)
+ $(RANLIB) $@
diff --git a/sys-fs/hfsutils/files/largerthan2gb.patch b/sys-fs/hfsutils/files/largerthan2gb.patch
deleted file mode 100644
index fb9fb7787f9c..000000000000
--- a/sys-fs/hfsutils/files/largerthan2gb.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/libhfs/os/unix.c
-+++ b/libhfs/os/unix.c
-@@ -19,6 +19,11 @@
- * $Id$
- */
-
-+#ifdef __linux__
-+#define _FILE_OFFSET_BITS 64
-+#define _LARGE_FILES
-+#endif
-+
- # ifdef HAVE_CONFIG_H
- # include "config.h"
- # endif
diff --git a/sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild b/sys-fs/hfsutils/hfsutils-3.2.6_p15.ebuild
index 5df159088c92..92762639547b 100644
--- a/sys-fs/hfsutils/hfsutils-3.2.6_p14.ebuild
+++ b/sys-fs/hfsutils/hfsutils-3.2.6_p15.ebuild
@@ -1,7 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
inherit autotools toolchain-funcs
DESCRIPTION="HFS FS Access utils"
@@ -10,44 +11,42 @@ SRC_URI="
mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p*}.orig.tar.gz
mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${PV/_p/-}.debian.tar.xz
"
+S="${WORKDIR}"/${P/_p*}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 sparc x86"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 sparc x86"
IUSE="tcl tk"
+# Tests are enabled only with USE=tcl
+RESTRICT="!tcl? ( test )"
+# use tk requires tcl - bug #150437
+REQUIRED_USE="tk? ( tcl )"
DEPEND="
- tcl? ( dev-lang/tcl:0= )
- tk? ( dev-lang/tk:0= )
-"
-RDEPEND="
- ${DEPEND}
+ tcl? ( dev-lang/tcl:= )
+ tk? ( dev-lang/tk:= )
"
+RDEPEND="${DEPEND}"
-# tests are enabled only with USE=tcl
-RESTRICT="!tcl? ( test )"
-
-# use tk requires tcl - bug #150437
-REQUIRED_USE="tk? ( tcl )"
PATCHES=(
- "${FILESDIR}"/largerthan2gb.patch
+ "${WORKDIR}"/debian/patches
"${FILESDIR}"/${P/_p*}-fix-tcl-8.6.patch
"${FILESDIR}"/${PN}-3.2.6-test-tcl-8.6.patch
+ "${FILESDIR}"/${PN}-3.2.6_p15-Include-string.h-for-strcmp.patch
+ "${FILESDIR}"/${PN}-3.2.6_p15-drop-manual-autoconf.patch
)
-S=${WORKDIR}/${P/_p*}
src_prepare() {
- eapply $(
- for file in $(cat "${WORKDIR}"/debian/patches/series)
- do echo "${WORKDIR}"/debian/patches/${file}
- done
- )
default
+
+ sed -i -e 's:configure.in:configure.ac:' {libhfs/,librsrc/,}{configure,Makefile,config.h}.in || die
+
eautoreconf
}
src_configure() {
tc-export CC
+
econf \
$(use_with tcl tcl /usr/$(get_libdir) no) \
$(use_with tk tk /usr/$(get_libdir) no)
@@ -60,7 +59,7 @@ src_compile() {
src_test() {
# Tests reuse the same image name. Let's serialize.
- emake check -j1
+ emake -j1 check
}
src_install() {
diff --git a/sys-fs/hfsutils/metadata.xml b/sys-fs/hfsutils/metadata.xml
index 115e9d64a669..7aa3723674ae 100644
--- a/sys-fs/hfsutils/metadata.xml
+++ b/sys-fs/hfsutils/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">glaubitz/hfs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/inotify-tools/Manifest b/sys-fs/inotify-tools/Manifest
index a4b4dac3c8e1..7f795aecf133 100644
--- a/sys-fs/inotify-tools/Manifest
+++ b/sys-fs/inotify-tools/Manifest
@@ -1,3 +1 @@
-DIST inotify-tools-3.20.2.2.tar.gz 81006 BLAKE2B 7dd29985f68096fe2146a3ad84d619b3d1238b0db25eeb125f2fe9591fa678078351f00c7e09b526cf2251e4736201d5625ff0e477523cae370a307ccb667730 SHA512 72d6fdcc216d8083cd384c71c02dc8e800d3a9702613568b3c571f704aee3d42bf084c52f2141c9afb8d28e8b87ebb6391ed3d825b3d664ed51c552debeb1881
-DIST inotify-tools-3.22.1.0.tar.gz 92922 BLAKE2B 42558ca62f79e2bdf5a6071334a05cee826ec00b0666b1c0971af64d769eb7852cbcd8d6e630f88af68f26f5607ca4ef94ec832fbe2e89d42182120aac4896ce SHA512 53317147af4803b69603839c010a2b0b3fa527f0e32b08126f24805600728c0a9570b2a3d94bf987f0b9a4bfbe7207b5faa9337f0d7add91b062e68de4245548
-DIST inotify-tools-3.22.6.0.tar.gz 92918 BLAKE2B 601d3ac6896e445d297a04498c63df4f81c59699ba2d5b2eee2e8c499332913ce2783d13c9906d577ff0b6d7ef91ca826d48b01674adeb3d3569dfc1fbc0df63 SHA512 cda445add4b9d80b70eff9189ed50d05f4b5593a755159d0354431166c6fe6fdb33f7bf37fd50bc09aad3ed0a6e3763b9c74f65e554400f2596b8d492f1d0a21
+DIST inotify-tools-4.23.9.0.tar.gz 93281 BLAKE2B eddb0e44721cd8674f2309046998de16a030ed9ad84c49bc5950b9362055db9242dc0de1c615c3bd6c1f2835c83fc55446c9f8e6da52a98870c53f4e6cfa31f9 SHA512 8f44037a482fa39978b845b4989834e8c897ad872913c6cb8c4a987e0d13f9177b05f593332b859d7adde228fdc3512fd45d66cab65368c38926f41d57e22d13
diff --git a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild b/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
deleted file mode 100644
index 22720914efb2..000000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/inotify-tools/inotify-tools"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~mips sparc x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
-
- # Remove -Werror from CFLAGS (#745069)
- find -name "Makefile.am" -print0 \
- | xargs --null sed 's@ -Werror@@' -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # only docs installed are doxygen ones, so use /html
- local myeconfargs=(
- --docdir='$(datarootdir)'/doc/${PF}/html
- $(use_enable doc doxygen)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" \( -name '*.a*' -o -name '*.la' \) -delete || die
-}
diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild
deleted file mode 100644
index 2d25f84ae71b..000000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.22.1.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/inotify-tools/inotify-tools"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~riscv ~sparc ~x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
-
- # Remove -Werror from CFLAGS (#745069)
- find -name "Makefile.am" -print0 \
- | xargs --null sed 's@ -Werror@@' -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # only docs installed are doxygen ones, so use /html
- local myeconfargs=(
- --disable-static
- --docdir='$(datarootdir)'/doc/${PF}/html
- $(use_enable doc doxygen)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild b/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
deleted file mode 100644
index 2d25f84ae71b..000000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.22.6.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/inotify-tools/inotify-tools"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~mips ~riscv ~sparc ~x86"
-IUSE="doc"
-
-BDEPEND="doc? ( app-doc/doxygen )"
-
-src_prepare() {
- default
-
- # Remove -Werror from CFLAGS (#745069)
- find -name "Makefile.am" -print0 \
- | xargs --null sed 's@ -Werror@@' -i || die
-
- eautoreconf
-}
-
-src_configure() {
- # only docs installed are doxygen ones, so use /html
- local myeconfargs=(
- --disable-static
- --docdir='$(datarootdir)'/doc/${PF}/html
- $(use_enable doc doxygen)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- find "${ED}" -type f -name '*.la' -delete || die
-}
diff --git a/sys-fs/inotify-tools/inotify-tools-4.23.9.0.ebuild b/sys-fs/inotify-tools/inotify-tools-4.23.9.0.ebuild
new file mode 100644
index 000000000000..b90ed2b8c3b4
--- /dev/null
+++ b/sys-fs/inotify-tools/inotify-tools-4.23.9.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Set of command-line programs providing a simple interface to inotify"
+HOMEPAGE="https://github.com/inotify-tools/inotify-tools/"
+SRC_URI="
+ https://github.com/inotify-tools/inotify-tools/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~mips ~ppc64 ~riscv sparc x86"
+IUSE="doc"
+
+BDEPEND="doc? ( app-text/doxygen )"
+
+src_prepare() {
+ default
+
+ sed -i 's/ -Werror//' {,libinotifytools/}src/Makefile.am || die #745069
+
+ eautoreconf
+}
+
+src_configure() {
+ local econfargs=(
+ --docdir="${EPREFIX}"/usr/share/doc/${PF}/html
+ $(use_enable doc doxygen)
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
diff --git a/sys-fs/inotify-tools/metadata.xml b/sys-fs/inotify-tools/metadata.xml
index 85936347796a..5a392e4fedd5 100644
--- a/sys-fs/inotify-tools/metadata.xml
+++ b/sys-fs/inotify-tools/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
+ <email>ionen@gentoo.org</email>
+ <name>Ionen Wolkens</name>
</maintainer>
<longdescription>
inotify-tools is a set of command-line programs for Linux providing a simple
@@ -11,7 +11,6 @@ interface to inotify. These programs can be used to monitor and act upon
filesystem events. Requires a Linux kernel supporting inotify.
</longdescription>
<upstream>
- <remote-id type="github">rvoicilas/inotify-tools</remote-id>
- <remote-id type="sourceforge">inotify-tools</remote-id>
+ <remote-id type="github">inotify-tools/inotify-tools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/iprutils/metadata.xml b/sys-fs/iprutils/metadata.xml
index c32c3e07e610..12a8ff13a687 100644
--- a/sys-fs/iprutils/metadata.xml
+++ b/sys-fs/iprutils/metadata.xml
@@ -3,7 +3,7 @@
<pkgmetadata>
<maintainer type="project">
<email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
+ <name>PowerPC architecture team</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">iprdd</remote-id>
diff --git a/sys-fs/jfsutils/files/jfsutils-1.1.15-musl-fix-includes.patch b/sys-fs/jfsutils/files/jfsutils-1.1.15-musl-fix-includes.patch
new file mode 100644
index 000000000000..08599a2d001d
--- /dev/null
+++ b/sys-fs/jfsutils/files/jfsutils-1.1.15-musl-fix-includes.patch
@@ -0,0 +1,23 @@
+Closes: https://bugs.gentoo.org/715568
+
+From https://git.alpinelinux.org/aports/commit/main/jfsutils/musl-fix-includes.patch?id=d9768c312ddc047df6c2c9b1674b2ab37ddf4e2a 2013-12-17 13:59:36 +0000
+From Timo Teräs <timo.teras@iki.fi>
+
+--- a/libfs/fssubs.c
++++ b/libfs/fssubs.c
+@@ -24,6 +24,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <paths.h>
+
+ #if HAVE_MNTENT_H
+ #include <mntent.h>
+@@ -31,7 +32,6 @@
+ #endif
+
+ #if HAVE_GETMNTINFO
+-#include <paths.h>
+ #include <sys/param.h>
+ #include <sys/mount.h>
+ #endif
diff --git a/sys-fs/jfsutils/jfsutils-1.1.15-r1.ebuild b/sys-fs/jfsutils/jfsutils-1.1.15-r2.ebuild
index 72b8b5417350..4ec1f3ba3c98 100644
--- a/sys-fs/jfsutils/jfsutils-1.1.15-r1.ebuild
+++ b/sys-fs/jfsutils/jfsutils-1.1.15-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,6 +29,7 @@ PATCHES=(
"${FILESDIR}"/${P}-check-for-ar.patch #726032
"${FILESDIR}"/${P}-gcc10.patch #707314
"${FILESDIR}"/${P}-format-security-errors.patch #557140
+ "${FILESDIR}"/${P}-musl-fix-includes.patch # 715568
)
src_prepare() {
@@ -38,6 +39,10 @@ src_prepare() {
}
src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/863905
+ filter-lto
+
# It doesn't compile on alpha without this LDFLAGS
use alpha && append-ldflags "-Wl,--no-relax"
diff --git a/sys-fs/jfsutils/metadata.xml b/sys-fs/jfsutils/metadata.xml
index 0f19441c2846..2e0311236415 100644
--- a/sys-fs/jfsutils/metadata.xml
+++ b/sys-fs/jfsutils/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>polynomial-c@gentoo.org</email>
- <name>Lars Wendler</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>
The jfsutils package contains administration and debugging
tools for IBM's journaled file system.
diff --git a/sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild b/sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild
index 0e01a694da64..2e4ec1113932 100644
--- a/sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild
+++ b/sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-DESCRIPTION="A virtual filesystem for FUSE which allows navigation of an LDAP tree"
+DESCRIPTION="Virtual filesystem for FUSE which allows navigation of an LDAP tree"
HOMEPAGE="https://sourceforge.net/projects/ldapfuse/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
@@ -15,9 +15,8 @@ RDEPEND="
net-nds/openldap:=
sys-fs/fuse:0
>=sys-libs/libhx-3.12:="
-
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}"
+BDEPEND="
app-arch/xz-utils
virtual/pkgconfig"
diff --git a/sys-fs/lde/lde-2.6.1-r2.ebuild b/sys-fs/lde/lde-2.6.1-r2.ebuild
index c0b1f4584101..615ff025c460 100644
--- a/sys-fs/lde/lde-2.6.1-r2.ebuild
+++ b/sys-fs/lde/lde-2.6.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -17,7 +17,7 @@ RDEPEND="sys-libs/ncurses:0="
DEPEND="${RDEPEND}"
BDEPEND="
virtual/pkgconfig
- virtual/yacc
+ app-alternatives/yacc
"
S="${WORKDIR}/${PN}"
diff --git a/sys-fs/lessfs/metadata.xml b/sys-fs/lessfs/metadata.xml
index ed8c04828df5..bdbb1d194f65 100644
--- a/sys-fs/lessfs/metadata.xml
+++ b/sys-fs/lessfs/metadata.xml
@@ -7,8 +7,8 @@
<flag name="memtrace">Enable leefs to create a report regarding the memory allocation. This feature should be used for debugging purposes to avoid performance degradation</flag>
</use>
<longdescription lang="en">
-Data deduplication (often called “intelligent compression” or “single-instance storage”) is a method of reducing storage needs by eliminating redundant data. Data deduplication is often used for backup purposes and for virtual machine image storage. lessfs can determine if data is redundant by calculating a unique (192 bit) tiger hash of each block of data that is written. When lessfs has determined that a block of data needs to be stored it first compresses the block with LZO or QUICKLZ compression. The combination of these two techniques results in a very high overall compression rate for many types of data. Multimedia files like mp3, avi or jpg files can not be compressed by lessfs when they are only stored once on the filesystem.
-</longdescription>
+ Data deduplication (often called “intelligent compression” or “single-instance storage”) is a method of reducing storage needs by eliminating redundant data. Data deduplication is often used for backup purposes and for virtual machine image storage. lessfs can determine if data is redundant by calculating a unique (192 bit) tiger hash of each block of data that is written. When lessfs has determined that a block of data needs to be stored it first compresses the block with LZO or QUICKLZ compression. The combination of these two techniques results in a very high overall compression rate for many types of data. Multimedia files like mp3, avi or jpg files can not be compressed by lessfs when they are only stored once on the filesystem.
+ </longdescription>
<upstream>
<remote-id type="sourceforge">lessfs</remote-id>
</upstream>
diff --git a/sys-fs/libeatmydata/Manifest b/sys-fs/libeatmydata/Manifest
index 620220c6f68b..a49dc78fce99 100644
--- a/sys-fs/libeatmydata/Manifest
+++ b/sys-fs/libeatmydata/Manifest
@@ -1,2 +1 @@
-DIST libeatmydata-129.tar.gz 358437 BLAKE2B 448cff19629fa1a07443a52ebe16a7bf9a8ac7d0c2688e89555ed6c9c2369695a70ae2abf1b74152b3c305e6bc019e2e9808af6642122cd10a73deb7dfb580f2 SHA512 dbd0ea4df77034ecbb75955394b15aec6f1331205a5c7aa4a6e0595e3e486bbcc81c28a264bf5441c660563f74bfb06630da98373d481a2ebd9e9b1538c109d1
-DIST libeatmydata-130.tar.gz 375627 BLAKE2B a1f65050572e8a7fc8345082a12e2831a8fb1e68e1d198ae507752375b2081a79fa6e5e589028104cd9d767d86b4d453c0eac0ad7f366c90d6734f5868f8e0cd SHA512 80edeee1b39e14d10e7d04d7fff63a233119c6e13216e92ec786cc41ecd79eb58937da0e621aaef697490e9fb285f3e1109b786ee6967fa1736bb4879e100f18
+DIST libeatmydata-131.tar.gz 368469 BLAKE2B 1b59f80ba72caeafa40272c5996e0fb03774c69c35d7a2194d312e53c48212caca84abed56ec63a9fba2b4142efbee4aa371c3869a76f8c5674936ffe0daea5d SHA512 064417dc085cb82e4baf1d160fcde2c6e0d9fed60e5c595799630b030053c373d888853055894c127c5b384be9204e8bbb251877651811b5fc5cdca8ffd9cf42
diff --git a/sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch b/sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch
deleted file mode 100644
index da8403ca2c11..000000000000
--- a/sys-fs/libeatmydata/files/libeatmydata-130-implicit-function-decl-test.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-/var/tmp/portage/sys-fs/libeatmydata-130/work/libeatmydata-130/libeatmydata/test/tst-invalidfd.c:31:13: error: implicit declaration of function ‘sync_file_range’; did you mean ‘copy_file_range’? [-Werror=implicit-function-declaration]
- 31 | r = sync_file_range(fd, 0, 0, 0);
- | ^~~~~~~~~~~~~~~
- | copy_file_range
---- a/libeatmydata/test/tst-invalidfd.c
-+++ b/libeatmydata/test/tst-invalidfd.c
-@@ -17,6 +17,11 @@
-
- #include <stdio.h>
- #include <errno.h>
-+
-+#ifdef HAVE_SYNC_FILE_RANGE
-+#include <fcntl.h>
-+#endif
-+
- #include <unistd.h>
- #include <assert.h>
-
diff --git a/sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch b/sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch
new file mode 100644
index 000000000000..b60cdea868c4
--- /dev/null
+++ b/sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch
@@ -0,0 +1,52 @@
+https://github.com/stewartsmith/libeatmydata/pull/30
+
+From 9b37e3994f94687085e234d153c9ae3abdd038d3 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Mon, 9 Jan 2023 05:50:13 +0000
+Subject: [PATCH] Avoid redefining _GNU_SOURCE
+
+It's harmless, but with 3dea342f64a73a271d24779474d1b304b8f5618c, we get:
+```
+x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I/var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131 -O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -ggdb3 -Werror=implicit-function-declaration -Werror=implicit-int -c -o libeatmydata/test/tst-cancel4.o /var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131/libeatmydata/test/tst-cancel4.c
+/var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131/libeatmydata/test/tst-cancel4.c:28: warning: "_GNU_SOURCE" redefined
+ 28 | #define _GNU_SOURCE
+ |
+In file included from /var/tmp/portage/sys-fs/libeatmydata-131/work/libeatmydata-131/libeatmydata/test/tst-cancel4.c:26:
+./config.h:115: note: this is the location of the previous definition
+ 115 | # define _GNU_SOURCE 1
+ |
+```
+
+This is because we already have `AC_USE_SYSTEM_EXTENSIONS` in configure.ac
+which sets GNU_SOURCE in config.h for us.
+
+We also explicitly add a config.h include to tst-invalidvd.c instead
+of relying on it via portability.h.
+--- a/libeatmydata/test/tst-cancel4.c
++++ b/libeatmydata/test/tst-cancel4.c
+@@ -25,7 +25,6 @@
+
+ #include "config.h"
+
+-#define _GNU_SOURCE
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
+--- a/libeatmydata/test/tst-invalidfd.c
++++ b/libeatmydata/test/tst-invalidfd.c
+@@ -13,6 +13,7 @@
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ * END LICENSE */
+
++#include "config.h"
+ #include "libeatmydata/portability.h"
+
+ #include <stdio.h>
+@@ -21,7 +22,6 @@
+ #include <assert.h>
+
+ #ifdef HAVE_SYNC_FILE_RANGE
+-#define _GNU_SOURCE
+ #include <fcntl.h>
+ #endif
+
diff --git a/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild b/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild
deleted file mode 100644
index 24b83a8556c8..000000000000
--- a/sys-fs/libeatmydata/libeatmydata-129-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-minimal
-
-DESCRIPTION="LD_PRELOAD hack to convert sync()/msync() and the like to NO-OP"
-HOMEPAGE="https://www.flamingspork.com/projects/libeatmydata/"
-SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="test? ( dev-util/strace )"
-
-ECONF_SOURCE="${S}"
-
-multilib_src_configure() {
- ECONF_SOURCE="${S}" econf --disable-static
-}
-
-multilib_src_test() {
- # sandbox fools LD_PRELOAD and libeatmydata does not get control
- # feature of sandbox
- SANDBOX_ON=0 LD_PRELOAD= emake -k check
-}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -type f -delete || die
-
- dodoc AUTHORS README.md
-}
diff --git a/sys-fs/libeatmydata/libeatmydata-130.ebuild b/sys-fs/libeatmydata/libeatmydata-131.ebuild
index 70deafe4c9f4..d186e6938bf4 100644
--- a/sys-fs/libeatmydata/libeatmydata-130.ebuild
+++ b/sys-fs/libeatmydata/libeatmydata-131.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,14 +12,14 @@ SRC_URI="https://github.com/stewartsmith/${PN}/releases/download/v${PV}/${P}.tar
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~x86"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
-BDEPEND="test? ( dev-util/strace )"
+BDEPEND="test? ( dev-debug/strace )"
PATCHES=(
- "${FILESDIR}"/${PN}-130-implicit-function-decl-test.patch
+ "${FILESDIR}"/${PN}-131-gnu_source.patch
)
multilib_src_configure() {
diff --git a/sys-fs/loop-aes/Manifest b/sys-fs/loop-aes/Manifest
index 529b8e4b6fbb..e20f56fa0200 100644
--- a/sys-fs/loop-aes/Manifest
+++ b/sys-fs/loop-aes/Manifest
@@ -1,2 +1 @@
-DIST loop-AES-v3.7v.tar.bz2 378465 BLAKE2B 01d9c3719242846696c1e199a02a42254c06472abce6cee7ccc3882e456921176f7469e9c61331193dd86ee2fcf0d24972f9012026eadad150a8e6116dd4e275 SHA512 62c0bafd97bc07d78d128ba3bbcf471bf16bd979264ad9180132b83f01a1e8d4f6d9aa874c602a00bc85360abfefe16f72b28b2c73cc2ad863ea2d36eb7bc478
-DIST loop-AES-v3.7w.tar.bz2 379844 BLAKE2B 00877a1711afa0a232f6cf0d568fd667fe891393c4cf4602666c68169c71b4a1308806e37ce48f7e5372d5e2416be2f5f1a680302d6ccc795057ccc1d3716f4b SHA512 882653341edba90a4717624382826296d490cd71d4e8843c9f44f606eda0d30a9e685a5310ed3b996b04ab9095d7be6adccff2a16f1c68a2349c052a69fd0a15
+DIST loop-AES-v3.8b.tar.bz2 411795 BLAKE2B 51e2c4ddd25f288c5cc5cbbbe20d79951d68bc2b7ecc91fe6eddbb829b297fe6946590512f423efcf5be3c4a1c9ce450c0cf49ed44ac6ad8eb2568468570d48f SHA512 8143649cc9616735cb9a9c8cb8b5c8a709b139e8b41aec444d56c85ef7852d103f657d0d702ffb04783963f0d0e919a6fe4e10b31cd373cd326e546caad90661
diff --git a/sys-fs/loop-aes/loop-aes-3.7v.ebuild b/sys-fs/loop-aes/loop-aes-3.7v.ebuild
deleted file mode 100644
index 3061d50ad0a8..000000000000
--- a/sys-fs/loop-aes/loop-aes-3.7v.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-mod
-
-MY_P="${PN/aes/AES}-v${PV}"
-
-DESCRIPTION="Linux kernel module to encrypt disk partitions with AES cipher"
-HOMEPAGE="http://loop-aes.sourceforge.net/loop-AES.README"
-SRC_URI="http://loop-aes.sourceforge.net/loop-AES/${MY_P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~hppa ~ppc ~sparc ~x86"
-IUSE="cpu_flags_x86_aes extra-ciphers keyscrub cpu_flags_x86_padlock"
-
-DEPEND="app-crypt/loop-aes-losetup"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_setup() {
- linux-mod_pkg_setup
-
- CONFIG_CHECK="!BLK_DEV_LOOP"
- MODULE_NAMES="loop(block::tmp-d-kbuild)"
- BUILD_TARGETS="all"
-
- BUILD_PARAMS=" \
- V=1 \
- LINUX_SOURCE=\"${KERNEL_DIR}\" \
- KBUILD_OUTPUT=\"${KBUILD_OUTPUT}\" \
- USE_KBUILD=y MODINST=n RUNDM=n"
- use cpu_flags_x86_aes && BUILD_PARAMS+=" INTELAES=y"
- use keyscrub && BUILD_PARAMS+=" KEYSCRUB=y"
- use cpu_flags_x86_padlock && BUILD_PARAMS+=" PADLOCK=y"
-
- if use extra-ciphers; then
- MODULE_NAMES="${MODULE_NAMES}
- loop_blowfish(block::tmp-d-kbuild)
- loop_serpent(block::tmp-d-kbuild)
- loop_twofish(block::tmp-d-kbuild)"
- BUILD_PARAMS+=" EXTRA_CIPHERS=y"
- fi
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc README
- dodoc ChangeLog
- dobin loop-aes-keygen
- doman loop-aes-keygen.1
-
- into /
- dosbin build-initrd.sh
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- einfo
- einfo "For more instructions take a look at examples in README at:"
- einfo "'${EPREFIX}/usr/share/doc/${PF}'"
- einfo
-}
diff --git a/sys-fs/loop-aes/loop-aes-3.7w.ebuild b/sys-fs/loop-aes/loop-aes-3.8b.ebuild
index 5f6b4ed8f398..e74a90959434 100644
--- a/sys-fs/loop-aes/loop-aes-3.7w.ebuild
+++ b/sys-fs/loop-aes/loop-aes-3.8b.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-mod
+inherit linux-mod-r1
MY_P="${PN/aes/AES}-v${PV}"
DESCRIPTION="Linux kernel module to encrypt disk partitions with AES cipher"
-HOMEPAGE="http://loop-aes.sourceforge.net/loop-AES.README"
+HOMEPAGE="https://sourceforge.net/projects/loop-aes/"
SRC_URI="http://loop-aes.sourceforge.net/loop-AES/${MY_P}.tar.bz2"
LICENSE="GPL-2"
@@ -23,32 +23,35 @@ PATCHES=( "${FILESDIR}"/loop-aes-3.7w-build-initrd_explicit-losetup.patch )
S="${WORKDIR}/${MY_P}"
pkg_setup() {
- linux-mod_pkg_setup
+ linux-mod-r1_pkg_setup
CONFIG_CHECK="!BLK_DEV_LOOP"
- MODULE_NAMES="loop(block::tmp-d-kbuild)"
- BUILD_TARGETS="all"
-
- BUILD_PARAMS=" \
- V=1 \
- LINUX_SOURCE=\"${KERNEL_DIR}\" \
- KBUILD_OUTPUT=\"${KBUILD_OUTPUT}\" \
- USE_KBUILD=y MODINST=n RUNDM=n"
- use cpu_flags_x86_aes && BUILD_PARAMS+=" INTELAES=y"
- use keyscrub && BUILD_PARAMS+=" KEYSCRUB=y"
- use cpu_flags_x86_padlock && BUILD_PARAMS+=" PADLOCK=y"
+}
+
+src_compile() {
+ local modlist=( loop=block::tmp-d-kbuild:all )
+ local modargs=( VAR="${KV_OUT_DIR}"
+ LINUX_SOURCE="${KERNEL_DIR}"
+ KBUILD_OUTPUT="${KBUILD_OUTPUT}"
+ USE_KBUILD=y MODINST=n RUNDM=n )
if use extra-ciphers; then
- MODULE_NAMES="${MODULE_NAMES}
- loop_blowfish(block::tmp-d-kbuild)
- loop_serpent(block::tmp-d-kbuild)
- loop_twofish(block::tmp-d-kbuild)"
- BUILD_PARAMS+=" EXTRA_CIPHERS=y"
+ modlist+=(
+ loop_blowfish=block::tmp-d-kbuild:all
+ loop_serpent=block::tmp-d-kbuild:all
+ loop_twofish=block::tmp-d-kbuild:all )
+ modargs+=( EXTRA_CIPHERS=y )
fi
+
+ use cpu_flags_x86_aes && modargs+=( INTELAES=y )
+ use keyscrub && modargs+=( KEYSCRUB=y )
+ use cpu_flags_x86_padlock && modargs+=( PADLOCK=y )
+
+ linux-mod-r1_src_compile
}
src_install() {
- linux-mod_src_install
+ linux-mod-r1_src_install
dodoc README
dodoc ChangeLog
@@ -60,7 +63,7 @@ src_install() {
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
einfo
einfo "For more instructions take a look at examples in README at:"
diff --git a/sys-fs/lsscsi/Manifest b/sys-fs/lsscsi/Manifest
index dfa0032244f3..3457181875ea 100644
--- a/sys-fs/lsscsi/Manifest
+++ b/sys-fs/lsscsi/Manifest
@@ -1 +1 @@
-DIST lsscsi-0.32.tgz 195376 BLAKE2B 8ca0eecd5e0a0a60b9871d955daa05a92e33a8c0c799a0293c58c7882a5c0d9ba06df070ffac8bbce4183e0e5081087cd4b39a6e3c51ff30faac58d0aae67f94 SHA512 96cb87be53eae9fa3a7defa0065f4dee8ccc23805a9ed1dc93d101c5e0610b78765b61449bf6ce58c13de8aae8400e4ac6a60ad64f840d092b9d7293106c5145
+DIST lsscsi-0.32.tar.gz 195376 BLAKE2B 8ca0eecd5e0a0a60b9871d955daa05a92e33a8c0c799a0293c58c7882a5c0d9ba06df070ffac8bbce4183e0e5081087cd4b39a6e3c51ff30faac58d0aae67f94 SHA512 96cb87be53eae9fa3a7defa0065f4dee8ccc23805a9ed1dc93d101c5e0610b78765b61449bf6ce58c13de8aae8400e4ac6a60ad64f840d092b9d7293106c5145
diff --git a/sys-fs/lsscsi/lsscsi-0.32.ebuild b/sys-fs/lsscsi/lsscsi-0.32-r1.ebuild
index 9a99652c015a..1007c26f9bac 100644
--- a/sys-fs/lsscsi/lsscsi-0.32.ebuild
+++ b/sys-fs/lsscsi/lsscsi-0.32-r1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
DESCRIPTION="SCSI sysfs query tool"
HOMEPAGE="http://sg.danny.cz/scsi/lsscsi.html"
-SRC_URI="http://sg.danny.cz/scsi/${P}.tgz"
+SRC_URI="http://sg.danny.cz/scsi/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index f62db729f464..5e526190b713 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1,2 @@
-DIST LVM2.2.02.188.tgz 2421550 BLAKE2B bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 SHA512 8c9db17c49dc8ebcab6c7f246ab85870a80658be811cf7f4d8f36abbebafa355b030bfc1e3bcbad73ccccb7fcd06d4a95ac547ca15d18d33715126da92703dca
-DIST LVM2.2.03.14.tgz 2639538 BLAKE2B 806f5e9cb76a05febef6f8ce8cfc42c92927b9538f62a21029c5ffc426a4fd7c3f32709be08dbd8028b53891b1075d1d13cb3b0d7b1815071ee8eb927d8f3ed3 SHA512 6a93bed1d5cf36f0f48d4d413d028b0e480cd4fc20e25d173770a892f265d2a0cc68d01a720b1513469953649e989532cd0c45f9538f92a4190eb3dc4555857d
+DIST LVM2.2.03.21.tgz 2742294 BLAKE2B 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728 SHA512 6024811c3fa92afd2fc13a10d1c3542352aa9a016f40c3ef588bd2f5f3e41245fed4b36c8a87d9f7f8dddc6e13b7253396f5c811f99665df27751676dc7b5bde
+DIST LVM2.2.03.22.tgz 2755031 BLAKE2B 79bbea84bd82f111c1bb5de336e6a9f1368b2c9e43f075dccaa90c7746a364259ad278adf650379eca75f2803ed74e74dd372be2cca8518462182657f96a0033 SHA512 17cd24ceee8026481566824b688dafd03ec816201d5cb3549cb7fc8a36f4cdaa982faaef4dcd26debfe775dea5ffa2744798164314ea6dc99a84f8ccccfc33ff
diff --git a/sys-fs/lvm2/files/device-mapper.conf-1.02.22-r3 b/sys-fs/lvm2/files/device-mapper.conf-r4
index bc7a25158635..bc7a25158635 100644
--- a/sys-fs/lvm2/files/device-mapper.conf-1.02.22-r3
+++ b/sys-fs/lvm2/files/device-mapper.conf-r4
diff --git a/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2 b/sys-fs/lvm2/files/device-mapper.rc-r3
index 79fdff246fb7..79fdff246fb7 100644
--- a/sys-fs/lvm2/files/device-mapper.rc-2.02.105-r2
+++ b/sys-fs/lvm2/files/device-mapper.rc-r3
diff --git a/sys-fs/lvm2/files/dmeventd.initd-2.02.184-r2 b/sys-fs/lvm2/files/dmeventd.initd-r3
index bc08c0a94f41..bc08c0a94f41 100644
--- a/sys-fs/lvm2/files/dmeventd.initd-2.02.184-r2
+++ b/sys-fs/lvm2/files/dmeventd.initd-r3
diff --git a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2 b/sys-fs/lvm2/files/lvm-monitoring.initd-r3
index 914d6637c7a6..914d6637c7a6 100644
--- a/sys-fs/lvm2/files/lvm-monitoring.initd-2.02.105-r2
+++ b/sys-fs/lvm2/files/lvm-monitoring.initd-r3
diff --git a/sys-fs/lvm2/files/lvm.confd-2.02.184-r3 b/sys-fs/lvm2/files/lvm.confd-r4
index b29e1702b35d..b29e1702b35d 100644
--- a/sys-fs/lvm2/files/lvm.confd-2.02.184-r3
+++ b/sys-fs/lvm2/files/lvm.confd-r4
diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.187 b/sys-fs/lvm2/files/lvm.rc-r1
index 3468adc90f61..3468adc90f61 100644
--- a/sys-fs/lvm2/files/lvm.rc-2.02.187
+++ b/sys-fs/lvm2/files/lvm.rc-r1
diff --git a/sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch b/sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch
deleted file mode 100644
index 0f830e428b10..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.166-HPPA-no-O_DIRECT.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/lib/device/dev-io.c
-+++ b/lib/device/dev-io.c
-@@ -505,7 +505,9 @@
- dev->flags |= DEV_NOT_O_NOATIME;
- if ((dev->fd = open(name, flags, 0777)) >= 0) {
- log_debug_devs("%s: Not using O_NOATIME", name);
-+#ifdef O_DIRECT_SUPPORT
- goto opened;
-+#endif
- }
- }
- #endif
diff --git a/sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch b/sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch
deleted file mode 100644
index 1cbf956db258..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.171-static-libm.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/make.tmpl.in b/make.tmpl.in
-index a40eaaa15..7eea943aa 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -53,7 +53,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
diff --git a/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch
deleted file mode 100644
index c0265e81268a..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.176-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,29 +0,0 @@
---- LVM2.2.02.176/libdm/libdevmapper.pc.in
-+++ LVM2.2.02.176/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIBS@
-+Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
---- LVM2.2.02.176/tools/Makefile.in
-+++ LVM2.2.02.176/tools/Makefile.in
-@@ -93,6 +93,7 @@
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_DMSETUP_TARGETS += install_dmsetup_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(LVMINTERNAL_LIBS) -ldevmapper
-@@ -118,6 +119,10 @@
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper: $(TARGETS_DM)
-
- CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch b/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch
deleted file mode 100644
index c831c6d6e60c..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-asneeded.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-http://bugs.gentoo.org/330255
-
-liblvm2app.so: undefined reference to `floor'
-
---- LVM2.2.02.178/liblvm/Makefile.in
-+++ LVM2.2.02.178/liblvm/Makefile.in
-@@ -43,7 +43,7 @@
- include $(top_builddir)/make.tmpl
-
- LDFLAGS += -L$(top_builddir)/lib -L$(top_builddir)/daemons/dmeventd
--LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -laio
-+LIBS += $(LVMINTERNAL_LIBS) -ldevmapper -laio -lm
-
- .PHONY: install_dynamic install_static install_include install_pkgconfig
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch
deleted file mode 100644
index 0a0e73209062..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,59 +0,0 @@
---- LVM2.2.02.178/configure.ac
-+++ LVM2.2.02.178/configure.ac
-@@ -33,6 +33,7 @@
- CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -2042,6 +2043,7 @@
- AC_SUBST(SYSTEMD_LIBS)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTSUITE_DATA)
- AC_SUBST(THIN)
---- LVM2.2.02.178/daemons/dmeventd/Makefile.in
-+++ LVM2.2.02.178/daemons/dmeventd/Makefile.in
-@@ -64,7 +64,7 @@
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS)
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacebuilddir)/libdevmapper.a
-- $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
-+ $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
---- LVM2.2.02.178/make.tmpl.in
-+++ LVM2.2.02.178/make.tmpl.in
-@@ -64,6 +64,7 @@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
---- LVM2.2.02.178/tools/Makefile.in
-+++ LVM2.2.02.178/tools/Makefile.in
-@@ -129,7 +129,7 @@
-
- dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ dmsetup.o -ldevmapper $(M_LIBS) $(PTHREAD_LIBS) $(STATIC_LIBS) $(LIBS)
-
- all: device-mapper
-@@ -159,7 +159,7 @@
-
- lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
- $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch
deleted file mode 100644
index 34c710d4392c..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-example.conf.in.patch
+++ /dev/null
@@ -1,50 +0,0 @@
---- LVM2.2.02.178/conf/example.conf.in
-+++ LVM2.2.02.178/conf/example.conf.in
-@@ -128,6 +128,9 @@
- # Example
- # Accept every block device:
- # filter = [ "a|.*/|" ]
-+ # Gentoo: we exclude /dev/nbd by default, because it makes a lot of kernel
-+ # noise when you probed while not available.
-+ filter = [ "r|/dev/nbd.*|", "a/.*/" ]
- # Reject the cdrom drive:
- # filter = [ "r|/dev/cdrom|" ]
- # Work with just loopback devices, e.g. for testing:
-@@ -704,7 +707,8 @@
- # Configuration option global/fallback_to_lvm1.
- # This setting is no longer used.
- # This configuration option has an automatic default value.
-- # fallback_to_lvm1 = 0
-+ # Gentoo: the LVM tools are a seperate package.
-+ fallback_to_lvm1 = 0
-
- # Configuration option global/format.
- # This setting is no longer used.
-@@ -1508,7 +1512,7 @@
-
- # Configuration section metadata.
- # This configuration section has an automatic default value.
--# metadata {
-+metadata {
-
- # Configuration option metadata/check_pv_device_sizes.
- # Check device sizes are not smaller than corresponding PV sizes.
-@@ -1553,7 +1557,8 @@
- #
- # This configuration option is advanced.
- # This configuration option has an automatic default value.
-- # pvmetadatacopies = 1
-+ # Gentoo: enable for data safety, but PV resize is then disabled.
-+ # pvmetadatacopies = 2
-
- # Configuration option metadata/vgmetadatacopies.
- # Number of copies of metadata to maintain for each VG.
-@@ -1608,7 +1613,7 @@
- #
- # This configuration option is advanced.
- # This configuration option does not have a default value defined.
--# }
-+}
-
- # Configuration section report.
- # LVM report command output formatting.
diff --git a/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch
deleted file mode 100644
index 989b3082576d..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.178-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- LVM2.2.02.178/configure.ac
-+++ LVM2.2.02.178/configure.ac
-@@ -1238,6 +1238,7 @@
- PKG_CHECK_MODULES(BLKID, blkid >= 2.24,
- [ BLKID_WIPING=yes
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- ], [if test "$BLKID_WIPING" = maybe; then
-@@ -1286,6 +1287,7 @@
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
-
- AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
-@@ -1564,19 +1566,32 @@
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ if test x$PKGCONFIG_INIT != x1; then
-+ pkg_config_init
-+ fi
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ],[
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1927,6 +1942,7 @@
- ################################################################################
- AC_SUBST(APPLIB)
- AC_SUBST(AWK)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BLKID_PC)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
-@@ -2037,6 +2053,7 @@
- AC_SUBST(SALCK_LIBS)
- AC_SUBST(SBINDIR)
- AC_SUBST(SELINUX_LIBS)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SELINUX_PC)
- AC_SUBST(SYSCONFDIR)
- AC_SUBST(SYSTEMD_LIBS)
-@@ -2053,6 +2070,7 @@
- AC_SUBST(CACHE_DUMP_CMD)
- AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
- AC_SUBST(UDEV_SYNC)
---- LVM2.2.02.178/make.tmpl.in
-+++ LVM2.2.02.178/make.tmpl.in
-@@ -59,7 +59,7 @@
-
- LIBS = @LIBS@
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS)
-+STATIC_LIBS = $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -75,10 +75,13 @@
- PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- SYSTEMD_LIBS = @SYSTEMD_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch b/sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch
deleted file mode 100644
index 34968c7c2eb7..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From a397b69ce33d811aba7d64d54b5c8e0efb86fd15 Mon Sep 17 00:00:00 2001
-From: Zdenek Kabelac <zkabelac@redhat.com>
-Date: Fri, 10 May 2019 14:40:11 +0200
-Subject: [PATCH] metadata: allow reading metadata with invalid creation_time
-
-lvm2 till version 2.02.169 (commit 78d004efa8a1809cea68283e6204edfa9d7c1091)
-was printing invalid creation_time argument into metadata on 32bit arch.
-
-However with commit ba9820b14223b731125c83dbc9709aa44fdcdbf1 we started
-to properly validate all input numbers and thus we refused to accept
-invalid metadata with 'garbage' string - but this results in the
-situation where metadata produced on older lvm2 on 32 bit architecture
-will become unreadable after upgrade.
-
-To fix this case - extend libdm parser in a way, that whenever we
-find error integer value, we also check if the parsed value is not for
-creation_time node and in this case we let the metadata pass through
-with made-up date 2018-05-24 (release date of 2.02.169).
----
- libdm/libdm-config.c | 18 +++++++++++++++---
- 1 file changed, 15 insertions(+), 3 deletions(-)
-
-diff --git a/libdm/libdm-config.c b/libdm/libdm-config.c
-index 3f0d2510e..382f86bbf 100644
---- a/libdm/libdm-config.c
-+++ b/libdm/libdm-config.c
-@@ -51,6 +51,8 @@ struct parser {
-
- struct dm_pool *mem;
- int no_dup_node_check; /* whether to disable dup node checking */
-+ const char *key; /* last obtained key */
-+ unsigned ignored_creation_time;
- };
-
- struct config_output {
-@@ -176,7 +178,7 @@ static int _do_dm_config_parse(struct dm_config_tree *cft, const char *start, co
- /* TODO? if (start == end) return 1; */
-
- struct parser *p;
-- if (!(p = dm_pool_alloc(cft->mem, sizeof(*p))))
-+ if (!(p = dm_pool_zalloc(cft->mem, sizeof(*p))))
- return_0;
-
- p->mem = cft->mem;
-@@ -615,6 +617,7 @@ static struct dm_config_node *_section(struct parser *p, struct dm_config_node *
- match(TOK_SECTION_E);
- } else {
- match(TOK_EQ);
-+ p->key = root->key;
- if (!(value = _value(p)))
- return_NULL;
- if (root->v)
-@@ -682,8 +685,17 @@ static struct dm_config_value *_type(struct parser *p)
- errno = 0;
- v->v.i = strtoll(p->tb, NULL, 0); /* FIXME: check error */
- if (errno) {
-- log_error("Failed to read int token.");
-- return NULL;
-+ if (errno == ERANGE && p->key &&
-+ strcmp("creation_time", p->key) == 0) {
-+ /* Due to a bug in some older 32bit builds (<2.02.169),
-+ * lvm was able to produce invalid creation_time string */
-+ v->v.i = 1527120000; /* Pick 2018-05-24 day instead */
-+ if (!p->ignored_creation_time++)
-+ log_warn("WARNING: Invalid creation_time found in metadata (repaired with next metadata update).");
-+ } else {
-+ log_error("Failed to read int token.");
-+ return NULL;
-+ }
- }
- match(TOK_INT);
- break;
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch
deleted file mode 100644
index c80bd2ba2bec..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.184-dmeventd-no-idle-exit.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 17 Apr 2019 06:54:27 +0000
-Subject: [PATCH] dmeventd configurable idle exit time
-
-dmeventd nominally exits after 1 hour of idle time. There are use cases for
-this, esp. with socket activation, but also cases where users don't expect
-dmeventd to exit.
-
-Provide a tuning knob via environment variable, DMEVENTD_IDLE_EXIT_TIMEOUT,
-that can be -1 to not exit, or a configurable time for different idle exit.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-Fixes: https://bugs.gentoo.org/682556
-
-diff -Nuar LVM2.2.02.184.orig/daemons/dmeventd/dmeventd.c LVM2.2.02.184/daemons/dmeventd/dmeventd.c
---- LVM2.2.02.184.orig/daemons/dmeventd/dmeventd.c 2019-03-22 03:14:59.000000000 -0700
-+++ LVM2.2.02.184/daemons/dmeventd/dmeventd.c 2019-04-17 00:18:23.535029906 -0700
-@@ -2158,6 +2158,18 @@
- .server_path = DM_EVENT_FIFO_SERVER
- };
- time_t now, idle_exit_timeout = DMEVENTD_IDLE_EXIT_TIMEOUT;
-+
-+ /* Provide a basic way to config the idle timeout */
-+ char* idle_exit_timeout_env = getenv("DMEVENTD_IDLE_EXIT_TIMEOUT") ? : NULL;
-+ if(NULL != idle_exit_timeout_env) {
-+ char* endptr;
-+ idle_exit_timeout = strtol(idle_exit_timeout_env, &endptr, 10);
-+ if (errno == ERANGE || *endptr != '\0') {
-+ fprintf(stderr, "DMEVENTD_IDLE_EXIT_TIMEOUT: bad time input\n");
-+ exit(EXIT_FAILURE);
-+ }
-+ }
-+
- opterr = 0;
- optind = 0;
-
-@@ -2253,7 +2265,7 @@
- _process_initial_registrations();
-
- for (;;) {
-- if (_idle_since) {
-+ if (_idle_since || _exit_now) {
- if (_exit_now) {
- if (_exit_now == DM_SCHEDULED_EXIT)
- break; /* Only prints shutdown message */
-@@ -2262,7 +2274,7 @@
- (long) (time(NULL) - _idle_since));
- break;
- }
-- if (idle_exit_timeout) {
-+ if (idle_exit_timeout && idle_exit_timeout > 0) {
- now = time(NULL);
- if (now < _idle_since)
- _idle_since = now; /* clock change? */
-diff -Nuar LVM2.2.02.184.orig/man/dmeventd.8_main LVM2.2.02.184/man/dmeventd.8_main
---- LVM2.2.02.184.orig/man/dmeventd.8_main 2019-03-22 03:15:00.000000000 -0700
-+++ LVM2.2.02.184/man/dmeventd.8_main 2019-04-17 00:17:46.076023638 -0700
-@@ -143,6 +143,10 @@
- Variable is set by thin plugin to prohibit recursive interation
- with dmeventd by any executed lvm2 command from
- a thin_command environment.
-+.TP
-+.B DMEVENTD_IDLE_EXIT_TIMEOUT
-+Configure the dmeventd idle exit timeout behavior, value in seconds. Default
-+is 3600 (1 hour). -1 means do not exit.
- .
- .SH SEE ALSO
- .
diff --git a/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch b/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch
deleted file mode 100644
index 49c6853f23a7..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.184-mksh_build.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://bugs.gentoo.org/686652
-
---- LVM2.2.02.184/tools/Makefile.in
-+++ LVM2.2.02.184/tools/Makefile.in
-@@ -220,6 +220,6 @@
- echo "/* Do not edit. This file is generated by the Makefile. */" && \
- echo -en "const char _command_input[] =\n\n\"" && \
- $(EGREP) -v '^#|\-\-\-|^$$' $(srcdir)/command-lines.in | $(AWK) 'BEGIN {ORS = "\\n\"\n\""} //' && \
-- echo "\\n\";" \
-+ printf "%s\n" "\\n\";" \
- ) > $@
-
- $(SOURCES:%.c=%.d) $(SOURCES2:%.c=%.d): command-lines-input.h command-count.h cmds.h
diff --git a/sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch b/sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch
deleted file mode 100644
index f895e1921e09..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.186-udev_remove_unsupported_option.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From f98f79a047dd1c4980008e0ed6c9ad4e18596cdc Mon Sep 17 00:00:00 2001
-From: Peter Rajnoha <prajnoha@redhat.com>
-Date: Tue, 13 Aug 2019 15:18:30 +0200
-Subject: [PATCH] udev: remove unsupported OPTIONS+="event_timeout" rule
-
-The OPTIONS+="event_timeout" is Unsupported since systemd/udev version 216,
-that is ~5 years ago.
-
-Since systemd/udev version 243, there's a new message printed if unsupported
-OPTIONS value is used:
-
- Invalid value for OPTIONS key, ignoring: 'event_timeout=180'
-
-Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1740666
----
- udev/11-dm-lvm.rules.in | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/udev/11-dm-lvm.rules.in b/udev/11-dm-lvm.rules.in
-index 91cb991df9..7c589943b7 100644
---- a/udev/11-dm-lvm.rules.in
-+++ b/udev/11-dm-lvm.rules.in
-@@ -37,8 +37,6 @@ ENV{DM_SUBSYSTEM_UDEV_FLAG0}!="1", ENV{DM_NOSCAN}=="1", ENV{DM_UDEV_DISABLE_OTHE
-
- ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}=="1", GOTO="lvm_end"
-
--OPTIONS+="event_timeout=180"
--
- # Do not create symlinks for inappropriate subdevices.
- ENV{DM_LV_NAME}=="pvmove?*|?*_vorigin", GOTO="lvm_disable"
- ENV{DM_LV_LAYER}=="?*", GOTO="lvm_disable"
---
-2.24.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.56-lvm2create_initrd.patch b/sys-fs/lvm2/files/lvm2-2.02.56-lvm2create_initrd.patch
deleted file mode 100644
index 59aaa9b34a08..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.56-lvm2create_initrd.patch
+++ /dev/null
@@ -1,72 +0,0 @@
---- LVM2.2.02.56/scripts/lvm2create_initrd/lvm2create_initrd.orig 2006-11-21 22:41:56.000000000 +0000
-+++ LVM2.2.02.56/scripts/lvm2create_initrd/lvm2create_initrd 2009-12-26 01:47:08.025224602 +0000
-@@ -54,7 +54,9 @@
- DEVRAM=/tmp/initrd.$$
-
- # set defaults
--BINFILES=${BINFILES:-"`which lvm` `which bash` `which busybox` `which pivot_root`"}
-+LVM=`which lvm.static`
-+LVM=${LVM:-"`which lvm`"}
-+BINFILES=${BINFILES:-"${LVM} `which bash` `which busybox` `which pivot_root`"}
- BASICDEVICES=${BASICDEVICES:-"std consoleonly fd"}
- BLOCKDEVICES=${BLOCKDEVICES:-"md hda hdb hdc hdd sda sdb sdc sdd"}
- MAKEDEV=${MAKEDEV:-"debian"}
-@@ -119,6 +121,10 @@
- echo "$PRE Mounting /proc"
- mount -t proc none /proc
-
-+# We need /sys for lvm
-+echo "$PRE Mounting /sys"
-+mount -t sysfs sysfs /sys
-+
- # plug in modules listed in /etc/modules
- if [ -f /etc/modules ]; then
- echo -n "$PRE plugging in kernel modules:"
-@@ -179,26 +185,29 @@
- # run a shell if we're passed lvm2rescue on commandline
- grep lvm2rescue /proc/cmdline 1>/dev/null 2>&1
- if [ $? -eq 0 ]; then
-- lvm vgchange --ignorelockingfailure -P -a y
-+ $LVM vgchange --ignorelockingfailure -P -a y
- do_shell
- else
-- lvm vgchange --ignorelockingfailure -a y
-+ $LVM vgchange --ignorelockingfailure -a y
- fi
-
- echo "$PRE Mounting root filesystem $rootvol ro"
- mkdir /rootvol
- if ! mount -t auto -o ro $rootvol /rootvol; then
-- echo "\t*FAILED*";
-+ echo "\t*FAILED TRYING TO MOUNT ROOTVOL*";
- do_shell
- fi
-
- echo "$PRE Umounting /proc"
- umount /proc
-
-+echo "$PRE Umounting /sys"
-+umount /sys
-+
- echo "$PRE Changing roots"
- cd /rootvol
- if ! pivot_root . initrd ; then
-- echo "\t*FAILED*"
-+ echo "\t*FAILED PIVOT TO NEW ROOT*"
- do_shell
- fi
-
-@@ -356,7 +365,7 @@
- fi
-
- verbose "creating basic set of directories in $TMPMNT"
--(cd $TMPMNT; mkdir bin dev etc lib proc sbin var)
-+(cd $TMPMNT; mkdir bin dev etc lib proc sbin sys var)
- if [ $? -ne 0 ]; then
- echo "$cmd -- ERROR creating directories in $TMPMNT"
- cleanup 1
-@@ -499,4 +508,3 @@
- FINALTXT
-
- cleanup 0
--
diff --git a/sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch b/sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch
deleted file mode 100644
index 5ddcb4e56711..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.63-always-make-static-libdm.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -Nuar --exclude '*~' LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in LVM2.2.02.63/daemons/dmeventd/Makefile.in
---- LVM2.2.02.63.orig/daemons/dmeventd/Makefile.in 2010-04-09 14:42:48.000000000 -0700
-+++ LVM2.2.02.63/daemons/dmeventd/Makefile.in 2010-04-19 11:53:27.000000000 -0700
-@@ -28,11 +28,12 @@
- INSTALL_LIB_TARGETS = install_lib_dynamic
-
- LIB_NAME = libdevmapper-event
-+LIB_STATIC = $(LIB_NAME).a
-+INSTALL_LIB_TARGETS += install_lib_static
-+TARGETS += $(LIB_STATIC)
- ifeq ("@STATIC_LINK@", "yes")
-- LIB_STATIC = $(LIB_NAME).a
-- TARGETS += $(LIB_STATIC) dmeventd.static
-+ TARGETS += dmeventd.static
- INSTALL_DMEVENTD_TARGETS += install_dmeventd_static
-- INSTALL_LIB_TARGETS += install_lib_static
- endif
-
- LIB_VERSION = $(LIB_VERSION_DM)
-diff -Nuar --exclude '*~' LVM2.2.02.63.orig/libdm/Makefile.in LVM2.2.02.63/libdm/Makefile.in
---- LVM2.2.02.63.orig/libdm/Makefile.in 2010-04-09 14:42:51.000000000 -0700
-+++ LVM2.2.02.63/libdm/Makefile.in 2010-04-19 11:52:20.000000000 -0700
-@@ -34,8 +34,8 @@
-
- INCLUDES = -I$(srcdir)/$(interface) -I$(srcdir)
-
--ifeq ("@STATIC_LINK@", "yes")
- LIB_STATIC = $(interface)/libdevmapper.a
-+ifeq ("@STATIC_LINK@", "yes")
- endif
-
- LIB_SHARED = $(interface)/libdevmapper.$(LIB_SUFFIX)
-@@ -63,8 +63,8 @@
-
- INSTALL_TYPE = install_dynamic
-
--ifeq ("@STATIC_LINK@", "yes")
- INSTALL_TYPE += install_static
-+ifeq ("@STATIC_LINK@", "yes")
- endif
-
- ifeq ("@PKGCONFIG@", "yes")
diff --git a/sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch b/sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch
deleted file mode 100644
index 7f0bfb894f02..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.67-createinitrd.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-X-Gentoo-Bug-URL: http://bugs.gentoo.org/show_bug.cgi?id=301331
-X-Gentoo-Bug: 301331
-
-diff -Nuar LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd
---- LVM2.2.02.67.orig/scripts/lvm2create_initrd/lvm2create_initrd 2010-06-07 18:44:34.182980475 +0000
-+++ LVM2.2.02.67/scripts/lvm2create_initrd/lvm2create_initrd 2010-06-07 18:51:27.636312899 +0000
-@@ -469,9 +469,9 @@
- rmdir $TMPMNT/lost+found
-
- echo "$cmd -- ummounting ram disk"
--umount $DEVRAM
-+umount $TMPMNT
- if [ $? -ne 0 ]; then
-- echo "$cmd -- ERROR umounting $DEVRAM"
-+ echo "$cmd -- ERROR umounting $TMPMNT"
- cleanup 1
- fi
-
diff --git a/sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch b/sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch
deleted file mode 100644
index fe7ec87931e3..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.02.99-locale-muck.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- LVM2/make.tmpl.in
-+++ LVM2/make.tmpl.in
-@@ -395,7 +395,7 @@
- ( cat $(srcdir)/.exported_symbols; \
- if test x$(EXPORTED_HEADER) != x; then \
- $(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \
-- $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
-+ LC_ALL=C $(SED) -ne "/^typedef|}/!s/.*[ *]\($(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \
- fi \
- ) > $@
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch b/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch
deleted file mode 100644
index 56aa2a7b79fc..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From dbb68df8d02eff87f10df331e17bd0940e158f56 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 24 Jul 2019 11:15:59 +0200
-Subject: [PATCH] Add pthread to libdevmapper pkgconfig file
-
-Forward-ported from 2.02.176 to 2.03.05
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- libdm/libdevmapper.pc.in | 2 +-
- tools/Makefile.in | 5 +++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/libdm/libdevmapper.pc.in b/libdm/libdevmapper.pc.in
-index a325aeb9e0..aa0980378f 100644
---- a/libdm/libdevmapper.pc.in
-+++ b/libdm/libdevmapper.pc.in
-@@ -9,4 +9,4 @@ Version: @DM_LIB_PATCHLEVEL@
- Cflags: -I${includedir}
- Libs: -L${libdir} -ldevmapper
- Requires.private: @SELINUX_PC@ @UDEV_PC@
--Libs.private: -lm @RT_LIBS@
-+Libs.private: -lm @RT_LIBS@ @PTHREAD_LIBS@
-diff --git a/tools/Makefile.in b/tools/Makefile.in
-index e5fc9c4ae4..12e4de2c63 100644
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -87,6 +87,7 @@ ifeq ("@STATIC_LINK@", "yes")
- TARGETS += lvm.static
- INSTALL_LVM_TARGETS += install_tools_static
- INSTALL_CMDLIB_TARGETS += install_cmdlib_static
-+ STATIC_LIBS += @PTHREAD_LIBS@
- endif
-
- LVMLIBS = $(SYSTEMD_LIBS) -L$(top_builddir)/libdm -ldevmapper $(LIBS) -laio
-@@ -113,6 +114,10 @@ CFLOW_TARGET = lvm
-
- include $(top_builddir)/make.tmpl
-
-+ifeq ("@STATIC_LINK@", "yes")
-+ STATIC_LIBS += @PTHREAD_LIBS@
-+endif
-+
- device-mapper:
-
- all: device-mapper
---
-2.22.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
deleted file mode 100644
index 80b6bc7a023f..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.12-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 4bdd215fd84e83a8119d0b971904221743a87a23 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Wed, 24 Jul 2019 11:11:35 +0200
-Subject: [PATCH] Add dynamic static ldflags
-
-Forward-ported from 2.02.178 to 2.03.05
-Forward-ported from 2.03.05 to 2.03.12
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- configure.ac | 2 ++
- daemons/dmeventd/Makefile.in | 2 +-
- make.tmpl.in | 1 +
- tools/Makefile.in | 2 +-
- 4 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 1a49e7fe7e..354b53b5ec 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -32,6 +32,7 @@ case "$host_os" in
- linux*)
- # equivalent to -rdynamic
- ELDFLAGS="-Wl,--export-dynamic"
-+ STATIC_LDFLAGS="-Wl,--no-export-dynamic"
- # FIXME Generate list and use --dynamic-list=.dlopen.sym
- CLDWHOLEARCHIVE="-Wl,-whole-archive"
- CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
-@@ -1860,6 +1861,7 @@ AC_SUBST(SYSCONFDIR)
- AC_SUBST(SYSTEMD_LIBS)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-+AC_SUBST(STATIC_LDFLAGS)
- AC_SUBST(STATIC_LINK)
- AC_SUBST(TESTSUITE_DATA)
- AC_SUBST(THIN)
-diff --git a/daemons/dmeventd/Makefile.in b/daemons/dmeventd/Makefile.in
-index af51198aae..f7896e581e 100644
---- a/daemons/dmeventd/Makefile.in
-+++ b/daemons/dmeventd/Makefile.in
-@@ -76,7 +76,7 @@ dmeventd: $(LIB_SHARED) dmeventd.o
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static dmeventd.o \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
-diff --git a/make.tmpl.in b/make.tmpl.in
-index 200ea2e05f..99f02e8b77 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -69,6 +69,7 @@ DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
- LDFLAGS ?= @LDFLAGS@
-+STATIC_LDFLAGS += @STATIC_LDFLAGS@
- CLDFLAGS += @CLDFLAGS@
- ELDFLAGS += @ELDFLAGS@
- LDDEPS += @LDDEPS@
-diff --git a/tools/Makefile.in b/tools/Makefile.in
-index ec546ca632..cdede2a058 100644
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -137,7 +137,7 @@ man-generator: man-generator.o
-
- lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) \
- -o $@ $+ $(LVMLIBS) $(STATIC_LIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
---
-2.31.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch b/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch
deleted file mode 100644
index 5bb776c9b5ed..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.12-static-libm.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 4917d9c8b6227256a4a83ff937119d6aa53d654e Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Sun, 9 May 2021 11:02:54 +0200
-Subject: [PATCH] Add libm to static libs
-
----
- make.tmpl.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/make.tmpl.in b/make.tmpl.in
-index ae189546d0..8ee00bd9e8 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -64,7 +64,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
- LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS) $(M_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
---
-2.31.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch b/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch
deleted file mode 100644
index a3a4642e8281..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.12-static-pkgconfig-libs-2.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 27ab05863dc56fcd7254bccf30797f9e3c448cac Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Mon, 12 Jul 2021 10:36:04 -0400
-Subject: [PATCH] libdm: add SELINUX_STATIC_LIBS and UDEV_STATIC_LIBS to
- make.tmpl.in
-
-Fixes link failure for dmsetup.static.
----
- libdm/make.tmpl.in | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/libdm/make.tmpl.in b/libdm/make.tmpl.in
-index a306101d5..2309fb3e5 100644
---- a/libdm/make.tmpl.in
-+++ b/libdm/make.tmpl.in
-@@ -55,7 +55,7 @@ RM = rm -f
-
- LIBS += @LIBS@ $(PTHREAD_LIBS) $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -71,8 +71,10 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_LIBS = @READLINE_LIBS@
- EDITLINE_LIBS = @EDITLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
- SYSTEMD_LIBS = @SYSTEMD_LIBS@
---
-2.32.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch b/sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch
deleted file mode 100644
index 0b4a156c630f..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-dm_lvm_rules_no_systemd.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 88d5b3d711c8546864e57dbfba7591a19be80c4d Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 27 Dec 2021 00:53:21 +0100
-Subject: [PATCH] Don't use systemd-run in 69-dm-lvm.rules
-
-some people don't run systemd
----
- udev/69-dm-lvm.rules.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in
-index 39e5b9807..6ba4efa0f 100644
---- a/udev/69-dm-lvm.rules.in
-+++ b/udev/69-dm-lvm.rules.in
-@@ -62,8 +62,8 @@ ENV{SYSTEMD_READY}="1"
- # LVM_VG_NAME_COMPLETE='foo'
- #
- # When the VG is complete it can be activated, so
--# vgchange -aay <vgname> is run. It is run via
--# systemd since it can take longer to run than
-+# vgchange -aay <vgname> is run. It can take
-+# longer to run than
- # udev wants to block when processing rules.
- # (if there are hundreds of LVs to activate,
- # the vgchange can take many seconds.)
-@@ -80,7 +80,7 @@ ENV{SYSTEMD_READY}="1"
- # it's better suited to appearing in the journal.
-
- IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --udevoutput --journal=output $env{DEVNAME}"
--ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="/usr/bin/systemd-run -r --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} lvm vgchange -aay --nohints $env{LVM_VG_NAME_COMPLETE}"
-+ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(LVM_EXEC)/lvm vgchange -aay --nohints $env{LVM_VG_NAME_COMPLETE}"
- GOTO="lvm_end"
-
- LABEL="lvm_end"
---
-2.34.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
deleted file mode 100644
index 1b5524a61405..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-r1-add-fcntl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.gentoo.org/712336
-https://bugs.gentoo.org/549506
-
-Adds fcntl.h into daemon-server.c to define fcntl and some constants.
-
----
- libdaemon/server/daemon-server.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libdaemon/server/daemon-server.c b/libdaemon/server/daemon-server.c
-index 88905a7..771b021 100644
---- a/libdaemon/server/daemon-server.c
-+++ b/libdaemon/server/daemon-server.c
-@@ -28,6 +28,7 @@
- #include <sys/un.h>
- #include <unistd.h>
- #include <signal.h>
-+#include <fcntl.h>
-
- #include <syslog.h> /* FIXME. For the global closelog(). */
-
---
-2.35.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
deleted file mode 100644
index 56248e10e5d6..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-r1-fopen-to-freopen.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-In musl stdout, stdin and stderr are read-only unlike in glibc.
-This patch changes std* = fopen(...) to freopen(..., std*).
-
-See: https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html and https://wiki.gentoo.org/wiki/User:Sam/Musl_porting_notes
-
----
- tools/lvmcmdline.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
-index 1e12bed..19da1e5 100644
---- a/tools/lvmcmdline.c
-+++ b/tools/lvmcmdline.c
-@@ -3384,7 +3384,7 @@ static int _check_standard_fds(void)
- 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
-@@ -3394,7 +3394,7 @@ static int _check_standard_fds(void)
- }
-
- 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 */
-@@ -3402,7 +3402,7 @@ static int _check_standard_fds(void)
- }
-
- 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;
---
-2.35.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch b/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
deleted file mode 100644
index af4cbc0d5aab..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-r1-mallinfo.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-https://git.alpinelinux.org/aports/tree/main/lvm2/mallinfo.patch
-
-Patch from Alpine, disables _allocate_memory since mallinfo isn't defined in musl.
-19:17 <@sam_> your caution is well-advised, but it should be safe enough given it's only affecting the non-glibc path
-
-Should be looked back to!
-
---- ./lib/mm/memlock.c.orig 2015-03-09 11:18:41.560028850 -0100
-+++ ./lib/mm/memlock.c 2015-03-09 11:19:54.504373309 -0100
-@@ -137,7 +137,7 @@
-
- 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;
diff --git a/sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch b/sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch
deleted file mode 100644
index e259547a47b0..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.14-static-pkgconfig-libs.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From ac7cce039825ff779795b5c2ae0ecf00ba43a401 Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Sun, 9 May 2021 11:00:22 +0200
-Subject: [PATCH] Use pkgconfig to detect static libs
-
----
- configure.ac | 20 ++++++++++++++++++--
- make.tmpl.in | 5 ++++-
- 2 files changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 6cdf1a7e65..90452ebf7c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1168,6 +1168,7 @@ if test "$BLKID_WIPING" != no; then
- PKG_CHECK_MODULES(BLKID, blkid >= 2.24,
- [ BLKID_WIPING=yes
- BLKID_PC="blkid"
-+ BLKID_STATIC_LIBS=`$PKG_CONFIG --static --libs $BLKID_PC`
- DEFAULT_USE_BLKID_WIPING=1
- AC_DEFINE([BLKID_WIPING_SUPPORT], 1, [Define to 1 to use libblkid detection of signatures when wiping.])
- ], [if test "$BLKID_WIPING" = maybe; then
-@@ -1213,6 +1214,7 @@ AC_MSG_RESULT($UDEV_SYNC)
- if test "$UDEV_SYNC" = yes; then
- pkg_config_init
- PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
-+ UDEV_STATIC_LIBS=`$PKG_CONFIG --static --libs libudev`
- AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
-
- AC_CHECK_LIB(udev, udev_device_get_is_initialized, AC_DEFINE([HAVE_LIBUDEV_UDEV_DEVICE_GET_IS_INITIALIZED], 1,
-@@ -1432,19 +1434,30 @@ dnl -- Check for selinux
- if test "$SELINUX" = yes; then
- AC_CHECK_LIB([sepol], [sepol_check_context], [
- AC_DEFINE([HAVE_SEPOL], 1, [Define to 1 if sepol_check_context is available.])
-- SELINUX_LIBS="-lsepol"])
-+ SEPOL_LIBS="-lsepol"])
-+
-+ dnl -- init pkgconfig if required
-+ AS_IF([test x$PKGCONFIG_INIT != x1], [pkg_config_init])
-+ PKG_CHECK_MODULES(SELINUX, libselinux, [
-+ SELINUX_PC="libselinux"
-+ SELINUX_STATIC_LIBS=`$PKG_CONFIG --static --libs libselinux`
-+ SELINUX_LIBS="$SELINUX_LIBS $SEPOL_LIBS"
-+ AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-+ ], [
-+ dnl -- old non-pkgconfig method, is buggy with static builds
-
- AC_CHECK_LIB([selinux], [is_selinux_enabled], [
- AC_CHECK_HEADERS([selinux/selinux.h],, hard_bailout)
- AC_CHECK_HEADERS([selinux/label.h])
- AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
-- SELINUX_LIBS="-lselinux $SELINUX_LIBS"
-+ SELINUX_LIBS="-lselinux $SEPOL_LIBS"
- SELINUX_PC="libselinux"
- HAVE_SELINUX=yes ], [
- AC_MSG_WARN(Disabling selinux)
- SELINUX_LIBS=
- SELINUX_PC=
- HAVE_SELINUX=no ])
-+ ])
- fi
-
- ################################################################################
-@@ -1834,6 +1847,7 @@ AC_ARG_VAR([UDEV_LIBS], [linker flags for udev])
- ################################################################################
- AC_SUBST(AWK)
- AC_SUBST(BLKID_PC)
-+AC_SUBST(BLKID_STATIC_LIBS)
- AC_SUBST(BUILD_CMIRRORD)
- AC_SUBST(BUILD_DMEVENTD)
- AC_SUBST(BUILD_LVMDBUSD)
-@@ -1934,6 +1948,7 @@ AC_SUBST(SALCK_LIBS)
- AC_SUBST(SBINDIR)
- AC_SUBST(SELINUX_LIBS)
- AC_SUBST(SELINUX_PC)
-+AC_SUBST(SELINUX_STATIC_LIBS)
- AC_SUBST(SYSCONFDIR)
- AC_SUBST(SNAPSHOTS)
- AC_SUBST(STATICDIR)
-@@ -1950,6 +1965,7 @@ AC_SUBST(CACHE_REPAIR_CMD)
- AC_SUBST(CACHE_RESTORE_CMD)
- AC_SUBST(UDEV_PC)
- AC_SUBST(UDEV_RULES)
-+AC_SUBST(UDEV_STATIC_LIBS)
- AC_SUBST(UDEV_SYNC)
- AC_SUBST(UDEV_SYSTEMD_BACKGROUND_JOBS)
- AC_SUBST(UDEV_RULE_EXEC_DETECTION)
-diff --git a/make.tmpl.in b/make.tmpl.in
-index cccda10d6f..bf6c3e5596 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -64,7 +64,7 @@ PYCOMPILE = $(top_srcdir)/autoconf/py-compile
- LIBS += @LIBS@ $(SELINUX_LIBS) $(UDEV_LIBS) $(RT_LIBS) $(M_LIBS)
- LVMLIBS = $(DMEVENT_LIBS) $(READLINE_LIBS) $(EDITLINE_LIBS) $(SYSTEMD_LIBS) $(BLKID_LIBS) $(AIO_LIBS) $(LIBS)
- # Extra libraries always linked with static binaries
--STATIC_LIBS = $(PTHREAD_LIBS)
-+STATIC_LIBS = $(PTHREAD_LIBS) $(SELINUX_STATIC_LIBS) $(UDEV_STATIC_LIBS) $(BLKID_STATIC_LIBS)
- DEFS += @DEFS@
- # FIXME set this only where it's needed, not globally?
- CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@
-@@ -82,6 +82,7 @@ AIO_CFLAGS = @AIO_CFLAGS@
- AIO_LIBS = @AIO_LIBS@
- BLKID_CFLAGS = @BLKID_CFLAGS@
- BLKID_LIBS = @BLKID_LIBS@
-+BLKID_STATIC_LIBS = @BLKID_STATIC_LIBS@
- CPG_CFLAGS = @CPG_CFLAGS@
- CPG_LIBS = @CPG_LIBS@
- EDITLINE_CFLAGS = @EDITLINE_CFLAGS@
-@@ -90,10 +91,12 @@ PTHREAD_LIBS = @PTHREAD_LIBS@
- READLINE_CFLAGS = @READLINE_CFLAGS@
- READLINE_LIBS = @READLINE_LIBS@
- SELINUX_LIBS = @SELINUX_LIBS@
-+SELINUX_STATIC_LIBS = @SELINUX_STATIC_LIBS@
- SYSTEMD_CFLAGS = @SYSTEMD_CFLAGS@
- SYSTEMD_LIBS = @SYSTEMD_LIBS@
- UDEV_CFLAGS = @UDEV_CFLAGS@
- UDEV_LIBS = @UDEV_LIBS@
-+UDEV_STATIC_LIBS = @UDEV_STATIC_LIBS@
- VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
- VALGRIND_LIBS = @VALGRIND_LIBS@
-
---
-2.33.1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.20-dm_lvm_rules_no_systemd.patch b/sys-fs/lvm2/files/lvm2-2.03.20-dm_lvm_rules_no_systemd.patch
new file mode 100644
index 000000000000..e39d7959b331
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.20-dm_lvm_rules_no_systemd.patch
@@ -0,0 +1,11 @@
+--- a/udev/69-dm-lvm.rules.in
++++ b/udev/69-dm-lvm.rules.in
+@@ -76,7 +76,7 @@
+ # it's better suited to appearing in the journal.
+
+ IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output $env{DEVNAME}"
+-ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(SYSTEMDRUN) --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
++ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="(LVM_EXEC)/lvm vgchange -aay --nohints --autoactivation event $env{LVM_VG_NAME_COMPLETE}"
+ GOTO="lvm_end"
+
+ LABEL="lvm_end"
diff --git a/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch b/sys-fs/lvm2/files/lvm2-2.03.20-dmeventd-no-idle-exit.patch
index ec37e5da1dc7..8f3cb5534d95 100644
--- a/sys-fs/lvm2/files/lvm2-2.03.05-dmeventd-no-idle-exit.patch
+++ b/sys-fs/lvm2/files/lvm2-2.03.20-dmeventd-no-idle-exit.patch
@@ -12,19 +12,9 @@ that can be -1 to not exit, or a configurable time for different idle exit.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Fixes: https://bugs.gentoo.org/682556
-
-Forward-ported from 2.02.184 to 2.03.05
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- daemons/dmeventd/dmeventd.c | 16 ++++++++++++++--
- man/dmeventd.8_main | 4 ++++
- 2 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c
-index 33859ef414..ac0b9743fc 100644
--- a/daemons/dmeventd/dmeventd.c
+++ b/daemons/dmeventd/dmeventd.c
-@@ -2158,6 +2158,18 @@ int main(int argc, char *argv[])
+@@ -2169,6 +2169,18 @@
.server_path = DM_EVENT_FIFO_SERVER
};
time_t now, idle_exit_timeout = DMEVENTD_IDLE_EXIT_TIMEOUT;
@@ -43,7 +33,7 @@ index 33859ef414..ac0b9743fc 100644
opterr = 0;
optind = 0;
-@@ -2253,7 +2265,7 @@ int main(int argc, char *argv[])
+@@ -2265,7 +2277,7 @@
_process_initial_registrations();
for (;;) {
@@ -52,7 +42,7 @@ index 33859ef414..ac0b9743fc 100644
if (_exit_now) {
if (_exit_now == DM_SCHEDULED_EXIT)
break; /* Only prints shutdown message */
-@@ -2262,7 +2274,7 @@ int main(int argc, char *argv[])
+@@ -2274,7 +2286,7 @@
(long) (time(NULL) - _idle_since));
break;
}
@@ -61,12 +51,10 @@ index 33859ef414..ac0b9743fc 100644
now = time(NULL);
if (now < _idle_since)
_idle_since = now; /* clock change? */
-diff --git a/man/dmeventd.8_main b/man/dmeventd.8_main
-index dc4abf627e..4b0e522041 100644
--- a/man/dmeventd.8_main
+++ b/man/dmeventd.8_main
-@@ -178,6 +178,10 @@ is processed.
- Variable is set by thin and vdo plugin to prohibit recursive interation
+@@ -169,6 +169,10 @@
+ Variable is set by thin and vdo plugin to prohibit recursive interaction
with dmeventd by any executed lvm2 command from
a thin_command, vdo_command environment.
+.TP
@@ -76,6 +64,3 @@ index dc4abf627e..4b0e522041 100644
.
.SH SEE ALSO
.
---
-2.22.0
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.06-example.conf.in.patch b/sys-fs/lvm2/files/lvm2-2.03.20-example.conf.in.patch
index 329bfde6ca91..b63b681e5fab 100644
--- a/sys-fs/lvm2/files/lvm2-2.03.06-example.conf.in.patch
+++ b/sys-fs/lvm2/files/lvm2-2.03.20-example.conf.in.patch
@@ -1,19 +1,8 @@
-From a26cc1e7e299b61d1877ead03aacafef9fbe81ff Mon Sep 17 00:00:00 2001
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Fri, 25 Oct 2019 08:45:17 +0200
-Subject: [PATCH] Add Gentoo specific changes
+Add Gentoo specific changes
-Forward-ported from 2.03.05 to 2.03.06
-Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
----
- conf/example.conf.in | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/conf/example.conf.in b/conf/example.conf.in
-index 05b0857920..33ffb0097c 100644
--- a/conf/example.conf.in
+++ b/conf/example.conf.in
-@@ -143,6 +143,9 @@ devices {
+@@ -170,6 +170,9 @@
# Example
# Accept every block device:
# filter = [ "a|.*|" ]
@@ -23,7 +12,7 @@ index 05b0857920..33ffb0097c 100644
# Reject the cdrom drive:
# filter = [ "r|/dev/cdrom|" ]
# Work with just loopback devices, e.g. for testing:
-@@ -1680,7 +1683,7 @@ activation {
+@@ -1843,7 +1846,7 @@
# Configuration section metadata.
# This configuration section has an automatic default value.
@@ -32,8 +21,8 @@ index 05b0857920..33ffb0097c 100644
# Configuration option metadata/check_pv_device_sizes.
# Check device sizes are not smaller than corresponding PV sizes.
-@@ -1725,7 +1728,8 @@ activation {
- #
+@@ -1888,7 +1891,8 @@
+ #
# This configuration option is advanced.
# This configuration option has an automatic default value.
- # pvmetadatacopies = 1
@@ -42,7 +31,7 @@ index 05b0857920..33ffb0097c 100644
# Configuration option metadata/vgmetadatacopies.
# Number of copies of metadata to maintain for each VG.
-@@ -1768,7 +1772,7 @@ activation {
+@@ -1931,7 +1935,7 @@
# This configuration option is advanced.
# This configuration option has an automatic default value.
# stripesize = 64
@@ -51,6 +40,3 @@ index 05b0857920..33ffb0097c 100644
# Configuration section report.
# LVM report command output formatting.
---
-2.24.0.rc1
-
diff --git a/sys-fs/lvm2/files/lvm2-2.03.20-freopen-musl.patch b/sys-fs/lvm2/files/lvm2-2.03.20-freopen-musl.patch
new file mode 100644
index 000000000000..2b3f0a91f2a7
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.20-freopen-musl.patch
@@ -0,0 +1,54 @@
+From 4cf08811e112100a2b10c60047f3c537ad21d674 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 28 Jan 2023 14:22:42 +0100
+Subject: [PATCH] Use `freopen()` on {stdin,stdout,stderr}
+
+* ISO C does not guarantee that the standard streams are modifiable
+ lvalues. Glibc even calls out this behaviour as non-portable:
+ https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
+--- a/lib/log/log.c
++++ b/lib/log/log.c
+@@ -208,7 +208,11 @@ int reopen_standard_stream(FILE **stream, const char *mode)
+
+ _check_and_replace_standard_log_streams(old_stream, new_stream);
+
++#ifdef __GLIBC__
+ *stream = new_stream;
++#else
++ freopen(NULL, mode, *stream);
++#endif
+ return 1;
+ }
+
+--- a/tools/lvmcmdline.c
++++ b/tools/lvmcmdline.c
+@@ -3422,7 +3422,7 @@ static int _check_standard_fds(void)
+ 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
+@@ -3432,7 +3432,7 @@ static int _check_standard_fds(void)
+ }
+
+ 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 */
+@@ -3440,7 +3440,7 @@ static int _check_standard_fds(void)
+ }
+
+ 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;
+--
+2.39.2
+
diff --git a/sys-fs/lvm2/files/lvm2-2.03.22-autoconf-2.72-egrep.patch b/sys-fs/lvm2/files/lvm2-2.03.22-autoconf-2.72-egrep.patch
new file mode 100644
index 000000000000..9ce7d540200e
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.22-autoconf-2.72-egrep.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/920798
+https://gitlab.com/lvmteam/lvm2/-/merge_requests/4
+
+From 39cb34e56b8c04b4d652eb9dbd643e10a05ff21c Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.kang@windriver.com>
+Date: Mon, 6 Nov 2023 16:44:41 +0800
+Subject: [PATCH] configure.ac: check egrep
+
+The macro AC_HEADER_STDC which requires AC_PROG_EGREP has been removed
+from configure.ac, then it fails to substitute '@EGREP@':
+
+| [GEN] command-lines-input.h
+| /bin/bash: line 2: @EGREP@: command not found
+| [GEN] command-count.h
+
+Call AC_PROG_EGREP to fix the error.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+--- a/configure.ac
++++ b/configure.ac
+@@ -78,6 +78,7 @@ AC_PROG_LN_S
+ AC_PROG_MAKE_SET
+ AC_PROG_MKDIR_P
+ AC_PROG_RANLIB
++AC_PROG_EGREP
+ AC_CHECK_TOOL([READELF], [readelf])
+ AC_CHECK_TOOL(AR, ar)
+ AC_PATH_TOOL(CFLOW_CMD, cflow)
+--
+GitLab
diff --git a/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3 b/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
deleted file mode 100644
index 55bbf9c4b63b..000000000000
--- a/sys-fs/lvm2/files/lvmetad.initd-2.02.116-r3
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="/run/lvmetad.pid"
-command="/sbin/lvmetad"
-command_args="${LVMETAD_OPTS:=-p ${pidfile}}"
-start_stop_daemon_args="--pidfile ${pidfile}"
-
-depend() {
- :
-}
-
-start_pre()
-{
- checkpath --directory /run/lvm || return 1
-}
diff --git a/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1 b/sys-fs/lvm2/files/lvmlockd.initd-r2
index 8b5986fae242..8b5986fae242 100644
--- a/sys-fs/lvm2/files/lvmlockd.initd-2.02.166-r1
+++ b/sys-fs/lvm2/files/lvmlockd.initd-r2
diff --git a/sys-fs/lvm2/files/lvmpolld.initd-2.02.183 b/sys-fs/lvm2/files/lvmpolld.initd-r1
index 6b260109a668..6b260109a668 100644
--- a/sys-fs/lvm2/files/lvmpolld.initd-2.02.183
+++ b/sys-fs/lvm2/files/lvmpolld.initd-r1
diff --git a/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild b/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild
deleted file mode 100644
index 50111c5fabb3..000000000000
--- a/sys-fs/lvm2/lvm2-2.02.188-r3.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm2create-initrd sanlock selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm2create-initrd !sanlock !thin )
- static? ( !systemd !udev )
- static-libs? ( !udev )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- dev-libs/libaio[static-libs?]
- static? ( dev-libs/libaio[static-libs] )
- !static? ( dev-libs/libaio[static-libs?] )
- readline? ( sys-libs/readline:0= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:= )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- >=sys-apps/util-linux-2.16
- lvm2create-initrd? ( sys-apps/makedev )
- !device-mapper-only? ( virtual/tmpfiles )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch
-
- # For upstream -- review and forward:
- "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
- #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
- "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch
- #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
- "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
- "${FILESDIR}"/${PN}-2.02.186-udev_remove_unsupported_option.patch #700160
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
-
- if use udev && ! use device-mapper-only; then
- sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196
- elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in"
- elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad"
- elog "if it was previously disabled."
- fi
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Don't install thin man page when not requested
- if ! use thin ; then
- sed -i -e 's/^\(MAN7+=.*\) $(LVMTHINMAN) \(.*\)$/\1 \2/' man/Makefile.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
- local myeconfargs=()
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- myeconfargs+=(
- $(use_enable !device-mapper-only dmfilemapd)
- $(use_enable !device-mapper-only dmeventd)
- $(use_enable !device-mapper-only cmdlib)
- $(use_enable !device-mapper-only applib)
- $(use_enable !device-mapper-only fsadm)
- $(use_enable !device-mapper-only lvmetad)
- $(use_enable !device-mapper-only lvmpolld)
- $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
-
- # This only causes the .static versions to become available
- $(usex static --enable-static_link '')
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex device-mapper-only none internal)"
- --with-snapshots="$(usex device-mapper-only none internal)"
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- $(usex hppa --disable-o_direct '')
- )
-
- if use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=( --with-clvmd=none --with-cluster=none )
-
- myeconfargs+=(
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "$(get_udevdir)"/rules.d)
- $(use_enable sanlock lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- $(use_enable systemd notify-dbus)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="/bin/bash" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake V=1
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake V=1 device-mapper
- else
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- local INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- if ! use device-mapper-only; then
- tmpfiles_process lvm2.conf
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- # This is a new installation
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to be causing problems for UDEV-enabled LVM services."
- fi
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.03.14-r2.ebuild b/sys-fs/lvm2/lvm2-2.03.14-r2.ebuild
deleted file mode 100644
index 2da81764efe4..000000000000
--- a/sys-fs/lvm2/lvm2-2.03.14-r2.ebuild
+++ /dev/null
@@ -1,299 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-TMPFILES_OPTIONAL=1
-inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
-
-DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
-HOMEPAGE="https://sourceware.org/lvm2/"
-SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz
- ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="readline static static-libs systemd lvm2create-initrd sanlock selinux +udev +thin device-mapper-only"
-REQUIRED_USE="device-mapper-only? ( !lvm2create-initrd !sanlock !thin )
- static? ( !systemd !udev )
- static-libs? ( static !udev )
- systemd? ( udev )"
-
-DEPEND_COMMON="
- dev-libs/libaio[static-libs?]
- static? ( dev-libs/libaio[static-libs] )
- !static? ( dev-libs/libaio[static-libs?] )
- readline? ( sys-libs/readline:0= )
- sanlock? ( sys-cluster/sanlock )
- systemd? ( >=sys-apps/systemd-205:0= )
- udev? ( >=virtual/libudev-208:= )"
-# /run is now required for locking during early boot. /var cannot be assumed to
-# be available -- thus, pull in recent enough baselayout for /run.
-# This version of LVM is incompatible with cryptsetup <1.1.2.
-RDEPEND="${DEPEND_COMMON}
- >=sys-apps/baselayout-2.2
- >=sys-apps/util-linux-2.16
- lvm2create-initrd? ( sys-apps/makedev )
- !device-mapper-only? ( virtual/tmpfiles )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-DEPEND="${DEPEND_COMMON}
- static? (
- readline? ( sys-libs/readline[static-libs] )
- selinux? ( sys-libs/libselinux[static-libs] )
- >=sys-apps/util-linux-2.16[static-libs]
- )"
-BDEPEND="
- sys-devel/autoconf-archive
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${PN/lvm/LVM}.${PV}"
-
-PATCHES=(
- # Gentoo specific modification(s):
- "${FILESDIR}"/${PN}-2.03.06-example.conf.in.patch
-
- # For upstream -- review and forward:
- #"${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch # FIXME: breaks libdm/dm-tools build
- "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch
- "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331
- "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373
- #"${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed
- "${FILESDIR}"/${PN}-2.03.12-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.03.14-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.03.12-static-pkgconfig-libs-2.patch
- "${FILESDIR}"/${PN}-2.03.05-pthread-pkgconfig.patch #492450
- "${FILESDIR}"/${PN}-2.03.12-static-libm.patch #617756
- "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446
- #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream
- "${FILESDIR}"/${PN}-2.03.05-dmeventd-no-idle-exit.patch
- #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream
- "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652
- "${FILESDIR}"/${PN}-2.03.14-r1-add-fcntl.patch
- "${FILESDIR}"/${PN}-2.03.14-r1-fopen-to-freopen.patch
- "${FILESDIR}"/${PN}-2.03.14-r1-mallinfo.patch
-)
-
-pkg_setup() {
- local CONFIG_CHECK="~SYSVIPC"
-
- if use udev; then
- local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
- if linux_config_exists; then
- local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
- if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
- ewarn "It's recommended to set an empty value to the following kernel config option:"
- ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
- fi
- fi
- fi
-
- check_extra_config
-
- # 1. Genkernel no longer copies /sbin/lvm blindly.
- if use static; then
- elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
- elog "their static versions. If you need the static binaries,"
- elog "you must append .static to the filename!"
- fi
-}
-
-src_prepare() {
- default
-
- # Users without systemd get no auto-activation of any logical volume
- if ! use systemd ; then
- eapply "${FILESDIR}"/${PN}-2.03.14-dm_lvm_rules_no_systemd.patch
- fi
-
- sed -i \
- -e "1iAR = $(tc-getAR)" \
- -e "s:CC ?= @CC@:CC = $(tc-getCC):" \
- make.tmpl.in || die #444082
-
- sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212
-
- sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514
-
- # Don't install thin man page when not requested
- if ! use thin ; then
- sed -i -e 's/^\(MAN7+=.*\) $(LVMTHINMAN) \(.*\)$/\1 \2/' man/Makefile.in || die
- fi
-
- eautoreconf
-}
-
-src_configure() {
- filter-flags -flto
-
- # Workaround for bug #822210
- tc-ld-disable-gold
-
- local myeconfargs=()
-
- # Most of this package does weird stuff.
- # The build options are tristate, and --without is NOT supported
- # options: 'none', 'internal', 'shared'
- myeconfargs+=(
- $(use_enable !device-mapper-only dmfilemapd)
- $(use_enable !device-mapper-only dmeventd)
- $(use_enable !device-mapper-only cmdlib)
- $(use_enable !device-mapper-only fsadm)
- $(use_enable !device-mapper-only lvmpolld)
- $(usex device-mapper-only --disable-udev-systemd-background-jobs '')
-
- # This only causes the .static versions to become available
- $(usex static --enable-static_link '')
-
- # dmeventd requires mirrors to be internal, and snapshot available
- # so we cannot disable them
- --with-mirrors="$(usex device-mapper-only none internal)"
- --with-snapshots="$(usex device-mapper-only none internal)"
-
- # disable O_DIRECT support on hppa, breaks pv detection (#99532)
- $(usex hppa --disable-o_direct '')
- )
-
- if use thin; then
- myeconfargs+=( --with-thin=internal --with-cache=internal )
- local texec
- for texec in check dump repair restore; do
- myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
- myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
- done
- else
- myeconfargs+=( --with-thin=none --with-cache=none )
- fi
-
- myeconfargs+=(
- $(use_enable readline)
- $(use_enable selinux)
- --enable-pkgconfig
- --with-confdir="${EPREFIX}"/etc
- --exec-prefix="${EPREFIX}"
- --sbindir="${EPREFIX}/sbin"
- --with-staticdir="${EPREFIX}"/sbin
- --libdir="${EPREFIX}/$(get_libdir)"
- --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
- --with-default-dm-run-dir=/run
- --with-default-run-dir=/run/lvm
- --with-default-locking-dir=/run/lock/lvm
- --with-default-pid-dir=/run
- $(use_enable udev udev_rules)
- $(use_enable udev udev_sync)
- $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
- $(use_enable sanlock lvmlockd-sanlock)
- $(use_enable systemd udev-systemd-background-jobs)
- $(use_enable systemd notify-dbus)
- --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- CLDFLAGS="${LDFLAGS}"
- )
- # Hard-wire this to bash as some shells (dash) don't know
- # "-o pipefail" #682404
- CONFIG_SHELL="/bin/bash" \
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- pushd include >/dev/null
- emake V=1
- popd >/dev/null
-
- if use device-mapper-only ; then
- emake V=1 device-mapper
- else
- emake V=1
- emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat
- fi
-}
-
-src_install() {
- local inst
- local INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( SYSTEMD_GENERATOR_DIR="$(systemd_get_systemgeneratordir)" install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
-
- newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper
- newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper
-
- if use !device-mapper-only ; then
- newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd
- newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm
- newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm
- if ! use udev ; then
- # We keep the variable but remove udev from it.
- sed -r -i \
- -e '/^rc_need=/s/\<udev\>//g' \
- "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need"
- fi
-
- newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring
- newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld
- fi
-
- if use sanlock; then
- newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd
- fi
-
- if use static-libs; then
- dolib.a libdm/ioctl/libdevmapper.a
- if use !device-mapper-only; then
- # depends on lvmetad
- dolib.a libdaemon/client/libdaemonclient.a #462908
- # depends on dmeventd
- dolib.a daemons/dmeventd/libdevmapper-event.a
- fi
- else
- rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a
- fi
-
- if use lvm2create-initrd; then
- dosbin scripts/lvm2create_initrd/lvm2create_initrd
- doman scripts/lvm2create_initrd/lvm2create_initrd.8
- newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd
- fi
-
- insinto /etc
- doins "${FILESDIR}"/dmtab
-
- dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
-}
-
-pkg_postinst() {
- if ! use device-mapper-only; then
- tmpfiles_process lvm2.conf
- fi
-
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- # This is a new installation
- ewarn "Make sure the \"lvm\" init script is in the runlevels:"
- ewarn "# rc-update add lvm boot"
- ewarn
- ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want"
- ewarn "to enable lvm autoactivation and metadata caching."
- fi
-
- if use udev && [[ -d /run ]] ; then
- local permission_run_expected="drwxr-xr-x"
- local permission_run=$(stat -c "%A" /run)
- if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
- ewarn "Found the following problematic permissions:"
- ewarn ""
- ewarn " ${permission_run} /run"
- ewarn ""
- ewarn "Expected:"
- ewarn ""
- ewarn " ${permission_run_expected} /run"
- ewarn ""
- ewarn "This is known to be causing problems for UDEV-enabled LVM services."
- fi
- fi
-}
-
-src_test() {
- einfo "Tests are disabled because of device-node mucking, if you want to"
- einfo "run tests, compile the package and see ${S}/tests"
-}
diff --git a/sys-fs/lvm2/lvm2-2.03.21-r1.ebuild b/sys-fs/lvm2/lvm2-2.03.21-r1.ebuild
new file mode 100644
index 000000000000..83c4b4bbc058
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.03.21-r1.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TMPFILES_OPTIONAL=1
+inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
+S="${WORKDIR}/${PN^^}.${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="lvm readline sanlock selinux static static-libs systemd thin +udev valgrind"
+REQUIRED_USE="
+ static? ( !systemd !udev )
+ static-libs? ( static !udev )
+ systemd? ( udev )
+ thin? ( lvm )
+"
+
+DEPEND_COMMON="
+ udev? ( virtual/libudev:= )
+ lvm? (
+ dev-libs/libaio
+ sys-apps/util-linux
+ readline? ( sys-libs/readline:= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( sys-apps/systemd:= )
+ )
+"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="
+ ${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ lvm? (
+ virtual/tmpfiles
+ thin? ( <sys-block/thin-provisioning-tools-1.0.0 )
+ )
+"
+# note: thin-0.3.0 is required to avoid --disable-thin_check_needs_check
+DEPEND="
+ ${DEPEND_COMMON}
+ static? (
+ lvm? (
+ dev-libs/libaio[static-libs]
+ sys-apps/util-linux[static-libs]
+ readline? ( sys-libs/readline[static-libs] )
+ )
+ selinux? ( sys-libs/libselinux[static-libs] )
+ )
+ valgrind? ( >=dev-debug/valgrind-3.6 )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Users without systemd get no auto-activation of any logical volume
+ if ! use systemd ; then
+ eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-lto
+
+ # Workaround for bug #822210
+ tc-ld-disable-gold
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ local myeconfargs=(
+ $(use_enable lvm dmfilemapd)
+ $(use_enable lvm dmeventd)
+ $(use_enable lvm cmdlib)
+ $(use_enable lvm fsadm)
+ $(use_enable lvm lvmpolld)
+
+ # This only causes the .static versions to become available
+ $(usev static --enable-static_link)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex lvm internal none)"
+ --with-snapshots="$(usex lvm internal none)"
+ )
+
+ if use lvm && use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=(
+ # musl doesn't do symbol versioning so can end up with
+ # runtime breakage.
+ --with-symvers=$(usex elibc_glibc 'gnu' 'no')
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
+ # USE=sanlock requires USE=lvm
+ $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
+ $(use_enable systemd notify-dbus)
+ $(use_enable systemd app-machineid)
+ $(use_enable systemd systemd-journal)
+ $(use_with systemd systemd-run "/usr/bin/systemd-run")
+ $(use_enable valgrind valgrind-pool)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 -C include
+
+ if use lvm ; then
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts
+ else
+ emake V=1 device-mapper
+ # https://bugs.gentoo.org/878131
+ emake V=1 -C libdm/dm-tools device-mapper
+ fi
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
+src_install() {
+ local INSTALL_TARGETS=(
+ # full LVM2
+ $(usev lvm "install install_tmpfiles_configuration")
+ # install systemd related files only when requested, bug #522430
+ $(usev $(usex lvm systemd lvm) "SYSTEMD_GENERATOR_DIR=$(systemd_get_systemgeneratordir) \
+ install_systemd_units install_systemd_generators")
+
+ # install dm unconditionally
+ install_device-mapper
+ )
+ emake V=1 DESTDIR="${D}" "${INSTALL_TARGETS[@]}"
+
+ newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper
+
+ if use lvm ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-r1 lvm
+ newconfd "${FILESDIR}"/lvm.confd-r4 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
+ fi
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd
+ fi
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use lvm; then
+ # depends on lvmetad
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ # depends on dmeventd
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_preinst() {
+ HAD_LVM=0
+
+ if has_version 'sys-fs/lvm2[lvm(+)]' ; then
+ HAD_LVM=1
+ fi
+}
+
+pkg_postinst() {
+ use lvm && tmpfiles_process lvm2.conf
+ use udev && udev_reload
+
+ # This is a new installation
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if use lvm ; then
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ else
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ fi
+ else
+ if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
+ ewarn "LVM was previously enabled but is now disabled."
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
+ fi
+ fi
+
+ if use udev && [[ -d /run ]] ; then
+ local permission_run_expected="drwxr-xr-x"
+ local permission_run=$(stat -c "%A" /run)
+ if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
+ ewarn "Found the following problematic permissions:"
+ ewarn ""
+ ewarn " ${permission_run} /run"
+ ewarn ""
+ ewarn "Expected:"
+ ewarn ""
+ ewarn " ${permission_run_expected} /run"
+ ewarn ""
+ ewarn "This is known to cause problems for udev-enabled LVM services."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
+}
diff --git a/sys-fs/lvm2/lvm2-2.03.22-r1.ebuild b/sys-fs/lvm2/lvm2-2.03.22-r1.ebuild
new file mode 100644
index 000000000000..9a6df74983f8
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.03.22-r1.ebuild
@@ -0,0 +1,303 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TMPFILES_OPTIONAL=1
+inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
+S="${WORKDIR}/${PN^^}.${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="lvm readline sanlock selinux static static-libs systemd thin +udev valgrind"
+REQUIRED_USE="
+ static? ( !systemd !udev )
+ static-libs? ( static !udev )
+ systemd? ( udev )
+ thin? ( lvm )
+"
+
+DEPEND_COMMON="
+ udev? ( virtual/libudev:= )
+ lvm? (
+ dev-libs/libaio
+ sys-apps/util-linux
+ readline? ( sys-libs/readline:= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( sys-apps/systemd:= )
+ )
+"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="
+ ${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ lvm? (
+ virtual/tmpfiles
+ thin? ( <sys-block/thin-provisioning-tools-1.0.0 )
+ )
+"
+# note: thin-0.3.0 is required to avoid --disable-thin_check_needs_check
+DEPEND="
+ ${DEPEND_COMMON}
+ static? (
+ lvm? (
+ dev-libs/libaio[static-libs]
+ sys-apps/util-linux[static-libs]
+ readline? ( sys-libs/readline[static-libs] )
+ )
+ selinux? ( sys-libs/libselinux[static-libs] )
+ )
+ valgrind? ( >=dev-debug/valgrind-3.6 )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Users without systemd get no auto-activation of any logical volume
+ if ! use systemd ; then
+ eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-lto
+
+ # Workaround for bug #822210
+ tc-ld-disable-gold
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ local myeconfargs=(
+ $(use_enable lvm dmfilemapd)
+ $(use_enable lvm dmeventd)
+ $(use_enable lvm cmdlib)
+ $(use_enable lvm fsadm)
+ $(use_enable lvm lvmpolld)
+
+ # This only causes the .static versions to become available
+ $(usev static --enable-static_link)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex lvm internal none)"
+ --with-snapshots="$(usex lvm internal none)"
+ )
+
+ if use lvm && use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=(
+ # musl doesn't do symbol versioning so can end up with
+ # runtime breakage.
+ --with-symvers=$(usex elibc_glibc 'gnu' 'no')
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
+ # USE=sanlock requires USE=lvm
+ $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
+ $(use_enable systemd notify-dbus)
+ $(use_enable systemd app-machineid)
+ $(use_enable systemd systemd-journal)
+ $(use_with systemd systemd-run "/usr/bin/systemd-run")
+ $(use_enable valgrind valgrind-pool)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 -C include
+
+ if use lvm ; then
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts
+ else
+ emake V=1 device-mapper
+ # https://bugs.gentoo.org/878131
+ emake V=1 -C libdm/dm-tools device-mapper
+ fi
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
+src_install() {
+ local targets=()
+ if use lvm; then
+ targets+=( install install_tmpfiles_configuration )
+ if use systemd; then
+ # install systemd related files only when requested, bug #522430
+ targets+=( install_systemd_units )
+ fi
+ else
+ targets+=( install_device-mapper )
+ fi
+ emake V=1 DESTDIR="${D}" "${targets[@]}"
+
+ newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper
+
+ if use lvm ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-r1 lvm
+ newconfd "${FILESDIR}"/lvm.confd-r4 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
+ fi
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd
+ fi
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use lvm; then
+ # depends on lvmetad
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ # depends on dmeventd
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_preinst() {
+ HAD_LVM=0
+
+ if has_version 'sys-fs/lvm2[lvm(+)]' ; then
+ HAD_LVM=1
+ fi
+}
+
+pkg_postinst() {
+ use lvm && tmpfiles_process lvm2.conf
+ use udev && udev_reload
+
+ # This is a new installation
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if use lvm ; then
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ else
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ fi
+ else
+ if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
+ ewarn "LVM was previously enabled but is now disabled."
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
+ fi
+ fi
+
+ if use udev && [[ -d /run ]] ; then
+ local permission_run_expected="drwxr-xr-x"
+ local permission_run=$(stat -c "%A" /run)
+ if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
+ ewarn "Found the following problematic permissions:"
+ ewarn ""
+ ewarn " ${permission_run} /run"
+ ewarn ""
+ ewarn "Expected:"
+ ewarn ""
+ ewarn " ${permission_run_expected} /run"
+ ewarn ""
+ ewarn "This is known to cause problems for udev-enabled LVM services."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
+}
diff --git a/sys-fs/lvm2/lvm2-2.03.22-r3.ebuild b/sys-fs/lvm2/lvm2-2.03.22-r3.ebuild
new file mode 100644
index 000000000000..5f40121aaac2
--- /dev/null
+++ b/sys-fs/lvm2/lvm2-2.03.22-r3.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TMPFILES_OPTIONAL=1
+inherit autotools linux-info systemd toolchain-funcs tmpfiles udev flag-o-matic
+
+DESCRIPTION="User-land utilities for LVM2 (device-mapper) software"
+HOMEPAGE="https://sourceware.org/lvm2/"
+SRC_URI="https://sourceware.org/ftp/lvm2/${PN^^}.${PV}.tgz"
+S="${WORKDIR}/${PN^^}.${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="lvm readline sanlock selinux static static-libs systemd thin +udev valgrind"
+REQUIRED_USE="
+ static? ( !systemd !udev )
+ static-libs? ( static !udev )
+ systemd? ( udev )
+ thin? ( lvm )
+"
+
+DEPEND_COMMON="
+ udev? ( virtual/libudev:= )
+ lvm? (
+ dev-libs/libaio
+ sys-apps/util-linux
+ readline? ( sys-libs/readline:= )
+ sanlock? ( sys-cluster/sanlock )
+ systemd? ( sys-apps/systemd:= )
+ )
+"
+# /run is now required for locking during early boot. /var cannot be assumed to
+# be available -- thus, pull in recent enough baselayout for /run.
+# This version of LVM is incompatible with cryptsetup <1.1.2.
+RDEPEND="
+ ${DEPEND_COMMON}
+ >=sys-apps/baselayout-2.2
+ lvm? (
+ virtual/tmpfiles
+ thin? ( >=sys-block/thin-provisioning-tools-1.0.6 )
+ )
+"
+# note: thin-0.3.0 is required to avoid --disable-thin_check_needs_check
+DEPEND="
+ ${DEPEND_COMMON}
+ static? (
+ sys-apps/util-linux[static-libs]
+ lvm? (
+ dev-libs/libaio[static-libs]
+ readline? ( sys-libs/readline[static-libs] )
+ )
+ selinux? ( sys-libs/libselinux[static-libs] )
+ )
+ valgrind? ( >=dev-debug/valgrind-3.6 )
+"
+BDEPEND="
+ dev-build/autoconf-archive
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ # Gentoo specific modification(s):
+ "${FILESDIR}"/${PN}-2.03.20-example.conf.in.patch
+
+ # For upstream -- review and forward:
+ "${FILESDIR}"/${PN}-2.03.20-dmeventd-no-idle-exit.patch
+ "${FILESDIR}"/${PN}-2.03.20-freopen-musl.patch
+ "${FILESDIR}"/${PN}-2.03.22-autoconf-2.72-egrep.patch
+)
+
+pkg_setup() {
+ local CONFIG_CHECK="~SYSVIPC"
+
+ if use udev; then
+ local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n"
+ if linux_config_exists; then
+ local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
+ if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then
+ ewarn "It's recommended to set an empty value to the following kernel config option:"
+ ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
+ fi
+ fi
+ fi
+
+ check_extra_config
+
+ # 1. Genkernel no longer copies /sbin/lvm blindly.
+ if use static; then
+ elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with"
+ elog "their static versions. If you need the static binaries,"
+ elog "you must append .static to the filename!"
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Users without systemd get no auto-activation of any logical volume
+ if ! use systemd ; then
+ eapply "${FILESDIR}"/${PN}-2.03.20-dm_lvm_rules_no_systemd.patch
+ fi
+
+ eautoreconf
+}
+
+src_configure() {
+ filter-lto
+
+ # Workaround for bug #822210
+ tc-ld-disable-gold
+
+ # Most of this package does weird stuff.
+ # The build options are tristate, and --without is NOT supported
+ # options: 'none', 'internal', 'shared'
+ local myeconfargs=(
+ $(use_enable lvm dmfilemapd)
+ $(use_enable lvm dmeventd)
+ $(use_enable lvm cmdlib)
+ $(use_enable lvm fsadm)
+ $(use_enable lvm lvmpolld)
+
+ # This only causes the .static versions to become available
+ $(usev static --enable-static_link)
+
+ # dmeventd requires mirrors to be internal, and snapshot available
+ # so we cannot disable them
+ --with-mirrors="$(usex lvm internal none)"
+ --with-snapshots="$(usex lvm internal none)"
+ )
+
+ if use lvm && use thin; then
+ myeconfargs+=( --with-thin=internal --with-cache=internal )
+ local texec
+ for texec in check dump repair restore; do
+ myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} )
+ myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} )
+ done
+ else
+ myeconfargs+=( --with-thin=none --with-cache=none )
+ fi
+
+ myeconfargs+=(
+ # musl doesn't do symbol versioning so can end up with
+ # runtime breakage.
+ --with-symvers=$(usex elibc_glibc 'gnu' 'no')
+ $(use_enable readline)
+ $(use_enable selinux)
+ --enable-pkgconfig
+ --with-confdir="${EPREFIX}"/etc
+ --exec-prefix="${EPREFIX}"
+ --sbindir="${EPREFIX}/sbin"
+ --with-staticdir="${EPREFIX}"/sbin
+ --libdir="${EPREFIX}/$(get_libdir)"
+ --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)"
+ --with-default-dm-run-dir=/run
+ --with-default-run-dir=/run/lvm
+ --with-default-locking-dir=/run/lock/lvm
+ --with-default-pid-dir=/run
+ $(use_enable udev udev_rules)
+ $(use_enable udev udev_sync)
+ $(use_with udev udevdir "${EPREFIX}$(get_udevdir)"/rules.d)
+ # USE=sanlock requires USE=lvm
+ $(use_enable $(usex lvm sanlock lvm) lvmlockd-sanlock)
+ $(use_enable systemd notify-dbus)
+ $(use_enable systemd app-machineid)
+ $(use_enable systemd systemd-journal)
+ $(use_with systemd systemd-run "/usr/bin/systemd-run")
+ $(use_enable valgrind valgrind-pool)
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ CLDFLAGS="${LDFLAGS}"
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake V=1 -C include
+
+ if use lvm ; then
+ emake V=1
+ emake V=1 CC="$(tc-getCC)" -C scripts
+ else
+ emake V=1 device-mapper
+ # https://bugs.gentoo.org/878131
+ emake V=1 -C libdm/dm-tools device-mapper
+ fi
+}
+
+src_test() {
+ einfo "Tests are disabled because of device-node mucking, if you want to"
+ einfo "run tests, compile the package and see ${S}/tests"
+}
+
+src_install() {
+ local targets=()
+ if use lvm; then
+ targets+=( install install_tmpfiles_configuration )
+ if use systemd; then
+ # install systemd related files only when requested, bug #522430
+ targets+=( install_systemd_units )
+ fi
+ else
+ targets+=( install_device-mapper )
+ fi
+
+ # -j1 for bug #918125
+ emake -j1 V=1 DESTDIR="${D}" "${targets[@]}"
+
+ newinitd "${FILESDIR}"/device-mapper.rc-r3 device-mapper
+ newconfd "${FILESDIR}"/device-mapper.conf-r4 device-mapper
+
+ if use lvm ; then
+ newinitd "${FILESDIR}"/dmeventd.initd-r3 dmeventd
+ newinitd "${FILESDIR}"/lvm.rc-r1 lvm
+ newconfd "${FILESDIR}"/lvm.confd-r4 lvm
+ if ! use udev ; then
+ # We keep the variable but remove udev from it.
+ sed -r -i \
+ -e '/^rc_need=/s/\<udev\>//g' \
+ "${ED}"/etc/conf.d/lvm || die "Could not drop udev from rc_need"
+ fi
+
+ newinitd "${FILESDIR}"/lvm-monitoring.initd-r3 lvm-monitoring
+ newinitd "${FILESDIR}"/lvmpolld.initd-r1 lvmpolld
+
+ if use sanlock; then
+ newinitd "${FILESDIR}"/lvmlockd.initd-r2 lvmlockd
+ fi
+ fi
+
+ if use static-libs; then
+ dolib.a libdm/ioctl/libdevmapper.a
+ if use lvm; then
+ # depends on lvmetad
+ dolib.a libdaemon/client/libdaemonclient.a #462908
+ # depends on dmeventd
+ dolib.a daemons/dmeventd/libdevmapper-event.a
+ fi
+ else
+ rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a || die
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}"/dmtab
+
+ dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf
+}
+
+pkg_preinst() {
+ HAD_LVM=0
+
+ if has_version 'sys-fs/lvm2[lvm(+)]' ; then
+ HAD_LVM=1
+ fi
+}
+
+pkg_postinst() {
+ use lvm && tmpfiles_process lvm2.conf
+ use udev && udev_reload
+
+ # This is a new installation
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ if use lvm ; then
+ ewarn "Make sure the \"lvm\" init script is in the runlevels:"
+ ewarn "# rc-update add lvm boot"
+ ewarn
+ ewarn "Make sure to enable lvmetad in ${EROOT}/etc/lvm/lvm.conf if you want"
+ ewarn "to enable lvm autoactivation and metadata caching."
+ else
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ fi
+ else
+ if ! use lvm && [[ ${HAD_LVM} -eq 1 ]] ; then
+ ewarn "LVM was previously enabled but is now disabled."
+ ewarn "Please enable USE=lvm if you need the LVM daemon and"
+ ewarn "tools like 'lvchange', 'vgchange', etc!"
+ ewarn "See the 2022-11-19-lvm2-default-USE-flags news item for more details."
+ fi
+ fi
+
+ if use udev && [[ -d /run ]] ; then
+ local permission_run_expected="drwxr-xr-x"
+ local permission_run=$(stat -c "%A" /run)
+ if [[ "${permission_run}" != "${permission_run_expected}" ]] ; then
+ ewarn "Found the following problematic permissions:"
+ ewarn ""
+ ewarn " ${permission_run} /run"
+ ewarn ""
+ ewarn "Expected:"
+ ewarn ""
+ ewarn " ${permission_run_expected} /run"
+ ewarn ""
+ ewarn "This is known to cause problems for udev-enabled LVM services."
+ fi
+ fi
+}
+
+pkg_postrm() {
+ if use udev && [[ -z ${REPLACED_BY_VERSION} ]]; then
+ udev_reload
+ fi
+}
diff --git a/sys-fs/lvm2/metadata.xml b/sys-fs/lvm2/metadata.xml
index e264bd799086..33bafa5c0ee3 100644
--- a/sys-fs/lvm2/metadata.xml
+++ b/sys-fs/lvm2/metadata.xml
@@ -5,22 +5,18 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
- <maintainer type="person">
- <email>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>agk@redhat.com</email>
- <name>Alasdair Kergon</name>
- <description>Upstream Maintainer (please CC on bugs)</description>
- </maintainer>
<use>
- <flag name="lvm2create-initrd">Install lvm2create_initrd script and pull in <pkg>sys-apps/makedev</pkg> for the /sbin/MAKEDEV command</flag>
<flag name="thin">Support for thin volumes</flag>
- <flag name="device-mapper-only">Build only device-mapper and not the rest of LVM2 (UNSUPPORTED)</flag>
+ <flag name="lvm">
+ Build all of LVM2 including daemons and tools like lvchange, not just the device-mapper library (for other packages to use).
+
+ If your system uses LVM2 for managing disks and partitions, enable this flag.
+ </flag>
<flag name="sanlock">Enable lvmlockd with support for sanlock</flag>
</use>
<upstream>
<remote-id type="cpe">cpe:/a:heinz_mauelshagen:lvm2</remote-id>
+ <remote-id type="github">lvmteam/lvm2</remote-id>
+ <remote-id type="gitlab">lvmteam/lvm2</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/lxcfs/Manifest b/sys-fs/lxcfs/Manifest
index 130498a2362d..ddfde18b76ed 100644
--- a/sys-fs/lxcfs/Manifest
+++ b/sys-fs/lxcfs/Manifest
@@ -1,3 +1,4 @@
-DIST lxcfs-4.0.12.tar.gz 461251 BLAKE2B c0d1cc699461eed2e29ddb1937e8f4719be78a8f17c20b9dd682a617bc0423b22b4491399b934aa7f4be8f5ca292ab4c9e97e7bf149700c0c3760c8b3804ae11 SHA512 da8415599bb08e4e15a7e4044edbcad217e4034d96366d508e06cceb2a75d459e24aeb7efd5716e2f41449ec653ecd9916f0d934f738e1df8e9576738cc1ac18
-DIST lxcfs-4.0.12.tar.gz.asc 833 BLAKE2B af8bf08039e7bc1f405c468de0dd628175cef3ea6087c5fa1c0d95f9153df939a84f9a5d9d895fb471c0262616eb88f03532ac789b0c6198ad1349cff9a6c5de SHA512 20f1919ff216f5459e8e387c78b1430b5122e662adec27bdd9c6fd4565645b73ed5bce5e7e843da05d8cfdc17f1a3e964c20c6ad47d4dbd5df68c3f9359fb362
-DIST lxcfs-5.0.0_p20220524.tar.gz 101563 BLAKE2B 2bf282aed5490d160a563ae97fdfbb887366a6ec60ea7f36f5400e4a11330c51ac3096d63c99dd4aa2ebe1a3497102af9df41ebd40e38b3bde6c6dcd4265b336 SHA512 c1183096dd2b74ef859183451b8c909f762e3c56dce0b9384ac163a6b6b3f7a17a63e840742f4cc5ac50b1f25d402583ca6cf31c1617754b35e21c5c991515f4
+DIST lxcfs-5.0.4.tar.gz 104249 BLAKE2B 83a7b861136c34da8a24dd525fd0767193f2bbd92b40e3b9fd5e42d7645465411792e65e95797ab13b33330299d12b19bdd5786352875ed88ac0097b72b711a9 SHA512 b404045dbabe23e1d1f1d74c1648d2596bb70aaa9f9e46f9f5635b0a02d0c451f68b2559920bbefc5b889e908cf1da0a33c148b26bdce3e45c3d0cbdff710604
+DIST lxcfs-5.0.4.tar.gz.asc 833 BLAKE2B aff883d24b374b296ea3678670e5e82c723fd0e35cfd7fed555aabbd811a104becc0b741331b4aa4a5129c9fff4dc88c6a86e7d64a89fe86aea81718f5d432dd SHA512 56b639597dbaf3008fe030147ea37192bd465c467a79e11ce139bcaa6bca1625b4bb9c4eda6ea1877446769f0fad9b4c5a3513d4f4415b841db96d5da8325ddc
+DIST lxcfs-6.0.0.tar.gz 103369 BLAKE2B 9261ab7d932d315117361a548372930c37129d3c1b3d5aa00bbce6bac923a94e69b0fa223632b1ef22938b047e6ebec7416cf187e76c72680e4d86db173d199a SHA512 fab5569da66a742a51c9f249c3f0256d1ea17dc0a1e7c2d5563d993cd0d236ae664a53809e65fbec2467f5d255dfd867327a28d9465ffe180d240ca131331c59
+DIST lxcfs-6.0.0.tar.gz.asc 833 BLAKE2B cfc6a8e574aeb1c9e3fec322df5254c431878f0109ea43ee1069e8213467ed16fedbe137befa47a2557d8c055591a9f00c99f221d482f715d5cdc678d79c5fa5 SHA512 019178b37045c3c2c4d8be7c417abb4ed8b7ce011bce805b220f6213d7940f164c45632a5ce02ea29451c8148f782d6b7ece7699da7f3ef7306bd437d40fe537
diff --git a/sys-fs/lxcfs/files/lxcfs-4.0.0.confd b/sys-fs/lxcfs/files/lxcfs-5.0.2.confd
index ba443ee4b1f1..bc853aa681be 100644
--- a/sys-fs/lxcfs/files/lxcfs-4.0.0.confd
+++ b/sys-fs/lxcfs/files/lxcfs-5.0.2.confd
@@ -5,3 +5,4 @@
# -u == don't display swap usage to containers
LXCFS_OPTS="-l -u"
+LXCFS_PATH="/var/lib/lxcfs"
diff --git a/sys-fs/lxcfs/files/lxcfs-4.0.0.initd b/sys-fs/lxcfs/files/lxcfs-5.0.2.initd
index d9368e4f28cf..f3119f2e8e82 100644
--- a/sys-fs/lxcfs/files/lxcfs-4.0.0.initd
+++ b/sys-fs/lxcfs/files/lxcfs-5.0.2.initd
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
DAEMON=/usr/bin/lxcfs
@@ -8,19 +8,20 @@ PIDFILE=/run/lxcfs.pid
start() {
ebegin "Starting lxcfs."
/sbin/modprobe -q fuse
- install -d /var/lib/lxcfs
+ install -d "${LXCFS_PATH}"
start-stop-daemon --start \
--pidfile ${PIDFILE} \
--exec ${DAEMON} \
--background \
--make-pidfile \
-- ${LXCFS_OPTS} \
- /var/lib/lxcfs
+ "${LXCFS_PATH}"
eend ${?}
}
stop() {
ebegin "Stopping lxcfs."
+ /usr/bin/fusermount3 -u "${LXCFS_PATH}"
start-stop-daemon --stop --quiet -R TERM/45 -p ${PIDFILE}
eend ${?}
}
diff --git a/sys-fs/lxcfs/files/lxcfs-4.0.0.service b/sys-fs/lxcfs/files/lxcfs-5.0.2.service
index 0bdab880a790..dc3dc9f18f63 100644
--- a/sys-fs/lxcfs/files/lxcfs-4.0.0.service
+++ b/sys-fs/lxcfs/files/lxcfs-5.0.2.service
@@ -10,7 +10,7 @@ ExecStartPre=install -d /var/lib/lxcfs
ExecStart=/usr/bin/lxcfs /var/lib/lxcfs
KillMode=process
Restart=on-failure
-ExecStopPost=-/usr/bin/fusermount -u /var/lib/lxcfs
+ExecStopPost=-/usr/bin/fusermount3 -u /var/lib/lxcfs
Delegate=yes
ExecReload=/bin/kill -USR1 ${MAINPID}
diff --git a/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch b/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch
new file mode 100644
index 000000000000..bead63bd52dd
--- /dev/null
+++ b/sys-fs/lxcfs/files/lxcfs-5.0.4-fix-incompatible-pointer-conversion.patch
@@ -0,0 +1,19 @@
+Bug: https://bugs.gentoo.org/894348
+Upstream PR: https://github.com/lxc/lxcfs/pull/610
+--- a/src/proc_loadavg.c
++++ b/src/proc_loadavg.c
+@@ -603,12 +603,12 @@ pthread_t load_daemon(int load_use)
+
+ ret = init_load();
+ if (ret == -1)
+- return log_error(0, "Initialize hash_table fails in load_daemon!");
++ return (pthread_t) log_error(0, "Initialize hash_table fails in load_daemon!");
+
+ ret = pthread_create(&pid, NULL, load_begin, NULL);
+ if (ret != 0) {
+ load_free();
+- return log_error(0, "Create pthread fails in load_daemon!");
++ return (pthread_t) log_error(0, "Create pthread fails in load_daemon!");
+ }
+
+ /* use loadavg, here loadavg = 1*/
diff --git a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild b/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
deleted file mode 100644
index 62d6d70ca93a..000000000000
--- a/sys-fs/lxcfs/lxcfs-4.0.12.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools flag-o-matic systemd verify-sig
-
-DESCRIPTION="FUSE filesystem for LXC"
-HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
-SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz
- verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )"
-
-LICENSE="Apache-2.0 LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
-
-RDEPEND="sys-fs/fuse:3"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-apps/help2man
- verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
-
-# Looks like these won't ever work in a container/chroot environment. #764620
-RESTRICT="test"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linuxcontainers.asc
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # Needed for x86 support, bug #819762
- # May be able to drop when/if ported to meson, but re-test w/ x86 chroot
- append-lfs-flags
-
- # Without the localstatedir the filesystem isn't mounted correctly
- # Without with-distro ./configure will fail when cross-compiling
- econf --localstatedir=/var --with-distro=gentoo --disable-static
-}
-
-src_test() {
- cd tests/ || die
- emake -j1 tests
- ./main.sh || die "Tests failed"
-}
-
-src_install() {
- default
-
- newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs
- newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs
-
- # Provide our own service file (copy of upstream) due to paths being different from upstream,
- # #728470
- systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild b/sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild
new file mode 100644
index 000000000000..a0a8549be29f
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild
@@ -0,0 +1,84 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake meson python-any-r1 systemd verify-sig
+
+DESCRIPTION="FUSE filesystem for LXC"
+HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
+SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz
+ verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )"
+
+LICENSE="Apache-2.0 LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+IUSE="doc test"
+
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ $(python_gen_any_dep '
+ dev-python/jinja[${PYTHON_USEDEP}]
+ ')
+ doc? ( sys-apps/help2man )
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
+
+# Needs some black magic to work inside container/chroot.
+RESTRICT="test"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.0.4-fix-incompatible-pointer-conversion.patch
+)
+
+python_check_deps() {
+ python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Fix python shebangs for python-exec[-native-symlinks], #851480
+ local shebangs=($(grep -rl "#!/usr/bin/env python3" || die))
+ python_fix_shebang -q ${shebangs[*]}
+}
+
+src_configure() {
+ local emesonargs=(
+ --localstatedir "${EPREFIX}/var"
+
+ $(meson_use doc docs)
+ $(meson_use test tests)
+
+ -Dfuse-version=3
+ -Dinit-script=""
+ -Dwith-init-script=""
+ )
+
+ meson_src_configure
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/tests || die "failed to change into tests/ directory."
+ ./main.sh || die
+}
+
+src_install() {
+ meson_src_install
+
+ newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs
+ newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs
+
+ # Provide our own service file (copy of upstream) due to paths being different from upstream,
+ # #728470
+ systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service
+}
diff --git a/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild b/sys-fs/lxcfs/lxcfs-6.0.0.ebuild
index c9ff5e704ff7..c0e7a84ec0f5 100644
--- a/sys-fs/lxcfs/lxcfs-5.0.0_p20220524.ebuild
+++ b/sys-fs/lxcfs/lxcfs-6.0.0.ebuild
@@ -1,35 +1,36 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake meson python-any-r1 systemd
-
-MY_COMMIT="18e78f70fa6764be4e4f6fcc6ae8d314da7f3a91"
+inherit cmake meson python-any-r1 systemd verify-sig
DESCRIPTION="FUSE filesystem for LXC"
HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
-SRC_URI="https://github.com/lxc/lxcfs/archive/${MY_COMMIT}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz
+ verify-sig? ( https://linuxcontainers.org/downloads/lxcfs/${P}.tar.gz.asc )"
LICENSE="Apache-2.0 LGPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
IUSE="doc test"
DEPEND="sys-fs/fuse:3"
RDEPEND="${DEPEND}"
BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
$(python_gen_any_dep '
dev-python/jinja[${PYTHON_USEDEP}]
')
- doc? ( sys-apps/help2man )"
+ doc? ( sys-apps/help2man )
+ verify-sig? ( sec-keys/openpgp-keys-linuxcontainers )"
# Needs some black magic to work inside container/chroot.
RESTRICT="test"
-S="${WORKDIR}/${PN}-${MY_COMMIT}"
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/linuxcontainers.asc
python_check_deps() {
python_has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
@@ -49,6 +50,8 @@ src_prepare() {
src_configure() {
local emesonargs=(
+ --localstatedir "${EPREFIX}/var"
+
$(meson_use doc docs)
$(meson_use test tests)
@@ -68,10 +71,10 @@ src_test() {
src_install() {
meson_src_install
- newconfd "${FILESDIR}"/lxcfs-4.0.0.confd lxcfs
- newinitd "${FILESDIR}"/lxcfs-4.0.0.initd lxcfs
+ newconfd "${FILESDIR}"/lxcfs-5.0.2.confd lxcfs
+ newinitd "${FILESDIR}"/lxcfs-5.0.2.initd lxcfs
# Provide our own service file (copy of upstream) due to paths being different from upstream,
# #728470
- systemd_newunit "${FILESDIR}"/lxcfs-4.0.0.service lxcfs.service
+ systemd_newunit "${FILESDIR}"/lxcfs-5.0.2.service lxcfs.service
}
diff --git a/sys-fs/lxcfs/metadata.xml b/sys-fs/lxcfs/metadata.xml
index 72ecae11d684..358bde78668e 100644
--- a/sys-fs/lxcfs/metadata.xml
+++ b/sys-fs/lxcfs/metadata.xml
@@ -17,5 +17,6 @@
</longdescription>
<upstream>
<remote-id type="github">lxc/lxfs</remote-id>
+ <remote-id type="cpe">cpe:/a:canonical:lxcfs</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild
index dad62e50d2ac..3bb5d3a486c7 100644
--- a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild
@@ -13,7 +13,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 -riscv ~x86"
+KEYWORDS="~amd64 -loong ~ppc ~ppc64 -riscv ~x86"
S=${WORKDIR}/${P/_p*}.orig
PATCHES=(
diff --git a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild
index 4e7791ca9094..f8647b5e8f3d 100644
--- a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild
@@ -13,7 +13,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc ppc64 -riscv x86"
+KEYWORDS="amd64 -loong ppc ppc64 -riscv x86"
S=${WORKDIR}/${P/_p*}.orig
PATCHES=(
diff --git a/sys-fs/mdadm/Manifest b/sys-fs/mdadm/Manifest
index d352735ae923..51cfc9e15326 100644
--- a/sys-fs/mdadm/Manifest
+++ b/sys-fs/mdadm/Manifest
@@ -1,4 +1,4 @@
-DIST mdadm-4.1.tar.xz 440756 BLAKE2B df0506d937c2aa309d7c68804f66f7dcd51783288594bf746832311c64b8cf82004af4af5f246c5f9753f1de324ff7d49b5ee752d6a00ec03864f7885389706e SHA512 0859c5d3e786345d93ff2c3b291ca8866ba60f1375479e5b4d343124f6824140a8268d42b8ae603b069edba761aa30aaf20d49e9ec54dfcbad34bad3bea0e433
DIST mdadm-4.2.tar.xz 453624 BLAKE2B de7c4318dc5479de41378233869ab84ca2cd0e8a42310157b1acb969e7152af61556fbbe6f17bf6af4dfaf5543e49b1c982d2baeedf1c39b000032f4db7f5502 SHA512 57897a2b7fb8b0b88bece50501099872bb45ddb076cfc323d563588096d2b66b1ecba3724534943f651ace2bfe591482570700616500dc3398552e4f9ff0c37d
-DIST mdadm_4.1-3.debian.tar.xz 89640 BLAKE2B 3cb5e42dcbd218a71e55127cecda6f2594a1b1691e17c05f52a8cd0ba05b556d2812772e53d78de025738d7c2de059df3f878b8290ba3906b3d75ef435bfb698 SHA512 e9b04abf195d7bda9fb0197eb926c01a69b879ef82c72af6497116cea9be8f0823408dddbe5c6c033f5fae554a8fec17299e361fa48045e033c87dcee1a0bb63
+DIST mdadm-4.3.tar.xz 465820 BLAKE2B 3b6955339adb6c254a69d698e3b807838f8840e37f7f94280f4a1fbffb082ee694309f4b6f9adc8edfa2071fde324bf00ae0493d5b2e6c8d87796783dfa3ee1c SHA512 e44977f2f80d2471cb313803a60c92dafe8282ac06bbbfd41ae90ca493c64a3da94db924538788d045fd7f0667333912dabedb0b070f9abf5c0540b32e0fa08f
DIST mdadm_4.2~rc2-7.debian.tar.xz 89904 BLAKE2B dd04f2dd044d0bca85920eaf5c79a288d69c47a7ad7e36509a126c01ef63bd045d7e0530450650028de39d74ad852995ca080c3a73dbcb1cf1b3783118109f35 SHA512 3d36533d2713b663606919b2bfec18b15e18a6a0194e333e38e4a58f175da96af7b1fe16f0c36ee148e14492a4e0710b9fad6ac7856495b63c0176ebb7333be6
+DIST mdadm_4.3-1.debian.tar.xz 86972 BLAKE2B 52af9ddacc402d8c3318bac31b4cd5ac3045e564832546146ba0a18d6a43866ae2c21270ac15f48df98c4f76af0eeae41679ea9e0e265dad44914bd58f27d689 SHA512 1c5203523f0c7fe271d850ab4ad376a449e870f8f1549dc4460adede1f59a1a364e741562954297e7848bae19d1cfe273a31f1bfaf739dd37559a0666abd8517
diff --git a/sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch b/sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch
new file mode 100644
index 000000000000..bd09da553820
--- /dev/null
+++ b/sys-fs/mdadm/files/mdadm-4.2-mdadm_env.patch
@@ -0,0 +1,36 @@
+--- mdadm-4.2/systemd/SUSE-mdadm_env.sh 2021-12-30 11:43:35.000000000 -0800
++++ mdadm-4.2/systemd/SUSE-mdadm_env.sh 2024-02-19 12:20:56.509632098 -0800
+@@ -6,6 +7,12 @@
+
+ MDADM_SCAN="yes"
+
++# Gentoo: source conf.d
++mdadmd_CONFIG=/etc/conf.d/mdadm
++if test -r $mdadmd_CONFIG; then
++ . $mdadmd_CONFIG
++fi
++
+ # Following adapted from /etc/init.d/mdadmd on openSUSE
+
+ mdadmd_CONFIG=/etc/sysconfig/mdadm
+@@ -42,7 +49,8 @@
+ fi
+
+ mkdir -p /run/sysconfig
+-echo "MDADM_MONITOR_ARGS=$MDADM_RAIDDEVICES $MDADM_DELAY $MDADM_MAIL $MDADM_PROGRAM $MDADM_SCAN $MDADM_SEND_MAIL $MDADM_CONFIG" > /run/sysconfig/mdadm
++# Gentoo: added $MDADM_OPTS to the end.
++echo "MDADM_MONITOR_ARGS=$MDADM_RAIDDEVICES $MDADM_DELAY $MDADM_MAIL $MDADM_PROGRAM $MDADM_SCAN $MDADM_SEND_MAIL $MDADM_CONFIG $MDADM_OPTS" > /run/sysconfig/mdadm
+ if [ -n "$MDADM_CHECK_DURATION" ]; then
+ echo "MDADM_CHECK_DURATION=$MDADM_CHECK_DURATION" >> /run/sysconfig/mdadm
+ fi
+--- mdadm-4.2.orig/Makefile 2024-02-19 12:27:19.512400849 -0800
++++ mdadm-4.2/Makefile 2024-02-19 12:27:39.517338433 -0800
+@@ -298,7 +298,7 @@
+ $(INSTALL) -D -m 755 .install.tmp.3 $(DESTDIR)$(SYSTEMD_DIR)-shutdown/$$file ; \
+ rm -f .install.tmp.3; \
+ done
+- if [ -f /etc/SuSE-release -o -n "$(SUSE)" ] ;then $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(LIB_DIR)/mdadm_env.sh ;fi
++ $(INSTALL) -D -m 755 systemd/SUSE-mdadm_env.sh $(DESTDIR)$(LIB_DIR)/mdadm_env.sh
+
+ install-bin: mdadm mdmon
+ $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
diff --git a/sys-fs/mdadm/files/mdadm-4.3-in_initrd-collision.patch b/sys-fs/mdadm/files/mdadm-4.3-in_initrd-collision.patch
new file mode 100644
index 000000000000..54e4aadacb58
--- /dev/null
+++ b/sys-fs/mdadm/files/mdadm-4.3-in_initrd-collision.patch
@@ -0,0 +1,45 @@
+Fix collision with libudev symbols when statically linking.
+
+https://bugs.gentoo.org/830485
+--- a/mdadm.h
++++ b/mdadm.h
+@@ -1665,7 +1665,7 @@
+ extern void udev_block(char *devnm);
+ extern void udev_unblock(void);
+
+-extern int in_initrd(void);
++extern int mdadm_in_initrd(void);
+
+ struct cmap_hooks {
+ void *cmap_handle; /* corosync lib related */
+--- a/mdmon.c
++++ b/mdmon.c
+@@ -309,7 +309,7 @@
+ {NULL, 0, NULL, 0}
+ };
+
+- if (in_initrd()) {
++ if (mdadm_in_initrd()) {
+ /*
+ * set first char of argv[0] to @. This is used by
+ * systemd to signal that the task was launched from
+--- a/util.c
++++ b/util.c
+@@ -1960,7 +1960,7 @@
+ int len;
+ pid_t pid;
+ int status;
+- char *prefix = in_initrd() ? "initrd-" : "";
++ char *prefix = mdadm_in_initrd() ? "initrd-" : "";
+ char pathbuf[1024];
+ char *paths[4] = {
+ pathbuf,
+@@ -2219,7 +2219,7 @@
+ return 0;
+ }
+
+-int in_initrd(void)
++int mdadm_in_initrd(void)
+ {
+ /* This is based on similar function in systemd. */
+ struct statfs s;
diff --git a/sys-fs/mdadm/files/mdadm-4.3-ldflags.patch b/sys-fs/mdadm/files/mdadm-4.3-ldflags.patch
new file mode 100644
index 000000000000..e8e93d424592
--- /dev/null
+++ b/sys-fs/mdadm/files/mdadm-4.3-ldflags.patch
@@ -0,0 +1,11 @@
+--- mdadm-4.3/Makefile.orig 2024-03-13 20:11:48.949678469 -0700
++++ mdadm-4.3/Makefile 2024-03-13 20:11:52.773671814 -0700
+@@ -132,7 +132,7 @@
+ MON_LDFLAGS += -pthread
+ endif
+
+-LDFLAGS = -Wl,-z,now,-z,noexecstack
++LDFLAGS += -Wl,-z,now,-z,noexecstack
+
+ # If you want a static binary, you might uncomment these
+ # LDFLAGS += -static
diff --git a/sys-fs/mdadm/files/mdadm-4.3-no-udev.patch b/sys-fs/mdadm/files/mdadm-4.3-no-udev.patch
new file mode 100644
index 000000000000..dd7ef696acfb
--- /dev/null
+++ b/sys-fs/mdadm/files/mdadm-4.3-no-udev.patch
@@ -0,0 +1,31 @@
+https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/patch/?id=1750758c7ff526e3560433f6235e5cfa35cf646a
+https://bugs.gentoo.org/928228
+
+From 1750758c7ff526e3560433f6235e5cfa35cf646a Mon Sep 17 00:00:00 2001
+From: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
+Date: Wed, 6 Mar 2024 15:50:55 +0100
+Subject: udev.c: Do not require libudev.h if DNO_LIBUDEV
+
+libudev may not be presented at all, do not require it.
+
+Reported-by: Boian Bonev <bbonev@ipacct.com>
+Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
+---
+ udev.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/udev.c b/udev.c
+index bc4722b0..066e6ab1 100644
+--- a/udev.c
++++ b/udev.c
+@@ -26,7 +26,10 @@
+ #include <signal.h>
+ #include <limits.h>
+ #include <syslog.h>
++
++#ifndef NO_LIBUDEV
+ #include <libudev.h>
++#endif
+
+ static char *unblock_path;
+
diff --git a/sys-fs/mdadm/mdadm-4.2-r1.ebuild b/sys-fs/mdadm/mdadm-4.2-r2.ebuild
index e6c763fff666..99bbc83b039d 100644
--- a/sys-fs/mdadm/mdadm-4.2-r1.ebuild
+++ b/sys-fs/mdadm/mdadm-4.2-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,22 +14,16 @@ SRC_URI="https://www.kernel.org/pub/linux/utils/raid/mdadm/${P/_/-}.tar.xz
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" = *_rc* ]] || \
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
IUSE="static systemd +udev"
-# Only sys-fs/eudev provides static-libs right now, so if you have systemd,
-# you need to choose between static or udev, as your udev won't have static libs.
-# bug #830485
-REQUIRED_USE="systemd? ( ?? ( static udev ) )"
+REQUIRED_USE="static? ( !udev )"
BDEPEND="app-arch/xz-utils
virtual/pkgconfig"
-DEPEND="udev? (
- static? ( !systemd? ( sys-fs/eudev[static-libs] ) )
- !static? ( virtual/libudev:= )
- )"
-RDEPEND=">=sys-apps/util-linux-2.16
- udev? ( !static? ( virtual/libudev:= ) )"
+DEPEND="udev? ( virtual/libudev:= )"
+RDEPEND="${DEPEND}
+ >=sys-apps/util-linux-2.16"
# The tests edit values in /proc and run tests on software raid devices.
# Thus, they shouldn't be run on systems with active software RAID devices.
@@ -66,6 +60,9 @@ src_compile() {
# CPPFLAGS won't work for this
use udev || append-cflags -DNO_LIBUDEV
+ # bug 907082
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
mdadm_emake all
}
diff --git a/sys-fs/mdadm/mdadm-4.1.ebuild b/sys-fs/mdadm/mdadm-4.2-r3.ebuild
index 21649c23547f..cb3c1bed7bda 100644
--- a/sys-fs/mdadm/mdadm-4.1.ebuild
+++ b/sys-fs/mdadm/mdadm-4.2-r3.ebuild
@@ -1,32 +1,38 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit flag-o-matic multilib systemd toolchain-funcs udev
+
+inherit flag-o-matic systemd toolchain-funcs udev
DESCRIPTION="Tool for running RAID systems - replacement for the raidtools"
HOMEPAGE="https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/"
-DEB_PF="4.1-3"
+DEB_PF="4.2~rc2-7"
SRC_URI="https://www.kernel.org/pub/linux/utils/raid/mdadm/${P/_/-}.tar.xz
mirror://debian/pool/main/m/mdadm/${PN}_${DEB_PF}.debian.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" = *_rc* ]] || \
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="static"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="static systemd +udev"
+
+REQUIRED_USE="static? ( !udev )"
-BDEPEND="virtual/pkgconfig
- app-arch/xz-utils"
-RDEPEND=">=sys-apps/util-linux-2.16"
-DEPEND="${RDEPEND}"
+BDEPEND="app-arch/xz-utils
+ virtual/pkgconfig"
+DEPEND="udev? ( virtual/libudev:= )"
+RDEPEND="${DEPEND}
+ >=sys-apps/util-linux-2.16"
# The tests edit values in /proc and run tests on software raid devices.
# Thus, they shouldn't be run on systems with active software RAID devices.
RESTRICT="test"
PATCHES=(
- "${FILESDIR}"/${PN}-3.4-sysmacros.patch #580188
+ "${FILESDIR}/${PN}"-3.4-sysmacros.patch #580188
+ "${FILESDIR}/${PN}"-4.2-in_initrd-collision.patch #830461
+ "${FILESDIR}/${PN}"-4.2-mdadm_env.patch #628968
)
mdadm_emake() {
@@ -51,6 +57,13 @@ mdadm_emake() {
src_compile() {
use static && append-ldflags -static
+
+ # CPPFLAGS won't work for this
+ use udev || append-cflags -DNO_LIBUDEV
+
+ # bug 907082
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
mdadm_emake all
}
@@ -83,6 +96,7 @@ src_install() {
}
pkg_postinst() {
+ udev_reload
if ! systemd_is_booted; then
if [[ -z ${REPLACING_VERSIONS} ]] ; then
# Only inform people the first time they install.
@@ -92,3 +106,7 @@ pkg_postinst() {
fi
fi
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/mdadm/mdadm-4.3.ebuild b/sys-fs/mdadm/mdadm-4.3.ebuild
new file mode 100644
index 000000000000..4e84a51e91b3
--- /dev/null
+++ b/sys-fs/mdadm/mdadm-4.3.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic systemd toolchain-funcs udev
+
+DESCRIPTION="Tool for running RAID systems - replacement for the raidtools"
+HOMEPAGE="https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/"
+DEB_PF="4.3-1"
+SRC_URI="https://www.kernel.org/pub/linux/utils/raid/mdadm/${P/_/-}.tar.xz
+ mirror://debian/pool/main/m/mdadm/${PN}_${DEB_PF}.debian.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ "${PV}" = *_rc* ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="static systemd +udev corosync"
+
+REQUIRED_USE="static? ( !udev )"
+
+BDEPEND="app-arch/xz-utils
+ virtual/pkgconfig"
+DEPEND="udev? ( virtual/libudev:= )
+ corosync? ( sys-cluster/corosync )"
+RDEPEND="${DEPEND}
+ >=sys-apps/util-linux-2.16"
+
+# The tests edit values in /proc and run tests on software raid devices.
+# Thus, they shouldn't be run on systems with active software RAID devices.
+RESTRICT="test"
+
+PATCHES=(
+ #"${FILESDIR}/${PN}"-3.4-sysmacros.patch #580188 # upstream has it later in the list of includes as of 4.3.
+ "${FILESDIR}/${PN}"-4.3-in_initrd-collision.patch #830461
+ "${FILESDIR}/${PN}"-4.2-mdadm_env.patch #628968
+ "${FILESDIR}/${PN}"-4.3-ldflags.patch
+ "${FILESDIR}/${PN}"-4.3-no-udev.patch
+ "${WORKDIR}/debian/patches/debian/0001-fix-manpages.patch"
+ "${WORKDIR}/debian/patches/debian/0003-host-name-in-default-mailfrom.patch"
+ "${WORKDIR}/debian/patches/debian/0004-exit-gracefully-when-md-device-not-found.patch"
+ "${WORKDIR}/debian/patches/debian/0007-no-Werror.patch"
+)
+
+mdadm_emake() {
+ # We should probably make corosync & libdlm into USE flags. #573782
+ local args=(
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ CC="$(tc-getCC)"
+ CWFLAGS="-Wall"
+ CXFLAGS="${CFLAGS}"
+ LDFLAGS="${LDFLAGS}"
+ UDEVDIR="$(get_udevdir)"
+ SYSTEMD_DIR="$(systemd_get_systemunitdir)"
+ COROSYNC="$(usex corosync '' -DNO_COROSYNC)"
+ DLM="-DNO_DLM"
+
+ # https://bugs.gentoo.org/732276
+ STRIP=
+
+ "$@"
+ )
+ emake "${args[@]}"
+}
+
+src_compile() {
+ use static && append-ldflags -static
+
+ # CPPFLAGS won't work for this
+ use udev || append-cflags -DNO_LIBUDEV
+
+ # bug 907082
+ use elibc_musl && append-cppflags -D_LARGEFILE64_SOURCE
+
+ mdadm_emake all
+}
+
+src_test() {
+ mdadm_emake test
+
+ sh ./test || die
+}
+
+src_install() {
+ mdadm_emake DESTDIR="${D}" install install-systemd
+ dodoc ChangeLog INSTALL TODO README* ANNOUNCE-*
+
+ # install mdcheck_start.service
+ # needed for systemd units https://bugs.gentoo.org/833000
+ exeinto /usr/share/mdadm/
+ doexe misc/mdcheck
+
+ insinto /etc
+ newins mdadm.conf-example mdadm.conf
+ newinitd "${FILESDIR}"/mdadm.rc mdadm
+ newconfd "${FILESDIR}"/mdadm.confd mdadm
+ newinitd "${FILESDIR}"/mdraid.rc mdraid
+ newconfd "${FILESDIR}"/mdraid.confd mdraid
+
+ # From the Debian patchset
+ into /usr
+ dodoc "${WORKDIR}"/debian/local/doc/README.checkarray
+ dosbin "${WORKDIR}"/debian/local/bin/checkarray
+ insinto /etc/default
+ newins "${FILESDIR}"/etc-default-mdadm mdadm
+
+ exeinto /etc/cron.weekly
+ newexe "${FILESDIR}"/mdadm.weekly mdadm
+}
+
+pkg_postinst() {
+ udev_reload
+ if ! systemd_is_booted; then
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ # Only inform people the first time they install.
+ elog "If you're not relying on kernel auto-detect of your RAID"
+ elog "devices, you need to add 'mdraid' to your 'boot' runlevel:"
+ elog " rc-update add mdraid boot"
+ fi
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/mdadm/metadata.xml b/sys-fs/mdadm/metadata.xml
index 536bb38d9f1d..1ce6bb33ddd3 100644
--- a/sys-fs/mdadm/metadata.xml
+++ b/sys-fs/mdadm/metadata.xml
@@ -5,6 +5,9 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
+<use>
+ <flag name="corosync">Support for corosync cluster engine</flag>
+</use>
<upstream>
<remote-id type="cpe">cpe:/a:mdadm_project:mdadm</remote-id>
</upstream>
diff --git a/sys-fs/mergerfs-tools/Manifest b/sys-fs/mergerfs-tools/Manifest
index b96ee5a6e6f2..55f1350cb41b 100644
--- a/sys-fs/mergerfs-tools/Manifest
+++ b/sys-fs/mergerfs-tools/Manifest
@@ -1 +1 @@
-DIST mergerfs-tools-0_p20210502.tar.xz 12876 BLAKE2B 760ae2ebb9017e3bb5508d008bc5726cca4ba1930a7f8ebf752e34ed94d92502c146fe2ab25d88c41d27e3ef94b75497b21e0c62c9e86b0e3872916116c4d67d SHA512 8a3c3e92ecdd1c57b8331a0bebfee11908f1d2361fb35cd906173d2d3fd0ce4195eabfb63aa1edac3c36be254504c25edf87caa0608900f6970551991f7a4a50
+DIST mergerfs-tools-0_p20210502.gh.tar.gz 15575 BLAKE2B 0b111c8a37c7679cb5a331d942f11ad8315eb58d0e686a53ddf6ce9262fb04cde69654d6d8c597d94fba48914b5b7fc4fc35d0b6413bd817e587e1d8e70ad1b6 SHA512 8f0fefe65b277d01aa893bd8af3dad5618b403126817982740a59c7997af33480ee858158b430775d63f0aa5ade854a71d88ab99ee0d7eac8cc4cb95933204f2
diff --git a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild
index 2827a367ac7d..023b7d11f5f5 100644
--- a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r3.ebuild
+++ b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild
@@ -1,25 +1,28 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..11} )
+MY_COMMIT="ff4ef0355f699eb11f0d75471d3df44c303830a3"
inherit python-single-r1
DESCRIPTION="Optional tools to help manage data in a mergerfs pool"
HOMEPAGE="https://github.com/trapexit/mergerfs-tools"
-SRC_URI="https://dev.gentoo.org/~slashbeast/distfiles/${PN}/${P}.tar.xz"
+SRC_URI="https://github.com/trapexit/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~riscv ~x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
DEPEND="${PYTHON_DEPS}"
RDEPEND="${DEPEND}"
+S="${WORKDIR}/${PN}-${MY_COMMIT}"
+
src_compile() {
# no build system.
true
diff --git a/sys-fs/mergerfs-tools/metadata.xml b/sys-fs/mergerfs-tools/metadata.xml
index 5dd94d2f63a6..c0d1a84a3646 100644
--- a/sys-fs/mergerfs-tools/metadata.xml
+++ b/sys-fs/mergerfs-tools/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">trapexit/mergerfs-tools</remote-id>
</upstream>
diff --git a/sys-fs/mergerfs/Manifest b/sys-fs/mergerfs/Manifest
index 77cab80d7477..fd6aec328be2 100644
--- a/sys-fs/mergerfs/Manifest
+++ b/sys-fs/mergerfs/Manifest
@@ -1,5 +1,2 @@
-DIST mergerfs-2.32.3.tar.gz 314280 BLAKE2B f7c5ab92f1241627bd91255b35bdd81782f153f9144242a52241f9e812e4096c23d73401251a8ace43781f39a4644814dc724a8a31066f77cfd78ad6c27d54dd SHA512 f3f8f320f98ef2a345a0229eca661c6c8c75fdd23613ae0d45f13062b18f6f052474a009c77a6602df77762100f45b3eb76692812e81d12555763ead5c83b87d
-DIST mergerfs-2.33.1.tar.gz 382421 BLAKE2B 0985a0ad53a12fe5283fd0e953cd74a835efd3e83f65ba4e96bc42814ce151d03f95c032eeebcc9821c7c15ae59d14b9e40055438b4482a337c5b7bc9503d27e SHA512 1178fbd4ad99c6c693e2c21551c7522107701b0d5c608a7c18be29825cf97f2a2b2d6a50094e800a74dddd9a3902c374f8b57e84a76c0640aa8e387aa095d300
-DIST mergerfs-2.33.3.tar.gz 382386 BLAKE2B 49a2b75a2a39fbec178460f94696a918a0f872a7c904355c84180f8be07d9abdf68e342e7acca5093a621b85110d0a0fdb5650de68e04aa176250199eaa5bdb7 SHA512 aca5884a9d5dc03d7095e73461dee843d69463db72dfc033f76611d5417dab63ff29eb2b473f39f0390299c3aa882e6197a7038e82b58ab85799d39cc44b84d0
-DIST mergerfs-2.33.4.tar.gz 382872 BLAKE2B fe369f377f731a6323566cf4d5076e9ba7dca302aae1125635433ab93927d3aad5ca57a95e0791742cdf80c7fa69cacdd16a6519593bad9e933e529974bd5d2a SHA512 e8bd0a502c045d6f93d34bce833108deaf1071a3e5c56eb61a59416067230d6e8f19f9b0f8c8aa9fe84060a886afae7509231c97fc6d9537d3ad3390ce342239
-DIST mergerfs-2.33.5.tar.gz 382895 BLAKE2B e45d6d5890046cce495f788924323052effe63ea570061ed1d031595f166c0e680fdbbcf01dd992263550d6c33a04d91a6fabd5c9f97381c5c3e6858c3e1c122 SHA512 9032142285d85e22d2a880a42ae379209d44d12d71adec6388afd43a9fb77675149ec8558bdb1f01de1b511b3d0bf910dd2ccb6f47c918df377d4d5e41368408
+DIST mergerfs-2.35.1.tar.gz 669100 BLAKE2B 25b442f0451b525509bd908ac1cd2e70ab33db599aab58e2baeca47eeb3a0d0b93f7fddb880e8fdbf1b6928d40c650e0df23c116741cad279cdf169cea000768 SHA512 09de354ae7a7c69f6e873145a754c3ed8a840d59ccc455c8913f2562babbe8787c7eb929c0ea2571b5292928e3cee7b547b0a52cdd833b03e679e11191b4a5b5
+DIST mergerfs-2.36.0.tar.gz 680473 BLAKE2B c0380834c7610724f058bd13b073622082ad8bdf4fe32815cf8a5450d1f962478a6ba3d0033d0ade446861786db6c8d3ae3dbacd6a61a526a79d849b6c7b40e7 SHA512 f20879aa5fb9ab56b1e7bba0e08aacda7e26af7e1fdcf3d57b77a2dce70fda8aa15c20e947dde6ffab3dfae8698005c9d8383c9ab2402cc4ce5de0810ce1298d
diff --git a/sys-fs/mergerfs/mergerfs-2.32.3.ebuild b/sys-fs/mergerfs/mergerfs-2.32.3.ebuild
deleted file mode 100644
index 1a8305d70486..000000000000
--- a/sys-fs/mergerfs/mergerfs-2.32.3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A featureful union filesystem"
-HOMEPAGE="https://github.com/trapexit/mergerfs"
-
-SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 x86"
-
-# Vendorized libfuse that's bundled is under LGPL-2.1.
-LICENSE="ISC LGPL-2.1"
-SLOT="0"
-IUSE="+xattr"
-
-DEPEND="
- xattr? ( sys-apps/attr )
-"
-
-RDEPEND="${DEPEND}"
-
-BDEPEND="sys-devel/gettext"
-
-src_prepare() {
- default
-
- # Hand made build system at it's finest.
- echo -e "#!/bin/sh\ntrue" >tools/update-version || die
- echo "#pragma once" >src/version.hpp || die
- echo "static const char MERGERFS_VERSION[] = \"${PV}\";" >>src/version.hpp || die
-
- if ! use xattr; then
- sed 's%USE_XATTR = 1%USE_XATTR = 0%g' -i Makefile || die
- fi
-}
-
-src_compile() {
- # https://bugs.gentoo.org/725978
- tc-export AR
-
- default
-}
-
-src_install() {
- dobin build/mergerfs
- dosym mergerfs /usr/bin/mount.mergerfs
- dodoc README.md
- doman man/mergerfs.1
-}
diff --git a/sys-fs/mergerfs/mergerfs-2.33.1.ebuild b/sys-fs/mergerfs/mergerfs-2.33.1.ebuild
deleted file mode 100644
index a21ae969d856..000000000000
--- a/sys-fs/mergerfs/mergerfs-2.33.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A featureful union filesystem"
-HOMEPAGE="https://github.com/trapexit/mergerfs"
-
-SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 x86"
-
-# Vendorized libfuse that's bundled is under LGPL-2.1.
-LICENSE="ISC LGPL-2.1"
-SLOT="0"
-IUSE="+xattr"
-
-DEPEND="
- xattr? ( sys-apps/attr )
-"
-
-RDEPEND="${DEPEND}"
-
-BDEPEND="sys-devel/gettext"
-
-src_prepare() {
- default
-
- # Hand made build system at it's finest.
- echo -e "#!/bin/sh\ntrue" >tools/update-version || die
- echo "#pragma once" >src/version.hpp || die
- echo "static const char MERGERFS_VERSION[] = \"${PV}\";" >>src/version.hpp || die
-
- if ! use xattr; then
- sed 's%USE_XATTR = 1%USE_XATTR = 0%g' -i Makefile || die
- fi
-}
-
-src_compile() {
- # https://bugs.gentoo.org/725978
- tc-export AR CC CXX
-
- default
-}
-
-src_install() {
- dobin build/mergerfs
- dosym mergerfs /usr/bin/mount.mergerfs
- dodoc README.md
- doman man/mergerfs.1
-}
diff --git a/sys-fs/mergerfs/mergerfs-2.33.3.ebuild b/sys-fs/mergerfs/mergerfs-2.33.3.ebuild
deleted file mode 100644
index fb2d3b62a41b..000000000000
--- a/sys-fs/mergerfs/mergerfs-2.33.3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs
-
-DESCRIPTION="A featureful union filesystem"
-HOMEPAGE="https://github.com/trapexit/mergerfs"
-
-SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
-
-# Vendorized libfuse that's bundled is under LGPL-2.1.
-LICENSE="ISC LGPL-2.1"
-SLOT="0"
-IUSE="+xattr"
-
-DEPEND="
- xattr? ( sys-apps/attr )
-"
-
-RDEPEND="${DEPEND}"
-
-BDEPEND="sys-devel/gettext"
-
-src_prepare() {
- default
-
- # Hand made build system at it's finest.
- echo -e "#!/bin/sh\ntrue" >tools/update-version || die
- echo "#pragma once" >src/version.hpp || die
- echo "static const char MERGERFS_VERSION[] = \"${PV}\";" >>src/version.hpp || die
-
- if ! use xattr; then
- sed 's%USE_XATTR = 1%USE_XATTR = 0%g' -i Makefile || die
- fi
-}
-
-src_compile() {
- # https://bugs.gentoo.org/725978
- tc-export AR CC CXX
-
- default
-}
-
-src_install() {
- dobin build/mergerfs
- dosym mergerfs /usr/bin/mount.mergerfs
- dodoc README.md
- doman man/mergerfs.1
-}
diff --git a/sys-fs/mergerfs/mergerfs-2.33.5.ebuild b/sys-fs/mergerfs/mergerfs-2.35.1.ebuild
index fb2d3b62a41b..a534d6068490 100644
--- a/sys-fs/mergerfs/mergerfs-2.33.5.ebuild
+++ b/sys-fs/mergerfs/mergerfs-2.35.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ DESCRIPTION="A featureful union filesystem"
HOMEPAGE="https://github.com/trapexit/mergerfs"
SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~riscv x86"
# Vendorized libfuse that's bundled is under LGPL-2.1.
LICENSE="ISC LGPL-2.1"
diff --git a/sys-fs/mergerfs/mergerfs-2.33.4.ebuild b/sys-fs/mergerfs/mergerfs-2.36.0.ebuild
index a21ae969d856..a534d6068490 100644
--- a/sys-fs/mergerfs/mergerfs-2.33.4.ebuild
+++ b/sys-fs/mergerfs/mergerfs-2.36.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -9,7 +9,7 @@ DESCRIPTION="A featureful union filesystem"
HOMEPAGE="https://github.com/trapexit/mergerfs"
SRC_URI="https://github.com/trapexit/mergerfs/archive/${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~riscv x86"
# Vendorized libfuse that's bundled is under LGPL-2.1.
LICENSE="ISC LGPL-2.1"
diff --git a/sys-fs/mergerfs/metadata.xml b/sys-fs/mergerfs/metadata.xml
index d63ca378bfc1..30388cdafb75 100644
--- a/sys-fs/mergerfs/metadata.xml
+++ b/sys-fs/mergerfs/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">trapexit/mergerfs</remote-id>
</upstream>
diff --git a/sys-fs/mhddfs/files/mhddfs-0.1.39-parallel-build.patch b/sys-fs/mhddfs/files/mhddfs-0.1.39-parallel-build.patch
new file mode 100644
index 000000000000..b9c2d19603fe
--- /dev/null
+++ b/sys-fs/mhddfs/files/mhddfs-0.1.39-parallel-build.patch
@@ -0,0 +1,17 @@
+Sometimes obj directory was not created during
+parallel builds
+
+Related bugreports:
+https://bugs.gentoo.org/880051
+https://bugs.gentoo.org/911984
+
+--- a/Makefile 2023-08-10 11:43:39.826589819 +0300
++++ b/Makefile 2023-08-10 11:43:50.121722774 +0300
+@@ -90,6 +90,7 @@
+ touch $@
+
+ obj/%.o: src/%.c
++ mkdir -p obj
+ $(CC) $(CFLAGS) -c $< -o $@
+
+ clean:
diff --git a/sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild b/sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild
index 201ecb8f7ae5..a8fc5266b8a3 100644
--- a/sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild
+++ b/sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -29,6 +29,7 @@ PATCHES=(
"${FILESDIR}/${PN}-respect-compiler-vars.patch"
"${FILESDIR}/${P}-segfault-fix.patch"
"${FILESDIR}/${P}-xattr.patch"
+ "${FILESDIR}/${P}-parallel-build.patch"
)
src_compile() {
diff --git a/sys-fs/mount-zip/Manifest b/sys-fs/mount-zip/Manifest
new file mode 100644
index 000000000000..42703e9c4f95
--- /dev/null
+++ b/sys-fs/mount-zip/Manifest
@@ -0,0 +1 @@
+DIST mount-zip-1.0.12.tar.gz 723368 BLAKE2B 524d2681a4311975ca7d30362d28776f5258b5eab9fb52e5283ff5a20e17b9fae9aa03d19838424c1ce8a2822f90d2d03870153da654b21acc557400e6040117 SHA512 05608420d8a17d4bd940bb735e6f8bcfb696cbe4a120267b5dde3f9e04094e221b9a67e0a71125df7df02c4fdef102123d71e00fa7dda62dde28bdf57e599aa0
diff --git a/sys-fs/mount-zip/metadata.xml b/sys-fs/mount-zip/metadata.xml
new file mode 100644
index 000000000000..62957e62e7fc
--- /dev/null
+++ b/sys-fs/mount-zip/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>fdegros@chromium.org</email>
+ <name>François Degros</name>
+ </maintainer>
+
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+
+ <upstream>
+ <remote-id type="github">google/mount-zip</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/mount-zip/mount-zip-1.0.12.ebuild b/sys-fs/mount-zip/mount-zip-1.0.12.ebuild
new file mode 100644
index 000000000000..9a3a0c705708
--- /dev/null
+++ b/sys-fs/mount-zip/mount-zip-1.0.12.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="FUSE file system for ZIP archives"
+HOMEPAGE="https://github.com/google/mount-zip"
+SRC_URI="https://github.com/google/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/libzip:=
+ sys-fs/fuse:0=
+"
+
+DEPEND="
+ ${RDEPEND}
+ dev-libs/boost
+"
+
+BDEPEND="
+ virtual/pkgconfig
+"
+
+DOCS=( changelog README.md )
+
+src_configure() {
+ tc-export AR CC CXX PKG_CONFIG
+ default
+}
+
+src_install() {
+ default
+ doman mount-zip.1
+}
+
+src_test() {
+ addwrite /dev/fuse
+ default
+}
diff --git a/sys-fs/mp3fs/Manifest b/sys-fs/mp3fs/Manifest
index 57f55c8eebf0..80b6203c4ccd 100644
--- a/sys-fs/mp3fs/Manifest
+++ b/sys-fs/mp3fs/Manifest
@@ -1,2 +1 @@
-DIST mp3fs-0.91.tar.gz 357098 BLAKE2B 39f77f1f6d2c6e86aa08be925060c6cc72e0737ead2578f5b7ac5cfcf92aaf27dc31ae10e38646d0460c0087a7100229bc150ec443879b7c1c15c485cf3946c8 SHA512 9499566afbaf181acd9efb8a4d6253e288ab9be0c8b036b2993553d0d4f4692d7dbcf34ac03787d8dbbfc35b2cc29e1d78612933c428a908c9c48290fedb8681
DIST mp3fs-1.1.1.tar.gz 804399 BLAKE2B 9e7f99b923ad744d172fa261315498c7df13d2416a7eca45108d47a7926c40c527e306c1b7d3f0aeded01ad5d32325640358fab5b5327a5c11e0e91d21d4f290 SHA512 b1e4f403666122056f924514a7e63ddd53dc00346d7750e37e8150ad5f13294129595d79398677c69726fb2abf942d4ddb8fdcac3b1312a01ed467475f22592b
diff --git a/sys-fs/mp3fs/mp3fs-0.91-r2.ebuild b/sys-fs/mp3fs/mp3fs-0.91-r2.ebuild
deleted file mode 100644
index 9cfc17e71ace..000000000000
--- a/sys-fs/mp3fs/mp3fs-0.91-r2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A read-only FUSE filesystem which transcodes FLAC audio files to MP3 when read"
-HOMEPAGE="https://khenriks.github.com/mp3fs/"
-SRC_URI="https://github.com/khenriks/mp3fs/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RESTRICT="test"
-
-DEPEND="sys-fs/fuse:0=
- media-libs/libid3tag:=
- media-libs/flac
- media-sound/lame
- media-libs/libogg"
-RDEPEND="${DEPEND}"
diff --git a/sys-fs/mp3fs/mp3fs-1.1.1-r1.ebuild b/sys-fs/mp3fs/mp3fs-1.1.1-r1.ebuild
deleted file mode 100644
index e7f70ab2f022..000000000000
--- a/sys-fs/mp3fs/mp3fs-1.1.1-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="A read-only FUSE filesystem which transcodes FLAC audio files to MP3 when read"
-HOMEPAGE="https://khenriks.github.com/mp3fs/"
-SRC_URI="https://github.com/khenriks/mp3fs/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RESTRICT="test"
-
-DEPEND="sys-fs/fuse:0=
- media-libs/libid3tag:=
- media-libs/flac
- media-sound/lame
- media-libs/libogg"
-RDEPEND="${DEPEND}"
diff --git a/sys-fs/mp3fs/mp3fs-1.1.1-r4.ebuild b/sys-fs/mp3fs/mp3fs-1.1.1-r4.ebuild
new file mode 100644
index 000000000000..11f67b814bad
--- /dev/null
+++ b/sys-fs/mp3fs/mp3fs-1.1.1-r4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Read-only FUSE filesystem which transcodes FLAC audio files to MP3 when read"
+HOMEPAGE="https://khenriks.github.io/mp3fs/"
+SRC_URI="https://github.com/khenriks/mp3fs/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+flac vorbis"
+
+REQUIRED_USE="|| ( flac vorbis )"
+RESTRICT="test"
+
+DEPEND="
+ media-libs/libid3tag:=
+ media-sound/lame
+ sys-fs/fuse:0=
+ flac? ( >=media-libs/flac-1.1.4:=[cxx] )
+ vorbis? ( >=media-libs/libvorbis-1.3.0 )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with flac) \
+ $(use_with vorbis)
+}
diff --git a/sys-fs/mp3fs/mp3fs-1.1.1-r5.ebuild b/sys-fs/mp3fs/mp3fs-1.1.1-r5.ebuild
new file mode 100644
index 000000000000..f8a75766501d
--- /dev/null
+++ b/sys-fs/mp3fs/mp3fs-1.1.1-r5.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Read-only FUSE filesystem which transcodes FLAC audio files to MP3 when read"
+HOMEPAGE="https://khenriks.github.io/mp3fs/"
+SRC_URI="https://github.com/khenriks/mp3fs/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+flac vorbis"
+
+REQUIRED_USE="|| ( flac vorbis )"
+RESTRICT="test"
+
+DEPEND="
+ media-libs/libid3tag:=
+ media-sound/lame
+ sys-fs/fuse:0=
+ flac? ( >=media-libs/flac-1.1.4:=[cxx] )
+ vorbis? ( >=media-libs/libvorbis-1.3.0 )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ $(use_with flac) \
+ $(use_with vorbis)
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
diff --git a/sys-fs/mtd-utils/Manifest b/sys-fs/mtd-utils/Manifest
index 3cfa8f44043b..4719fe93cf9b 100644
--- a/sys-fs/mtd-utils/Manifest
+++ b/sys-fs/mtd-utils/Manifest
@@ -1 +1 @@
-DIST mtd-utils-2.1.4.tar.bz2 630365 BLAKE2B 0538ecb90cd1215662cc8493d07e743e067218c1ae1ce09f40343a1ab13f5318d5e198d622a0d69acb2d677cdd3415880689c42afa41877730ff6a546c2b318f SHA512 4010a7b25cf32df2de02b8efbbe91c49789e3963618df7461e4bf64a8c588440c55f17c750a7d2df34367a732b0fefc487ee052129a5aa6a44a0023b714dface
+DIST mtd-utils-2.1.6.tar.bz2 458333 BLAKE2B 799c19fbee1a690fa695edfa7e2ab1691e37fccb3f83685065e93b5ceea96e550eecdba4576b7d1a58a1b0ce06e3e551ee635fe9ed16521952fc85986f74ae6f SHA512 470902475b9e583d3a12801c1cab5492c671ec3ccf853cc3336c4e2b8771eac489d67b1414b9f1e827c42ebdba0fe2cdc681297477d67a796af04d81160442bd
diff --git a/sys-fs/mtd-utils/metadata.xml b/sys-fs/mtd-utils/metadata.xml
index f1a55df93e29..85989de1c9ac 100644
--- a/sys-fs/mtd-utils/metadata.xml
+++ b/sys-fs/mtd-utils/metadata.xml
@@ -5,10 +5,6 @@
<email>robbat2@gentoo.org</email>
<name>Robin H. Johnson</name>
</maintainer>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
<maintainer type="project">
<email>embedded@gentoo.org</email>
<name>Embedded Gentoo</name>
diff --git a/sys-fs/mtd-utils/mtd-utils-2.1.4.ebuild b/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
index 02bb5cdb71a0..437ded5330bf 100644
--- a/sys-fs/mtd-utils/mtd-utils-2.1.4.ebuild
+++ b/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
@@ -9,17 +9,20 @@ SRC_URI="https://infraroot.at/pub/mtd/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="+lzo xattr +zstd"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="+lzo +ssl test xattr +zstd"
+RESTRICT="!test? ( test )"
DEPEND="
sys-apps/util-linux:=
sys-libs/zlib:=
lzo? ( dev-libs/lzo:= )
+ ssl? ( dev-libs/openssl:0= )
xattr? ( sys-apps/acl )
zstd? ( app-arch/zstd:= )
"
RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-util/cmocka )"
DOCS=( jffsX-utils/device_table.txt ubifs-utils/mkfs.ubifs/README )
@@ -29,8 +32,12 @@ src_prepare() {
}
src_configure() {
+ # --enable-tests is for test programs that are installed
econf \
+ --enable-tests \
+ $(use_enable test unit-tests) \
$(use_with lzo) \
+ $(use_with ssl ubifs ) \
$(use_with xattr) \
$(use_with zstd)
}
diff --git a/sys-fs/mtd-utils/mtd-utils-2.1.6-r2.ebuild b/sys-fs/mtd-utils/mtd-utils-2.1.6-r2.ebuild
new file mode 100644
index 000000000000..b3cd6fa4e221
--- /dev/null
+++ b/sys-fs/mtd-utils/mtd-utils-2.1.6-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="MTD userspace tools (NFTL, JFFS2, NAND, FTL, UBI)"
+HOMEPAGE="https://git.infradead.org/?p=mtd-utils.git;a=summary"
+SRC_URI="https://infraroot.at/pub/mtd/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="+lzo +ssl test xattr +zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-apps/util-linux:=
+ sys-libs/zlib:=
+ lzo? ( dev-libs/lzo:= )
+ ssl? ( dev-libs/openssl:0= )
+ xattr? ( sys-apps/acl )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="test? ( dev-util/cmocka )"
+
+DOCS=( jffsX-utils/device_table.txt ubifs-utils/mkfs.ubifs/README )
+
+src_prepare() {
+ default
+ sed -i '/if test.*then/s: == : = :' configure || die
+}
+
+src_configure() {
+ # --enable-tests is for test programs that are installed
+ local myeconfargs=(
+ --enable-tests
+ $(use_enable test unit-tests)
+ $(use_with lzo)
+ $(use_with ssl ubifs)
+ $(use_with xattr)
+ $(use_with zstd)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+ doman \
+ jffsX-utils/mkfs.jffs2.1 \
+ ubi-utils/ubinize.8
+}
diff --git a/sys-fs/mtools/Manifest b/sys-fs/mtools/Manifest
index 443dcb7f6992..66233d9589c3 100644
--- a/sys-fs/mtools/Manifest
+++ b/sys-fs/mtools/Manifest
@@ -1,2 +1,2 @@
-DIST mtools-4.0.39.tar.bz2 429751 BLAKE2B b1b04fa1614cf36245c60c3ef35de1869e53786dbc9a7e864278a51c9519c63b59fff9dffbd761fbc59782161ba201908b4a5b6792a7231fff6f27be2bea1d67 SHA512 6f84ce57a7c088b526e3e4fa7c509f1869a55b87951134d6257533d311b4a97496c44fa374de6f8cb15c645d60b9f9745ccbdf405d0d77a30a86e31ed8d54ce4
-DIST mtools-4.0.40.tar.bz2 447038 BLAKE2B 6ae2dbd2129d48528f6a36f81f44979b2dd977729e3f3f0ab5ff4aa8d29b0841cd770e2ed12f0f772676f6bcfeb3949d4fb79e240cf1d88524bbaa6cdfb4d26e SHA512 c3acf8723ae207d9eccdca3c2b55aed262175328417031397c14c7120a1e02f0c52c7fefc0145dfb09fb91f1d3e63254e7a45bc7edf50b1ecc87b7cc95d2f390
+DIST mtools-4.0.42.tar.bz2 441506 BLAKE2B 07afec0aea49427ec71ae8ddde9c1dceb33b2533e9acbde3564b0715efce784b5ea8c2122ff588f84e42435abb73ac9912520fd654a078bf0336e62f35f3ce2a SHA512 fd8d56d2dea9ce5e2b311b29ebdd4d89ec7baaf5f2fbfdc85019d480eff4d198ebf0e591c0f28ee1e39d8b81d49d7d4e9ed94b0e94e5b02ce9bbc03632124811
+DIST mtools-4.0.43.tar.bz2 443673 BLAKE2B d000839bbb6bc647eb5a32b08b40b1350cd0a85fd564f0705ecbfe20f8f4ef21bf2d59cd0ccd7a159c829c019c6c2f3cbdef82ff3f4a9e8828cc13d44ddabd1d SHA512 b70e483688124a653dd333ab127494dab12d413809680a4846dc4ae5c166a0b9938a2ab290e518c1f1a5b18ed96d2c2a29d92d61b16b772a4ab5e495379fe410
diff --git a/sys-fs/mtools/metadata.xml b/sys-fs/mtools/metadata.xml
index e54bf0e33fba..bffaeaa4d768 100644
--- a/sys-fs/mtools/metadata.xml
+++ b/sys-fs/mtools/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:mtools:*</remote-id>
+ <remote-id type="savannah">mtools</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/mtools/mtools-4.0.39.ebuild b/sys-fs/mtools/mtools-4.0.42.ebuild
index 96ceda73398b..affe33edeb48 100644
--- a/sys-fs/mtools/mtools-4.0.39.ebuild
+++ b/sys-fs/mtools/mtools-4.0.42.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic
@@ -11,17 +11,19 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~x64-macos ~x64-solaris"
-IUSE="X"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos ~x64-solaris"
+IUSE="gui"
-RDEPEND="!elibc_glibc? ( virtual/libiconv )
- X? (
+RDEPEND="
+ virtual/libiconv
+ gui? (
x11-libs/libICE
x11-libs/libXau
x11-libs/libSM
x11-libs/libX11
x11-libs/libXt
- )"
+ )
+"
DEPEND="${RDEPEND}"
src_configure() {
@@ -32,7 +34,7 @@ src_configure() {
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/mtools
- $(use_with X x)
+ $(use_with gui x)
)
econf "${myeconfargs[@]}"
@@ -40,6 +42,7 @@ src_configure() {
src_install() {
local -a DOCS=( README* Release.notes )
+
default
insinto /etc/mtools
diff --git a/sys-fs/mtools/mtools-4.0.40.ebuild b/sys-fs/mtools/mtools-4.0.43.ebuild
index baaf64974625..1ed92576168b 100644
--- a/sys-fs/mtools/mtools-4.0.40.ebuild
+++ b/sys-fs/mtools/mtools-4.0.43.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic
@@ -11,17 +11,19 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-macos ~x64-solaris"
-IUSE="X"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~x64-macos ~x64-solaris"
+IUSE="gui"
-RDEPEND="!elibc_glibc? ( virtual/libiconv )
- X? (
+RDEPEND="
+ virtual/libiconv
+ gui? (
x11-libs/libICE
x11-libs/libXau
x11-libs/libSM
x11-libs/libX11
x11-libs/libXt
- )"
+ )
+"
DEPEND="${RDEPEND}"
src_configure() {
@@ -32,7 +34,7 @@ src_configure() {
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/mtools
- $(use_with X x)
+ $(use_with gui x)
)
econf "${myeconfargs[@]}"
diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest
index 55dc9b865d23..4be7fb5a794c 100644
--- a/sys-fs/multipath-tools/Manifest
+++ b/sys-fs/multipath-tools/Manifest
@@ -1 +1,2 @@
-DIST multipath-tools-0.8.9.tar.gz 534866 BLAKE2B b5ebf3c393f6b60e85678ac07378ae07056b6777409fc1bc4f4133cdd3f8c75a3d76f6e9342208df7fed8fe7812b089eba8f6b769e47e1dd6c8b7fd321bdbd30 SHA512 25f2a5d436af6a343804988cef45ca1574d4a981655a2b91563ddb89138619158befdf5af92d836a17c95d6dcf901072b614473c2129274e5dcdb1a1d64edb4d
+DIST multipath-tools-0.9.7.tar.gz 570416 BLAKE2B ed3f47d648685f691a69d83ad36f39b279f3a5b1cf1cb15151841ea26d629df3a33ab9a186bbf6922264805cc3bc37d09f22e611215f1972e33b26e08ff71bc2 SHA512 0f4c97179a3de5a0c77893fec229eb183293fed8e5e01a9945b261845ccf5d13f8ef2c2ff0c17c9345217d236275caed4765422ec95aed80821f11658bf96e26
+DIST multipath-tools-0.9.8.tar.gz 580531 BLAKE2B 66bc6b78795c08b4fe5f4bc718330be51b073dddb597998f384ccaf746c0b9e53e21d674623df03ed7f9ccd9800fe988add8068e0eaaeace076c00395453ba0a SHA512 4d73bcf6bce769a829c306c609b206ddba65a708620f458106e406dd18d12f9a9d97f400662daa8e6a75c9fdf7decb6dcbda92cb807b6c53522c7b4b2795b627
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.7-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.7-respect-flags.patch
deleted file mode 100644
index 43c03883ee07..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.7-respect-flags.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/Makefile.inc
-+++ b/Makefile.inc
-@@ -101,8 +101,9 @@ OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
- WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
- -Werror=implicit-function-declaration -Werror=format-security \
- $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS)
--CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
--CFLAGS := --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe \
-+CPPFLAGS ?= -Wp,-D_FORTIFY_SOURCE=2
-+CFLAGS ?= --std=gnu99 $(CFLAGS) $(OPTFLAGS) $(WARNFLAGS) -pipe
-+CFLAGS += --std=gnu99 \
- -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
- -MMD -MP
- BIN_CFLAGS = -fPIE -DPIE
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch b/sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch
new file mode 100644
index 000000000000..0210563bd7c0
--- /dev/null
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.9.7-null-pointer-dereference-in-uev_update_path.patch
@@ -0,0 +1,28 @@
+From fc8b102c666d7fbad9242dea43a64941399a1c0d Mon Sep 17 00:00:00 2001
+From: Benjamin Marzinski <bmarzins@redhat.com>
+Date: Tue, 16 Jan 2024 20:19:11 -0500
+Subject: [PATCH] multipathd: fix null pointer dereference in uev_update_path
+
+The Auto-resize code added a check that deferences pp->mpp without
+checking that it's non-NULL. Fix it.
+
+Fixes: 981b83ad1 ("multipathd: Add auto_resize config option")
+Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
+Reviewed-by: Martin Wilck <mwilck@suse.com>
+---
+ multipathd/main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/multipathd/main.c b/multipathd/main.c
+index 74f6cd92..fbc3f8da 100644
+--- a/multipathd/main.c
++++ b/multipathd/main.c
+@@ -1630,7 +1630,7 @@ uev_update_path (struct uevent *uev, struct vectors * vecs)
+ }
+ }
+ }
+- if (auto_resize != AUTO_RESIZE_NEVER &&
++ if (auto_resize != AUTO_RESIZE_NEVER && mpp &&
+ !mpp->wait_for_udev) {
+ struct pathgroup *pgp;
+ struct path *pp2;
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch b/sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch
new file mode 100644
index 000000000000..449746e1f661
--- /dev/null
+++ b/sys-fs/multipath-tools/files/multipath-tools-0.9.7-remove-Werror.patch
@@ -0,0 +1,49 @@
+diff --git a/Makefile.inc b/Makefile.inc
+index 6b45430..c47f82f 100644
+--- a/Makefile.inc
++++ b/Makefile.inc
+@@ -96,7 +96,7 @@ MODPROBE_UNIT := $(shell test "0$(SYSTEMD)" -lt 245 2>/dev/null || \
+ echo "modprobe@dm_multipath.service")
+
+ OPTFLAGS := -O2 -g $(STACKPROT) --param=ssp-buffer-size=4
+-WARNFLAGS := -Werror -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
++WARNFLAGS := -Wall -Wextra -Wformat=2 $(WFORMATOVERFLOW) -Werror=implicit-int \
+ -Werror=implicit-function-declaration -Werror=format-security \
+ $(WNOCLOBBERED) -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) $(W_URCU_TYPE_LIMITS)
+ CPPFLAGS := $(FORTIFY_OPT) $(CPPFLAGS) $(D_URCU_VERSION) \
+diff --git a/create-config.mk b/create-config.mk
+index 4d318b9..1d4ff2d 100644
+--- a/create-config.mk
++++ b/create-config.mk
+@@ -64,7 +64,7 @@ check_var = $(shell \
+ # gcc 4.8 compiles blacklist.c only with -Wno-missing-field-initializers
+ TEST_MISSING_INITIALIZERS = $(shell \
+ echo 'struct A {int a, b;}; struct B {struct A a; int b;} b = {.a.a=1};' | \
+- $(CC) -c -Werror -Wmissing-field-initializers -o /dev/null -xc - >/dev/null 2>&1 \
++ $(CC) -c -Wmissing-field-initializers -o /dev/null -xc - >/dev/null 2>&1 \
+ || echo -Wno-missing-field-initializers)
+
+ # gcc 4.8.4 and certain versions of liburcu fail to compile this with -Werror=type-limits
+@@ -136,7 +136,7 @@ SYSTEMD := $(strip $(or $(shell $(PKG_CONFIG) --modversion libsystemd 2>/dev/nul
+ # Evaluates to "option" if yes, and "fallback" otherwise.
+ TEST_CC_OPTION = $(shell \
+ if echo 'int main(void){return 0;}' | \
+- $(CC) -o /dev/null -c -Werror "$(1)" -xc - >/dev/null 2>&1; \
++ $(CC) -o /dev/null -c "$(1)" -xc - >/dev/null 2>&1; \
+ then \
+ echo "$(1)"; \
+ else \
+@@ -148,11 +148,11 @@ TEST_CC_OPTION = $(shell \
+ # but it doesn't seem to make a difference wrt the compilation result.
+ FORTIFY_OPT := $(shell \
+ if /bin/echo -e '$(__HASH__)include <string.h>\nint main(void) { return 0; }' | \
+- $(CC) -o /dev/null $(OPTFLAGS) -c -Werror -D_FORTIFY_SOURCE=3 -xc - 2>/dev/null; \
++ $(CC) -o /dev/null $(OPTFLAGS) -c -D_FORTIFY_SOURCE=3 -xc - 2>/dev/null; \
+ then \
+ echo "-D_FORTIFY_SOURCE=3"; \
+ elif /bin/echo -e '$(__HASH__)include <string.h>\nint main(void) { return 0; }' | \
+- $(CC) -o /dev/null $(OPTFLAGS) -c -Werror -D_FORTIFY_SOURCE=2 -xc - 2>/dev/null; \
++ $(CC) -o /dev/null $(OPTFLAGS) -c -D_FORTIFY_SOURCE=2 -xc - 2>/dev/null; \
+ then \
+ echo "-D_FORTIFY_SOURCE=2"; \
+ fi)
diff --git a/sys-fs/multipath-tools/metadata.xml b/sys-fs/multipath-tools/metadata.xml
index 1cbf200d6c5b..019e77364d43 100644
--- a/sys-fs/multipath-tools/metadata.xml
+++ b/sys-fs/multipath-tools/metadata.xml
@@ -5,9 +5,6 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
- <use>
- <flag name="rbd">Enable Rados block device support via <pkg>sys-cluster/ceph</pkg></flag>
- </use>
<upstream>
<remote-id type="github">opensvc/multipath-tools</remote-id>
</upstream>
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.9.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.9.ebuild
deleted file mode 100644
index 4d67993c2e86..000000000000
--- a/sys-fs/multipath-tools/multipath-tools-0.8.9.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit linux-info systemd toolchain-funcs udev
-
-DESCRIPTION="Device mapper target autoconfig"
-HOMEPAGE="http://christophe.varoqui.free.fr/"
-SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
-IUSE="systemd rbd test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/json-c:=
- dev-libs/libaio
- dev-libs/userspace-rcu:=
- >=sys-fs/lvm2-2.02.45
- >=virtual/libudev-232-r3
- sys-libs/readline:0=
- rbd? ( sys-cluster/ceph )
- systemd? ( sys-apps/systemd )
-"
-DEPEND="${RDEPEND}
- test? ( dev-util/cmocka )"
-BDEPEND="virtual/pkgconfig"
-
-CONFIG_CHECK="~DM_MULTIPATH"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.7-respect-flags.patch
-)
-
-src_prepare() {
- default
-
- # The upstream lacks any way to configure the build at present
- # and ceph is a huge dependency, so we're using sed to make it
- # optional until the upstream has a proper configure system
- if ! use rbd ; then
- sed \
- -e "s/libcheckrbd.so/# libcheckrbd.so/" \
- -e "s/-lrados//" \
- -i libmultipath/checkers/Makefile \
- || die
- fi
-}
-
-src_compile() {
- tc-export CC
-
- # LIBDM_API_FLUSH involves grepping files in /usr/include,
- # so force the test to go the way we want #411337.
- emake \
- LIB="${EPREFIX}/$(get_libdir)" \
- LIBDM_API_FLUSH=1 \
- PKGCONFIG="$(tc-getPKG_CONFIG)"
-}
-
-src_install() {
- dodir /sbin /usr/share/man/man{3,5,8}
- emake \
- DESTDIR="${D}" \
- LIB="${EPREFIX}/$(get_libdir)" \
- RUN=run \
- unitdir="$(systemd_get_systemunitdir)" \
- libudevdir='${prefix}'/"$(get_udevdir)" \
- pkgconfdir='${prefix}'/usr/'${LIB}'/pkgconfig \
- install
-
- newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
- newinitd "${FILESDIR}"/multipath.rc multipath
-
- einstalldocs
-
- find "${ED}" -type f -name "*.la" -delete || die
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]] ; then
- elog "If you need multipath on your system, you must"
- elog "add 'multipath' into your boot runlevel!"
- fi
-}
diff --git a/sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild b/sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild
new file mode 100644
index 000000000000..af967fb2c612
--- /dev/null
+++ b/sys-fs/multipath-tools/multipath-tools-0.9.7-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info systemd tmpfiles toolchain-funcs udev
+
+DESCRIPTION="Device mapper target autoconfig"
+HOMEPAGE="http://christophe.varoqui.free.fr/"
+SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
+IUSE="systemd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/json-c:=
+ dev-libs/libaio
+ dev-libs/userspace-rcu:=
+ >=sys-fs/lvm2-2.02.45
+ sys-libs/readline:=
+ >=virtual/libudev-232-r3
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~DM_MULTIPATH"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.7-remove-Werror.patch
+ "${FILESDIR}"/${P}-null-pointer-dereference-in-uev_update_path.patch
+)
+
+myemake() {
+ local myemakeargs=(
+ prefix="${EPREFIX}"
+ usr_prefix="${EPREFIX}/usr"
+ LIB="$(get_libdir)"
+ RUN=run
+ plugindir="${EPREFIX}/$(get_libdir)/multipath"
+ unitdir="$(systemd_get_systemunitdir)"
+ libudevdir="${EPREFIX}$(get_udevdir)"
+ GENTOO_CFLAGS="${CFLAGS}"
+ GENTOO_CPPFLAGS="${CPPFLAGS}"
+ FORTIFY_OPT=
+ OPTFLAGS=
+ FAKEVAR=1
+ V=1
+ )
+
+ emake "${myemakeargs[@]}" "$@"
+}
+
+src_prepare() {
+ default
+
+ sed -r -i -e '/^(CPPFLAGS|CFLAGS)\>/s,^(CPPFLAGS|CFLAGS)\>[[:space:]]+:=,\1 := $(GENTOO_\1),' \
+ "${S}"/Makefile.inc || die
+}
+
+src_compile() {
+ tc-export CC
+ # Breaks with always_inline
+ filter-flags -fno-semantic-interposition
+ # Breaks because of use of wrapping (-Wl,-wrap, wrap_*)
+ # https://github.com/opensvc/multipath-tools/issues/18
+ filter-lto
+ myemake
+}
+
+src_test() {
+ myemake test
+}
+
+src_install() {
+ dodir /sbin
+
+ myemake DESTDIR="${ED}" install
+
+ einstalldocs
+
+ newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
+ newinitd "${FILESDIR}"/multipath.rc multipath
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ tmpfiles_process /usr/lib/tmpfiles.d/multipath.conf
+ udev_reload
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "If you need multipath on your system, you must"
+ elog "add 'multipath' into your boot runlevel!"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild b/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild
new file mode 100644
index 000000000000..6e3559c6b390
--- /dev/null
+++ b/sys-fs/multipath-tools/multipath-tools-0.9.7.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info systemd tmpfiles toolchain-funcs udev
+
+DESCRIPTION="Device mapper target autoconfig"
+HOMEPAGE="http://christophe.varoqui.free.fr/"
+SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
+IUSE="systemd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/json-c:=
+ dev-libs/libaio
+ dev-libs/userspace-rcu:=
+ >=sys-fs/lvm2-2.02.45
+ sys-libs/readline:=
+ >=virtual/libudev-232-r3
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~DM_MULTIPATH"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.7-remove-Werror.patch
+)
+
+myemake() {
+ local myemakeargs=(
+ prefix="${EPREFIX}"
+ usr_prefix="${EPREFIX}/usr"
+ LIB="$(get_libdir)"
+ RUN=run
+ plugindir="${EPREFIX}/$(get_libdir)/multipath"
+ unitdir="$(systemd_get_systemunitdir)"
+ libudevdir="${EPREFIX}$(get_udevdir)"
+ GENTOO_CFLAGS="${CFLAGS}"
+ GENTOO_CPPFLAGS="${CPPFLAGS}"
+ FORTIFY_OPT=
+ OPTFLAGS=
+ FAKEVAR=1
+ V=1
+ )
+
+ emake "${myemakeargs[@]}" "$@"
+}
+
+src_prepare() {
+ default
+
+ sed -r -i -e '/^(CPPFLAGS|CFLAGS)\>/s,^(CPPFLAGS|CFLAGS)\>[[:space:]]+:=,\1 := $(GENTOO_\1),' \
+ "${S}"/Makefile.inc || die
+}
+
+src_compile() {
+ tc-export CC
+ # Breaks with always_inline
+ filter-flags -fno-semantic-interposition
+ # Breaks because of use of wrapping (-Wl,-wrap, wrap_*)
+ # https://github.com/opensvc/multipath-tools/issues/18
+ filter-lto
+ myemake
+}
+
+src_test() {
+ myemake test
+}
+
+src_install() {
+ dodir /sbin
+
+ myemake DESTDIR="${ED}" install
+
+ einstalldocs
+
+ newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
+ newinitd "${FILESDIR}"/multipath.rc multipath
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ tmpfiles_process /usr/lib/tmpfiles.d/multipath.conf
+ udev_reload
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "If you need multipath on your system, you must"
+ elog "add 'multipath' into your boot runlevel!"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/multipath-tools/multipath-tools-0.9.8.ebuild b/sys-fs/multipath-tools/multipath-tools-0.9.8.ebuild
new file mode 100644
index 000000000000..b13cccacf786
--- /dev/null
+++ b/sys-fs/multipath-tools/multipath-tools-0.9.8.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic linux-info systemd tmpfiles toolchain-funcs udev
+
+DESCRIPTION="Device mapper target autoconfig"
+HOMEPAGE="http://christophe.varoqui.free.fr/"
+SRC_URI="https://github.com/opensvc/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="systemd test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/json-c:=
+ dev-libs/libaio
+ dev-libs/userspace-rcu:=
+ >=sys-fs/lvm2-2.02.45
+ sys-libs/readline:=
+ >=virtual/libudev-232-r3
+ systemd? ( sys-apps/systemd )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-util/cmocka )
+"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~DM_MULTIPATH"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.7-remove-Werror.patch
+)
+
+myemake() {
+ local myemakeargs=(
+ prefix="${EPREFIX}"
+ usr_prefix="${EPREFIX}/usr"
+ LIB="$(get_libdir)"
+ RUN=run
+ plugindir="${EPREFIX}/$(get_libdir)/multipath"
+ unitdir="$(systemd_get_systemunitdir)"
+ libudevdir="${EPREFIX}$(get_udevdir)"
+ GENTOO_CFLAGS="${CFLAGS}"
+ GENTOO_CPPFLAGS="${CPPFLAGS}"
+ FORTIFY_OPT=
+ OPTFLAGS=
+ FAKEVAR=1
+ V=1
+ )
+
+ emake "${myemakeargs[@]}" "$@"
+}
+
+src_prepare() {
+ default
+
+ sed -r -i -e '/^(CPPFLAGS|CFLAGS)\>/s,^(CPPFLAGS|CFLAGS)\>[[:space:]]+:=,\1 := $(GENTOO_\1),' \
+ "${S}"/Makefile.inc || die
+}
+
+src_compile() {
+ tc-export CC
+ # Breaks with always_inline
+ filter-flags -fno-semantic-interposition
+ # Breaks because of use of wrapping (-Wl,-wrap, wrap_*)
+ # https://github.com/opensvc/multipath-tools/issues/18
+ filter-lto
+ myemake
+}
+
+src_test() {
+ myemake test
+}
+
+src_install() {
+ dodir /sbin
+
+ myemake DESTDIR="${ED}" install
+
+ einstalldocs
+
+ newinitd "${FILESDIR}"/multipathd-r1.rc multipathd
+ newinitd "${FILESDIR}"/multipath.rc multipath
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ tmpfiles_process /usr/lib/tmpfiles.d/multipath.conf
+ udev_reload
+
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "If you need multipath on your system, you must"
+ elog "add 'multipath' into your boot runlevel!"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/ncdu-bin/Manifest b/sys-fs/ncdu-bin/Manifest
new file mode 100644
index 000000000000..2cedc339a75a
--- /dev/null
+++ b/sys-fs/ncdu-bin/Manifest
@@ -0,0 +1,8 @@
+DIST ncdu-2.3-linux-aarch64.tar.gz 286044 BLAKE2B 12961a4ddfef4b240d0a379b8efa733e104d5179645f57512a68ff4e523c002085cdcff3b8533c7575c9201c0f9aa4063227b3953f7a9826f2cdcd6604e9f36f SHA512 6b37d1b9f9ccc18eac118cd94faf808a7173111157f0e06c97de73c349ee4a853bc832b7f8b3e5d116862f93987278504781c36431106a9bb870cf64f428c8f0
+DIST ncdu-2.3-linux-aarch64.tar.gz.asc 833 BLAKE2B cee39dbf98a17f678a6335a86e310291a957de5083818bc266e1e4ba3a562e3f3a0afb666b15b0c10348dab3214d8c02bc55f7d0d134d67673d7d781df51d389 SHA512 1b98c7d673e0a1b1467aba4699ad217388e95e1bb89200ccf59a567cf0512d3d46a067798a8ece55ca76e66c1712748843540d0c1441331e07117dfec533edbc
+DIST ncdu-2.3-linux-arm.tar.gz 281221 BLAKE2B aa381e1d227689430168cc0eb7c762556da733b246fedb26b5adaee94f5c141a1dfdafa11518babfdad3c5c8a8040a6f6e398d78357935ed36df4dc027c8a492 SHA512 336e898ec393ae3d2d962b60083d1214fff32da0204d9aed52894488681ff11b223afdfb089d528d679da73e8580da25b3a857dcce9a2c6799ce9a4e6c4643d5
+DIST ncdu-2.3-linux-arm.tar.gz.asc 833 BLAKE2B ea3b427a516a0edf06dd29ec93df04daaa2e3a0659ad357370b58e95977d6ac881ea8104646f9a82b9905af12d18c3f51bba17f2a9d3b6db5b208050581d0ea8 SHA512 d5f484da3d45a52d97f65e25f4bbcfac3500b8871eceb4b5f5d2a8eda7e3f4b175cea544ba56ff4a7e86de7dfe4ccc054979f3755c1ca87b72b12e851cb12a1a
+DIST ncdu-2.3-linux-x86.tar.gz 315771 BLAKE2B 10319febbb8cd9c88e0c0677eb53be9a9340106c542b9b7e888944ada52ccb9371b38aacac4d8374bd1c150cfa9939fcda20c5513885015569328fdfd5e69f78 SHA512 c77dd79d13b428d2c85f5a73b3638b6e71229fe924e6d4a3beb9b4765febbcb1d0c29e816fa3354b0e2c0b88c599b2f1fd03eeb87a73cccd296a2fb0225e0d98
+DIST ncdu-2.3-linux-x86.tar.gz.asc 833 BLAKE2B b4dcb755252287556019f15677b02922a0597baa20c176c105a4a47831b82365ee88d82f2f807dda43ce3c25e07e6510b96867e4b2fc2db4eab7b91af9ddc703 SHA512 e618db337ab4afa9dcd0cc743430af3ff17393d9cde9d1623667767e15b32d97310664507dbcc783008d5bb9842c6a6474c21bfce08a19241e5992da863840ea
+DIST ncdu-2.3-linux-x86_64.tar.gz 293280 BLAKE2B 871f9c1f6860d83fe3c8ad8e7ffd2157389427b98d3232aaffc9ce983c4b98b9d562d39e94adb667ffaa4745aa4fb1caedd1f9f9b3ca5a756db922a8229f22b7 SHA512 9a1c17a971dc422342e5f42d4f6be4195239411bd529f81d0b0225bdef27e3112561cb1b8c699fb805bd766fb074fc0d93331d83af79d95235533899ac90de5a
+DIST ncdu-2.3-linux-x86_64.tar.gz.asc 833 BLAKE2B 85d09c438c3a51fceb0e81252ccd184e3b7b7a1770c423b61efceb3728b1bfa68c26ef852084231a6fbd88d147ccaad655135007cdd8d850bb34aede465c3ab8 SHA512 a130f2f4d623cff7f0256437443fcdf8c0fc073f6c7bd27cc924e3a464dea5ea17f717cc2c700bc67356578d4e7eab342c444926cb14a6610f6e9be329d781f7
diff --git a/sys-fs/ncdu-bin/metadata.xml b/sys-fs/ncdu-bin/metadata.xml
new file mode 100644
index 000000000000..8a13f5d95ce3
--- /dev/null
+++ b/sys-fs/ncdu-bin/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
+ <longdescription>
+ Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find
+ space hogs on a remote server where you don’t have an entire graphical setup
+ available, but it is a useful tool even on regular desktop systems. Ncdu aims
+ to be fast, simple and easy to use, and should be able to run in any minimal
+ POSIX-like environment with ncurses installed.
+ </longdescription>
+ <upstream>
+ <changelog>https://dev.yorhel.nl/ncdu/changes2</changelog>
+ <doc lang="en">https://dev.yorhel.nl/ncdu/man</doc>
+ <bugs-to>https://code.blicky.net/yorhel/ncdu/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/ncdu-bin/ncdu-bin-2.3.ebuild b/sys-fs/ncdu-bin/ncdu-bin-2.3.ebuild
new file mode 100644
index 000000000000..557f5c9250f3
--- /dev/null
+++ b/sys-fs/ncdu-bin/ncdu-bin-2.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit verify-sig
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu"
+SRC_URI="
+ amd64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86_64.tar.gz )
+ arm? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-arm.tar.gz )
+ arm64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-aarch64.tar.gz )
+ x86? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86.tar.gz )
+ verify-sig? (
+ amd64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86_64.tar.gz.asc )
+ arm? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-arm.tar.gz.asc )
+ arm64? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-aarch64.tar.gz.asc )
+ x86? ( https://dev.yorhel.nl/download/ncdu-${PV}-linux-x86.tar.gz.asc )
+ )
+"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~arm ~arm64 ~x86"
+
+BDEPEND="verify-sig? ( sec-keys/openpgp-keys-yorhel )"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/yoranheling.asc
+
+QA_PREBUILT="usr/bin/ncdu-bin"
+
+src_install() {
+ newbin ncdu ncdu-bin
+}
diff --git a/sys-fs/ncdu/Manifest b/sys-fs/ncdu/Manifest
index 3873bd7bce91..5b8655517bde 100644
--- a/sys-fs/ncdu/Manifest
+++ b/sys-fs/ncdu/Manifest
@@ -1,3 +1,4 @@
-DIST ncdu-1.16.tar.gz 149705 BLAKE2B 61d004581bdcf1885bec24d0a1de4fc890fe91bba511abbdbc507a48f31946caf5c7324979e8410e53cfca8ada1b20342b737dc4e8b1f034f2fca5aea84e4369 SHA512 ac8b7e573332e4e006bf743224096b697517b6899744f189ea5a31665c1ef5e50c7fdaaa0a50a8d7bc3d471656f1f1c6681c21368bdaf983257d8cc311a0dfd0
-DIST ncdu-1.17.tar.gz 157187 BLAKE2B 7d36a648b8fb0a26d3b6bcc533ed8f510e7f37b3084cb585a0c785d73fd82f537e0f2f9493c3b56173eae1324255e7acf7617a1cd1614c92a3b7bf0d53b7d77f SHA512 aa2366797760f0c0b2bea866f0ae0446b8113e3ff6460192a4a42d4d888d473d7f37bc4acff6220fa86003bd96d71761168a2ae0ded36456072176a69564c775
-DIST ncdu-2.1.2.tar.gz 52702 BLAKE2B fb64058bec2e8f286fa82e16986cddd9126e5c94d513740d48ff1c971e7ee95270fe6c1cfbbe240bb8e99fba4e3fd6d2624f99870422835da44447a2507f0b8b SHA512 ff48f2b9625e1aba29e5598051d16c4b5dc1a634fab897709226dd69d3b48031e6e62527c8514ec4753874d2d96800e538d6ad90b4a5f9851410d10579ccc67c
+DIST ncdu-1.19.tar.gz 159917 BLAKE2B 0f2022c031b4e00129525c0f4f800ed8feb8d3de3ae2c4baf06050886fb16ad4381c5439b64868abfdb66907d36e38a87ec3c8ddcd16f756da75439dc08ae6e6 SHA512 2bbfe2bab101f92674e13bef5260a39b32c127a310ae59c045f3684aaa8dab6f767c0162dc8f868d8adfaa17d597d0b3d2c134fe97bbaf205da0f8272e96c5d6
+DIST ncdu-1.19.tar.gz.asc 833 BLAKE2B ede22114375b31deb9a00de55982f145a1d1eaa911ef205e3c1a61a6382a9ea9d42977b5c1c41e3aafbfaec29e473d0ed428bb50f2e3cf799e204415b0ad2bf7 SHA512 2fb0d23c59b4f98b0080617792853de08380f769de13398f7649c082de330a4c917b6bbd846e3175f20eadbc9e4acf03d959ab828e3707ef1a9992be40b2b4ce
+DIST ncdu-2.3.tar.gz 56608 BLAKE2B 9fd73fba83c57195f8ffbad5b954140a776d1cd1d7b3e458f832255ee9c07eb8af9888a23ed3c671f508d6ba3795e2361f79e64b4b24630d744470efc5bfaded SHA512 283f78761b225883e090c4d0d1325bffc70049477087df3e8d1afcebc3136930c2636b2bba4aa6e43d53626668519c26a1528ba5c75489d3b5924e8974184e47
+DIST ncdu-2.3.tar.gz.asc 833 BLAKE2B fd5b6b4b6e14b8bf66f5053c637598c3a0a9ad16d29c20805d62418fb69a22fa1155c8591dac35514d088c57853043c7d6c8b94abdff793a3f7b0a53cb41fd65 SHA512 698d8f1c0a7e0267fdfcfc7823803012ab7faae6eee75af406ecc9a73244463521de851c3f2b116ae7f6d7e567ea17a7ef6aae75e135a8efbb02333525455b20
diff --git a/sys-fs/ncdu/metadata.xml b/sys-fs/ncdu/metadata.xml
index c3151420b3a4..8a13f5d95ce3 100644
--- a/sys-fs/ncdu/metadata.xml
+++ b/sys-fs/ncdu/metadata.xml
@@ -6,9 +6,15 @@
<name>Jakov Smolić</name>
</maintainer>
<longdescription>
- As the name already suggests, ncdu is an NCurses version of the famous old 'du'
- unix command. It provides a fast and easy interface to your harddrive. Where is
- your disk space going? Why is your home directory that large? ncdu can answer
- those questions for you in just a matter of seconds!
+ Ncdu is a disk usage analyzer with an ncurses interface. It is designed to find
+ space hogs on a remote server where you don’t have an entire graphical setup
+ available, but it is a useful tool even on regular desktop systems. Ncdu aims
+ to be fast, simple and easy to use, and should be able to run in any minimal
+ POSIX-like environment with ncurses installed.
</longdescription>
+ <upstream>
+ <changelog>https://dev.yorhel.nl/ncdu/changes2</changelog>
+ <doc lang="en">https://dev.yorhel.nl/ncdu/man</doc>
+ <bugs-to>https://code.blicky.net/yorhel/ncdu/issues</bugs-to>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/ncdu/ncdu-1.16-r1.ebuild b/sys-fs/ncdu/ncdu-1.16-r1.ebuild
deleted file mode 100644
index ec9c548bfd36..000000000000
--- a/sys-fs/ncdu/ncdu-1.16-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-DESCRIPTION="NCurses Disk Usage"
-HOMEPAGE="https://dev.yorhel.nl/ncdu/"
-SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="virtual/pkgconfig"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)]"
-
-RDEPEND="${DEPEND}"
diff --git a/sys-fs/ncdu/ncdu-1.17.ebuild b/sys-fs/ncdu/ncdu-1.17.ebuild
deleted file mode 100644
index 4c3e4b6681eb..000000000000
--- a/sys-fs/ncdu/ncdu-1.17.ebuild
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-DESCRIPTION="NCurses Disk Usage"
-HOMEPAGE="https://dev.yorhel.nl/ncdu/"
-SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)]"
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
diff --git a/sys-fs/ncdu/ncdu-1.19.ebuild b/sys-fs/ncdu/ncdu-1.19.ebuild
new file mode 100644
index 000000000000..1f64c46bbaa6
--- /dev/null
+++ b/sys-fs/ncdu/ncdu-1.19.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit verify-sig
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu"
+SRC_URI="
+ https://dev.yorhel.nl/download/${P}.tar.gz
+ verify-sig? ( https://dev.yorhel.nl/download/${P}.tar.gz.asc )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ dev-lang/perl
+ verify-sig? ( sec-keys/openpgp-keys-yorhel )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/yoranheling.asc
diff --git a/sys-fs/ncdu/ncdu-2.1.2.ebuild b/sys-fs/ncdu/ncdu-2.1.2.ebuild
deleted file mode 100644
index e755f1d265d0..000000000000
--- a/sys-fs/ncdu/ncdu-2.1.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="NCurses Disk Usage"
-HOMEPAGE="https://dev.yorhel.nl/ncdu/"
-SRC_URI="https://dev.yorhel.nl/download/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="sys-libs/ncurses:=[unicode(+)]"
-RDEPEND="${DEPEND}"
-BDEPEND="
- ~dev-lang/zig-0.9.1
- virtual/pkgconfig
-"
-
-# see https://github.com/ziglang/zig/issues/3382
-# For now, Zig doesn't support CFLAGS/LDFLAGS/etc.
-QA_FLAGS_IGNORED="/usr/bin/ncdu"
-
-src_test() {
- zig build test || die "Tests failed"
-}
-
-src_install() {
- emake PREFIX="${ED}"/usr install
-
- dodoc README.md ChangeLog
-}
diff --git a/sys-fs/ncdu/ncdu-2.3.ebuild b/sys-fs/ncdu/ncdu-2.3.ebuild
new file mode 100644
index 000000000000..ac0e6228b984
--- /dev/null
+++ b/sys-fs/ncdu/ncdu-2.3.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit verify-sig edo
+
+DESCRIPTION="NCurses Disk Usage"
+HOMEPAGE="https://dev.yorhel.nl/ncdu"
+SRC_URI="
+ https://dev.yorhel.nl/download/${P}.tar.gz
+ verify-sig? ( https://dev.yorhel.nl/download/${P}.tar.gz.asc )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+EZIG_MIN="0.11"
+EZIG_MAX_EXCLUSIVE="0.12"
+
+DEPEND="sys-libs/ncurses:=[unicode(+)]"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ || ( dev-lang/zig:${EZIG_MIN} dev-lang/zig-bin:${EZIG_MIN} )
+ virtual/pkgconfig
+ dev-lang/perl
+ verify-sig? ( sec-keys/openpgp-keys-yorhel )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/yoranheling.asc
+
+# see https://github.com/ziglang/zig/issues/3382
+# For now, Zig doesn't support CFLAGS/LDFLAGS/etc.
+QA_FLAGS_IGNORED="usr/bin/ncdu"
+
+# Many thanks to Florian Schmaus (Flowdalic)!
+# Adapted from https://github.com/gentoo/gentoo/pull/28986
+# Set the EZIG environment variable.
+zig-set_EZIG() {
+ [[ -n ${EZIG} ]] && return
+
+ if [[ -n ${EZIG_OVERWRITE} ]]; then
+ export EZIG="${EZIG_OVERWRITE}"
+ return
+ fi
+
+ local candidate selected selected_ver ver
+
+ for candidate in "${BROOT}"/usr/bin/zig-*; do
+ if [[ ! -L ${candidate} || ${candidate} != */zig?(-bin)-+([0-9.]) ]]; then
+ continue
+ fi
+
+ ver=${candidate##*-}
+
+ if [[ -n ${EZIG_EXACT_VER} ]]; then
+ ver_test "${ver}" -ne "${EZIG_EXACT_VER}" && continue
+
+ selected="${candidate}"
+ selected_ver="${ver}"
+ break
+ fi
+
+ if [[ -n ${EZIG_MIN} ]] \
+ && ver_test "${ver}" -lt "${EZIG_MIN}"; then
+ # Candidate does not satisfy EZIG_MIN condition.
+ continue
+ fi
+
+ if [[ -n ${EZIG_MAX_EXCLUSIVE} ]] \
+ && ver_test "${ver}" -ge "${EZIG_MAX_EXCLUSIVE}"; then
+ # Candidate does not satisfy EZIG_MAX_EXCLUSIVE condition.
+ continue
+ fi
+
+ if [[ -n ${selected_ver} ]] \
+ && ver_test "${selected_ver}" -gt "${ver}"; then
+ # Candidate is older than the currently selected candidate.
+ continue
+ fi
+
+ selected="${candidate}"
+ selected_ver="${ver}"
+ done
+
+ if [[ -z ${selected} ]]; then
+ die "Could not find (suitable) zig installation in ${BROOT}/usr/bin"
+ fi
+
+ export EZIG="${selected}"
+ export EZIG_VER="${selected_ver}"
+}
+
+# Invoke zig with the optionally provided arguments.
+ezig() {
+ zig-set_EZIG
+
+ # Unfortunately, we cannot add more args here, since syntax is different
+ # for every subcommands. Yes, even target/cpu :( f.i. :
+ # -target/-mcpu for zig build-exe vs -Dtarget/-Dcpu for zig build-
+ # -OReleaseSafe for zig build-exe vs -DReleaseSafe for zig build
+ # (or even none, if hardcoded by upstream so choice is -Drelease=true/false)
+ # Ofc we can patch this, but still...
+
+ edo "${EZIG}" "${@}"
+}
+
+src_unpack() {
+ if use verify-sig; then
+ verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc}
+ fi
+ default
+}
+
+src_configure() {
+ zig-set_EZIG
+ export ZIG=${EZIG}
+}
+
+src_test() {
+ ezig build test -Doptimize=ReleaseFast
+}
+
+src_install() {
+ emake PREFIX="${ED}"/usr install
+
+ dodoc README.md ChangeLog
+}
diff --git a/sys-fs/nilfs-utils/Manifest b/sys-fs/nilfs-utils/Manifest
index 7d514094842a..7a0e45923d4c 100644
--- a/sys-fs/nilfs-utils/Manifest
+++ b/sys-fs/nilfs-utils/Manifest
@@ -1,2 +1 @@
-DIST nilfs-utils-2.2.2.tar.bz2 424097 BLAKE2B d38b40e9b70a17bc957a89f5d1551bcc0eaaf396ac5126d47dc2dd0a9e311033beb1164a916fb369b51794d38cb63793ede7917be2d76b8df02a32de11b0a4fc SHA512 2ac0f1f25472d8900732db9f31e6b824e7e591bf306aa18d8b55c5d93807f4f7ceb65ba7e49540a39c7f285ad63c5f4ab795d34b2a04398d91cd2beb5fc6edce
-DIST nilfs-utils-2.2.8.tar.bz2 440550 BLAKE2B 05cce6b639856df6d5748bc4045500d801260c46cedff31aa571c743eb7e2c8f3d6101faf9bc90b231425fbae349671f6603d902a3240f1f06ef7fd7fedbe2c6 SHA512 3232390581f63de5ebe7b461b178a40dfbdaa4bc6aa96b218ea8182c5bf81b162a1e632a1c21d9f1e89fdba9393b4e268e001c335a99ce22f645a62ae3154783
+DIST nilfs-utils-2.2.9.tar.bz2 439514 BLAKE2B 0908e0180a2af074e97be99fa0a390e926e934fea79a40d792fc0dc1ef820c4a4ecee3696ddaf0d8f8d5c434daed77ea66f37591b05f7a6437e9a3c1a12f5758 SHA512 dd8ab20ee0d6750a6d81f86fe4d1ad94a8a71aa53ee7cd38550ea32fffcc9527db1c75d34f732f0f8f6379a808249f8eec2619e54c595566a3fc434a87d9e66d
diff --git a/sys-fs/nilfs-utils/nilfs-utils-2.2.2-r1.ebuild b/sys-fs/nilfs-utils/nilfs-utils-2.2.2-r1.ebuild
deleted file mode 100644
index 5d4a4436f345..000000000000
--- a/sys-fs/nilfs-utils/nilfs-utils-2.2.2-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit linux-info
-
-DESCRIPTION="A New Implementation of a Log-structured File System for Linux"
-HOMEPAGE="http://nilfs.sourceforge.net/"
-SRC_URI="http://nilfs.sourceforge.net/download/${P}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 x86"
-IUSE="static-libs"
-
-RDEPEND="
- sys-fs/e2fsprogs
- sys-apps/util-linux"
-DEPEND="${RDEPEND}
- sys-kernel/linux-headers"
-
-CONFIG_CHECK="~POSIX_MQUEUE"
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --libdir="${EPREFIX}"/$(get_libdir) \
- --enable-libmount
-}
-
-src_install() {
- default
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/sys-fs/nilfs-utils/nilfs-utils-2.2.8.ebuild b/sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild
index 462f3c47f4bf..ed1cb42de5ec 100644
--- a/sys-fs/nilfs-utils/nilfs-utils-2.2.8.ebuild
+++ b/sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="http://nilfs.sourceforge.net/download/${P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86"
+KEYWORDS="~alpha amd64 ~arm ~hppa ppc ppc64 x86"
IUSE="static-libs"
RDEPEND="
@@ -28,7 +28,7 @@ src_configure() {
econf \
--enable-static=yes \
--libdir="${EPREFIX}"/$(get_libdir) \
- --enable-libmount
+ --with-libmount
}
src_install() {
diff --git a/sys-fs/ntfs3g/Manifest b/sys-fs/ntfs3g/Manifest
index 1cd869943436..4ac6b358c845 100644
--- a/sys-fs/ntfs3g/Manifest
+++ b/sys-fs/ntfs3g/Manifest
@@ -1 +1 @@
-DIST ntfs-3g_ntfsprogs-2022.5.17.tgz 1318476 BLAKE2B 0f3d5b3ca6186886b1a4f1fc59242a1f4ccdc842cbe53b0869f707c1dbebdd58058d40b265dae663b71a2a611f7ce5392c63afa3053dc075155759c10499d529 SHA512 25e6d3412958576b0cd614f5d93201c0d7e8bbee78fbaf956718a3825c1435b3f0c3631ea1cc60b5b1be6e9ae7d58c0c03b0bebb69edee3bf181a966734336df
+DIST ntfs-3g_ntfsprogs-2022.10.3.tgz 1324320 BLAKE2B 36a64af0c050bb42af69e14834883324d6201f70d5e45c175e0703980c045b038bdbfca0375edd42db3a3827240f63cf73c9f17a51805799129257b95fef7676 SHA512 891589483954423b19bef6e8a174fb4311ad92b6397a0db80f77c72b746bf18c2fa12457a571947f92755637a6bc784188920d4f017ae12a420819ab0d74af59
diff --git a/sys-fs/ntfs3g/metadata.xml b/sys-fs/ntfs3g/metadata.xml
index 910a26c2caf5..34b4fc4eb13f 100644
--- a/sys-fs/ntfs3g/metadata.xml
+++ b/sys-fs/ntfs3g/metadata.xml
@@ -25,5 +25,6 @@
<bugs-to>http://tuxera.com/forum/</bugs-to>
<remote-id type="cpe">cpe:/a:ntfs-3g:ntfs-3g</remote-id>
<remote-id type="sourceforge">ntfs-3g</remote-id>
+ <remote-id type="github">tuxera/ntfs-3g</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild b/sys-fs/ntfs3g/ntfs3g-2022.10.3.ebuild
index 63ccf4800e83..684524892382 100644
--- a/sys-fs/ntfs3g/ntfs3g-2022.5.17.ebuild
+++ b/sys-fs/ntfs3g/ntfs3g-2022.10.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2006-2022 Gentoo Authors
+# Copyright 2006-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,9 +8,8 @@ inherit toolchain-funcs
MY_P="ntfs-3g_ntfsprogs-${PV}"
DESCRIPTION="Open source read-write NTFS driver that runs under FUSE"
-HOMEPAGE="http://www.tuxera.com/community/ntfs-3g-download/"
-HOMEPAGE="https://jp-andre.pagesperso-orange.fr/advanced-ntfs-3g.html"
-SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz"
+HOMEPAGE="https://github.com/tuxera/ntfs-3g"
+SRC_URI="https://download.tuxera.com/opensource/${MY_P}.tgz"
LICENSE="GPL-2"
# The subslot matches the SONAME major #.
@@ -64,7 +63,9 @@ src_configure() {
--with-fuse=internal
)
- econf "${myconf[@]}"
+ # bash for bug #921018 - should be fixed in next release though
+ # see https://github.com/tuxera/ntfs-3g/pull/58
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconf[@]}"
}
src_install() {
diff --git a/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild b/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild
index e3c9630e72cc..50a1759d6ee0 100644
--- a/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild
+++ b/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,7 +14,7 @@ S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~sparc x86"
IUSE="debug examples nls static-libs"
DEPEND="
diff --git a/sys-fs/quota/Manifest b/sys-fs/quota/Manifest
index ebd4c38e4346..de8eeb05f7a9 100644
--- a/sys-fs/quota/Manifest
+++ b/sys-fs/quota/Manifest
@@ -1 +1 @@
-DIST quota-4.06.tar.gz 520448 BLAKE2B 2cbadeade228d0154f3a8d455cc1aa6e85c9ad7854007e3188c9035abe4d5fdbdf97985fd2fa6308f486ffbe60461e0fe1139f1ec0ca415ce08292d74e0ddde1 SHA512 cece46b8e3a82e8afcf8bfc9f6b310ec91afe034102cebc031bc7d7e04287fdbffb21ab1d3e6e1825175cffa4bad0a4ecbefec0efee028d961b14ac626d5c871
+DIST quota-4.09.tar.gz 523191 BLAKE2B 30b3828a45dcd7d99ff053f362917c138b1f0bcbde5f6fd3dfc1b48cb12615e5673d852f9276f2b370f9c799a2103e220d91ddf6a770aaaf8944cfb5c1131a74 SHA512 003d45f33543d4c87446e6547079cdae293b8dade01c58cf3626623721a1400ee07681395ad656c23a9ea2a62ab27c6ad24ad55600890e6e25334aba27ab1ad5
diff --git a/sys-fs/quota/files/quota-4.06-musl-cdefs.patch b/sys-fs/quota/files/quota-4.06-musl-cdefs.patch
deleted file mode 100644
index 286fc481b6b3..000000000000
--- a/sys-fs/quota/files/quota-4.06-musl-cdefs.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-https://sourceforge.net/p/linuxquota/code/ci/1959f3768a284315250acd4d17a9f5ef0b8ea189/tree/quota.h?diff=43b6e31f39edbe7de4f4feeef4d0cf6be093e021
-https://bugs.gentoo.org/713390
---- a/quota.h
-+++ b/quota.h
-@@ -1,7 +1,6 @@
- #ifndef GUARD_QUOTA_H
- #define GUARD_QUOTA_H
-
--#include <sys/cdefs.h>
- #include <sys/types.h>
- #include <stdint.h>
-
-@@ -182,6 +181,6 @@
- #endif
- #endif
-
--long quotactl __P((int, const char *, qid_t, caddr_t));
-+long quotactl(int, const char *, qid_t, caddr_t);
-
- #endif /* _QUOTA_ */
diff --git a/sys-fs/quota/files/quota-4.09-configure-bashism.patch b/sys-fs/quota/files/quota-4.09-configure-bashism.patch
new file mode 100644
index 000000000000..5866d3873dde
--- /dev/null
+++ b/sys-fs/quota/files/quota-4.09-configure-bashism.patch
@@ -0,0 +1,16 @@
+https://sourceforge.net/p/linuxquota/patches/56/
+
+configure: WARNING: tcpd.h not found
+./configure: 8453: test: X: unexpected operator
+checking that generated files are newer than configure... done
+--- a/configure.ac
++++ b/configure.ac
+@@ -283,7 +283,7 @@ AC_ARG_WITH([pid-dir],
+ [AS_HELP_STRING([--with-pid-dir=DIRECTORY], [Create PID files in this directory instead of /var/run])],
+ [with_pid_dir="$withval"]
+ )
+-AS_IF([test "X$with_pid_dir" == "X" -o "$with_pid_dir" == "yes" -o "$with_pid_dir" == "no"],[
++AS_IF([test "X$with_pid_dir" = "X" -o "$with_pid_dir" = "yes" -o "$with_pid_dir" = "no"],[
+ with_pid_dir="/var/run"
+ ])
+ AC_DEFINE_UNQUOTED([PID_DIR], ["$with_pid_dir"], [Directory for PID files])
diff --git a/sys-fs/quota/files/quota-4.09-gettext-version.patch b/sys-fs/quota/files/quota-4.09-gettext-version.patch
new file mode 100644
index 000000000000..1dc194f8b473
--- /dev/null
+++ b/sys-fs/quota/files/quota-4.09-gettext-version.patch
@@ -0,0 +1,14 @@
+https://sourceforge.net/p/linuxquota/bugs/142/
+
+Avoids e.g. egrep warnings.
+--- a/configure.ac
++++ b/configure.ac
+@@ -43,7 +43,7 @@ AC_CHECK_FUNC([nl_langinfo], [
+ # Gettext support
+ # ===============
+ AM_GNU_GETTEXT([external])
+-AM_GNU_GETTEXT_VERSION([0.12.1])
++AM_GNU_GETTEXT_VERSION([0.21])
+
+ AS_IF([test "$enable_nls" != "no"], [
+ enable_nls="yes"
diff --git a/sys-fs/quota/quota-4.06-r1.ebuild b/sys-fs/quota/quota-4.09.ebuild
index 60b635e13264..8bf802bd6d36 100644
--- a/sys-fs/quota/quota-4.06-r1.ebuild
+++ b/sys-fs/quota/quota-4.09.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit autotools
@@ -12,7 +12,7 @@ SRC_URI="mirror://sourceforge/linuxquota/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-IUSE="ldap netlink nls rpc tcpd"
+IUSE="ldap netlink nls rpc selinux tcpd"
RDEPEND="
sys-fs/e2fsprogs
@@ -31,14 +31,17 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="nls? ( sys-devel/gettext )"
PDEPEND="rpc? ( net-nds/rpcbind )"
+RDEPEND+=" selinux? ( sec-policy/selinux-quota )"
PATCHES=(
- "${FILESDIR}"/${P}-musl-cdefs.patch
+ "${FILESDIR}"/${PN}-4.09-configure-bashism.patch
+ "${FILESDIR}"/${PN}-4.09-gettext-version.patch
)
src_prepare() {
default
+ # Only needed for bashism patch and stale macros patch
eautoreconf
}
diff --git a/sys-fs/quotatool/Manifest b/sys-fs/quotatool/Manifest
index dffdf12dfa58..bb35f21a5def 100644
--- a/sys-fs/quotatool/Manifest
+++ b/sys-fs/quotatool/Manifest
@@ -1 +1,2 @@
DIST quotatool-1.6.2.tar.gz 147691 BLAKE2B 22eb1f5012b0dd19d52a795a493e7a51e9bab0d6e71b10d632a4f61faf6b54db5b0b6096fdc38b0fdd2879ebc2a4cb44e7279e735e09436a9def5018814b3478 SHA512 882bdc43e49ef69b1b2899da01faf7853524f67585b716bba195ea89a250a90a7796a225b7d141b68bf45c7524d9fe506000998e6e7dc113b559f95e6ed21e2c
+DIST quotatool-1.6.3.gh.tar.gz 105408 BLAKE2B aad673bab49071122c3ddb64a6f9e3006b2fa2b958e00be35decf13b4cf8fb0d6e2f06278287275a90ae04a31e48e492e2be9f7abbc8522e9c454b86aaaa5271 SHA512 d21f41bf4d45116241885b9ba249ad49cd55043773ca1b6663b0d7ad2ad531d7411bc812338973e82b50c402987bf3910edd455ab83a8fd66c2b369c22297693
diff --git a/sys-fs/quotatool/files/quotatool-1.6.2-clang16.patch b/sys-fs/quotatool/files/quotatool-1.6.2-clang16.patch
new file mode 100644
index 000000000000..e68ed5f53814
--- /dev/null
+++ b/sys-fs/quotatool/files/quotatool-1.6.2-clang16.patch
@@ -0,0 +1,32 @@
+https://github.com/ekenberg/quotatool/commit/ad6944baaa73cf6230f9a2bef2399b31c2130547
+
+From ad6944baaa73cf6230f9a2bef2399b31c2130547 Mon Sep 17 00:00:00 2001
+From: Bas Zoetekouw <bas.zoetekouw@surfnet.nl>
+Date: Thu, 9 Aug 2018 22:11:58 +0200
+Subject: [PATCH] fix compiler warnings
+
+--- a/src/output.h
++++ b/src/output.h
+@@ -17,8 +17,8 @@
+
+ extern int output_level;
+
+-inline void output_version (void);
+-inline void output_help (void);
++void output_version (void);
++void output_help (void);
+
+ void output_debug (const char *format, ...);
+ void output_info (const char *format, ...);
+--- a/src/quota.h
++++ b/src/quota.h
+@@ -110,7 +110,7 @@ void quota_delete (quota_t *myquota);
+ int quota_get (quota_t *myquota);
+ int quota_set (quota_t *myquota);
+
+-int xfs_reset_grace(quota_t *myquota, int grace_type);
++int quota_reset_grace(quota_t *myquota, int grace_type);
+
+
+ #endif /* INCLUDE_QUOTATOOL_QUOTA */
+
diff --git a/sys-fs/quotatool/files/quotatool-1.6.2-fix-autoconf.patch b/sys-fs/quotatool/files/quotatool-1.6.2-fix-autoconf.patch
new file mode 100644
index 000000000000..5d681bb7132f
--- /dev/null
+++ b/sys-fs/quotatool/files/quotatool-1.6.2-fix-autoconf.patch
@@ -0,0 +1,133 @@
+https://github.com/ekenberg/quotatool/commit/b42fbba1c2a863b726d30b0d80471e76c82ec801
+https://github.com/ekenberg/quotatool/commit/2b773bb36135ede595bb2305663aec809edc8d35
+
+From b42fbba1c2a863b726d30b0d80471e76c82ec801 Mon Sep 17 00:00:00 2001
+From: Bas Zoetekouw <bas.zoetekouw@surfnet.nl>
+Date: Tue, 12 Feb 2019 15:35:34 +0100
+Subject: [PATCH] make configure.in work with recent autoconf
+
+--- a/configure.in
++++ b/configure.in
+@@ -1,6 +1,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+
+-AC_INIT(src/main.c)
++AC_INIT
++AC_CONFIG_SRCDIR([src/main.c])
+ AC_CONFIG_AUX_DIR(tools)
+
+
+@@ -17,20 +18,20 @@ dnl ---------------------------------------------------------------------------
+ dnl Set program, version info
+ PROGNAME=quotatool
+ AC_SUBST(PROGNAME)
+-AC_DEFINE_UNQUOTED(PROGNAME, "$PROGNAME")
++AC_DEFINE_UNQUOTED(PROGNAME, "$PROGNAME", [Name of the current program])
+
+ AC_SUBST(MAJOR_VERSION)
+-AC_DEFINE_UNQUOTED(MAJOR_VERSION, $MAJOR_VERSION)
++AC_DEFINE_UNQUOTED(MAJOR_VERSION, $MAJOR_VERSION, [Major version number])
+
+ AC_SUBST(MINOR_VERSION)
+-AC_DEFINE_UNQUOTED(MINOR_VERSION, $MINOR_VERSION)
++AC_DEFINE_UNQUOTED(MINOR_VERSION, $MINOR_VERSION, [Minor version number])
+
+ AC_SUBST(PATCHLEVEL)
+-AC_DEFINE_UNQUOTED(PATCHLEVEL, "$PATCHLEVEL")
++AC_DEFINE_UNQUOTED(PATCHLEVEL, "$PATCHLEVEL", [Patch level version number])
+
+-AC_DEFINE_UNQUOTED(COPYRIGHT_NOTICE, "$COPYRIGHT_NOTICE")
++AC_DEFINE_UNQUOTED(COPYRIGHT_NOTICE, "$COPYRIGHT_NOTICE", [Copyright notice])
+
+-AC_DEFINE_UNQUOTED(WWW_URL, "$WWW_URL")
++AC_DEFINE_UNQUOTED(WWW_URL, "$WWW_URL", [Upstream homepage])
+
+ dnl get the system type (for the makefile)
+
+@@ -38,31 +39,31 @@ AC_CANONICAL_HOST
+ case [$host] in
+ *linux*)
+ PLATFORM=linux
+- AC_DEFINE(PLATFORM_LINUX, 1)
++ AC_DEFINE(PLATFORM_LINUX, 1, [Is this a Linux platform?])
+ ;;
+ *solaris*)
+ PLATFORM=solaris
+- AC_DEFINE(PLATFORM_SOLARIS, 1)
++ AC_DEFINE(PLATFORM_SOLARIS, 1, [Is this a Solaris platform?])
+ ;;
+ *aix*)
+ PLATFORM=aix
+- AC_DEFINE(PLATFORM_AIX, 1)
++ AC_DEFINE(PLATFORM_AIX, 1, [Is this an AIX platform?])
+ ;;
+ *freebsd*|*openbsd*|*netbsd*)
+ PLATFORM=bsd
+- AC_DEFINE(PLATFORM_BSD, 1)
++ AC_DEFINE(PLATFORM_BSD, 1, [Is this a *BSD platform?])
+ ;;
+ *apple-darwin*)
+ PLATFORM=darwin
+- AC_DEFINE(PLATFORM_DARWIN, 1)
++ AC_DEFINE(PLATFORM_DARWIN, 1, [Is this an OSX platform?])
+ ;;
+ *)
+ PLATFORM=unknown
+- AC_DEFINE(PLATFORM_UNKNOWN, 1)
++ AC_DEFINE(PLATFORM_UNKNOWN, 1, [Is this an unknown platform?])
+ ;;
+ esac
+ AC_SUBST(PLATFORM)
+-AC_DEFINE_UNQUOTED(PLATFORM, $PLATFORM)
++AC_DEFINE_UNQUOTED(PLATFORM, $PLATFORM, [Name of the current platform])
+
+ dnl Check for programs.
+
+@@ -106,13 +107,13 @@ AC_C_CONST
+ AC_TYPE_UID_T
+ AC_C_INLINE
+ AC_CHECK_TYPE(u_int64_t, HAVE_U_INT64_T=1, HAVE_U_INT64_T=0)
+-AC_DEFINE_UNQUOTED(HAVE_U_INT64_T, $HAVE_U_INT64_T)
++AC_DEFINE_UNQUOTED(HAVE_U_INT64_T, $HAVE_U_INT64_T, [Can we use uint64_t?])
+
+ dnl Check for library functions.
+
+ AC_FUNC_VPRINTF
+ AC_CHECK_FUNCS(strdup strerror strtol strtod strchr)
+-test [x$PLATFORM] = [xlinux] && AC_DEFINE(HAVE_GNU_GETOPT, 1)
++test [x$PLATFORM] = [xlinux] && AC_DEFINE(HAVE_GNU_GETOPT, 1, [Can we use GNU getopt?])
+
+ dnl check for strlcpy and strlcat (mostly BSD)
+ AC_CHECK_FUNCS(strlcpy strlcat)
+@@ -121,9 +122,10 @@ dnl Check the commandline
+
+ AC_ARG_WITH(gnu-getopt, \
+ [--with-gnu-getopt getopt() is GNU getopt],\
+- test [x$withval] != [xno] || AC_DEFINE(HAVE_GNU_GETOPT, 1))
++ test [x$withval] != [xno] || AC_DEFINE(HAVE_GNU_GETOPT, 1), [Can we use GNU getopt?])
+
+ dnl Create output files
+
+ AC_CONFIG_HEADER(src/config.h)
+-AC_OUTPUT(local.mk)
++AC_CONFIG_FILES([local.mk])
++AC_OUTPUT
+
+From 2b773bb36135ede595bb2305663aec809edc8d35 Mon Sep 17 00:00:00 2001
+From: Bas Zoetekouw <bas@debian.org>
+Date: Wed, 13 Feb 2019 09:00:41 +0100
+Subject: [PATCH] Update configure.in
+
+Misplaced brace
+--- a/configure.in
++++ b/configure.in
+@@ -122,7 +122,7 @@ dnl Check the commandline
+
+ AC_ARG_WITH(gnu-getopt, \
+ [--with-gnu-getopt getopt() is GNU getopt],\
+- test [x$withval] != [xno] || AC_DEFINE(HAVE_GNU_GETOPT, 1), [Can we use GNU getopt?])
++ test [x$withval] != [xno] || AC_DEFINE(HAVE_GNU_GETOPT, 1, [Can we use GNU getopt?]))
+
+ dnl Create output files
+
+
diff --git a/sys-fs/quotatool/files/quotatool-1.6.2-warnings.patch b/sys-fs/quotatool/files/quotatool-1.6.2-warnings.patch
new file mode 100644
index 000000000000..0598f86b489b
--- /dev/null
+++ b/sys-fs/quotatool/files/quotatool-1.6.2-warnings.patch
@@ -0,0 +1,67 @@
+https://github.com/ekenberg/quotatool/commit/09695c944947d804cbe3b5c7e2c854953984413e
+https://github.com/ekenberg/quotatool/commit/af27842d1a6640d932407999ceec57f54a225a78
+
+From 09695c944947d804cbe3b5c7e2c854953984413e Mon Sep 17 00:00:00 2001
+From: Bas Zoetekouw <bas.zoetekouw@surfnet.nl>
+Date: Thu, 9 Aug 2018 22:17:22 +0200
+Subject: [PATCH] fix implicit fallthrough
+
+--- a/src/parse.c
++++ b/src/parse.c
+@@ -268,6 +268,7 @@ argdata_t *parse_commandline (int argc, char **argv)
+
+ case '?':
+ output_error ("Unrecognized option: '%c'", optopt);
++ __attribute__ ((fallthrough));
+
+ default:
+ output_help();
+
+
+From af27842d1a6640d932407999ceec57f54a225a78 Mon Sep 17 00:00:00 2001
+From: Johan Ekenberg <johan.ekenberg@gmail.com>
+Date: Mon, 1 Apr 2019 13:19:08 +0200
+Subject: [PATCH] Fix compiler warnings
+
+__P() seems to not be used with modern compilers
+Fix switch-case attribute fallthrough warning
+--- a/src/linux/linux_quota.h
++++ b/src/linux/linux_quota.h
+@@ -117,7 +117,7 @@ struct if_dqinfo {
+ #endif
+ #endif
+
+-long quotactl __P((int, const char *, qid_t, caddr_t));
++long quotactl (int, const char *, qid_t, caddr_t);
+
+ /*
+ * runtime detection of quota format
+@@ -139,16 +139,3 @@ int kern_quota_format(fs_t *, int);
+ #include "xfs_quota.h"
+
+ #endif /* _QUOTA_ */
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+-
+--- a/src/parse.c
++++ b/src/parse.c
+@@ -268,7 +268,7 @@ argdata_t *parse_commandline (int argc, char **argv)
+
+ case '?':
+ output_error ("Unrecognized option: '%c'", optopt);
+- __attribute__ ((fallthrough));
++ // fall through
+
+ default:
+ output_help();
+
diff --git a/sys-fs/quotatool/metadata.xml b/sys-fs/quotatool/metadata.xml
index 73dda144f9ac..fd8d6c15a717 100644
--- a/sys-fs/quotatool/metadata.xml
+++ b/sys-fs/quotatool/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ekenberg/quotatool</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/quotatool/quotatool-1.6.2-r1.ebuild b/sys-fs/quotatool/quotatool-1.6.2-r1.ebuild
new file mode 100644
index 000000000000..6739b334ab11
--- /dev/null
+++ b/sys-fs/quotatool/quotatool-1.6.2-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Command-line utility for filesystem quotas"
+HOMEPAGE="https://quotatool.ekenberg.se/"
+SRC_URI="https://quotatool.ekenberg.se/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ppc x86"
+
+RDEPEND="sys-fs/quota"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.4.13-fix-buildsystem.patch
+ "${FILESDIR}"/${P}-clang16.patch
+ "${FILESDIR}"/${P}-fix-autoconf.patch
+ "${FILESDIR}"/${P}-warnings.patch
+)
+
+src_configure() {
+ tc-export CC
+ default
+}
+
+src_install() {
+ # TODO: drop on next release (https://github.com/ekenberg/quotatool/commit/5529c8084a06d4d95905f76e47d2621564876081)
+ dodir /usr/sbin /usr/share/man/man8
+ default
+}
diff --git a/sys-fs/quotatool/quotatool-1.6.2.ebuild b/sys-fs/quotatool/quotatool-1.6.3.ebuild
index 29880c32b907..6f1e6a22bd08 100644
--- a/sys-fs/quotatool/quotatool-1.6.2.ebuild
+++ b/sys-fs/quotatool/quotatool-1.6.3.ebuild
@@ -1,13 +1,14 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="Command-line utility for filesystem quotas"
-HOMEPAGE="http://quotatool.ekenberg.se/"
-SRC_URI="http://quotatool.ekenberg.se/${P}.tar.gz"
+HOMEPAGE="https://quotatool.ekenberg.se/"
+#SRC_URI="https://quotatool.ekenberg.se/${P}.tar.gz"
+SRC_URI="https://github.com/ekenberg/quotatool/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="GPL-2"
SLOT="0"
@@ -15,14 +16,7 @@ KEYWORDS="amd64 ~arm ~arm64 ppc x86"
RDEPEND="sys-fs/quota"
-PATCHES=( "${FILESDIR}"/${PN}-1.4.13-fix-buildsystem.patch )
-
src_configure() {
tc-export CC
default
}
-
-src_install() {
- dodir /usr/sbin /usr/share/man/man8
- default
-}
diff --git a/sys-fs/rar2fs/Manifest b/sys-fs/rar2fs/Manifest
index 4b33dbfeb25a..0f66c4942f49 100644
--- a/sys-fs/rar2fs/Manifest
+++ b/sys-fs/rar2fs/Manifest
@@ -1 +1 @@
-DIST rar2fs-1.29.5.tar.gz 268706 BLAKE2B cdc88672976c99868dedb65d772d6ad76bad7b1891845d09f575701005ab58cf79b5b19cb5de79d81bf1ef6ea8a734cd9755e002b6bf141f4166fdb73a667e2e SHA512 78962d614d66eeb09c013212d8bd373907d8a55489d9bc544f43ba1f34989cd777bba38a6af5899fea0b01e4cfdc0ee18462776e2d4cc529e05d5c6d30a899bf
+DIST rar2fs-1.29.6.tar.gz 269026 BLAKE2B df2b33561898b8e23bd54481f275058442be7b8616d7107614f98e6cc478c400ad764fff35ccab29f4a907ba9ac2afbb58f3093976e5b191b1e844f28a64f6a0 SHA512 c046f51c7047c3d04c3e9d1b69c72c019c32c70f83776f8179b608e8c21a7a3edfd4229434285a4234fd65ad48ffd5cbae3b2fa2d285cecf1a84a3a30ab3c256
diff --git a/sys-fs/rar2fs/rar2fs-1.29.5.ebuild b/sys-fs/rar2fs/rar2fs-1.29.6.ebuild
index 88a18a26d4e7..de854a230aa7 100644
--- a/sys-fs/rar2fs/rar2fs-1.29.5.ebuild
+++ b/sys-fs/rar2fs/rar2fs-1.29.6.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-
-inherit autotools
+EAPI=8
DESCRIPTION="A FUSE based filesystem that can mount one or multiple RAR archive(s)"
HOMEPAGE="https://hasse69.github.io/rar2fs/ https://github.com/hasse69/rar2fs"
@@ -21,11 +19,6 @@ RDEPEND=">=app-arch/unrar-5:=
sys-fs/fuse:0"
DEPEND="${RDEPEND}"
-src_prepare() {
- default
- eautoreconf
-}
-
src_configure() {
export USER_CFLAGS="${CFLAGS}"
diff --git a/sys-fs/reiser4progs/Manifest b/sys-fs/reiser4progs/Manifest
index 1d48a0198ead..e0c527b6cabe 100644
--- a/sys-fs/reiser4progs/Manifest
+++ b/sys-fs/reiser4progs/Manifest
@@ -1,2 +1 @@
-DIST reiser4progs-1.2.1.tar.gz 980203 BLAKE2B 8c9cb77458c083c50f34c17bddf4747b755b52b911a63835152ad584494c2738a5317c28e5b3f1e6bfdc49416f3715ca4fbbd9c8a428b5b484b54f8f4a861a58 SHA512 2caac5a98d672d68910c6df3e694a42365fa6273ae367c26126778c1fbe956aa502dac236d36c3302a5bf109468ad3447e645a6eab89c83f122dd1afe2aeda21
DIST reiser4progs-2.0.5.tar.gz 997516 BLAKE2B 38799bd2161ac3ad631b3f11f4f01f647fa8210786fa4aeb290a84dac95080cdf979be1cb4526abf08567e88f25aad54a3d776be85900e702a7325e674ddd0e1 SHA512 1e1f263828bd5f44837bcbdde072a94b2cc5a099dbf52d3e0f7f6851812fb2e8b77a3edcf5448f678304e23240c63919547a9671d36b816f97f989b17b494d27
diff --git a/sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild b/sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild
deleted file mode 100644
index 4488c628a154..000000000000
--- a/sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit multilib toolchain-funcs usr-ldscript
-
-DESCRIPTION="reiser4progs: mkfs, fsck, etc..."
-HOMEPAGE="https://sourceforge.net/projects/reiser4/"
-SRC_URI="mirror://sourceforge/reiser4/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm ppc ppc64 -sparc x86"
-IUSE="debug readline static static-libs"
-
-LIB_DEPEND=">=sys-libs/libaal-1.0.6:=[static-libs(+)]
- readline? ( sys-libs/readline:0=[static-libs(+)] )"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
- static-libs? ( >=sys-libs/libaal-1.0.6:=[static-libs(+)] )"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.0.7-readline-6.3.patch )
-
-src_prepare() {
- printf '#!/bin/sh\ntrue\n' > run-ldconfig
- # Delete hardcoded link/compile flags.
- sed -i -r \
- -e '/CFLAGS=/s: -static":":' \
- -e '/CFLAGS/s: (-O[123s]|-g)\>::g' \
- configure || die
-
- default
-}
-
-src_configure() {
- local myeconfargs=(
- $(use_enable static full-static)
- $(use_enable static-libs static)
- $(use_enable debug)
- $(use_with readline)
- --disable-Werror
- --enable-libminimal
- --sbindir=/sbin
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- gen_usr_ldscript -a reiser4{,-minimal} repair
-}
diff --git a/sys-fs/reiserfs-defrag/metadata.xml b/sys-fs/reiserfs-defrag/metadata.xml
index e248a5471bf6..72a79ef411dd 100644
--- a/sys-fs/reiserfs-defrag/metadata.xml
+++ b/sys-fs/reiserfs-defrag/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<maintainer>
<email>ibragimovrinat@mail.ru</email>
diff --git a/sys-fs/reiserfs-defrag/reiserfs-defrag-0.2.2.ebuild b/sys-fs/reiserfs-defrag/reiserfs-defrag-0.2.2.ebuild
index 3d0f7202d04a..023571c6b3bf 100644
--- a/sys-fs/reiserfs-defrag/reiserfs-defrag-0.2.2.ebuild
+++ b/sys-fs/reiserfs-defrag/reiserfs-defrag-0.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,9 +13,6 @@ LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
-DEPEND=""
-RDEPEND="${DEPEND}"
-
DOCS=( ChangeLog README.md )
pkg_postinst() {
diff --git a/sys-fs/safecopy/files/safecopy-tests.patch b/sys-fs/safecopy/files/safecopy-tests.patch
new file mode 100644
index 000000000000..84587de17084
--- /dev/null
+++ b/sys-fs/safecopy/files/safecopy-tests.patch
@@ -0,0 +1,22 @@
+diff -Naur a/simulator/src/simulatorlb.c b/simulator/src/simulatorlb.c
+--- a/simulator/src/simulatorlb.c 2009-07-28 15:31:16.000000000 +0100
++++ b/simulator/src/simulatorlb.c 2023-09-16 13:52:16.111512487 +0100
+@@ -2,7 +2,7 @@
+ * This file is copyright ©2009 Corvus Corax
+ * Distributed under the terms of the GPL version 2 or higher
+ */
+-#define _FILE_OFFSET_BITS 64
++#define _LARGEFILE64_SOURCE
+ #include <config.h>
+
+ #ifdef USE_GNU_SOURCE
+@@ -531,3 +531,9 @@
+ }
+ return realread(fd,buf,count);
+ }
++
++// copy_file_range() may be used instead so force failure to fall back to read().
++ssize_t copy_file_range(int fd_in, off_t off_in, int fd_out, off_t off_out, size_t len, unsigned int flags) {
++ errno = EXDEV;
++ return -1;
++}
diff --git a/sys-fs/safecopy/safecopy-1.7.ebuild b/sys-fs/safecopy/safecopy-1.7-r1.ebuild
index ea11400db323..9991c27a9c67 100644
--- a/sys-fs/safecopy/safecopy-1.7.ebuild
+++ b/sys-fs/safecopy/safecopy-1.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-DESCRIPTION="Tool for fault-tolerant data recovery from damaged (io-errors) devices or files"
-HOMEPAGE="http://safecopy.sourceforge.net"
+DESCRIPTION="Tool for fault-tolerant data recovery from damaged (IO-errors) devices or files"
+HOMEPAGE="https://safecopy.sourceforge.net"
SRC_URI="mirror://sourceforge/safecopy/${P}.tar.gz"
LICENSE="GPL-2+"
@@ -13,6 +13,7 @@ KEYWORDS="amd64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
+PATCHES=( "${FILESDIR}"/${PN}-tests.patch )
DOCS=( README )
src_configure() {
diff --git a/sys-fs/sandboxfs/metadata.xml b/sys-fs/sandboxfs/metadata.xml
index 71527f8d69c4..d70761354a91 100644
--- a/sys-fs/sandboxfs/metadata.xml
+++ b/sys-fs/sandboxfs/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">bazelbuild/sandboxfs</remote-id>
</upstream>
diff --git a/sys-fs/shake/shake-1.0.ebuild b/sys-fs/shake/shake-1.0.ebuild
index a5e29e329ce2..bf47738b8c16 100644
--- a/sys-fs/shake/shake-1.0.ebuild
+++ b/sys-fs/shake/shake-1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
inherit cmake
DESCRIPTION="Defragmenter that runs in userspace while the system is used"
-HOMEPAGE="http://vleu.net/shake/"
+HOMEPAGE="https://vleu.net/shake/"
SRC_URI="https://github.com/unbrice/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
diff --git a/sys-fs/simple-mtpfs/simple-mtpfs-0.4.0.ebuild b/sys-fs/simple-mtpfs/simple-mtpfs-0.4.0.ebuild
index 1ba00bb3f09a..9b362016703e 100644
--- a/sys-fs/simple-mtpfs/simple-mtpfs-0.4.0.ebuild
+++ b/sys-fs/simple-mtpfs/simple-mtpfs-0.4.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -18,7 +18,7 @@ RDEPEND="
sys-fs/fuse:0"
DEPEND="${RDEPEND}"
BDEPEND="
- sys-devel/autoconf-archive
+ dev-build/autoconf-archive
virtual/pkgconfig"
src_prepare() {
diff --git a/sys-fs/snapraid/Manifest b/sys-fs/snapraid/Manifest
index 7396c41e29ab..680283467886 100644
--- a/sys-fs/snapraid/Manifest
+++ b/sys-fs/snapraid/Manifest
@@ -1,3 +1,2 @@
-DIST snapraid-11.4.tar.gz 742589 BLAKE2B 21c0976b6fcf792653fb0d2f223cd9b728e8850505aa78914c37fa2e3b5399df33b38fcbe870a567b1beb87ba1e2a37d63afc32ae08fb487d7b24fcffe5da8a4 SHA512 d9d5d48f6f996f2c1fbec2f84219b007ac28828d54e6b8614d05ab87f717b3498333ec950e861060c1278993f4971af2435cf8f268c0f1fb403c279d00a96b92
-DIST snapraid-11.5.tar.gz 742480 BLAKE2B b0e66faccdacc0404b52f38061bc45b198cac5ce2fd2c465b8730a6e98f3e50569be70f5374f33a24cd2578b5c5e6f5db1070bbcd0e5ab269424ea52595aac9d SHA512 c0c8b6ebf6c1f057de618504d8f030158cbaf5135097f6c4fa320697eef9be447341e5c26fcab861c40c9995bcc4429dbb4d1fcdfd00090e6dfc7a1f6b501f7c
DIST snapraid-11.6.tar.gz 744142 BLAKE2B 300350e355298e972b0f2c83cc0cfdc212c01d67206b752a69a715e48e429a8fc8dc779820cca761ce4ff2bf29c61a2ab280b5b929de2b64c2ef84b82d65a67e SHA512 abe606c09ff933166cf386270d638a3da5a7edff914a486cfa97bdfe878d152a636d271968b92d14ad3eca873bca68dbcad63565067b0b4e887a1176afb14525
+DIST snapraid-12.2.tar.gz 745755 BLAKE2B dde099a18eddc5dcec178b46c41e8ef828ad214667c0414891dc9ebdb509567233170df2a6483284e0b44f8b8e71ef6ca8a35f845b501b8d8cf4dff97d080bb6 SHA512 2c19c0e336e6e42c8b44bd3f3ccfdc4dfae901f166b0825deb471919dc22f98e92a6d64557b6fed3648b332d4432735db7998656d60bf173925a91c90b099bad
diff --git a/sys-fs/snapraid/metadata.xml b/sys-fs/snapraid/metadata.xml
index 6cb715dfdf3d..b04deb7dd29b 100644
--- a/sys-fs/snapraid/metadata.xml
+++ b/sys-fs/snapraid/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slashbeast@gentoo.org</email>
- <name>Piotr Karbowski</name>
- </maintainer>
- <maintainer type="person">
- <email>junghans@gentoo.org</email>
- <name>Christoph Junghans</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="sourceforge">snapraid</remote-id>
<remote-id type="github">amadvance/snapraid</remote-id>
diff --git a/sys-fs/snapraid/snapraid-11.5.ebuild b/sys-fs/snapraid/snapraid-11.5.ebuild
deleted file mode 100644
index d9c8f45f3452..000000000000
--- a/sys-fs/snapraid/snapraid-11.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools
-
-DESCRIPTION="a backup program for disk array for home media centers"
-HOMEPAGE="http://snapraid.it/"
-SRC_URI="https://github.com/amadvance/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DOCS=( "AUTHORS" "HISTORY" "README" "TODO" "snapraid.conf.example" )
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sys-fs/snapraid/snapraid-11.4.ebuild b/sys-fs/snapraid/snapraid-12.2.ebuild
index d9c8f45f3452..d9c8f45f3452 100644
--- a/sys-fs/snapraid/snapraid-11.4.ebuild
+++ b/sys-fs/snapraid/snapraid-12.2.ebuild
diff --git a/sys-fs/squashfs-tools-ng/Manifest b/sys-fs/squashfs-tools-ng/Manifest
index 1992a8f0a8b8..ef74757014f2 100644
--- a/sys-fs/squashfs-tools-ng/Manifest
+++ b/sys-fs/squashfs-tools-ng/Manifest
@@ -1,2 +1,2 @@
-DIST squashfs-tools-ng-1.1.3.tar.xz 1181268 BLAKE2B 0d72cc82d937f7403fb67030d799cce37062496bb5dddf68f2151243b99934104e4e576e45bc6bcb2229b1f9eca134482de3180f0035229d829e785fdf0d5d03 SHA512 7a42a540622c324f500e21d64bc57bc203069c6e1deb2624597a767d8267b719bd8f76fbfa0166b7e2d4a6f9acd3d2a46514a45fcb4760052d45c7e1861da94e
-DIST squashfs-tools-ng-1.1.4.tar.xz 1311684 BLAKE2B b976ac223d57919958e0ad04c989e0a9cf2837e1c7ef1e1962069b4796b492fe2fc99c59d1e38b11e380226dc2fc4b2e25e29244635a32d03d0667f2b3ef1d7f SHA512 10e0bebd70de686862f1473588cdbf922ad766c86b64ebd4d6338fd863f862fe0c9374950fa54a197c0f02021c63943cf1ba57ebb7f93a4188e68e2b25b4a800
+DIST squashfs-tools-ng-1.2.0.tar.xz 586992 BLAKE2B ca20e4e01033b4dfa3ada2abd0f618305cb3f49f683863d36ea93679c2cfc0c396ee209c3254fa318d30cb2c4c000c3634d4b625212842cabae0a5e53b4a2bdc SHA512 0c52890a92e2aee928db3e2407c087703d331e9dd8cba1b58ef44fe78cdd7ed1523e9b0485f7da83ad77423ffdccaf392a2b752ad948d62a5f1b5e600b523070
+DIST squashfs-tools-ng-1.3.0.tar.xz 585800 BLAKE2B 658ff825b2cda63116c29d8c582f54df5bd511a6da98e737527d54720ed95a541edc39b94f61195f4c99d125cbcc8db824ea9d1e2a7a7a557fb647f5e795d623 SHA512 10ddff837464227d97c3c2dabeefa408a63fbab4ddc8ca184f4ecce7288ac47c0c6baf6d10146f7e29e4a845592720e39281f779420f5ba0b1e7736c0dea73d7
diff --git a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.1.4.ebuild b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild
index 46990a47a6dc..dc4fd0581812 100644
--- a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.1.4.ebuild
+++ b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2019-2022 Gentoo Authors
+# Copyright 2019-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="A new set of tools for working with SquashFS images"
HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng"
@@ -9,19 +9,20 @@ if [[ ${PV} = 9999* ]]; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/AgentD/${PN}.git"
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz"
fi
-LICENSE="LGPL-3+ tools? ( GPL-3+ )"
+LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )"
SLOT="0"
IUSE="lz4 +lzma lzo selinux +tools zstd"
DEPEND="
+ app-arch/bzip2:=
sys-libs/zlib:=
lz4? ( app-arch/lz4:= )
- lzma? ( app-arch/xz-utils:= )
- lzo? ( dev-libs/lzo:= )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo:2 )
selinux? ( sys-libs/libselinux:= )
zstd? ( app-arch/zstd:= )
"
diff --git a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.1.3.ebuild b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild
index a9e2e335faeb..161eca8ce48e 100644
--- a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.1.3.ebuild
+++ b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2019-2021 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="A new set of tools for working with SquashFS images"
HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng"
@@ -9,19 +9,20 @@ if [[ ${PV} = 9999* ]]; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/AgentD/${PN}.git"
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz"
fi
-LICENSE="LGPL-3+ tools? ( GPL-3+ )"
+LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )"
SLOT="0"
IUSE="lz4 +lzma lzo selinux +tools zstd"
DEPEND="
+ app-arch/bzip2:=
sys-libs/zlib:=
lz4? ( app-arch/lz4:= )
- lzma? ( app-arch/xz-utils:= )
- lzo? ( dev-libs/lzo:= )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo:2 )
selinux? ( sys-libs/libselinux:= )
zstd? ( app-arch/zstd:= )
"
diff --git a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-9999.ebuild b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-9999.ebuild
index a9e2e335faeb..161eca8ce48e 100644
--- a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-9999.ebuild
+++ b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2019-2021 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DESCRIPTION="A new set of tools for working with SquashFS images"
HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng"
@@ -9,19 +9,20 @@ if [[ ${PV} = 9999* ]]; then
inherit autotools git-r3
EGIT_REPO_URI="https://github.com/AgentD/${PN}.git"
else
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz"
fi
-LICENSE="LGPL-3+ tools? ( GPL-3+ )"
+LICENSE="LGPL-3+ BSD-2 MIT tools? ( GPL-3+ )"
SLOT="0"
IUSE="lz4 +lzma lzo selinux +tools zstd"
DEPEND="
+ app-arch/bzip2:=
sys-libs/zlib:=
lz4? ( app-arch/lz4:= )
- lzma? ( app-arch/xz-utils:= )
- lzo? ( dev-libs/lzo:= )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo:2 )
selinux? ( sys-libs/libselinux:= )
zstd? ( app-arch/zstd:= )
"
diff --git a/sys-fs/squashfs-tools/Manifest b/sys-fs/squashfs-tools/Manifest
index 74ac243af627..d945ad94f2db 100644
--- a/sys-fs/squashfs-tools/Manifest
+++ b/sys-fs/squashfs-tools/Manifest
@@ -1 +1,3 @@
DIST squashfs-tools-4.5.1.tar.gz 270112 BLAKE2B cbd35daf582d284b021911bb754ed548763f2773e1bc02516ca18bab7034e352780c11eb7dfed1f047b70974dcfb716bb1a1d3729e5b25662203cfbf93553b73 SHA512 b3934ea1e26c7508110312711465644a6d9674b6b5332a7d011e191fa3c1d4b8be694214794a0f6005263d0f4e18bab96af2f7ed66a178f8e3bb3a781cd44896
+DIST squashfs-tools-4.6.1.tar.gz 286848 BLAKE2B 05e38681de219413573e8b1a7f36d2f7e87734f68a929ecdeb5ae6017076fbfd67b897448980e047689ef4b154d2dcd1a90162367a6a5babab45f1ef36f09325 SHA512 10e8a4b1e2327e062aef4f85860e76ebcd7a29e4c19e152ff7edec4a38316982b5bcfde4ab69da6bcb931258d264c2b6cb40cb5f635f9e6f6eba1ed5976267cb
+DIST squashfs-tools-4.6.tar.gz 286409 BLAKE2B 1c04a8f6149863667151e76b3c1ecfdd5e9a181b305bea694af1d4968ac361114c9e926b351dcee2647796a21bc8cfc55b3d95f020ad88c3388007460de26053 SHA512 3a9effb9a5cf46fbb9f393e58bd938874dc4121828b77c67d659117ee84643917998a8503d629f46f1eff1826f6d7ae59ac2d803a5cdc3cfb1006ef2b3abf8c8
diff --git a/sys-fs/squashfs-tools/metadata.xml b/sys-fs/squashfs-tools/metadata.xml
index b772b072f223..dd7ab2781e15 100644
--- a/sys-fs/squashfs-tools/metadata.xml
+++ b/sys-fs/squashfs-tools/metadata.xml
@@ -6,6 +6,8 @@
<name>Michał Górny</name>
</maintainer>
<upstream>
+ <remote-id type="cpe">cpe:/a:squashfs-tools_project:squashfs-tools</remote-id>
+ <remote-id type="github">plougher/squashfs-tools</remote-id>
<remote-id type="sourceforge">squashfs</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.5.1.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild
index c8e5c9198e74..9badfed28888 100644
--- a/sys-fs/squashfs-tools/squashfs-tools-4.5.1.ebuild
+++ b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="debug lz4 lzma lzo xattr zstd"
RDEPEND="
@@ -50,4 +50,8 @@ src_install() {
dobin squashfs-tools/{mksquashfs,unsquashfs}
dodoc ACKNOWLEDGEMENTS CHANGES README*
dodoc -r RELEASE-READMEs
+ doman manpages/*.1
+
+ dosym unsquashfs /usr/bin/sqfscat
+ dosym mksquashfs /usr/bin/sqfstar
}
diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.6.1.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.6.1.ebuild
new file mode 100644
index 000000000000..861b18754f99
--- /dev/null
+++ b/sys-fs/squashfs-tools/squashfs-tools-4.6.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Tools to create and extract Squashfs filesystems"
+HOMEPAGE="https://github.com/plougher/squashfs-tools/"
+SRC_URI="
+ https://github.com/plougher/squashfs-tools/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="debug lz4 lzma lzo xattr zstd"
+
+DEPEND="
+ sys-libs/zlib
+ lz4? ( app-arch/lz4 )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo )
+ xattr? ( sys-apps/attr )
+ zstd? ( app-arch/zstd )
+"
+RDEPEND=${DEPEND}
+
+use10() {
+ usex "${1}" 1 0
+}
+
+src_compile() {
+ # set up make command line variables in EMAKE_SQUASHFS_CONF
+ local opts=(
+ LZMA_XZ_SUPPORT=$(use10 lzma)
+ LZO_SUPPORT=$(use10 lzo)
+ LZ4_SUPPORT=$(use10 lz4)
+ XATTR_SUPPORT=$(use10 xattr)
+ XZ_SUPPORT=$(use10 lzma)
+ ZSTD_SUPPORT=$(use10 zstd)
+ )
+
+ tc-export CC
+ use debug && append-cppflags -DSQUASHFS_TRACE
+ emake "${opts[@]}" -C squashfs-tools
+}
+
+src_install() {
+ dobin squashfs-tools/{mksquashfs,unsquashfs}
+ dodoc ACKNOWLEDGEMENTS CHANGES README*
+ doman manpages/*.1
+
+ dosym unsquashfs /usr/bin/sqfscat
+ dosym mksquashfs /usr/bin/sqfstar
+}
diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.6.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.6.ebuild
new file mode 100644
index 000000000000..896db57a6f33
--- /dev/null
+++ b/sys-fs/squashfs-tools/squashfs-tools-4.6.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Tools to create and extract Squashfs filesystems"
+HOMEPAGE="https://github.com/plougher/squashfs-tools/"
+SRC_URI="
+ https://github.com/plougher/squashfs-tools/archive/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="debug lz4 lzma lzo xattr zstd"
+
+DEPEND="
+ sys-libs/zlib
+ lz4? ( app-arch/lz4 )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo )
+ xattr? ( sys-apps/attr )
+ zstd? ( app-arch/zstd )
+"
+RDEPEND=${DEPEND}
+
+use10() {
+ usex "${1}" 1 0
+}
+
+src_compile() {
+ # set up make command line variables in EMAKE_SQUASHFS_CONF
+ local opts=(
+ LZMA_XZ_SUPPORT=$(use10 lzma)
+ LZO_SUPPORT=$(use10 lzo)
+ LZ4_SUPPORT=$(use10 lz4)
+ XATTR_SUPPORT=$(use10 xattr)
+ XZ_SUPPORT=$(use10 lzma)
+ ZSTD_SUPPORT=$(use10 zstd)
+ )
+
+ tc-export CC
+ use debug && append-cppflags -DSQUASHFS_TRACE
+ emake "${opts[@]}" -C squashfs-tools
+}
+
+src_install() {
+ dobin squashfs-tools/{mksquashfs,unsquashfs}
+ dodoc ACKNOWLEDGEMENTS CHANGES README*
+ doman manpages/*.1
+
+ dosym unsquashfs /usr/bin/sqfscat
+ dosym mksquashfs /usr/bin/sqfstar
+}
diff --git a/sys-fs/squashfuse/Manifest b/sys-fs/squashfuse/Manifest
index eef45b65d0f0..c6eae32cb444 100644
--- a/sys-fs/squashfuse/Manifest
+++ b/sys-fs/squashfuse/Manifest
@@ -1,2 +1,2 @@
-DIST squashfuse-0.1.100.tar.gz 393548 BLAKE2B 642f0b00023f1914e6f4efd0e03c77d61c549eed0bff8f3128f415ece7c52d3f917e8856a1dccc3d1be06147ad0b80bdde79397c4f307bc316adb2224260b402 SHA512 e6a56354e71991ccbcbd2f9e6967f1f5a1056edbee286e6a6d6c35f777ed6e6494243633d070da700cf43a8bf7b56269087a0db1d4b2d45ed49f4830caad7927
DIST squashfuse-0.1.103.tar.gz 399524 BLAKE2B 985ce64052c55a03d4889674682cf8b3bf6fab96de18d38b5b6125a6b2bdf0ec40e9f18a13bb77ea1a963fd0e7debf08d5f4819c543a62a818389b5fa7884815 SHA512 bc640898a5756ceed3260d9dea61dcb54588381b787a50c0fbfce35658fdf7d2788babf4882c369d1981ff853a91f043de8c68727aedc33646c26db4fb0ab2c0
+DIST squashfuse-0.1.105.tar.gz 65644 BLAKE2B 209808164a2803d1f4dedad048f29a809d92e5260193ff2db6a4eed4d887273f6b0b2a673123b9c460e587b9f9884c4115e2323f8de7f26535abcfe4de99ea20 SHA512 6bf18575fd4732f3b0e4530902f2556859c2efbbd781a31bdbf97fe6601412dc750a80354a8ab08a3132d4f8680ea5ff0dd04440f29243906f1017aa6c70bede
diff --git a/sys-fs/squashfuse/squashfuse-0.1.100.ebuild b/sys-fs/squashfuse/squashfuse-0.1.100.ebuild
deleted file mode 100644
index 5f269a48d15d..000000000000
--- a/sys-fs/squashfuse/squashfuse-0.1.100.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2016-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic
-
-DESCRIPTION="FUSE filesystem to mount squashfs archives"
-HOMEPAGE="https://github.com/vasi/squashfuse"
-SRC_URI="https://github.com/vasi/squashfuse/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="lz4 lzma lzo +zlib"
-REQUIRED_USE="|| ( lz4 lzma lzo zlib )"
-
-COMMON_DEPEND="
- >=sys-fs/fuse-2.8.6:0=
- lzma? ( >=app-arch/xz-utils-5.0.4:= )
- zlib? ( >=sys-libs/zlib-1.2.5-r2:= )
- lzo? ( >=dev-libs/lzo-2.06:= )
- lz4? ( >=app-arch/lz4-0_p106:= )
-"
-DEPEND="${COMMON_DEPEND}"
-RDEPEND="${COMMON_DEPEND}"
-
-src_configure() {
- filter-flags -flto* -fwhole-program -fno-common
- econf \
- $(use lz4 || echo --without-lz4) \
- $(use lzma || echo --without-xz) \
- $(use lzo || echo --without-lzo) \
- $(use zlib || echo --without-zlib)
-}
diff --git a/sys-fs/squashfuse/squashfuse-0.1.103.ebuild b/sys-fs/squashfuse/squashfuse-0.1.103.ebuild
index f4654076461b..05f7adf773dd 100644
--- a/sys-fs/squashfuse/squashfuse-0.1.103.ebuild
+++ b/sys-fs/squashfuse/squashfuse-0.1.103.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2016-2019 Gentoo Authors
+# Copyright 2016-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ SRC_URI="https://github.com/vasi/squashfuse/releases/download/${PV}/${P}.tar.gz"
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
IUSE="lz4 lzma lzo static-libs +zlib zstd"
REQUIRED_USE="|| ( lz4 lzma lzo zlib zstd )"
@@ -27,7 +27,8 @@ DEPEND="${COMMON_DEPEND}
RDEPEND="${COMMON_DEPEND}"
src_configure() {
- filter-flags -flto* -fwhole-program -fno-common
+ filter-lto
+ filter-flags -fwhole-program -fno-common
local econfargs=(
$(use_enable static-libs static)
diff --git a/sys-fs/squashfuse/squashfuse-0.1.105.ebuild b/sys-fs/squashfuse/squashfuse-0.1.105.ebuild
new file mode 100644
index 000000000000..da1bd6c31fb1
--- /dev/null
+++ b/sys-fs/squashfuse/squashfuse-0.1.105.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2016-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit autotools flag-o-matic
+
+DESCRIPTION="FUSE filesystem to mount squashfs archives"
+HOMEPAGE="https://github.com/vasi/squashfuse"
+SRC_URI="https://github.com/vasi/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="lz4 lzma lzo static-libs +zlib zstd"
+REQUIRED_USE="|| ( lz4 lzma lzo zlib zstd )"
+
+COMMON_DEPEND="
+ >=sys-fs/fuse-2.8.6:0=
+ lzma? ( >=app-arch/xz-utils-5.0.4:= )
+ zlib? ( >=sys-libs/zlib-1.2.5-r2:= )
+ lzo? ( >=dev-libs/lzo-2.06:= )
+ lz4? ( >=app-arch/lz4-0_p106:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${COMMON_DEPEND}
+ virtual/pkgconfig"
+RDEPEND="${COMMON_DEPEND}"
+# Tests require access to /dev/fuse.
+RESTRICT+=" test"
+
+src_configure() {
+ filter-lto
+ filter-flags -fwhole-program -fno-common
+ eautoreconf
+
+ local econfargs=(
+ $(use_enable static-libs static)
+ $(use lz4 || echo --without-lz4)
+ $(use lzma || echo --without-xz)
+ $(use lzo || echo --without-lzo)
+ $(use zlib || echo --without-zlib)
+ $(use zstd || echo --without-zstd)
+ )
+
+ econf "${econfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -name "*.la" -delete || die
+}
diff --git a/sys-fs/static-dev/static-dev-0.1-r2.ebuild b/sys-fs/static-dev/static-dev-0.1-r2.ebuild
index ca46b76ab1e5..c915e4e6bc45 100644
--- a/sys-fs/static-dev/static-dev-0.1-r2.ebuild
+++ b/sys-fs/static-dev/static-dev-0.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
RDEPEND="sys-apps/makedev"
pkg_pretend() {
- abort() {
+ bailout() {
eerror "We have detected that you currently use udev or devfs or devtmpfs"
eerror "and this ebuild cannot install to the same mount-point."
die "Cannot install on udev/devfs tmpfs."
@@ -26,13 +26,13 @@ pkg_pretend() {
# We want to not clobber udev (tmpfs) or older devfs setups.
if [[ -d ${ROOT}/dev/.udev || -c ${ROOT}/dev/.devfs ]] ; then
- abort
+ bailout
fi
# We also want to not clobber newer devtmpfs setups.
if [[ -z ${ROOT} ]] && \
! awk '$2 == "/dev" && $3 == "devtmpfs" { exit 1 }' /proc/mounts ; then
- abort
+ bailout
fi
}
diff --git a/sys-fs/static-dev/static-dev-0.1-r3.ebuild b/sys-fs/static-dev/static-dev-0.1-r3.ebuild
new file mode 100644
index 000000000000..9d274185752f
--- /dev/null
+++ b/sys-fs/static-dev/static-dev-0.1-r3.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A skeleton, statically managed /dev"
+HOMEPAGE="https://bugs.gentoo.org/107875"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
+
+IDEPEND="sys-apps/makedev"
+
+pkg_pretend() {
+ bailout() {
+ eerror "We have detected that you currently use udev or devfs or devtmpfs"
+ eerror "and this ebuild cannot install to the same mount-point."
+ die "Cannot install on udev/devfs tmpfs."
+ }
+
+ if [[ ${MERGE_TYPE} == "buildonly" ]] ; then
+ # User is just compiling which is fine -- all our checks are merge-time.
+ return
+ fi
+
+ # We want to not clobber udev (tmpfs) or older devfs setups.
+ if [[ -d ${ROOT}/dev/.udev || -c ${ROOT}/dev/.devfs ]] ; then
+ bailout
+ fi
+
+ # We also want to not clobber newer devtmpfs setups.
+ if [[ -z ${ROOT} ]] && \
+ ! awk '$2 == "/dev" && $3 == "devtmpfs" { exit 1 }' /proc/mounts ; then
+ bailout
+ fi
+}
+
+pkg_postinst() {
+ MAKEDEV -d "${ROOT}"/dev generic sg scd rtc hde hdf hdg hdh input audio video
+}
diff --git a/sys-fs/sysfsutils/metadata.xml b/sys-fs/sysfsutils/metadata.xml
index 5005dbe864f6..b3fc6c6d5d96 100644
--- a/sys-fs/sysfsutils/metadata.xml
+++ b/sys-fs/sysfsutils/metadata.xml
@@ -7,5 +7,6 @@
</maintainer>
<upstream>
<remote-id type="sourceforge">linux-diag</remote-id>
+ <remote-id type="github">linux-ras/sysfsutils</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild b/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild
index aa206f6aada6..8d76371cff85 100644
--- a/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild
+++ b/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,12 +6,12 @@ EAPI=7
inherit autotools usr-ldscript
DESCRIPTION="System Utilities Based on Sysfs"
-HOMEPAGE="http://linux-diag.sourceforge.net/Sysfsutils.html https://github.com/linux-ras/sysfsutils"
+HOMEPAGE="https://linux-diag.sourceforge.net/Sysfsutils.html https://github.com/linux-ras/sysfsutils"
SRC_URI="https://github.com/linux-ras/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
IUSE="static-libs"
src_prepare() {
diff --git a/sys-fs/ubi_reader/Manifest b/sys-fs/ubi_reader/Manifest
index 222ec1b9227a..a0655a824d49 100644
--- a/sys-fs/ubi_reader/Manifest
+++ b/sys-fs/ubi_reader/Manifest
@@ -1 +1 @@
-DIST ubi_reader-0.8.0.tar.gz 42913 BLAKE2B e802833fcc633739da6cb3cfffb8f398ad27261df55301b6322ea7303aeccbc57f6a685cefa4005ecf80e2a968139d091a8b5c6a9783dd613a5016ba56d55425 SHA512 c22a0b056a2ce74c16683dafd8e2592ba3c73df32ca49cce19fe14f60d254249849769364993cabff5ce03c8049e1758f7bdb77583d745ed21efa0c62be20532
+DIST ubi_reader-0.8.5.tar.gz 43237 BLAKE2B c55bc689af0a32a0e65aa6f860617131654d11ad5e6f7f1e37b4e048718c061f352965f9793595dc16162df0c08ce32d4db2d6bfaee9366110028f7fe61a5c98 SHA512 14e02c8b8c5fe0fe6316f0dabea21dbb6ef6a865ef2b176fc6e26f36bd54a981cb89fccee2ac476b042909cdd5946b1325f792ac159d7e6bd2c5a6f7f4b14062
diff --git a/sys-fs/ubi_reader/ubi_reader-0.8.0.ebuild b/sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild
index 88f0ab7805aa..ea7eb78871bb 100644
--- a/sys-fs/ubi_reader/ubi_reader-0.8.0.ebuild
+++ b/sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2022 Gentoo Authors
+# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
inherit distutils-r1
MY_PN="${PN/_/-}"
diff --git a/sys-fs/udev-init-scripts/Manifest b/sys-fs/udev-init-scripts/Manifest
index 838b43ab9103..037e60fce89f 100644
--- a/sys-fs/udev-init-scripts/Manifest
+++ b/sys-fs/udev-init-scripts/Manifest
@@ -1,2 +1 @@
-DIST udev-init-scripts-34.tar.gz 3660 BLAKE2B 954b003c78b31649fef69213a5424098f40e17e7ed11f4ec1443247950ea60db8536f37ca603caa06e5c9f8bab07b5ac3cb8c9435144532a97ff04836c24da49 SHA512 ed48bcd0815e235b2b3fa38f857cd97f164aac7c6ea805be87890eb06a0d52064bd733da240c6e2a34c8c73e10fd047b5e53096de06f17bc81d8266d70c0cc9d
DIST udev-init-scripts-35.tar.gz 3666 BLAKE2B fddae466428605ea930519e8a47e0ea91f89f9eacc1fd97c137d175142125b12c3d045aec68db35a463de444ac6d8c037cca55f9628f10576c968259d566a9e4 SHA512 da9d2093149967e2e1b9bc7190ddfd55a87c9ae2177e3216f7cb2694fc9b64037eb6f2599ad8a4b7594ef32ced88fbb319c92904bc72a81ea5404945f8a8378a
diff --git a/sys-fs/udev-init-scripts/udev-init-scripts-34.ebuild b/sys-fs/udev-init-scripts/udev-init-scripts-34.ebuild
deleted file mode 100644
index 26fa347f726f..000000000000
--- a/sys-fs/udev-init-scripts/udev-init-scripts-34.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-OLD_PN=udev-gentoo-scripts
-OLD_P=${OLD_PN}-${PV}
-
-if [ "${PV}" = "9999" ]; then
- EGIT_REPO_URI="git://anongit.gentoo.org/proj/${OLD_PN}.git"
- inherit git-r3
-else
- SRC_URI="https://gitweb.gentoo.org/proj/${OLD_PN}.git/snapshot/${OLD_P}.tar.gz -> ${P}.tar.gz"
- S="${WORKDIR}/${OLD_P}"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-DESCRIPTION="udev startup scripts for openrc"
-HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
-
-LICENSE="GPL-2"
-SLOT="0"
-
-RESTRICT="test"
-
-RDEPEND=">=virtual/udev-217
- !<sys-apps/openrc-0.14"
-
-src_install() {
- local -x SYSCONFDIR="${EPREFIX}/etc"
- default
-}
-
-pkg_postinst() {
- # Add udev and udev-trigger to the sysinit runlevel automatically.
- for f in udev udev-trigger; do
- if [[ -x "${EROOT}/etc/init.d/${f}" &&
- -d "${EROOT}/etc/runlevels/sysinit" &&
- ! -L "${EROOT}/etc/runlevels/sysinit/${f}" ]]; then
- ln -snf "${EPREFIX}/etc/init.d/${f}" "${EROOT}/etc/runlevels/sysinit/${f}"
- ewarn "Adding ${f} to the sysinit runlevel"
- fi
- done
-
- if ! has_version "sys-fs/eudev[rule-generator]" && \
- [[ -x $(type -P rc-update) ]] && rc-update show | grep udev-postmount | grep -qs 'boot\|default\|sysinit'; then
- ewarn "The udev-postmount service has been removed because the reasons for"
- ewarn "its existance have been removed upstream."
- ewarn "Please remove it from your runlevels."
- fi
-}
diff --git a/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
index dc799ad0baf2..8ec6bbae2c4f 100644
--- a/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
+++ b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,12 +6,12 @@ OLD_PN=udev-gentoo-scripts
OLD_P=${OLD_PN}-${PV}
if [ "${PV}" = "9999" ]; then
- EGIT_REPO_URI="https://anongit.gentoo.org/proj/${OLD_PN}.git"
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${OLD_PN}.git"
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/${OLD_PN}.git/snapshot/${OLD_P}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${OLD_P}"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
fi
DESCRIPTION="udev startup scripts for openrc"
diff --git a/sys-fs/udev-init-scripts/udev-init-scripts-9999.ebuild b/sys-fs/udev-init-scripts/udev-init-scripts-9999.ebuild
index 7c9229bd7691..972e55411f09 100644
--- a/sys-fs/udev-init-scripts/udev-init-scripts-9999.ebuild
+++ b/sys-fs/udev-init-scripts/udev-init-scripts-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ OLD_PN=udev-gentoo-scripts
OLD_P=${OLD_PN}-${PV}
if [ "${PV}" = "9999" ]; then
- EGIT_REPO_URI="https://anongit.gentoo.org/proj/${OLD_PN}.git"
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${OLD_PN}.git"
inherit git-r3
else
SRC_URI="https://gitweb.gentoo.org/proj/${OLD_PN}.git/snapshot/${OLD_P}.tar.gz -> ${P}.tar.gz"
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
deleted file mode 100644
index 1739d2c01014..000000000000
--- a/sys-fs/udev/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST systemd-musl-patches-249.5-r1.tar.xz 25148 BLAKE2B 6717291b5335997dcc327764beffc4ded50a5ac0e777bb3c540b5e355bee419c3d9b4a5605c239392d4c1b0e70792bc87282fa15dc9c09a0465b5608f2909006 SHA512 4bb7566437c280e75402fc435a3437aedad127f7b94c9bd54b94e9e1e7507409ad0898681f23e813b9b47414f58e4ca413b6d4e520bbbf578faec09054bf7f9b
-DIST systemd-stable-249.6.tar.gz 10599611 BLAKE2B 9c0cbaa4319f2ce9a78dbe820d1b6df5191e6c632e2eac9f71f9ff9817564d9b3fc177d2aec0c0daea8ac33bbdc2066ad68a8967cf8857f4af3668b9a3e7d3bf SHA512 7a7791dfe4923c00987b924adcb1cd08c4d17af2b17b4c6c6c701856c6810cfda61f06821c39787339fc05293853c0ea61b9973fcf4495c7bf4f8054ecfae66f
-DIST systemd-stable-249.9.tar.gz 10613893 BLAKE2B fc7a14fa3b0cc3d05fa9f20fde2efedd3ef0f011d9dce53b0a418994b4257cf753b228cf98f749fb2028d81db55ef30a6e3d9b138d86239cad4fc730d845f9e2 SHA512 ce57bc6c522082e55649fc1886c4dc818c89607e175df2c92feffe288dbd38757f36b30abeebe153f5be6b664a49d729405040a952473cb2133a2e39cf9cc164
diff --git a/sys-fs/udev/files/249.9-cross-compile.patch b/sys-fs/udev/files/249.9-cross-compile.patch
deleted file mode 100644
index e063d303c7d8..000000000000
--- a/sys-fs/udev/files/249.9-cross-compile.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 3d7fd38ea938ab194366f40ed7aa413ad33f2fad Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github@gmail.com>
-Date: Tue, 21 Dec 2021 20:10:09 +0900
-Subject: [PATCH] meson: fix cross compiling
-
-(cherry picked from commit 3112d756a36993900b70fbff98e69a2a43b970a8)
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index 02495d16c9..c76cab535d 100644
---- a/meson.build
-+++ b/meson.build
-@@ -442,7 +442,7 @@ conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>'))
- conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>'))
- conf.set('SIZEOF_TIME_T', cc.sizeof('time_t', prefix : '#include <sys/time.h>'))
- conf.set('SIZEOF_RLIM_T', cc.sizeof('rlim_t', prefix : '#include <sys/resource.h>'))
--conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('((struct timex *)0)->freq', prefix : '#include <sys/timex.h>'))
-+conf.set('SIZEOF_TIMEX_MEMBER', cc.sizeof('typeof(((struct timex *)0)->freq)', prefix : '#include <sys/timex.h>'))
-
- decl_headers = '''
- #include <uchar.h>
diff --git a/sys-fs/udev/files/40-gentoo.rules b/sys-fs/udev/files/40-gentoo.rules
deleted file mode 100644
index 6b96bd07051e..000000000000
--- a/sys-fs/udev/files/40-gentoo.rules
+++ /dev/null
@@ -1,3 +0,0 @@
-# Gentoo specific groups
-ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
-ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
diff --git a/sys-fs/udev/metadata.xml b/sys-fs/udev/metadata.xml
deleted file mode 100644
index 4371b65f936b..000000000000
--- a/sys-fs/udev/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>systemd@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="kmod">Enable kernel module loading/unloading support using <pkg>sys-apps/kmod</pkg></flag>
- </use>
- <upstream>
- <remote-id type="cpe">cpe:/a:kernel:udev</remote-id>
- <remote-id type="github">systemd/systemd</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sys-fs/udev/udev-249.6-r2.ebuild b/sys-fs/udev/udev-249.6-r2.ebuild
deleted file mode 100644
index f6698bd8ca5f..000000000000
--- a/sys-fs/udev/udev-249.6-r2.ebuild
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright 2003-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils python-any-r1 toolchain-funcs udev usr-ldscript
-
-if [[ ${PV} = 9999* ]] ; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- if [[ ${PV} == *.* ]] ; then
- MY_PN=systemd-stable
- else
- MY_PN=systemd
- fi
-
- MY_PV="${PV/_/-}"
- MY_P="${MY_PN}-${MY_PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
-
- # musl patches taken from:
- # http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
- MUSL_PATCHSET="249.5-r1"
- SRC_URI+="
- elibc_musl? (
- https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
- https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
- )"
-
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-util/gperf
- sys-devel/gettext
- >=sys-apps/coreutils-8.16
- virtual/pkgconfig
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
- test? (
- app-text/tree
- dev-lang/perl
- )
-"
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-15 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
-"
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-3.9
-"
-RDEPEND="${COMMON_DEPEND}
- acct-group/kmem
- acct-group/tty
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/input
- acct-group/kvm
- acct-group/lp
- acct-group/render
- acct-group/sgx
- acct-group/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- !sys-apps/hwids[udev]
-"
-PDEPEND="
- >=sys-fs/udev-init-scripts-34
-"
-
-python_check_deps() {
- has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != buildonly ]] ; then
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX"
- linux-info_pkg_setup
-
- # CONFIG_FHANDLE was introduced by 2.6.39
- local MINKV=2.6.39
-
- if kernel_is -lt ${MINKV//./ } ; then
- eerror "Your running kernel is too old to run this version of ${P}"
- eerror "You need to upgrade kernel at least to ${MINKV}"
- fi
-
- if kernel_is -lt 3 7 ; then
- ewarn "Your running kernel is too old to have firmware loader and"
- ewarn "this version of ${P} doesn't have userspace firmware loader"
- ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7"
- fi
- fi
-}
-
-src_prepare() {
- local PATCHES=(
- )
- use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches )
-
- default
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool acl)
- -Defi=false
- $(meson_native_use_bool kmod)
- $(meson_native_use_bool selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Didn=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dp11kit=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- use elibc_musl && emesonargs+=(
- -Dgshadow=false
- -Dsmack=false
- -Dutmp=false
- )
-
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- python_setup
-
- use elibc_musl && append-cppflags -D__UAPI_DEF_ETHHDR=0
-
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink libudev.so.1)
-
- local targets=(
- ${libudev}
- src/libudev/libudev.pc
- )
- if multilib_is_native_abi; then
- targets+=(
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/fido_id
- src/udev/mtd_probe
- src/udev/scsi_id
- src/udev/udev.pc
- src/udev/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- hwdb.d/60-autosuspend-chromiumos.hwdb
- rules.d/50-udev-default.rules
- rules.d/64-btrfs.rules
- )
- fi
- eninja "${targets[@]}"
-}
-
-src_test() {
- # The testsuite is *very* finicky. Don't try running it in
- # containers or anything but a full VM or on bare metal.
- # udev calls 'mknod' a number of times, and this interacts
- # badly with kernel namespaces.
-
- if [[ ! -w /dev ]]; then
- ewarn "udev tests needs full access to /dev"
- ewarn "Skipping tests"
- else
- meson-multilib_src_test
- fi
-}
-
-multilib_src_test() {
- # two binaries required by udev-test.pl
- eninja systemd-detect-virt test-udev
- local -x PATH="${PWD}:${PATH}"
-
- # prepare ${BUILD_DIR}/test/sys, required by udev-test.pl
- "${EPYTHON}" "${S}"/test/sys-script.py test || die
-
- # the perl script contains all the udev tests
- "${S}"/test/udev-test.pl || die
-}
-
-multilib_src_install() {
- local libudev=$(readlink libudev.so.1)
-
- dolib.so {${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi ; then
- into /
- dobin udevadm
-
- dosym ../../bin/udevadm /lib/systemd/systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
-
- # Install generated rules (${BUILD_DIR}/rules.d/*.rules)
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- insinto /usr/share/pkgconfig
- doins src/udev/udev.pc
-
- mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die
- rm man/systemd-udevd-{control,kernel}.socket.8 || die
- doman man/*.[0-9]
- fi
-}
-
-multilib_src_install_all() {
- doheader src/libudev/libudev.h
-
- insinto /etc/udev
- doins src/udev/udev.conf
- keepdir /etc/udev/{hwdb.d,rules.d}
-
- insinto /lib/systemd/network
- doins network/99-default.link
-
- # Install static rules (${S}/rules.d/*.rules)
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
- doins "${FILESDIR}"/40-gentoo.rules
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_preinst() {
- has_version 'sys-fs/eudev' && HAD_EUDEV=1
-}
-
-pkg_postinst() {
- # Update hwdb database in case the format is changed by udev version.
- if has_version 'sys-apps/hwids[udev]' ; then
- udevadm hwdb --update --root="${ROOT}"
- # Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd
- # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-
- if [[ ${HAD_EUDEV} -eq 1 ]] ; then
- ewarn
- ewarn "${P} defaults to predictable interface renaming, as described in the URL below:"
- ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- ewarn
- ewarn "If you wish to disable this, please see the above documentation, or set"
- ewarn "net.ifnames=0 on the kernel command line."
- ewarn "See also: https://wiki.gentoo.org/wiki/Udev#Optional:_Disable_or_override_predictable_network_interface_naming"
- if [[ -e ${EROOT}/etc/udev/rules.d/80-net-name-slot.rules ]]; then
- ewarn
- ewarn "Detected '${EROOT}/etc/udev/rules.d/80-net-name-slot.rules'"
- ewarn "Renaming to '${EROOT}/etc/udev/rules.d/80-net-setup-link.rules'"
- mv "${EROOT}"/etc/udev/rules.d/80-net-{name-slot,setup-link}.rules
- fi
- fi
-}
diff --git a/sys-fs/udev/udev-249.9.ebuild b/sys-fs/udev/udev-249.9.ebuild
deleted file mode 100644
index 0b8e93be4fa5..000000000000
--- a/sys-fs/udev/udev-249.9.ebuild
+++ /dev/null
@@ -1,312 +0,0 @@
-# Copyright 2003-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils python-any-r1 toolchain-funcs udev usr-ldscript
-
-if [[ ${PV} = 9999* ]] ; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- if [[ ${PV} == *.* ]] ; then
- MY_PN=systemd-stable
- else
- MY_PN=systemd
- fi
-
- MY_PV="${PV/_/-}"
- MY_P="${MY_PN}-${MY_PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
-
- # musl patches taken from:
- # http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
- MUSL_PATCHSET="249.5-r1"
- SRC_URI+="
- elibc_musl? (
- https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
- https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
- )"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-util/gperf
- sys-devel/gettext
- >=sys-apps/coreutils-8.16
- virtual/pkgconfig
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
- test? (
- app-text/tree
- dev-lang/perl
- )
-"
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-15 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
-"
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-3.9
-"
-RDEPEND="${COMMON_DEPEND}
- acct-group/kmem
- acct-group/tty
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/input
- acct-group/kvm
- acct-group/lp
- acct-group/render
- acct-group/sgx
- acct-group/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- !sys-apps/hwids[udev]
-"
-PDEPEND="
- >=sys-fs/udev-init-scripts-34
-"
-
-python_check_deps() {
- has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != buildonly ]] ; then
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX"
- linux-info_pkg_setup
-
- # CONFIG_FHANDLE was introduced by 2.6.39
- local MINKV=2.6.39
-
- if kernel_is -lt ${MINKV//./ } ; then
- eerror "Your running kernel is too old to run this version of ${P}"
- eerror "You need to upgrade kernel at least to ${MINKV}"
- fi
-
- if kernel_is -lt 3 7 ; then
- ewarn "Your running kernel is too old to have firmware loader and"
- ewarn "this version of ${P} doesn't have userspace firmware loader"
- ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7"
- fi
- fi
-}
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/249.9-cross-compile.patch"
- )
- use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches )
-
- default
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool acl)
- -Defi=false
- $(meson_native_use_bool kmod)
- $(meson_native_use_bool selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Didn=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dp11kit=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- use elibc_musl && emesonargs+=(
- -Dgshadow=false
- -Dsmack=false
- -Dutmp=false
- )
-
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- python_setup
-
- use elibc_musl && append-cppflags -D__UAPI_DEF_ETHHDR=0
-
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink libudev.so.1)
-
- local targets=(
- ${libudev}
- src/libudev/libudev.pc
- )
- if multilib_is_native_abi; then
- targets+=(
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/fido_id
- src/udev/mtd_probe
- src/udev/scsi_id
- src/udev/udev.pc
- src/udev/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- hwdb.d/60-autosuspend-chromiumos.hwdb
- rules.d/50-udev-default.rules
- rules.d/64-btrfs.rules
- )
- fi
- eninja "${targets[@]}"
-}
-
-src_test() {
- # The testsuite is *very* finicky. Don't try running it in
- # containers or anything but a full VM or on bare metal.
- # udev calls 'mknod' a number of times, and this interacts
- # badly with kernel namespaces.
-
- if [[ ! -w /dev ]]; then
- ewarn "udev tests needs full access to /dev"
- ewarn "Skipping tests"
- else
- meson-multilib_src_test
- fi
-}
-
-multilib_src_test() {
- # two binaries required by udev-test.pl
- eninja systemd-detect-virt test-udev
- local -x PATH="${PWD}:${PATH}"
-
- # prepare ${BUILD_DIR}/test/sys, required by udev-test.pl
- "${EPYTHON}" "${S}"/test/sys-script.py test || die
-
- # the perl script contains all the udev tests
- "${S}"/test/udev-test.pl || die
-}
-
-multilib_src_install() {
- local libudev=$(readlink libudev.so.1)
-
- dolib.so {${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi ; then
- into /
- dobin udevadm
-
- dosym ../../bin/udevadm /lib/systemd/systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
-
- # Install generated rules (${BUILD_DIR}/rules.d/*.rules)
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- insinto /usr/share/pkgconfig
- doins src/udev/udev.pc
-
- mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die
- rm man/systemd-udevd-{control,kernel}.socket.8 || die
- doman man/*.[0-9]
- fi
-}
-
-multilib_src_install_all() {
- doheader src/libudev/libudev.h
-
- insinto /etc/udev
- doins src/udev/udev.conf
- keepdir /etc/udev/{hwdb.d,rules.d}
-
- insinto /lib/systemd/network
- doins network/99-default.link
-
- # Install static rules (${S}/rules.d/*.rules)
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
- doins "${FILESDIR}"/40-gentoo.rules
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_preinst() {
- has_version 'sys-fs/eudev' && HAD_EUDEV=1
-}
-
-pkg_postinst() {
- # Update hwdb database in case the format is changed by udev version.
- if has_version 'sys-apps/hwids[udev]' ; then
- udevadm hwdb --update --root="${ROOT}"
- # Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd
- # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-
- if [[ ${HAD_EUDEV} -eq 1 ]] ; then
- ewarn
- ewarn "${P} defaults to predictable interface renaming, as described in the URL below:"
- ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- ewarn
- ewarn "If you wish to disable this, please see the above documentation, or set"
- ewarn "net.ifnames=0 on the kernel command line."
- ewarn "See also: https://wiki.gentoo.org/wiki/Udev#Optional:_Disable_or_override_predictable_network_interface_naming"
- if [[ -e ${EROOT}/etc/udev/rules.d/80-net-name-slot.rules ]]; then
- ewarn
- ewarn "Detected '${EROOT}/etc/udev/rules.d/80-net-name-slot.rules'"
- ewarn "Renaming to '${EROOT}/etc/udev/rules.d/80-net-setup-link.rules'"
- mv "${EROOT}"/etc/udev/rules.d/80-net-{name-slot,setup-link}.rules
- fi
- fi
-}
diff --git a/sys-fs/udev/udev-250.ebuild b/sys-fs/udev/udev-250.ebuild
deleted file mode 100644
index 66b7f56ddb04..000000000000
--- a/sys-fs/udev/udev-250.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-build
-
-DESCRIPTION="Virtual package to depend on sys-apps/systemd-utils"
-HOMEPAGE="https://systemd.io/"
-
-LICENSE="metapackage"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="sys-apps/systemd-utils[udev,${MULTILIB_USEDEP}]"
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
deleted file mode 100644
index 91f83fe7149d..000000000000
--- a/sys-fs/udev/udev-9999.ebuild
+++ /dev/null
@@ -1,311 +0,0 @@
-# Copyright 2003-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{8..10} )
-
-inherit bash-completion-r1 flag-o-matic linux-info meson-multilib ninja-utils python-any-r1 toolchain-funcs udev usr-ldscript
-
-if [[ ${PV} = 9999* ]] ; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- if [[ ${PV} == *.* ]] ; then
- MY_PN=systemd-stable
- else
- MY_PN=systemd
- fi
-
- MY_PV="${PV/_/-}"
- MY_P="${MY_PN}-${MY_PV}"
- S="${WORKDIR}/${MY_P}"
- SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz"
-
- # musl patches taken from:
- # http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/systemd/systemd
- MUSL_PATCHSET="${PV}"
- SRC_URI+="
- elibc_musl? (
- https://dev.gentoo.org/~gyakovlev/distfiles/systemd-musl-patches-${MUSL_PATCHSE}.tar.xz
- https://dev.gentoo.org/~soap/distfiles/systemd-musl-patches-${MUSL_PATCHSET}.tar.xz
- )"
-
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
-
-LICENSE="LGPL-2.1 MIT GPL-2"
-SLOT="0"
-IUSE="acl +kmod selinux test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-util/gperf
- sys-devel/gettext
- >=sys-apps/coreutils-8.16
- virtual/pkgconfig
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt
- ${PYTHON_DEPS}
- $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
- test? (
- app-text/tree
- dev-lang/perl
- )
-"
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${MULTILIB_USEDEP}]
- virtual/libcrypt:=[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-15 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
-"
-DEPEND="${COMMON_DEPEND}
- >=sys-kernel/linux-headers-3.9
-"
-RDEPEND="${COMMON_DEPEND}
- acct-group/kmem
- acct-group/tty
- acct-group/audio
- acct-group/cdrom
- acct-group/dialout
- acct-group/disk
- acct-group/input
- acct-group/kvm
- acct-group/lp
- acct-group/render
- acct-group/sgx
- acct-group/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
- !sys-apps/hwids[udev]
-"
-PDEPEND="
- >=sys-fs/udev-init-scripts-34
-"
-
-python_check_deps() {
- has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != buildonly ]] ; then
- CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~!FW_LOADER_USER_HELPER ~UNIX"
- linux-info_pkg_setup
-
- # CONFIG_FHANDLE was introduced by 2.6.39
- local MINKV=2.6.39
-
- if kernel_is -lt ${MINKV//./ } ; then
- eerror "Your running kernel is too old to run this version of ${P}"
- eerror "You need to upgrade kernel at least to ${MINKV}"
- fi
-
- if kernel_is -lt 3 7 ; then
- ewarn "Your running kernel is too old to have firmware loader and"
- ewarn "this version of ${P} doesn't have userspace firmware loader"
- ewarn "If you need firmware support, you need to upgrade kernel at least to 3.7"
- fi
- fi
-}
-
-src_prepare() {
- local PATCHES=(
- )
- use elibc_musl && PATCHES+=( "${WORKDIR}"/musl-patches )
-
- default
-}
-
-multilib_src_configure() {
- local emesonargs=(
- $(meson_native_use_bool acl)
- -Defi=false
- $(meson_native_use_bool kmod)
- $(meson_native_use_bool selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Didn=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dp11kit=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- use elibc_musl && emesonargs+=(
- -Dgshadow=false
- -Dsmack=false
- -Dutmp=false
- )
-
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- python_setup
-
- use elibc_musl && append-cppflags -D__UAPI_DEF_ETHHDR=0
-
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink libudev.so.1)
-
- local targets=(
- ${libudev}
- src/libudev/libudev.pc
- )
- if multilib_is_native_abi; then
- targets+=(
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/fido_id
- src/udev/mtd_probe
- src/udev/scsi_id
- src/udev/udev.pc
- src/udev/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- hwdb.d/60-autosuspend-chromiumos.hwdb
- rules.d/50-udev-default.rules
- rules.d/64-btrfs.rules
- )
- fi
- eninja "${targets[@]}"
-}
-
-src_test() {
- # The testsuite is *very* finicky. Don't try running it in
- # containers or anything but a full VM or on bare metal.
- # udev calls 'mknod' a number of times, and this interacts
- # badly with kernel namespaces.
-
- if [[ ! -w /dev ]]; then
- ewarn "udev tests needs full access to /dev"
- ewarn "Skipping tests"
- else
- meson-multilib_src_test
- fi
-}
-
-multilib_src_test() {
- # two binaries required by udev-test.pl
- eninja systemd-detect-virt test-udev
- local -x PATH="${PWD}:${PATH}"
-
- # prepare ${BUILD_DIR}/test/sys, required by udev-test.pl
- "${EPYTHON}" "${S}"/test/sys-script.py test || die
-
- # the perl script contains all the udev tests
- "${S}"/test/udev-test.pl || die
-}
-
-multilib_src_install() {
- local libudev=$(readlink libudev.so.1)
-
- dolib.so {${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi ; then
- into /
- dobin udevadm
-
- dosym ../../bin/udevadm /lib/systemd/systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
-
- # Install generated rules (${BUILD_DIR}/rules.d/*.rules)
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- insinto /usr/share/pkgconfig
- doins src/udev/udev.pc
-
- mv man/systemd-udevd.service.8 man/systemd-udevd.8 || die
- rm man/systemd-udevd-{control,kernel}.socket.8 || die
- doman man/*.[0-9]
- fi
-}
-
-multilib_src_install_all() {
- doheader src/libudev/libudev.h
-
- insinto /etc/udev
- doins src/udev/udev.conf
- keepdir /etc/udev/{hwdb.d,rules.d}
-
- insinto /lib/systemd/network
- doins network/99-default.link
-
- # Install static rules (${S}/rules.d/*.rules)
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
- doins "${FILESDIR}"/40-gentoo.rules
- insinto /lib/udev/hwdb.d
- doins hwdb.d/*.hwdb
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_preinst() {
- has_version 'sys-fs/eudev' && HAD_EUDEV=1
-}
-
-pkg_postinst() {
- # Update hwdb database in case the format is changed by udev version.
- if has_version 'sys-apps/hwids[udev]' ; then
- udevadm hwdb --update --root="${ROOT}"
- # Only reload when we are not upgrading to avoid potential race w/ incompatible hwdb.bin and the running udevd
- # https://cgit.freedesktop.org/systemd/systemd/commit/?id=1fab57c209035f7e66198343074e9cee06718bda
- [[ -z ${REPLACING_VERSIONS} ]] && udev_reload
- fi
-
- if [[ ${HAD_EUDEV} -eq 1 ]] ; then
- ewarn
- ewarn "${P} defaults to predictable interface renaming, as described in the URL below:"
- ewarn "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- ewarn
- ewarn "If you wish to disable this, please see the above documentation, or set"
- ewarn "net.ifnames=0 on the kernel command line."
- ewarn "See also: https://wiki.gentoo.org/wiki/Udev#Optional:_Disable_or_override_predictable_network_interface_naming"
- if [[ -e ${EROOT}/etc/udev/rules.d/80-net-name-slot.rules ]]; then
- ewarn
- ewarn "Detected '${EROOT}/etc/udev/rules.d/80-net-name-slot.rules'"
- ewarn "Renaming to '${EROOT}/etc/udev/rules.d/80-net-setup-link.rules'"
- mv "${EROOT}"/etc/udev/rules.d/80-net-{name-slot,setup-link}.rules
- fi
- fi
-}
diff --git a/sys-fs/udiskie/Manifest b/sys-fs/udiskie/Manifest
index e560e31fa20c..30187d41e734 100644
--- a/sys-fs/udiskie/Manifest
+++ b/sys-fs/udiskie/Manifest
@@ -1,3 +1,4 @@
-DIST udiskie-2.4.0.tar.gz 94008 BLAKE2B 23c062aa79cb2ffd6377f8cdf3eea1c8398b56743054c701e878dd6070bd1ee14e3f1aab9a791d4b6d44b1ddab68cc69f92eb3dd711c9598d3d770d90a43e7d7 SHA512 3f2d3d37996442b21d8c167929eb2e6f2fcb864b313334954407b03d913c83671dd25960226bafc68e463ab0ea38cfb6947467dd8bf51bbee7f072e4bdf19d7a
-DIST udiskie-2.4.1.tar.gz 94974 BLAKE2B f7aefecce230eb085ace5dd493ef2c24f7962138c6cae593887b7b62fc19360304442caa6454381321b287772eb517566ed4006bd4cace0f04a13bc060e31423 SHA512 0820ec5a04ede2076ac25110057bcee1bf8f69a9e7161017f23e108701b2d135c1bd62496c70727c462561612916d1eafb6cf69d1d77b8d5e0f4af3eab445eef
DIST udiskie-2.4.2.tar.gz 95178 BLAKE2B eec6f4d2aed9ad86400ee8f3924a8b748cbb1e7ccc1aa2b681858065c18d172def5cc32763a7c2af0899fd719b53bf08d6fddbeb2611cfa74d5b968da0a756b9 SHA512 0881872c614f73b034835f6157eae7f944b6f4ea08a5dabaeb1e6a476a620720dfe950e538a03a3cbdd2a54e95f64a5349650decd554930d02086fdac2e45f23
+DIST udiskie-2.5.0.tar.gz 98570 BLAKE2B 0b07c4135a5ef199f6e84c7d341a355148926c27145e0dcc98baeb891415bb6a18f9395b3feff476b19593bb70951d07fd53ac0ea175dee2c8bdcd861b783613 SHA512 e9c367449f7b3e1b1d4fcdb98e5fb29a198010e6219bcd094e57c17aa063fc8e53ab56738f7b55fb039880c4bc2e42d846be63201c6c25936fb0715443382f26
+DIST udiskie-2.5.1.tar.gz 100289 BLAKE2B 4e1b3a2b6733cf0586039c362a3f2345b1b0563760267651ea9a1c888aaf252e3eb5ef5abffbdaa4ea03ccce5134a6b888709a0382715dad1cc91ec86f08d0b1 SHA512 f5f38de01ac02e92edc06f37a2c97bc0029fa439d0bd4b1a45584de62634fa9fde7ccdede06284230d6b5c8aa9ecfad20d029ebb432d07b6d23a5a887ba5de02
+DIST udiskie-2.5.2.tar.gz 100640 BLAKE2B b9160bd8f74e979ad3f19cabab6daf8fb61f0e7dfea32eb3d226b30df9a31ca014682e1c84e5111fffca7938f83857fa06611dede086ed62d75a06ce619ff5b3 SHA512 94dcbe22d41b2f5b2960d7f710f773aca19404108f7699248b4a0896e704aa1392d3e865cd4e0f52f9c21925d4bc4631cacb559e5b35035a247206132ba0f962
diff --git a/sys-fs/udiskie/udiskie-2.4.0.ebuild b/sys-fs/udiskie/udiskie-2.4.2-r2.ebuild
index 905bb0bb94be..fd9626a54410 100644
--- a/sys-fs/udiskie/udiskie-2.4.0.ebuild
+++ b/sys-fs/udiskie/udiskie-2.4.2-r2.ebuild
@@ -1,31 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1 xdg-utils
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi xdg-utils
DESCRIPTION="An automatic disk mounting service using udisks"
HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 ~arm x86"
-IUSE=""
+IUSE="libnotify"
RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
- sys-fs/udisks:2"
+ sys-fs/udisks:2
+ libnotify? ( x11-libs/libnotify[introspection] )"
DEPEND="app-text/asciidoc
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )"
+ test? ( dev-python/keyutils[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
src_prepare() {
sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die
+ sed -i -e 's: HACKING.rst, TRANSLATIONS.rst,::' setup.cfg || die
default
distutils-r1_src_prepare
diff --git a/sys-fs/udiskie/udiskie-2.4.1.ebuild b/sys-fs/udiskie/udiskie-2.5.0-r1.ebuild
index 43fe883fb3af..127a7ed4850d 100644
--- a/sys-fs/udiskie/udiskie-2.4.1.ebuild
+++ b/sys-fs/udiskie/udiskie-2.5.0-r1.ebuild
@@ -1,31 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1 xdg-utils
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi xdg-utils
DESCRIPTION="An automatic disk mounting service using udisks"
HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
-IUSE=""
+IUSE="libnotify"
RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
- sys-fs/udisks:2"
+ sys-fs/udisks:2
+ libnotify? ( x11-libs/libnotify[introspection] )"
DEPEND="app-text/asciidoc
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )"
+ test? ( dev-python/keyutils[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
src_prepare() {
sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die
+ sed -i -e 's: HACKING.rst, TRANSLATIONS.rst,::' setup.cfg || die
default
distutils-r1_src_prepare
diff --git a/sys-fs/udiskie/udiskie-2.4.2.ebuild b/sys-fs/udiskie/udiskie-2.5.1.ebuild
index 905bb0bb94be..127a7ed4850d 100644
--- a/sys-fs/udiskie/udiskie-2.4.2.ebuild
+++ b/sys-fs/udiskie/udiskie-2.5.1.ebuild
@@ -1,31 +1,32 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{7..10} )
-inherit distutils-r1 xdg-utils
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi xdg-utils
DESCRIPTION="An automatic disk mounting service using udisks"
HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE=""
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="libnotify"
RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
- sys-fs/udisks:2"
+ sys-fs/udisks:2
+ libnotify? ( x11-libs/libnotify[introspection] )"
DEPEND="app-text/asciidoc
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/python-keyutils[${PYTHON_USEDEP}] )"
+ test? ( dev-python/keyutils[${PYTHON_USEDEP}] )"
distutils_enable_tests pytest
src_prepare() {
sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die
+ sed -i -e 's: HACKING.rst, TRANSLATIONS.rst,::' setup.cfg || die
default
distutils-r1_src_prepare
diff --git a/sys-fs/udiskie/udiskie-2.5.2.ebuild b/sys-fs/udiskie/udiskie-2.5.2.ebuild
new file mode 100644
index 000000000000..685b5edb92a8
--- /dev/null
+++ b/sys-fs/udiskie/udiskie-2.5.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{9..11} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi xdg-utils
+
+DESCRIPTION="An automatic disk mounting service using udisks"
+HOMEPAGE="https://pypi.org/project/udiskie/ https://github.com/coldfix/udiskie"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+IUSE="libnotify"
+
+RDEPEND="dev-python/docopt[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ sys-fs/udisks:2
+ libnotify? ( x11-libs/libnotify[introspection] )"
+DEPEND="app-text/asciidoc
+ test? ( dev-python/keyutils[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}] )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:gtk-update-icon-cache:true:' setup.py || die
+ sed -i -e 's: HACKING.rst, TRANSLATIONS.rst,::' setup.cfg || die
+ default
+
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ distutils-r1_src_compile
+ emake -C doc
+}
+
+src_install() {
+ distutils-r1_src_install
+ doman doc/${PN}.8
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}
diff --git a/sys-fs/udisks/Manifest b/sys-fs/udisks/Manifest
index a888522f131f..5ab345ba851b 100644
--- a/sys-fs/udisks/Manifest
+++ b/sys-fs/udisks/Manifest
@@ -1 +1,3 @@
+DIST udisks-2.10.0.tar.bz2 1784010 BLAKE2B a3923433408ab87448ea0b6dcafcf329b1392f5810ca6d1bcb52da90aad02578f9e533041a5ad62258c485e43b834a60b28fc66ade0aa241c1cdfafdb130bf65 SHA512 3c9dc18dd5f6d61442205f4df2592ebf79211d12d71168f96e6814c2ce16f7a46cda7c0a5ccf47b7dc8b655d8af654d5a62e54b04e5b600af0b15558442cf3ed
+DIST udisks-2.10.1.tar.bz2 1896207 BLAKE2B 41282e4dbbd93e6bda2a10a6ff2f2fb82bfc83b3ccbed9450cca7888c634cde9300fcd0b7d055e0d8e4c8fc0b431a75d5612a24132ea9b2677d194529732178d SHA512 9cdaeca4306a970c85f88d406dbe5d2dad23d72f47d9ab1c021b8c2888d4c790f680eb94388d86f9255024283b4a36e98b8aee4408d193a7d4aad1e74463356a
DIST udisks-2.9.4.tar.bz2 1699288 BLAKE2B 913f6dd02988c0bded13ae15a5f05e5b3c6404f0b0d58a493601a0762c7534403f89e9fb46ec6a536b85d5f9ca1f788c7a308f5563a897b324d212da0e7bab4b SHA512 35f5429bc2a7092aa659cba9296837d127e2b17c23ab23111d0d9b230d15ef5a6965e112b1f3829748a69a52fb5b09722153f86f1ef70977b3ad7b7a4ec40ec5
diff --git a/sys-fs/udisks/metadata.xml b/sys-fs/udisks/metadata.xml
index 599515bee4b9..8e19b03530bb 100644
--- a/sys-fs/udisks/metadata.xml
+++ b/sys-fs/udisks/metadata.xml
@@ -12,4 +12,7 @@
<flag name="vdo">Enable Virtual Data Optimizer support.</flag>
<flag name="zram">Enable ZRAM support (requires <pkg>sys-apps/systemd</pkg>).</flag>
</use>
+ <upstream>
+ <remote-id type="github">storaged-project/udisks</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/udisks/udisks-2.10.0.ebuild b/sys-fs/udisks/udisks-2.10.0.ebuild
new file mode 100644
index 000000000000..b7ec7275b635
--- /dev/null
+++ b/sys-fs/udisks/udisks-2.10.0.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools bash-completion-r1 linux-info systemd tmpfiles udev xdg-utils
+
+DESCRIPTION="Daemon providing interfaces to work with storage devices"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/udisks"
+SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86"
+IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd"
+
+REQUIRED_USE="
+ ?? ( elogind systemd )
+ elogind? ( daemon )
+ systemd? ( daemon )
+"
+
+# See configure.ac file for the required min version
+BLOCKDEV_MIN_VER="3.0"
+
+COMMON_DEPEND="
+ >=sys-auth/polkit-0.114[daemon]
+ >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}:=[cryptsetup,lvm?,nvme]
+ virtual/udev
+ acl? ( virtual/acl )
+ daemon? (
+ >=dev-libs/glib-2.68:2
+ >=dev-libs/libatasmart-0.19
+ >=dev-libs/libgudev-165:=
+ )
+ elogind? ( >=sys-auth/elogind-219 )
+ introspection? ( >=dev-libs/gobject-introspection-1.30:= )
+ lvm? ( sys-fs/lvm2 )
+ systemd? ( >=sys-apps/systemd-209 )
+"
+# util-linux -> mount, umount, swapon, swapoff (see also #403073)
+RDEPEND="${COMMON_DEPEND}
+ >=sys-block/parted-3
+ >=sys-apps/util-linux-2.30
+ selinux? ( sec-policy/selinux-devicekit )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.1
+"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ >=dev-util/gdbus-codegen-2.32
+ >=dev-build/gtk-doc-am-1.3
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.19.8 )
+ dev-libs/gobject-introspection-common
+ dev-build/autoconf-archive
+"
+# If adding a eautoreconf, then these might be needed at buildtime:
+# dev-libs/gobject-introspection-common
+# dev-build/autoconf-archive
+
+DOCS=( AUTHORS HACKING NEWS README.md )
+
+pkg_setup() {
+ # Listing only major arch's here to avoid tracking kernel's defconfig
+ if use amd64 || use arm || use ppc || use ppc64 || use x86; then
+ CONFIG_CHECK="~!IDE" #319829
+ CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" #412377
+ CONFIG_CHECK+=" ~NLS_UTF8" #425562
+ kernel_is lt 3 10 && CONFIG_CHECK+=" ~USB_SUSPEND" #331065, #477278
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ xdg_environment_reset
+ default
+
+ if ! use systemd ; then
+ sed -i -e 's:libsystemd-login:&disable:' configure || die
+ fi
+
+ # Added for bug # 782061
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-btrfs
+ --disable-gtk-doc
+ --disable-static
+ --localstatedir="${EPREFIX}"/var
+ --with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
+ --with-modprobedir="${EPREFIX}"/lib/modprobe.d
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
+ --with-udevdir="${EPREFIX}$(get_udevdir)"
+ $(use_enable acl)
+ $(use_enable daemon)
+ $(use_enable debug)
+ $(use_enable introspection)
+ $(use_enable lvm lvm2)
+ $(use_enable nls)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+ keepdir /var/lib/udisks2 #383091
+
+ rm -rf "${ED}"/usr/share/bash-completion
+ dobashcomp data/completions/udisksctl
+}
+
+pkg_preinst() {
+ # Remove gtk-doc symlink, #597628
+ if [[ -L "${EROOT}"/usr/share/gtk-doc/html/udisks2 ]]; then
+ rm "${EROOT}"/usr/share/gtk-doc/html/udisks2 || die
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # TODO: obsolete with tmpfiles_process?
+ # mkdir -p "${EROOT}"/run #415987
+
+ tmpfiles_process udisks2.conf
+
+ # See pkg_postinst() of >=sys-apps/baselayout-2.1-r1. Keep in sync?
+ if ! grep -qs "^tmpfs.*/run " "${EROOT}"/proc/mounts ; then
+ echo
+ ewarn "You should reboot the system now to get /run mounted with tmpfs!"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/udisks/udisks-2.10.1.ebuild b/sys-fs/udisks/udisks-2.10.1.ebuild
new file mode 100644
index 000000000000..550f365c02c7
--- /dev/null
+++ b/sys-fs/udisks/udisks-2.10.1.ebuild
@@ -0,0 +1,141 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit autotools bash-completion-r1 linux-info systemd tmpfiles udev xdg-utils
+
+DESCRIPTION="Daemon providing interfaces to work with storage devices"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/udisks"
+SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.tar.bz2"
+
+LICENSE="LGPL-2+ GPL-2+"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~x86"
+IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd"
+
+REQUIRED_USE="
+ ?? ( elogind systemd )
+ elogind? ( daemon )
+ systemd? ( daemon )
+"
+
+# See configure.ac file for the required min version
+BLOCKDEV_MIN_VER="3.0"
+
+COMMON_DEPEND="
+ >=sys-auth/polkit-0.114[daemon]
+ >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}:=[cryptsetup,lvm?,nvme]
+ virtual/udev
+ acl? ( virtual/acl )
+ daemon? (
+ >=dev-libs/glib-2.68:2
+ >=dev-libs/libatasmart-0.19
+ >=dev-libs/libgudev-165:=
+ )
+ elogind? ( >=sys-auth/elogind-219 )
+ introspection? ( >=dev-libs/gobject-introspection-1.30:= )
+ lvm? ( sys-fs/lvm2 )
+ systemd? ( >=sys-apps/systemd-209 )
+"
+# util-linux -> mount, umount, swapon, swapoff (see also #403073)
+RDEPEND="${COMMON_DEPEND}
+ >=sys-block/parted-3
+ >=sys-apps/util-linux-2.30
+ selinux? ( sec-policy/selinux-devicekit )
+"
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-3.1
+"
+BDEPEND="
+ app-text/docbook-xsl-stylesheets
+ >=dev-util/gdbus-codegen-2.32
+ >=dev-build/gtk-doc-am-1.3
+ virtual/pkgconfig
+ nls? ( >=sys-devel/gettext-0.19.8 )
+ dev-libs/gobject-introspection-common
+ dev-build/autoconf-archive
+"
+# If adding a eautoreconf, then these might be needed at buildtime:
+# dev-libs/gobject-introspection-common
+# dev-build/autoconf-archive
+
+DOCS=( AUTHORS HACKING NEWS README.md )
+
+pkg_setup() {
+ # Listing only major arch's here to avoid tracking kernel's defconfig
+ if use amd64 || use arm || use ppc || use ppc64 || use x86; then
+ CONFIG_CHECK="~!IDE" #319829
+ CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" #412377
+ CONFIG_CHECK+=" ~NLS_UTF8" #425562
+ kernel_is lt 3 10 && CONFIG_CHECK+=" ~USB_SUSPEND" #331065, #477278
+ linux-info_pkg_setup
+ fi
+}
+
+src_prepare() {
+ xdg_environment_reset
+ default
+
+ if ! use systemd ; then
+ sed -i -e 's:libsystemd-login:&disable:' configure || die
+ fi
+
+ # Added for bug # 782061
+ eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-btrfs
+ --disable-gtk-doc
+ --disable-static
+ --localstatedir="${EPREFIX}"/var
+ --with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
+ --with-modprobedir="${EPREFIX}"/lib/modprobe.d
+ --with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
+ --with-udevdir="${EPREFIX}$(get_udevdir)"
+ $(use_enable acl)
+ $(use_enable daemon)
+ $(use_enable debug)
+ $(use_enable introspection)
+ $(use_enable lvm lvm2)
+ $(use_enable nls)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ find "${ED}" -type f -name "*.la" -delete || die
+ keepdir /var/lib/udisks2 #383091
+
+ rm -rf "${ED}"/usr/share/bash-completion
+ dobashcomp data/completions/udisksctl
+}
+
+pkg_preinst() {
+ # Remove gtk-doc symlink, #597628
+ if [[ -L "${EROOT}"/usr/share/gtk-doc/html/udisks2 ]]; then
+ rm "${EROOT}"/usr/share/gtk-doc/html/udisks2 || die
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # TODO: obsolete with tmpfiles_process?
+ # mkdir -p "${EROOT}"/run #415987
+
+ tmpfiles_process udisks2.conf
+
+ # See pkg_postinst() of >=sys-apps/baselayout-2.1-r1. Keep in sync?
+ if ! grep -qs "^tmpfs.*/run " "${EROOT}"/proc/mounts ; then
+ echo
+ ewarn "You should reboot the system now to get /run mounted with tmpfs!"
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/udisks/udisks-2.9.4.ebuild b/sys-fs/udisks/udisks-2.9.4-r3.ebuild
index 7b7bb5bc11ba..a33ed2e0ecce 100644
--- a/sys-fs/udisks/udisks-2.9.4.ebuild
+++ b/sys-fs/udisks/udisks-2.9.4-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,9 +23,11 @@ REQUIRED_USE="
# See configure.ac file for the required min version
BLOCKDEV_MIN_VER="2.25"
+# <libblockdev-3 dep for bug #910077, should go away with udisks-2.10
COMMON_DEPEND="
>=sys-auth/polkit-0.114
- >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}[cryptsetup,lvm?,vdo?]
+ >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}:=[cryptsetup,lvm?,vdo(-)?]
+ <sys-libs/libblockdev-3[cryptsetup,lvm?,vdo(-)?]
virtual/udev
acl? ( virtual/acl )
daemon? (
@@ -37,7 +39,7 @@ COMMON_DEPEND="
introspection? ( >=dev-libs/gobject-introspection-1.30:= )
lvm? ( sys-fs/lvm2 )
systemd? ( >=sys-apps/systemd-209 )
- zram? ( >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}[kbd] )
+ zram? ( >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}[kbd(-)] )
"
# util-linux -> mount, umount, swapon, swapoff (see also #403073)
RDEPEND="${COMMON_DEPEND}
@@ -51,13 +53,13 @@ DEPEND="${COMMON_DEPEND}
BDEPEND="
app-text/docbook-xsl-stylesheets
>=dev-util/gdbus-codegen-2.32
- >=dev-util/gtk-doc-am-1.3
+ >=dev-build/gtk-doc-am-1.3
virtual/pkgconfig
nls? ( >=sys-devel/gettext-0.19.8 )
"
# If adding a eautoreconf, then these might be needed at buildtime:
# dev-libs/gobject-introspection-common
-# sys-devel/autoconf-archive
+# dev-build/autoconf-archive
DOCS=( AUTHORS HACKING NEWS README.md )
@@ -97,8 +99,8 @@ src_configure() {
--with-html-dir="${EPREFIX}"/usr/share/gtk-doc/html
--with-modprobedir="${EPREFIX}"/lib/modprobe.d
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
- --with-tmpfilesdir="/usr/lib/tmpfiles.d"
- --with-udevdir="$(get_udevdir)"
+ --with-tmpfilesdir="${EPREFIX}"/usr/lib/tmpfiles.d
+ --with-udevdir="${EPREFIX}$(get_udevdir)"
$(use_enable acl)
$(use_enable daemon)
$(use_enable debug)
@@ -142,3 +144,7 @@ pkg_postinst() {
ewarn "You should reboot the system now to get /run mounted with tmpfs!"
fi
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/unionfs-fuse/Manifest b/sys-fs/unionfs-fuse/Manifest
index 57b11dd1ecd5..9ae3bf58e1f9 100644
--- a/sys-fs/unionfs-fuse/Manifest
+++ b/sys-fs/unionfs-fuse/Manifest
@@ -1,2 +1 @@
-DIST unionfs-fuse-2.1.tar.gz 47917 BLAKE2B c76edbcbff98db28092f61facbdf443eda12ea97770126feac3d590e0f85e51df84308d0eeeebd96e5bafd126b472b0ded6a2ead72cac0fab3614e3cc04730dd SHA512 851e378f8c189d8a84d2a0cf47ce8f1e9cdda5e789a8c0c97aac6e0757c2f6480ca4d931a525bb94cec4af11789073ccda44ad01d7ed02de1c29ded72f578aa0
-DIST unionfs-fuse-2.2.tar.gz 47955 BLAKE2B 44ce19b5b857a571da4722af7d19f4c59a5ca222a9d5d544529ef6c4be5125518ffc62cbbd7b5ac7b88fadd22b8777daf18b23124602f35de1a8a041b27d3cbb SHA512 eaecc203f8fad094221cf16b962e7d32a3aa9b0c945a663ce027aba3b7c4152a4dba8d5e96cb63d147f5ecd216cae29b53de946d74a939cde486dcea95d947df
+DIST unionfs-fuse-3.4.tar.gz 54122 BLAKE2B 8d578a1bd88814acf5e2d437b06a5f400f38e61ea7c998fe38bb7ca536c9092f07872c4b4ccffc9db834eb8430f3e98c543a66920afab2b2371451c17c247d2c SHA512 fb719c8548ab1fa43f236d5c3207d7e8e7a7dc45efed453e447e29452a7c4d03483c84b00fd615bac115781b333c8171d811b87a0227172010a2ab34224150f7
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild
deleted file mode 100644
index 329020ca1173..000000000000
--- a/sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
-HOMEPAGE="https://github.com/rpodgorny/unionfs-fuse"
-SRC_URI="https://github.com/rpodgorny/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-fs/fuse:0"
-DEPEND="${RDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-python_check_deps() {
- use test || return 0
- has_version "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-}
-
-src_test() {
- [[ -e /dev/fuse ]] || return 0
- addwrite /dev/fuse
- pytest -vv || die "Tests fail with ${EPYTHON}"
-}
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.2.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-2.2.ebuild
deleted file mode 100644
index 329020ca1173..000000000000
--- a/sys-fs/unionfs-fuse/unionfs-fuse-2.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit python-any-r1 toolchain-funcs
-
-DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
-HOMEPAGE="https://github.com/rpodgorny/unionfs-fuse"
-SRC_URI="https://github.com/rpodgorny/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-fs/fuse:0"
-DEPEND="${RDEPEND}
- test? (
- $(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
- )
-"
-
-pkg_setup() {
- use test && python-any-r1_pkg_setup
-}
-
-python_check_deps() {
- use test || return 0
- has_version "dev-python/pytest[${PYTHON_USEDEP}]"
-}
-
-src_compile() {
- emake AR="$(tc-getAR)" CC="$(tc-getCC)"
-}
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-}
-
-src_test() {
- [[ -e /dev/fuse ]] || return 0
- addwrite /dev/fuse
- pytest -vv || die "Tests fail with ${EPYTHON}"
-}
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-3.4-r1.ebuild
index 2312fa71e7c0..d0d835614d1d 100644
--- a/sys-fs/unionfs-fuse/unionfs-fuse-2.2-r1.ebuild
+++ b/sys-fs/unionfs-fuse/unionfs-fuse-3.4-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit python-any-r1 toolchain-funcs
DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
@@ -16,8 +16,9 @@ KEYWORDS="~amd64 ~x86 ~x86-linux"
IUSE="test"
RESTRICT="!test? ( test )"
-RDEPEND="sys-fs/fuse:0"
-DEPEND="${RDEPEND}
+RDEPEND="sys-fs/fuse:3"
+DEPEND="${RDEPEND}"
+BDEPEND="
test? (
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)
@@ -29,7 +30,7 @@ pkg_setup() {
python_check_deps() {
use test || return 0
- has_version "dev-python/pytest[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/pytest[${PYTHON_USEDEP}]"
}
src_compile() {
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
index eab277c33f84..8a6b2c8190a1 100644
--- a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
+++ b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="8"
-PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit git-r3 python-any-r1 toolchain-funcs
DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
@@ -12,12 +12,12 @@ EGIT_REPO_URI="https://github.com/rpodgorny/unionfs-fuse.git"
LICENSE="BSD"
SLOT="0"
-KEYWORDS=""
IUSE="test"
RESTRICT="!test? ( test )"
-RDEPEND="sys-fs/fuse:0"
-DEPEND="${RDEPEND}
+RDEPEND="sys-fs/fuse:3"
+DEPEND="${RDEPEND}"
+BDEPEND="
test? (
$(python_gen_any_dep 'dev-python/pytest[${PYTHON_USEDEP}]')
)
@@ -29,7 +29,7 @@ pkg_setup() {
python_check_deps() {
use test || return 0
- has_version "dev-python/pytest[${PYTHON_USEDEP}]"
+ python_has_version "dev-python/pytest[${PYTHON_USEDEP}]"
}
src_compile() {
diff --git a/sys-fs/vhba/Manifest b/sys-fs/vhba/Manifest
index 46bdd8d66b7a..7323586a6b60 100644
--- a/sys-fs/vhba/Manifest
+++ b/sys-fs/vhba/Manifest
@@ -1 +1 @@
-DIST vhba-module-20211218.tar.xz 16168 BLAKE2B 37fcc56cc34dfbc68c8a8212f30a54c6a04f3b9014a5964b995bfef59df1b8f5a005e6cbfff97f1233451d215b6c4fd3c09a0cd39ebf6cb86bd6b327e5d7d718 SHA512 02b554bb2d0c91c090edeeb7c692164f378273e475a64653df845cb30cdd15d689f7fbe5fa890f77f82bf778d4d228384f656d202b6b6baf02d08321d7c2598d
+DIST vhba-module-20240202.tar.xz 16168 BLAKE2B 7974f60b73c634528afdd44e94c6da34bdc481d874f19845efc0464435a7e560494dd703b0fb1df34c96fce5f1afb300a1e6e2b3b9730e91c956816905eb2f44 SHA512 fdb9b79feb870bb22ed2182216103c8b87d1b5a471d02def24bdf5782cc2bee2333f1d78e1428b042c3df5a33ff8e07b1d61cbe11414a27db18034f3fbbe2612
diff --git a/sys-fs/vhba/vhba-20211218.ebuild b/sys-fs/vhba/vhba-20240202.ebuild
index 3261cbfecf35..43655a531637 100644
--- a/sys-fs/vhba/vhba-20211218.ebuild
+++ b/sys-fs/vhba/vhba-20240202.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit linux-mod udev
+inherit linux-mod-r1 udev
MY_P=vhba-module-${PV}
DESCRIPTION="Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite"
@@ -14,32 +14,31 @@ S=${WORKDIR}/${MY_P}
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-RDEPEND="virtual/udev"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+RDEPEND="
+ virtual/udev
+"
+DEPEND="
+ ${RDEPEND}
+"
-MODULE_NAMES="vhba(block:${S})"
-BUILD_TARGETS=modules
+CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
- check_extra_config
- BUILD_PARAMS="KDIR=${KV_OUT_DIR}"
- linux-mod_pkg_setup
+src_compile() {
+ local modlist=( vhba )
+ local modargs=( KDIR="${KV_OUT_DIR}" )
+
+ linux-mod-r1_src_compile
}
src_prepare() {
+ default
# Avoid -Werror problems
sed -i -e '/ccflags/s/-Werror/-Wall/' Makefile || die "sed failed"
-
- eapply_user
}
src_install() {
- dodoc AUTHORS ChangeLog README
- linux-mod_src_install
+ linux-mod-r1_src_install
einfo "Generating udev rules ..."
udev_newrules - 69-vhba.rules <<-EOF
@@ -48,3 +47,12 @@ src_install() {
KERNEL=="vhba_ctl", SUBSYSTEM=="misc", TAG+="uaccess"
EOF
}
+
+pkg_postinst() {
+ linux-mod-r1_pkg_postinst
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/xfsdump/Manifest b/sys-fs/xfsdump/Manifest
index bf62052b788c..36ae26c8d448 100644
--- a/sys-fs/xfsdump/Manifest
+++ b/sys-fs/xfsdump/Manifest
@@ -1 +1 @@
-DIST xfsdump-3.1.10.tar.xz 609424 BLAKE2B 742d392c4ca4532e64ab8fd89a27b0d7c669e3f977fb9362f3f41e1db09c250951aff3906a5f598892cf58b00a7aab636864af9461afb724feec2708f52cdbd9 SHA512 8a1b671b22fffb5d2eac45d5fd7a2948c137b3ca21fde06779cff13fc6eaa27286876f56715f2eeb82ce107278d763028474260a54a8fec722e5a5d7c5875c9a
+DIST xfsdump-3.1.12.tar.xz 609500 BLAKE2B 2cd39e9f66459d75e9a254c3409279fecb95883468fc933d4d8326d00e89422ce433472c98073aa2aef8c6c4a3a1ed7e5ef94584993eb4087b2a4667187c6aee SHA512 803a3b639aef35ec882f40faeaabf381973ba2636ce0c9d06568361f5398c3c6842ffe184fc01441bf51bb1ed1b9e40b012715c09c8cc942484cc031a8eb1757
diff --git a/sys-fs/xfsdump/xfsdump-3.1.10.ebuild b/sys-fs/xfsdump/xfsdump-3.1.12.ebuild
index 29816a7fd3f6..ba28c411d8d8 100644
--- a/sys-fs/xfsdump/xfsdump-3.1.10.ebuild
+++ b/sys-fs/xfsdump/xfsdump-3.1.12.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit toolchain-funcs
+inherit flag-o-matic toolchain-funcs
-DESCRIPTION="xfs dump/restore utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
+DESCRIPTION="XFS dump/restore utilities"
+HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsdump-dev.git/"
SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
LICENSE="LGPL-2.1"
@@ -14,16 +14,18 @@ SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 -sparc x86"
IUSE="ncurses nls"
-RDEPEND=">=sys-apps/attr-2.4.19
+RDEPEND="
+ >=sys-apps/attr-2.4.19
sys-apps/util-linux
sys-fs/e2fsprogs
>=sys-fs/xfsprogs-3.2.0
- ncurses? ( sys-libs/ncurses:= )"
-DEPEND="${RDEPEND}
- nls? (
- sys-devel/gettext
- )"
-BDEPEND="ncurses? ( virtual/pkgconfig )"
+ ncurses? ( sys-libs/ncurses:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ncurses? ( virtual/pkgconfig )
+ nls? ( sys-devel/gettext )
+"
PATCHES=(
# bug #335115
@@ -56,6 +58,9 @@ src_configure() {
# bug #184564
unset PLATFORM
+ # bug 925234
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
export OPTIMIZER="${CFLAGS}"
export DEBUG=-DNDEBUG
diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest
index 59ac4136f68d..c3982fdd5599 100644
--- a/sys-fs/xfsprogs/Manifest
+++ b/sys-fs/xfsprogs/Manifest
@@ -1,2 +1,2 @@
-DIST xfsprogs-5.14.2.tar.xz 1308912 BLAKE2B 04083bf7952015d64f16e1aec0fa74be1957543e2264914f69defe45a3dc9f2524d941abc064a25a2fd760ebd6dcdcdc2404fd305e08fff7f6be6c5fc11d4d2f SHA512 cb9794247a2eed8bd9f10ff811d38f97e4adbed97bad334b0fa8a26503ec224237eddd92fd78892584a153967417ab2009fb2fc8bab6ef12cd53fd20bdba1b4e
-DIST xfsprogs-5.18.0.tar.xz 1310008 BLAKE2B a2a2835d53ee6ac55279636f3f3cdcecab8757911ce5c1ea5f350a4da9ff4c1ca64b2aba1c0e5424c0c0a01fd0504396d5fecca12e4689c372ed5bb76b9ac24e SHA512 47d035a33367edae7357e34c70bdb0fe9219231153fb4c4f418ed1462d137dd77338c12a199eb71cd70e88903e5fc11e1e4fb595c622183786e87346e2f65739
+DIST xfsprogs-6.4.0.tar.xz 1344720 BLAKE2B 566a80a1fa90520c6cc2b20c8e8cde41eb83a48f0b6d4a978f9e5d43960e99b54cab3e0c2cd4147a3d8f4944e50876063fc571441c8239d6deaaa01604843a6b SHA512 831e7747640bc2964b182226d8bb6f637610b123aeec9b3cb97a5de5d5b65bde30c6b40ad2e78de6a5214e823dd75de3a2bdfddd8ab1638f5c7340a760c91b3f
+DIST xfsprogs-6.6.0.tar.xz 1351792 BLAKE2B a479126ed19389c057af28ac3564893826a6d27859984cfadb28b17663759d8f19b1796031d43f294bf8001f5ddda8854b6b0d90d0229092bd31fbdf6e5d1554 SHA512 89b4436a958075ac77cc2b5b5f0618164d47f7d6fbc2271a7927c886fba7bf67284e1825c1ecc259969235222b4d084a40c354edb6d83c21029d737108aa38da
diff --git a/sys-fs/xfsprogs/files/0001-Remove-use-of-LFS64-interfaces.patch b/sys-fs/xfsprogs/files/0001-Remove-use-of-LFS64-interfaces.patch
new file mode 100644
index 000000000000..a0b32f714d9c
--- /dev/null
+++ b/sys-fs/xfsprogs/files/0001-Remove-use-of-LFS64-interfaces.patch
@@ -0,0 +1,652 @@
+https://lore.kernel.org/linux-xfs/20240205232343.2162947-1-sam@gentoo.org/
+
+From a162f061dc8c2145ae006461d661a03e986c4bf7 Mon Sep 17 00:00:00 2001
+From: Violet Purcell <vimproved@inventati.org>
+Date: Sat, 22 Jul 2023 21:12:59 -0400
+Subject: [PATCH 1/3] Remove use of LFS64 interfaces
+
+LFS64 interfaces are non-standard and are being removed in the upcoming musl
+1.2.5. Setting _FILE_OFFSET_BITS=64 (which is currently being done) makes all
+interfaces on glibc 64-bit by default, so using the LFS64 interfaces is
+redundant. This commit replaces all occurences of off64_t with off_t,
+stat64 with stat, and fstat64 with fstat.
+
+Link: https://bugs.gentoo.org/907039
+Cc: Felix Janda <felix.janda@posteo.de>
+Reviewed-by: Darrick J. Wong <djwong@kernel.org>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Violet Purcell <vimproved@inventati.org>
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/copy/xfs_copy.c
++++ b/copy/xfs_copy.c
+@@ -881,7 +881,7 @@ main(int argc, char **argv)
+ }
+ } else {
+ char *lb = memalign(wbuf_align, XFS_MAX_SECTORSIZE);
+- off64_t off;
++ off_t off;
+ ssize_t len;
+
+ /* ensure device files are sufficiently large */
+--- a/fsr/xfs_fsr.c
++++ b/fsr/xfs_fsr.c
+@@ -1148,7 +1148,7 @@ packfile(char *fname, char *tname, int fd,
+ struct dioattr dio;
+ static xfs_swapext_t sx;
+ struct xfs_flock64 space;
+- off64_t cnt, pos;
++ off_t cnt, pos;
+ void *fbuf = NULL;
+ int ct, wc, wc_b4;
+ char ffname[SMBUFSZ];
+--- a/io/bmap.c
++++ b/io/bmap.c
+@@ -257,7 +257,7 @@ bmap_f(
+ #define FLG_BSW 0000010 /* Not on begin of stripe width */
+ #define FLG_ESW 0000001 /* Not on end of stripe width */
+ int agno;
+- off64_t agoff, bbperag;
++ off_t agoff, bbperag;
+ int foff_w, boff_w, aoff_w, tot_w, agno_w;
+ char rbuf[32], bbuf[32], abuf[32];
+ int sunit, swidth;
+@@ -267,8 +267,8 @@ bmap_f(
+ if (is_rt)
+ sunit = swidth = bbperag = 0;
+ else {
+- bbperag = (off64_t)fsgeo.agblocks *
+- (off64_t)fsgeo.blocksize / BBSIZE;
++ bbperag = (off_t)fsgeo.agblocks *
++ (off_t)fsgeo.blocksize / BBSIZE;
+ sunit = (fsgeo.sunit * fsgeo.blocksize) / BBSIZE;
+ swidth = (fsgeo.swidth * fsgeo.blocksize) / BBSIZE;
+ }
+--- a/io/copy_file_range.c
++++ b/io/copy_file_range.c
+@@ -54,7 +54,7 @@ copy_file_range_cmd(int fd, long long *src_off, long long *dst_off, size_t len)
+ return 0;
+ }
+
+-static off64_t
++static off_t
+ copy_src_filesize(int fd)
+ {
+ struct stat st;
+@@ -154,7 +154,7 @@ copy_range_f(int argc, char **argv)
+ }
+
+ if (!len_specified) {
+- off64_t sz;
++ off_t sz;
+
+ sz = copy_src_filesize(fd);
+ if (sz < 0 || (unsigned long long)sz > SIZE_MAX) {
+--- a/io/cowextsize.c
++++ b/io/cowextsize.c
+@@ -50,10 +50,10 @@ static int
+ set_cowextsize(const char *path, int fd, long extsz)
+ {
+ struct fsxattr fsx;
+- struct stat64 stat;
++ struct stat stat;
+
+- if (fstat64(fd, &stat) < 0) {
+- perror("fstat64");
++ if (fstat(fd, &stat) < 0) {
++ perror("fstat");
+ exitcode = 1;
+ return 0;
+ }
+--- a/io/fadvise.c
++++ b/io/fadvise.c
+@@ -39,7 +39,7 @@ fadvise_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset = 0, length = 0;
++ off_t offset = 0, length = 0;
+ int c, range = 0, advise = POSIX_FADV_NORMAL;
+
+ while ((c = getopt(argc, argv, "dnrsw")) != EOF) {
+--- a/io/fiemap.c
++++ b/io/fiemap.c
+@@ -234,9 +234,9 @@ fiemap_f(
+ int tot_w = 5; /* 5 since its just one number */
+ int flg_w = 5;
+ __u64 last_logical = 0; /* last extent offset handled */
+- off64_t start_offset = 0; /* mapping start */
+- off64_t length = -1LL; /* mapping length */
+- off64_t range_end = -1LL; /* mapping end*/
++ off_t start_offset = 0; /* mapping start */
++ off_t length = -1LL; /* mapping length */
++ off_t range_end = -1LL; /* mapping end*/
+ size_t fsblocksize, fssectsize;
+ struct stat st;
+
+--- a/io/fsmap.c
++++ b/io/fsmap.c
+@@ -170,7 +170,7 @@ dump_map_verbose(
+ unsigned long long i;
+ struct fsmap *p;
+ int agno;
+- off64_t agoff, bperag;
++ off_t agoff, bperag;
+ int foff_w, boff_w, aoff_w, tot_w, agno_w, own_w;
+ int nr_w, dev_w;
+ char rbuf[40], bbuf[40], abuf[40], obuf[40];
+@@ -183,8 +183,8 @@ dump_map_verbose(
+ dev_w = 3;
+ nr_w = 4;
+ tot_w = MINTOT_WIDTH;
+- bperag = (off64_t)fsgeo->agblocks *
+- (off64_t)fsgeo->blocksize;
++ bperag = (off_t)fsgeo->agblocks *
++ (off_t)fsgeo->blocksize;
+ sunit = (fsgeo->sunit * fsgeo->blocksize);
+ swidth = (fsgeo->swidth * fsgeo->blocksize);
+
+--- a/io/io.h
++++ b/io/io.h
+@@ -53,7 +53,7 @@ extern int stat_f(int argc, char **argv);
+ typedef struct mmap_region {
+ void *addr; /* address of start of mapping */
+ size_t length; /* length of mapping */
+- off64_t offset; /* start offset into backing file */
++ off_t offset; /* start offset into backing file */
+ int prot; /* protection mode of the mapping */
+ int flags; /* MAP_* flags passed to mmap() */
+ char *name; /* name of backing file */
+@@ -63,13 +63,13 @@ extern mmap_region_t *maptable; /* mmap'd region array */
+ extern int mapcount; /* #entries in the mapping table */
+ extern mmap_region_t *mapping; /* active mapping table entry */
+ extern int maplist_f(void);
+-extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int);
++extern void *check_mapping_range(mmap_region_t *, off_t, size_t, int);
+
+ /*
+ * Various xfs_io helper routines/globals
+ */
+
+-extern off64_t filesize(void);
++extern off_t filesize(void);
+ extern int openfile(char *, struct xfs_fsop_geom *, int, mode_t,
+ struct fs_path *);
+ extern int addfile(char *, int , struct xfs_fsop_geom *, int,
+@@ -84,9 +84,9 @@ extern size_t io_buffersize;
+ extern int vectors;
+ extern struct iovec *iov;
+ extern int alloc_buffer(size_t, int, unsigned int);
+-extern int read_buffer(int, off64_t, long long, long long *,
++extern int read_buffer(int, off_t, long long, long long *,
+ int, int);
+-extern void dump_buffer(off64_t, ssize_t);
++extern void dump_buffer(off_t, ssize_t);
+
+ extern void attr_init(void);
+ extern void bmap_init(void);
+--- a/io/madvise.c
++++ b/io/madvise.c
+@@ -39,7 +39,7 @@ madvise_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, llength;
++ off_t offset, llength;
+ size_t length;
+ void *start;
+ int advise = MADV_NORMAL, c;
+--- a/io/mincore.c
++++ b/io/mincore.c
+@@ -17,7 +17,7 @@ mincore_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, llength;
++ off_t offset, llength;
+ size_t length;
+ size_t blocksize, sectsize;
+ void *start;
+--- a/io/mmap.c
++++ b/io/mmap.c
+@@ -63,11 +63,11 @@ print_mapping(
+ void *
+ check_mapping_range(
+ mmap_region_t *map,
+- off64_t offset,
++ off_t offset,
+ size_t length,
+ int pagealign)
+ {
+- off64_t relative;
++ off_t relative;
+
+ if (offset < mapping->offset) {
+ printf(_("offset (%lld) is before start of mapping (%lld)\n"),
+@@ -155,7 +155,8 @@ mmap_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset;
++ off_t offset;
++
+ ssize_t length = 0, length2 = 0;
+ void *address = NULL;
+ char *filename;
+@@ -308,7 +309,7 @@ msync_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset;
++ off_t offset;
+ ssize_t length;
+ void *start;
+ int c, flags = 0;
+@@ -401,7 +402,7 @@ mread_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, tmp, dumpoffset, printoffset;
++ off_t offset, tmp, dumpoffset, printoffset;
+ ssize_t length;
+ size_t dumplen, cnt = 0;
+ char *bp;
+@@ -566,7 +567,7 @@ mwrite_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, tmp;
++ off_t offset, tmp;
+ ssize_t length;
+ void *start;
+ char *sp;
+--- a/io/pread.c
++++ b/io/pread.c
+@@ -116,7 +116,7 @@ alloc_buffer(
+ static void
+ __dump_buffer(
+ void *buf,
+- off64_t offset,
++ off_t offset,
+ ssize_t len)
+ {
+ int i, j;
+@@ -141,7 +141,7 @@ __dump_buffer(
+
+ void
+ dump_buffer(
+- off64_t offset,
++ off_t offset,
+ ssize_t len)
+ {
+ int i, l;
+@@ -164,7 +164,7 @@ dump_buffer(
+ static ssize_t
+ do_preadv(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count)
+ {
+ int vecs = 0;
+@@ -199,7 +199,7 @@ do_preadv(
+ static ssize_t
+ do_pread(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ size_t buffer_size)
+ {
+@@ -212,13 +212,13 @@ do_pread(
+ static int
+ read_random(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ unsigned int seed,
+ int eof)
+ {
+- off64_t end, off, range;
++ off_t end, off, range;
+ ssize_t bytes;
+ int ops = 0;
+
+@@ -259,12 +259,12 @@ read_random(
+ static int
+ read_backward(
+ int fd,
+- off64_t *offset,
++ off_t *offset,
+ long long *count,
+ long long *total,
+ int eof)
+ {
+- off64_t end, off = *offset;
++ off_t end, off = *offset;
+ ssize_t bytes = 0, bytes_requested;
+ long long cnt = *count;
+ int ops = 0;
+@@ -319,7 +319,7 @@ read_backward(
+ static int
+ read_forward(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ int verbose,
+@@ -353,7 +353,7 @@ read_forward(
+ int
+ read_buffer(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ int verbose,
+@@ -368,7 +368,7 @@ pread_f(
+ char **argv)
+ {
+ size_t bsize;
+- off64_t offset;
++ off_t offset;
+ unsigned int zeed = 0;
+ long long count, total, tmp;
+ size_t fsblocksize, fssectsize;
+--- a/io/pwrite.c
++++ b/io/pwrite.c
+@@ -54,7 +54,7 @@ pwrite_help(void)
+ static ssize_t
+ do_pwritev(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ int pwritev2_flags)
+ {
+@@ -97,7 +97,7 @@ do_pwritev(
+ static ssize_t
+ do_pwrite(
+ int fd,
+- off64_t offset,
++ off_t offset,
+ long long count,
+ size_t buffer_size,
+ int pwritev2_flags)
+@@ -110,13 +110,13 @@ do_pwrite(
+
+ static int
+ write_random(
+- off64_t offset,
++ off_t offset,
+ long long count,
+ unsigned int seed,
+ long long *total,
+ int pwritev2_flags)
+ {
+- off64_t off, range;
++ off_t off, range;
+ ssize_t bytes;
+ int ops = 0;
+
+@@ -155,12 +155,12 @@ write_random(
+
+ static int
+ write_backward(
+- off64_t offset,
++ off_t offset,
+ long long *count,
+ long long *total,
+ int pwritev2_flags)
+ {
+- off64_t end, off = offset;
++ off_t end, off = offset;
+ ssize_t bytes = 0, bytes_requested;
+ long long cnt = *count;
+ int ops = 0;
+@@ -214,11 +214,11 @@ write_backward(
+
+ static int
+ write_buffer(
+- off64_t offset,
++ off_t offset,
+ long long count,
+ size_t bs,
+ int fd,
+- off64_t skip,
++ off_t skip,
+ long long *total,
+ int pwritev2_flags)
+ {
+@@ -253,7 +253,7 @@ write_buffer(
+
+ static int
+ write_once(
+- off64_t offset,
++ off_t offset,
+ long long count,
+ long long *total,
+ int pwritev2_flags)
+@@ -275,7 +275,7 @@ pwrite_f(
+ char **argv)
+ {
+ size_t bsize;
+- off64_t offset, skip = 0;
++ off_t offset, skip = 0;
+ long long count, total, tmp;
+ unsigned int zeed = 0, seed = 0xcdcdcdcd;
+ size_t fsblocksize, fssectsize;
+--- a/io/reflink.c
++++ b/io/reflink.c
+@@ -98,7 +98,7 @@ dedupe_f(
+ int argc,
+ char **argv)
+ {
+- off64_t soffset, doffset;
++ off_t soffset, doffset;
+ long long count, total;
+ char *infile;
+ int condensed, quiet_flag;
+@@ -226,7 +226,7 @@ reflink_f(
+ int argc,
+ char **argv)
+ {
+- off64_t soffset, doffset;
++ off_t soffset, doffset;
+ long long count = 0, total;
+ char *infile = NULL;
+ int condensed, quiet_flag;
+--- a/io/seek.c
++++ b/io/seek.c
+@@ -63,8 +63,8 @@ static void
+ seek_output(
+ int startflag,
+ char *type,
+- off64_t start,
+- off64_t offset)
++ off_t start,
++ off_t offset)
+ {
+ if (offset == -1) {
+ if (errno == ENXIO) {
+@@ -92,7 +92,7 @@ seek_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset, start;
++ off_t offset, start;
+ size_t fsblocksize, fssectsize;
+ int c;
+ int current; /* specify data or hole */
+--- a/io/sendfile.c
++++ b/io/sendfile.c
+@@ -34,12 +34,12 @@ sendfile_help(void)
+
+ static int
+ send_buffer(
+- off64_t offset,
++ off_t offset,
+ size_t count,
+ int fd,
+ long long *total)
+ {
+- off64_t off = offset;
++ off_t off = offset;
+ ssize_t bytes, bytes_remaining = count;
+ int ops = 0;
+
+@@ -66,7 +66,7 @@ sendfile_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset = 0;
++ off_t offset = 0;
+ long long count, total;
+ size_t blocksize, sectsize;
+ struct timeval t1, t2;
+--- a/io/stat.c
++++ b/io/stat.c
+@@ -21,7 +21,7 @@ static cmdinfo_t stat_cmd;
+ static cmdinfo_t statfs_cmd;
+ static cmdinfo_t statx_cmd;
+
+-off64_t
++off_t
+ filesize(void)
+ {
+ struct stat st;
+--- a/io/sync_file_range.c
++++ b/io/sync_file_range.c
+@@ -30,7 +30,7 @@ sync_range_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset = 0, length = 0;
++ off_t offset = 0, length = 0;
+ int c, sync_mode = 0;
+ size_t blocksize, sectsize;
+
+--- a/io/truncate.c
++++ b/io/truncate.c
+@@ -16,7 +16,7 @@ truncate_f(
+ int argc,
+ char **argv)
+ {
+- off64_t offset;
++ off_t offset;
+ size_t blocksize, sectsize;
+
+ init_cvtnum(&blocksize, &sectsize);
+--- a/libxfs/rdwr.c
++++ b/libxfs/rdwr.c
+@@ -576,7 +576,7 @@ libxfs_balloc(
+
+
+ static int
+-__read_buf(int fd, void *buf, int len, off64_t offset, int flags)
++__read_buf(int fd, void *buf, int len, off_t offset, int flags)
+ {
+ int sts;
+
+@@ -638,7 +638,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags)
+
+ buf = bp->b_addr;
+ for (i = 0; i < bp->b_nmaps; i++) {
+- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
++ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
+ int len = BBTOB(bp->b_maps[i].bm_len);
+
+ error = __read_buf(fd, buf, len, offset, flags);
+@@ -797,7 +797,7 @@ err:
+ }
+
+ static int
+-__write_buf(int fd, void *buf, int len, off64_t offset, int flags)
++__write_buf(int fd, void *buf, int len, off_t offset, int flags)
+ {
+ int sts;
+
+@@ -863,7 +863,7 @@ libxfs_bwrite(
+ void *buf = bp->b_addr;
+
+ for (i = 0; i < bp->b_nmaps; i++) {
+- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
++ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
+ int len = BBTOB(bp->b_maps[i].bm_len);
+
+ bp->b_error = __write_buf(fd, buf, len, offset,
+--- a/mdrestore/xfs_mdrestore.c
++++ b/mdrestore/xfs_mdrestore.c
+@@ -160,7 +160,7 @@ verify_device_size(
+ } else {
+ /* ensure device is sufficiently large enough */
+ char lb[XFS_MAX_SECTORSIZE] = { 0 };
+- off64_t off;
++ off_t off;
+
+ off = nr_blocks * blocksize - sizeof(lb);
+ if (pwrite(dev_fd, lb, sizeof(lb), off) < 0)
+--- a/repair/prefetch.c
++++ b/repair/prefetch.c
+@@ -475,7 +475,7 @@ pf_batch_read(
+ {
+ struct xfs_buf *bplist[MAX_BUFS];
+ unsigned int num;
+- off64_t first_off, last_off, next_off;
++ off_t first_off, last_off, next_off;
+ int len, size;
+ int i;
+ int inode_bufs;
+--- a/scrub/spacemap.c
++++ b/scrub/spacemap.c
+@@ -97,11 +97,11 @@ scan_ag_rmaps(
+ struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx;
+ struct scan_blocks *sbx = arg;
+ struct fsmap keys[2];
+- off64_t bperag;
++ off_t bperag;
+ int ret;
+
+- bperag = (off64_t)ctx->mnt.fsgeom.agblocks *
+- (off64_t)ctx->mnt.fsgeom.blocksize;
++ bperag = (off_t)ctx->mnt.fsgeom.agblocks *
++ (off_t)ctx->mnt.fsgeom.blocksize;
+
+ memset(keys, 0, sizeof(struct fsmap) * 2);
+ keys->fmr_device = ctx->fsinfo.fs_datadev;
+--- a/spaceman/freesp.c
++++ b/spaceman/freesp.c
+@@ -62,7 +62,7 @@ static void
+ addtohist(
+ xfs_agnumber_t agno,
+ xfs_agblock_t agbno,
+- off64_t len)
++ off_t len)
+ {
+ long i;
+
+@@ -152,7 +152,7 @@ scan_ag(
+ struct fsmap *l, *h;
+ struct fsmap *p;
+ struct xfs_fd *xfd = &file->xfd;
+- off64_t aglen;
++ off_t aglen;
+ xfs_agblock_t agbno;
+ unsigned long long freeblks = 0;
+ unsigned long long freeexts = 0;
+--- a/spaceman/trim.c
++++ b/spaceman/trim.c
+@@ -26,7 +26,7 @@ trim_f(
+ struct xfs_fd *xfd = &file->xfd;
+ struct xfs_fsop_geom *fsgeom = &xfd->fsgeom;
+ xfs_agnumber_t agno = 0;
+- off64_t offset = 0;
++ off_t offset = 0;
+ ssize_t length = 0;
+ ssize_t minlen = 0;
+ int aflag = 0;
+--
+2.43.0
+
diff --git a/sys-fs/xfsprogs/files/0002-io-Adapt-to-64-bit-time_t.patch b/sys-fs/xfsprogs/files/0002-io-Adapt-to-64-bit-time_t.patch
new file mode 100644
index 000000000000..405f2eb8a288
--- /dev/null
+++ b/sys-fs/xfsprogs/files/0002-io-Adapt-to-64-bit-time_t.patch
@@ -0,0 +1,37 @@
+https://lore.kernel.org/linux-xfs/20240205232343.2162947-1-sam@gentoo.org/
+
+From 37495c1600002551badb5eb16ff244b0c5ffd3b0 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 15 Dec 2023 00:40:26 +0000
+Subject: [PATCH 2/3] io: Adapt to >= 64-bit time_t
+
+We now require (at least) 64-bit time_t, so we need to adjust some printf
+specifiers accordingly.
+
+Unfortunately, we've stumbled upon a ridiculous C mmoment whereby there's
+no neat format specifier (not even one of the inttypes ones) for time_t, so
+we cast to intmax_t and use %jd.
+
+Reviewed-by: Darrick J. Wong <djwong@kernel.org>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/io/stat.c
++++ b/io/stat.c
+@@ -66,11 +66,11 @@ dump_raw_stat(struct stat *st)
+ printf("stat.ino = %llu\n", (unsigned long long)st->st_ino);
+ printf("stat.size = %lld\n", (long long)st->st_size);
+ printf("stat.blocks = %lld\n", (long long)st->st_blocks);
+- printf("stat.atime.tv_sec = %ld\n", st->st_atim.tv_sec);
++ printf("stat.atime.tv_sec = %jd\n", (intmax_t)st->st_atim.tv_sec);
+ printf("stat.atime.tv_nsec = %ld\n", st->st_atim.tv_nsec);
+- printf("stat.ctime.tv_sec = %ld\n", st->st_ctim.tv_sec);
++ printf("stat.ctime.tv_sec = %jd\n", (intmax_t)st->st_ctim.tv_sec);
+ printf("stat.ctime.tv_nsec = %ld\n", st->st_ctim.tv_nsec);
+- printf("stat.mtime.tv_sec = %ld\n", st->st_mtim.tv_sec);
++ printf("stat.mtime.tv_sec = %jd\n", (intmax_t)st->st_mtim.tv_sec);
+ printf("stat.mtime.tv_nsec = %ld\n", st->st_mtim.tv_nsec);
+ printf("stat.rdev_major = %u\n", major(st->st_rdev));
+ printf("stat.rdev_minor = %u\n", minor(st->st_rdev));
+--
+2.43.0
+
diff --git a/sys-fs/xfsprogs/files/0003-build-Request-64-bit-time_t-where-possible.patch b/sys-fs/xfsprogs/files/0003-build-Request-64-bit-time_t-where-possible.patch
new file mode 100644
index 000000000000..21c2d07821e8
--- /dev/null
+++ b/sys-fs/xfsprogs/files/0003-build-Request-64-bit-time_t-where-possible.patch
@@ -0,0 +1,31 @@
+https://lore.kernel.org/linux-xfs/20240205232343.2162947-1-sam@gentoo.org/
+
+From 98e6a32ebe3b1b0e643c27f1bbee0058c9edc047 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 11 Nov 2023 08:22:22 +0000
+Subject: [PATCH 3/3] build: Request 64-bit time_t where possible
+
+Suggested by Darrick during LFS review. We take the same approach as in
+5c0599b721d1d232d2e400f357abdf2736f24a97 ('Fix building xfsprogs on 32-bit platforms')
+to avoid autoconf hell - just take the tried & tested approach which is working
+fine for us with LFS already.
+
+Reviewed-by: Darrick J. Wong <djwong@kernel.org>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Sam James <sam@gentoo.org>
+--- a/include/builddefs.in
++++ b/include/builddefs.in
+@@ -13,8 +13,8 @@ OPTIMIZER = @opt_build@
+ MALLOCLIB = @malloc_lib@
+ LOADERFLAGS = @LDFLAGS@
+ LTLDFLAGS = @LDFLAGS@
+-CFLAGS = @CFLAGS@ -D_FILE_OFFSET_BITS=64 -Wno-address-of-packed-member
+-BUILD_CFLAGS = @BUILD_CFLAGS@ -D_FILE_OFFSET_BITS=64
++CFLAGS = @CFLAGS@ -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wno-address-of-packed-member
++BUILD_CFLAGS = @BUILD_CFLAGS@ -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
+
+ # make sure we don't pick up whacky LDFLAGS from the make environment and
+ # only use what we calculate from the configured options above.
+--
+2.43.0
+
diff --git a/sys-fs/xfsprogs/files/xfsprogs-4.15.0-docdir.patch b/sys-fs/xfsprogs/files/xfsprogs-4.15.0-docdir.patch
deleted file mode 100644
index 53ba3ec0f5d4..000000000000
--- a/sys-fs/xfsprogs/files/xfsprogs-4.15.0-docdir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- xfsprogs-4.15.0/scrub/Makefile
-+++ xfsprogs-4.15.0/scrub/Makefile
-@@ -25,7 +25,7 @@
- CRONTABS = xfs_scrub_all.cron
- OPTIONAL_TARGETS += $(CRONTABS)
- # Don't enable the crontab by default for now
--CROND_DIR = $(PKG_LIB_DIR)/$(PKG_NAME)
-+CROND_DIR = $(PKG_DOC_DIR)
- endif
-
- endif # scrub_prereqs
diff --git a/sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild b/sys-fs/xfsprogs/xfsprogs-6.4.0.ebuild
index b9facc52f475..6ecca8c43ca8 100644
--- a/sys-fs/xfsprogs/xfsprogs-5.18.0.ebuild
+++ b/sys-fs/xfsprogs/xfsprogs-6.4.0.ebuild
@@ -1,24 +1,26 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit flag-o-matic systemd usr-ldscript
+inherit flag-o-matic systemd usr-ldscript toolchain-funcs
DESCRIPTION="XFS filesystem utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
+HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/"
SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="icu libedit nls selinux"
-RDEPEND="dev-libs/inih
+RDEPEND="
+ dev-libs/inih
dev-libs/userspace-rcu:=
>=sys-apps/util-linux-2.17.2
icu? ( dev-libs/icu:= )
- libedit? ( dev-libs/libedit )"
+ libedit? ( dev-libs/libedit )
+"
DEPEND="${RDEPEND}"
BDEPEND="nls? ( sys-devel/gettext )"
RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
@@ -58,6 +60,9 @@ src_configure() {
# Avoid automagic on libdevmapper (bug #709694)
export ac_cv_search_dm_task_create=no
+ # bug 903611
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
# Build fails with -O3 (bug #712698)
replace-flags -O3 -O2
@@ -65,6 +70,7 @@ src_configure() {
# https://www.spinics.net/lists/linux-xfs/msg30185.html
# https://www.spinics.net/lists/linux-xfs/msg30272.html
local myconf=(
+ --enable-static
--enable-blkid
--with-crond-dir="${EPREFIX}/etc/cron.d"
--with-systemd-unit-dir="$(systemd_get_systemunitdir)"
@@ -73,7 +79,7 @@ src_configure() {
$(use_enable libedit editline)
)
- if is-flagq -flto ; then
+ if tc-is-lto ; then
myconf+=( --enable-lto )
else
myconf+=( --disable-lto )
diff --git a/sys-fs/xfsprogs/xfsprogs-5.14.2.ebuild b/sys-fs/xfsprogs/xfsprogs-6.6.0.ebuild
index 0a131b80800d..757a45fbd50a 100644
--- a/sys-fs/xfsprogs/xfsprogs-5.14.2.ebuild
+++ b/sys-fs/xfsprogs/xfsprogs-6.6.0.ebuild
@@ -1,34 +1,35 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit flag-o-matic systemd usr-ldscript
+inherit flag-o-matic systemd udev usr-ldscript toolchain-funcs
-DESCRIPTION="xfs filesystem utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
+DESCRIPTION="XFS filesystem utilities"
+HOMEPAGE="https://xfs.wiki.kernel.org/ https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git/"
SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="icu libedit nls selinux"
-RDEPEND=">=sys-apps/util-linux-2.17.2
+RDEPEND="
dev-libs/inih
- dev-libs/userspace-rcu
+ dev-libs/userspace-rcu:=
+ >=sys-apps/util-linux-2.17.2
icu? ( dev-libs/icu:= )
libedit? ( dev-libs/libedit )
"
DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
-"
+BDEPEND="nls? ( sys-devel/gettext )"
RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
"${FILESDIR}"/${PN}-5.3.0-libdir.patch
+ "${FILESDIR}"/0001-Remove-use-of-LFS64-interfaces.patch
+ "${FILESDIR}"/0002-io-Adapt-to-64-bit-time_t.patch
+ "${FILESDIR}"/0003-build-Request-64-bit-time_t-where-possible.patch
)
src_prepare() {
@@ -48,6 +49,9 @@ src_configure() {
# unnecessarily clutter CFLAGS (and fortran isn't used)
unset FCFLAGS
+ # If set in user env, this breaks configure
+ unset PLATFORM
+
export DEBUG=-DNDEBUG
# Package is honoring CFLAGS; No need to use OPTIMIZER anymore.
@@ -55,11 +59,12 @@ src_configure() {
# flags.
export OPTIMIZER=" "
- unset PLATFORM # if set in user env, this breaks configure
-
- # Avoid automagic on libdevmapper, #709694
+ # Avoid automagic on libdevmapper (bug #709694)
export ac_cv_search_dm_task_create=no
+ # bug 903611
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
# Build fails with -O3 (bug #712698)
replace-flags -O3 -O2
@@ -67,15 +72,17 @@ src_configure() {
# https://www.spinics.net/lists/linux-xfs/msg30185.html
# https://www.spinics.net/lists/linux-xfs/msg30272.html
local myconf=(
+ --enable-static
--enable-blkid
--with-crond-dir="${EPREFIX}/etc/cron.d"
--with-systemd-unit-dir="$(systemd_get_systemunitdir)"
+ --with-udev-rule-dir="$(get_udevdir)"
$(use_enable icu libicu)
$(use_enable nls gettext)
$(use_enable libedit editline)
)
- if is-flagq -flto ; then
+ if tc-is-lto ; then
myconf+=( --enable-lto )
else
myconf+=( --disable-lto )
diff --git a/sys-fs/xwmfs/Manifest b/sys-fs/xwmfs/Manifest
index c22623b64c51..23c5e5d8568a 100644
--- a/sys-fs/xwmfs/Manifest
+++ b/sys-fs/xwmfs/Manifest
@@ -1 +1 @@
-DIST xwmfs-0.91.tar.gz 205380 BLAKE2B fe16fb42c255c8aa3f3a89c494ee9a0d89a4ec1f7d09299374b8891ecc03fe41bb676e2a65112d60abf7ea7e7c2b173aa1333969b445814b07f5c972c001969b SHA512 a2f86b614364c1ffd5fa591bdabd8940f9f317f07e5c4ddc45e8da44de1ae434cbe0336fd1ef7f25027c390388943a8cd03991546ffa640ffe5800a66792ac17
+DIST xwmfs-0.92.tar.gz 205449 BLAKE2B b94992eae262487578832483afd5121583cbaabf1fd36f1775845a30d4d593300b19db2a8c6df39f9be6a918438af59b16104f6bf234978f88095a9e7b8ac1e8 SHA512 27f6166d3ac5abdd25e9333547f8f42a08b86e530a893eb2c028792405c0aac43e7a6583ee6bb3daeb327dee63c808e9098d95b114359fe44c2b6580b682208c
diff --git a/sys-fs/xwmfs/xwmfs-0.91.ebuild b/sys-fs/xwmfs/xwmfs-0.92.ebuild
index deecfb925e6a..b626506f9f37 100644
--- a/sys-fs/xwmfs/xwmfs-0.91.ebuild
+++ b/sys-fs/xwmfs/xwmfs-0.92.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
diff --git a/sys-fs/yaffs2utils/yaffs2utils-0.2.9.ebuild b/sys-fs/yaffs2utils/yaffs2utils-0.2.9.ebuild
index d9691a18fa89..a8d220c9a2d4 100644
--- a/sys-fs/yaffs2utils/yaffs2utils-0.2.9.ebuild
+++ b/sys-fs/yaffs2utils/yaffs2utils-0.2.9.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="tools for generating YAFFS images"
HOMEPAGE="https://code.google.com/p/yaffs2utils/"
-SRC_URI="https://yaffs2utils.googlecode.com/files/0.2.9.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://yaffs2utils.googlecode.com/files/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/sys-fs/zfs-auto-snapshot/metadata.xml b/sys-fs/zfs-auto-snapshot/metadata.xml
index 75301cb67e62..927b1d188871 100644
--- a/sys-fs/zfs-auto-snapshot/metadata.xml
+++ b/sys-fs/zfs-auto-snapshot/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <email>mschiff@gentoo.org</email>
+ <name>Marc Schiffbauer</name>
</maintainer>
<longdescription lang="en">
An alternative implementation of the zfs-auto-snapshot service for Linux
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild
index e503554be28a..18c1884aaa53 100644
--- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]]; then
else
MY_P="${PN}-upstream-${PV}"
SRC_URI="https://github.com/zfsonlinux/${PN}/archive/upstream/${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ KEYWORDS="amd64 arm64 ppc64 ~riscv"
S="${WORKDIR}/${MY_P}"
fi
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 8d6ae4d6ba30..b1d0e6ec325b 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -1,6 +1,8 @@
-DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f
-DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682
-DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e
-DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee
-DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03
-DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94
+DIST zfs-2.1.14.tar.gz 35167471 BLAKE2B a7b22eaf05e4fbf416ebe4d7b884c515942fc9375c1dd322cefa00c19c550b9318a4192d6a909d49d58523c8f1a6eaf00189dd58e6543fae17cf8cc35042f469 SHA512 4a65c8b7d5576fa2dcc14e7ccaa93191c1d3791479cf89bd02c2bd04434ff5e93709b328796d4f9ba93da19f12772e359df373f40919350a3e1e4c52758b47c8
+DIST zfs-2.1.14.tar.gz.asc 836 BLAKE2B f01bc58bf6c3d367c494ed4ea9f3fb1141f3aafdbf4f913b9e0d60d31557076d5ae0e25ca93b013f5fd85e21ba5ae9f61e1a03af54bb0c743869c0ce3d5519df SHA512 be0f386cce952b4047dc2448e356078668e8d4392802dd3bb1a426741f15f4d9fb689cd1cb09972bdbc9fe2e4e782ec4b4754fe811c5657bc1f5308bd38e3926
+DIST zfs-2.1.15.tar.gz 35209038 BLAKE2B 61f9e14c54d43d1c51269917bb3ffde0530166126ea0467103ff1171dffc537315fd21c270d12f73d677e121b8094af39dd0a1fe3f80986bb42dc16d627dff52 SHA512 24096f2a6ecb3cc51f3d2f11cc69ad134d6fc33667007277c50cf798be2b19b6ddfa9be6923ca53d8b09f0bebae14c44d74811ec776e5aaf4ea0e810844c1f3d
+DIST zfs-2.1.15.tar.gz.asc 836 BLAKE2B 897c05a8870cd0418493b42fe854ef5b28f9a31513ac262a25631089defa59190808b51bd31e43412b01171bcac0dff0608d417dfdacfeee0b0f067e0627d48f SHA512 a6c5a9d214070a220716075455eb1cb85a53fb20b5fe4319f112cde0653a25f87b66d0f0bcf0ca641e3ac38239759cb9df6ed7f4700056a2732cc8c1ccd9ce05
+DIST zfs-2.2.2.tar.gz 33816541 BLAKE2B f0619ae42d898d18077096217d0a9ddd7c7378424707aa51d3645661b2889a1459bc4a5e9fe42b6860b2d26e4600da35765b0e741725dafacc2ead2370cad866 SHA512 bba252cbf7986f2cce154dd18a34aa478cf98f70106337188dc894de2446d60a58fa643706927757d1787506b44d4ff404897a2d0e16aacb0a7bf27765703332
+DIST zfs-2.2.2.tar.gz.asc 836 BLAKE2B bdc86492b2bf45d329e34e89ea7796f5cbf518d32ab114c909321b1d0d8040b9ce4e25b3b85fcbc5ea62ee10a2d716b5b27e37c2c005b307c0b593815c49d625 SHA512 110be1aa90f4749106717165a3cb5116379e2d170146a2b3d2601f04212450da9327e028d6e1e5de7f8a46c6bb7a15e2bcdd09e3e760590fbc695f9562f1440b
+DIST zfs-2.2.3.tar.gz 33854765 BLAKE2B f83439aa929609191a048dd326b2a15e0f57c72d2901cbfb205b81a29aa42dab49b42eb61647ca3eaed17518b8c907e81343364bfecf83ed441271648f8efd4b SHA512 e6c3df531a33f4bd198429e61b7630f1e965a03fd60d1b847bdf0d55c6d2af3abc38b5e8a63aa9ef9f969cc7eca36cb24a7641f6fb8c41ef2fa024d76cd28f3d
+DIST zfs-2.2.3.tar.gz.asc 836 BLAKE2B 86e1adc393d1f4643a6fd8c188b555e9dc0fdf7e25690f37ff0a04ff8826eb4fe3c125b54f0c5b9ab33f1daff43c4b44373ee9a4df506f6714f98d77782e6c3c SHA512 fe23ddb9bde78416776411d66a56aa662fa051c8544b4be01ba238b8c1a85ccde1c55329f228fe8ab2681b54a4e4cb08d4e927c597c117242f0b536a40921dc9
diff --git a/sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch b/sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch
deleted file mode 100644
index 338b14208dab..000000000000
--- a/sys-fs/zfs-kmod/files/2.1.4-ZERO_RANGE.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-https://github.com/openzfs/zfs/commit/c220771a47e4206fb43e6849957657c9504b1b14
-https://github.com/openzfs/zfs/issues/13329
-
-From c220771a47e4206fb43e6849957657c9504b1b14 Mon Sep 17 00:00:00 2001
-From: Rich Ercolani <214141+rincebrain@users.noreply.github.com>
-Date: Wed, 20 Apr 2022 19:07:03 -0400
-Subject: [PATCH] Corrected oversight in ZERO_RANGE behavior
-
-It turns out, no, in fact, ZERO_RANGE and PUNCH_HOLE do
-have differing semantics in some ways - in particular,
-one requires KEEP_SIZE, and the other does not.
-
-Also added a zero-range test to catch this, corrected a flaw
-that made the punch-hole test succeed vacuously, and a typo
-in file_write.
-
-Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
-Closes #13329
-Closes #13338
---- a/module/os/linux/zfs/zpl_file.c
-+++ b/module/os/linux/zfs/zpl_file.c
-@@ -781,11 +781,13 @@ zpl_fallocate_common(struct inode *ip, int mode, loff_t offset, loff_t len)
- if (mode & (test_mode)) {
- flock64_t bf;
-
-- if (offset > olen)
-- goto out_unmark;
-+ if (mode & FALLOC_FL_KEEP_SIZE) {
-+ if (offset > olen)
-+ goto out_unmark;
-
-- if (offset + len > olen)
-- len = olen - offset;
-+ if (offset + len > olen)
-+ len = olen - offset;
-+ }
- bf.l_type = F_WRLCK;
- bf.l_whence = SEEK_SET;
- bf.l_start = offset;
---- a/tests/runfiles/linux.run
-+++ b/tests/runfiles/linux.run
-@@ -94,7 +94,7 @@ tests = ['events_001_pos', 'events_002_pos', 'zed_rc_filter', 'zed_fd_spill']
- tags = ['functional', 'events']
-
- [tests/functional/fallocate:Linux]
--tests = ['fallocate_prealloc']
-+tests = ['fallocate_prealloc', 'fallocate_zero-range']
- tags = ['functional', 'fallocate']
-
- [tests/functional/fault:Linux]
---- a/tests/zfs-tests/cmd/file_write/file_write.c
-+++ b/tests/zfs-tests/cmd/file_write/file_write.c
-@@ -251,7 +251,7 @@ usage(char *prog)
- "\t[-s offset] [-c write_count] [-d data]\n\n"
- "Where [data] equal to zero causes chars "
- "0->%d to be repeated throughout, or [data]\n"
-- "equal to 'R' for psudorandom data.\n",
-+ "equal to 'R' for pseudorandom data.\n",
- prog, DATA_RANGE);
-
- exit(1);
---- a/tests/zfs-tests/include/libtest.shlib
-+++ b/tests/zfs-tests/include/libtest.shlib
-@@ -4236,6 +4236,22 @@ function punch_hole # offset length file
- esac
- }
-
-+function zero_range # offset length file
-+{
-+ typeset offset=$1
-+ typeset length=$2
-+ typeset file=$3
-+
-+ case "$UNAME" in
-+ Linux)
-+ fallocate --zero-range --offset $offset --length $length "$file"
-+ ;;
-+ *)
-+ false
-+ ;;
-+ esac
-+}
-+
- #
- # Wait for the specified arcstat to reach non-zero quiescence.
- # If echo is 1 echo the value after reaching quiescence, otherwise
---- a/tests/zfs-tests/tests/functional/fallocate/Makefile.am
-+++ b/tests/zfs-tests/tests/functional/fallocate/Makefile.am
-@@ -3,4 +3,5 @@ dist_pkgdata_SCRIPTS = \
- setup.ksh \
- cleanup.ksh \
- fallocate_prealloc.ksh \
-- fallocate_punch-hole.ksh
-+ fallocate_punch-hole.ksh \
-+ fallocate_zero-range.ksh
---- a/tests/zfs-tests/tests/functional/fallocate/fallocate_punch-hole.ksh
-+++ b/tests/zfs-tests/tests/functional/fallocate/fallocate_punch-hole.ksh
-@@ -60,13 +60,17 @@ function cleanup
- [[ -e $TESTDIR ]] && log_must rm -f $FILE
- }
-
--function check_disk_size
-+function check_reported_size
- {
- typeset expected_size=$1
-
-- disk_size=$(du $TESTDIR/file | awk '{print $1}')
-- if [ $disk_size -ne $expected_size ]; then
-- log_fail "Incorrect size: $disk_size != $expected_size"
-+ if ! [ -e "${FILE}" ]; then
-+ log_fail "$FILE does not exist"
-+ fi
-+
-+ reported_size=$(du "${FILE}" | awk '{print $1}')
-+ if [ "$reported_size" != "$expected_size" ]; then
-+ log_fail "Incorrect reported size: $reported_size != $expected_size"
- fi
- }
-
-@@ -74,9 +78,9 @@ function check_apparent_size
- {
- typeset expected_size=$1
-
-- apparent_size=$(stat_size)
-- if [ $apparent_size -ne $expected_size ]; then
-- log_fail "Incorrect size: $apparent_size != $expected_size"
-+ apparent_size=$(stat_size "${FILE}")
-+ if [ "$apparent_size" != "$expected_size" ]; then
-+ log_fail "Incorrect apparent size: $apparent_size != $expected_size"
- fi
- }
-
-@@ -86,25 +90,30 @@ log_onexit cleanup
-
- # Create a dense file and check it is the correct size.
- log_must file_write -o create -f $FILE -b $BLKSZ -c 8
--log_must check_disk_size $((131072 * 8))
-+sync_pool $TESTPOOL
-+log_must check_reported_size 1027
-
- # Punch a hole for the first full block.
- log_must punch_hole 0 $BLKSZ $FILE
--log_must check_disk_size $((131072 * 7))
-+sync_pool $TESTPOOL
-+log_must check_reported_size 899
-
- # Partially punch a hole in the second block.
- log_must punch_hole $BLKSZ $((BLKSZ / 2)) $FILE
--log_must check_disk_size $((131072 * 7))
-+sync_pool $TESTPOOL
-+log_must check_reported_size 899
-
--# Punch a hole which overlaps the third and forth block.
-+# Punch a hole which overlaps the third and fourth block.
- log_must punch_hole $(((BLKSZ * 2) + (BLKSZ / 2))) $((BLKSZ)) $FILE
--log_must check_disk_size $((131072 * 7))
-+sync_pool $TESTPOOL
-+log_must check_reported_size 899
-
- # Punch a hole from the fifth block past the end of file. The apparent
- # file size should not change since --keep-size is implied.
- apparent_size=$(stat_size $FILE)
- log_must punch_hole $((BLKSZ * 4)) $((BLKSZ * 10)) $FILE
--log_must check_disk_size $((131072 * 4))
-+sync_pool $TESTPOOL
-+log_must check_reported_size 387
- log_must check_apparent_size $apparent_size
-
- log_pass "Ensure holes can be punched in files making them sparse"
---- /dev/null
-+++ b/tests/zfs-tests/tests/functional/fallocate/fallocate_zero-range.ksh
-@@ -0,0 +1,119 @@
-+#!/bin/ksh -p
-+#
-+# CDDL HEADER START
-+#
-+# The contents of this file are subject to the terms of the
-+# Common Development and Distribution License (the "License").
-+# You may not use this file except in compliance with the License.
-+#
-+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+# or http://www.opensolaris.org/os/licensing.
-+# See the License for the specific language governing permissions
-+# and limitations under the License.
-+#
-+# When distributing Covered Code, include this CDDL HEADER in each
-+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+# If applicable, add the following below this CDDL HEADER, with the
-+# fields enclosed by brackets "[]" replaced with your own identifying
-+# information: Portions Copyright [yyyy] [name of copyright owner]
-+#
-+# CDDL HEADER END
-+#
-+
-+#
-+# Copyright (c) 2020 by Lawrence Livermore National Security, LLC.
-+# Copyright (c) 2021 by The FreeBSD Foundation.
-+#
-+
-+. $STF_SUITE/include/libtest.shlib
-+
-+#
-+# DESCRIPTION:
-+# Test FALLOC_FL_ZERO_RANGE functionality
-+#
-+# STRATEGY:
-+# 1. Create a dense file
-+# 2. Zero various ranges in the file and verify the result.
-+#
-+
-+verify_runnable "global"
-+
-+if is_freebsd; then
-+ log_unsupported "FreeBSD does not implement an analogue to ZERO_RANGE."
-+fi
-+
-+FILE=$TESTDIR/$TESTFILE0
-+BLKSZ=$(get_prop recordsize $TESTPOOL)
-+
-+function cleanup
-+{
-+ [[ -e $TESTDIR ]] && log_must rm -f $FILE
-+}
-+
-+# Helpfully, this function expects kilobytes, and check_apparent_size expects bytes.
-+function check_reported_size
-+{
-+ typeset expected_size=$1
-+
-+ if ! [ -e "${FILE}" ]; then
-+ log_fail "$FILE does not exist"
-+ fi
-+
-+ reported_size=$(du "${FILE}" | awk '{print $1}')
-+ if [ "$reported_size" != "$expected_size" ]; then
-+ log_fail "Incorrect reported size: $reported_size != $expected_size"
-+ fi
-+}
-+
-+function check_apparent_size
-+{
-+ typeset expected_size=$1
-+
-+ apparent_size=$(stat_size "${FILE}")
-+ if [ "$apparent_size" != "$expected_size" ]; then
-+ log_fail "Incorrect apparent size: $apparent_size != $expected_size"
-+ fi
-+}
-+
-+log_assert "Ensure ranges can be zeroed in files"
-+
-+log_onexit cleanup
-+
-+# Create a dense file and check it is the correct size.
-+log_must file_write -o create -f $FILE -b $BLKSZ -c 8
-+sync_pool $TESTPOOL
-+log_must check_reported_size 1027
-+
-+# Zero a range covering the first full block.
-+log_must zero_range 0 $BLKSZ $FILE
-+sync_pool $TESTPOOL
-+log_must check_reported_size 899
-+
-+# Partially zero a range in the second block.
-+log_must zero_range $BLKSZ $((BLKSZ / 2)) $FILE
-+sync_pool $TESTPOOL
-+log_must check_reported_size 899
-+
-+# Zero range which overlaps the third and fourth block.
-+log_must zero_range $(((BLKSZ * 2) + (BLKSZ / 2))) $((BLKSZ)) $FILE
-+sync_pool $TESTPOOL
-+log_must check_reported_size 899
-+
-+# Zero range from the fifth block past the end of file, with --keep-size.
-+# The apparent file size must not change, since we did specify --keep-size.
-+apparent_size=$(stat_size $FILE)
-+log_must fallocate --keep-size --zero-range --offset $((BLKSZ * 4)) --length $((BLKSZ * 10)) "$FILE"
-+sync_pool $TESTPOOL
-+log_must check_reported_size 387
-+log_must check_apparent_size $apparent_size
-+
-+# Zero range from the fifth block past the end of file. The apparent
-+# file size should change since --keep-size is not implied, unlike
-+# with PUNCH_HOLE.
-+apparent_size=$(stat_size $FILE)
-+log_must zero_range $((BLKSZ * 4)) $((BLKSZ * 10)) $FILE
-+sync_pool $TESTPOOL
-+log_must check_reported_size 387
-+log_must check_apparent_size $((BLKSZ * 14))
-+
-+log_pass "Ensure ranges can be zeroed in files"
---- a/tests/zfs-tests/tests/functional/fallocate/setup.ksh
-+++ b/tests/zfs-tests/tests/functional/fallocate/setup.ksh
-@@ -26,4 +26,7 @@
- . $STF_SUITE/include/libtest.shlib
-
- DISK=${DISKS%% *}
--default_setup $DISK
-+default_setup_noexit $DISK
-+log_must zfs set compression=off $TESTPOOL
-+log_pass
-+
-
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-2.1.11-gentoo.patch b/sys-fs/zfs-kmod/files/zfs-kmod-2.1.11-gentoo.patch
new file mode 100644
index 000000000000..53c5f27b3bed
--- /dev/null
+++ b/sys-fs/zfs-kmod/files/zfs-kmod-2.1.11-gentoo.patch
@@ -0,0 +1,24 @@
+Hack to pass the full linux-mod-r1 toolchain to make during ./configure.
+Not needed at build time given can pass it normally then.
+
+Eclass has workarounds, compiler/version matching, and its own set of
+user variables which creates disparity between ebuilds if not used.
+
+For the (normal) alternative: KERNEL_{CC,LD} alone is insufficient,
+but combining with KERNEL_LLVM=1 when CC_IS_CLANG will allow it
+to work for *most* people (will likely still need KERNEL_LD from
+linux-mod-r1, or ThinLTO kernels may fail with sandbox violations).
+
+Note KERNEL_* also cause failure if they contain spaces.
+
+https://bugs.gentoo.org/865157
+--- a/config/kernel.m4
++++ b/config/kernel.m4
+@@ -646,6 +646,5 @@
+ AC_TRY_COMMAND([
+ KBUILD_MODPOST_NOFINAL="$5" KBUILD_MODPOST_WARN="$6"
+- make modules -k -j$TEST_JOBS ${KERNEL_CC:+CC=$KERNEL_CC}
+- ${KERNEL_LD:+LD=$KERNEL_LD} ${KERNEL_LLVM:+LLVM=$KERNEL_LLVM}
++ make modules -k -j$TEST_JOBS '${GENTOO_MAKEARGS_EVAL}'
+ CONFIG_MODULES=y CFLAGS_MODULE=-DCONFIG_MODULES
+ -C $LINUX_OBJ $ARCH_UM M=$PWD/$1 >$1/build.log 2>&1])
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-arm64-neon.patch b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-arm64-neon.patch
new file mode 100644
index 000000000000..54121adcdca3
--- /dev/null
+++ b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-arm64-neon.patch
@@ -0,0 +1,100 @@
+https://bugs.gentoo.org/904657
+https://github.com/openzfs/zfs/issues/14555
+https://github.com/openzfs/zfs/commit/976bf9b6a61919638d42ed79cd207132785d128a
+
+From 976bf9b6a61919638d42ed79cd207132785d128a Mon Sep 17 00:00:00 2001
+From: Shengqi Chen <harry-chen@outlook.com>
+Date: Tue, 9 Jan 2024 08:05:24 +0800
+Subject: [PATCH] Linux 6.2 compat: add check for kernel_neon_* availability
+
+This patch adds check for `kernel_neon_*` symbols on arm and arm64
+platforms to address the following issues:
+
+1. Linux 6.2+ on arm64 has exported them with `EXPORT_SYMBOL_GPL`, so
+ license compatibility must be checked before use.
+2. On both arm and arm64, the definitions of these symbols are guarded
+ by `CONFIG_KERNEL_MODE_NEON`, but their declarations are still
+ present. Checking in configuration phase only leads to MODPOST
+ errors (undefined references).
+
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Signed-off-by: Shengqi Chen <harry-chen@outlook.com>
+Closes #15711
+Closes #14555
+Closes: #15401
+--- a/config/kernel-fpu.m4
++++ b/config/kernel-fpu.m4
+@@ -79,6 +79,12 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_FPU], [
+ __kernel_fpu_end();
+ ], [], [ZFS_META_LICENSE])
+
++ ZFS_LINUX_TEST_SRC([kernel_neon], [
++ #include <asm/neon.h>
++ ], [
++ kernel_neon_begin();
++ kernel_neon_end();
++ ], [], [ZFS_META_LICENSE])
+ ])
+
+ AC_DEFUN([ZFS_AC_KERNEL_FPU], [
+@@ -105,9 +111,20 @@ AC_DEFUN([ZFS_AC_KERNEL_FPU], [
+ AC_DEFINE(KERNEL_EXPORTS_X86_FPU, 1,
+ [kernel exports FPU functions])
+ ],[
+- AC_MSG_RESULT(internal)
+- AC_DEFINE(HAVE_KERNEL_FPU_INTERNAL, 1,
+- [kernel fpu internal])
++ dnl #
++ dnl # ARM neon symbols (only on arm and arm64)
++ dnl # could be GPL-only on arm64 after Linux 6.2
++ dnl #
++ ZFS_LINUX_TEST_RESULT([kernel_neon_license],[
++ AC_MSG_RESULT(kernel_neon_*)
++ AC_DEFINE(HAVE_KERNEL_NEON, 1,
++ [kernel has kernel_neon_* functions])
++ ],[
++ # catch-all
++ AC_MSG_RESULT(internal)
++ AC_DEFINE(HAVE_KERNEL_FPU_INTERNAL, 1,
++ [kernel fpu internal])
++ ])
+ ])
+ ])
+ ])
+--- a/include/os/linux/kernel/linux/simd_aarch64.h
++++ b/include/os/linux/kernel/linux/simd_aarch64.h
+@@ -71,9 +71,15 @@
+ #define ID_AA64PFR0_EL1 sys_reg(3, 0, 0, 1, 0)
+ #define ID_AA64ISAR0_EL1 sys_reg(3, 0, 0, 6, 0)
+
++#if (defined(HAVE_KERNEL_NEON) && defined(CONFIG_KERNEL_MODE_NEON))
+ #define kfpu_allowed() 1
+ #define kfpu_begin() kernel_neon_begin()
+ #define kfpu_end() kernel_neon_end()
++#else
++#define kfpu_allowed() 0
++#define kfpu_begin() do {} while (0)
++#define kfpu_end() do {} while (0)
++#endif
+ #define kfpu_init() (0)
+ #define kfpu_fini() do {} while (0)
+
+--- a/include/os/linux/kernel/linux/simd_arm.h
++++ b/include/os/linux/kernel/linux/simd_arm.h
+@@ -53,9 +53,15 @@
+ #include <asm/elf.h>
+ #include <asm/hwcap.h>
+
++#if (defined(HAVE_KERNEL_NEON) && defined(CONFIG_KERNEL_MODE_NEON))
+ #define kfpu_allowed() 1
+ #define kfpu_begin() kernel_neon_begin()
+ #define kfpu_end() kernel_neon_end()
++#else
++#define kfpu_allowed() 0
++#define kfpu_begin() do {} while (0)
++#define kfpu_end() do {} while (0)
++#endif
+ #define kfpu_init() (0)
+ #define kfpu_fini() do {} while (0)
+
+
diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch
new file mode 100644
index 000000000000..6d72389fdb25
--- /dev/null
+++ b/sys-fs/zfs-kmod/files/zfs-kmod-2.2.2-autotrim.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/923745
+https://github.com/openzfs/zfs/issues/15453
+https://github.com/openzfs/zfs/pull/15781
+https://github.com/openzfs/zfs/pull/15789
+
+From a0aa7a2ee3b56d7b6d69c2081034ec8293a6d605 Mon Sep 17 00:00:00 2001
+From: Kevin Jin <33590050+jxdking@users.noreply.github.com>
+Date: Wed, 17 Jan 2024 12:03:58 -0500
+Subject: [PATCH] Autotrim High Load Average Fix
+
+Switch from cv_wait() to cv_wait_idle() in vdev_autotrim_wait_kick(),
+which should mitigate the high load average while waiting.
+
+Reviewed-by: Brian Atkinson <batkinson@lanl.gov>
+Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
+Reviewed-by: Alexander Motin <mav@FreeBSD.org>
+Signed-off-by: jxdking <lostking2008@hotmail.com>
+Closes #15781
+--- a/module/zfs/vdev_trim.c
++++ b/module/zfs/vdev_trim.c
+@@ -194,7 +194,8 @@ vdev_autotrim_wait_kick(vdev_t *vd, int num_of_kick)
+ for (int i = 0; i < num_of_kick; i++) {
+ if (vd->vdev_autotrim_exit_wanted)
+ break;
+- cv_wait(&vd->vdev_autotrim_kick_cv, &vd->vdev_autotrim_lock);
++ cv_wait_idle(&vd->vdev_autotrim_kick_cv,
++ &vd->vdev_autotrim_lock);
+ }
+ boolean_t exit_wanted = vd->vdev_autotrim_exit_wanted;
+ mutex_exit(&vd->vdev_autotrim_lock);
+
diff --git a/sys-fs/zfs-kmod/metadata.xml b/sys-fs/zfs-kmod/metadata.xml
index 936f4ff82c8e..deb3879f4c32 100644
--- a/sys-fs/zfs-kmod/metadata.xml
+++ b/sys-fs/zfs-kmod/metadata.xml
@@ -2,14 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<use>
+ <flag name="dist-kernel-cap">Prevents upgrading to an unsupported kernel version when combined with USE=dist-kernel</flag>
<flag name="rootfs">Pull dependencies and check kernel options required for root-on-zfs</flag>
</use>
<upstream>
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild
deleted file mode 100644
index a928c1eac6f9..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-2.0.7.ebuild
+++ /dev/null
@@ -1,212 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools dist-kernel-utils flag-o-matic linux-mod toolchain-funcs
-
-DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
-else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
- inherit verify-sig
-
- MY_PV="${PV/_rc/-rc}"
- SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
- SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
- S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.15"
-
- # increments minor eg 5.14 -> 5.15, and still supports override.
- ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
- ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
-
- if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64"
- fi
-fi
-
-LICENSE="CDDL MIT debug? ( GPL-2+ )"
-SLOT="0/${PVR}"
-IUSE="custom-cflags debug +rootfs"
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
-
-BDEPEND="
- dev-lang/perl
- virtual/awk
-"
-
-# we want dist-kernel block in BDEPEND because of portage resolver.
-# since linux-mod.eclass already sets version-unbounded dep, portage
-# will pull new versions. So we set it in BDEPEND which takes priority.
-# and we don't need in in git ebuild.
-if [[ ${PV} != "9999" ]] ; then
- BDEPEND+="
- verify-sig? ( sec-keys/openpgp-keys-openzfs )
- dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
- "
-fi
-
-# PDEPEND in this form is needed to trick portage suggest
-# enabling dist-kernel if only 1 package have it set
-PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
-
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
-
-pkg_pretend() {
- use rootfs || return 0
-
- if has_version virtual/dist-kernel && ! use dist-kernel; then
- ewarn "You have virtual/dist-kernel installed, but"
- ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
- ewarn "It's recommended to globally enable dist-kernel USE flag"
- ewarn "to auto-trigger initrd rebuilds with kernel updates"
- fi
-}
-
-pkg_setup() {
- CONFIG_CHECK="
- !DEBUG_LOCK_ALLOC
- EFI_PARTITION
- MODULES
- !PAX_KERNEXEC_PLUGIN_METHOD_OR
- !TRIM_UNUSED_KSYMS
- ZLIB_DEFLATE
- ZLIB_INFLATE
- "
-
- use debug && CONFIG_CHECK="${CONFIG_CHECK}
- FRAME_POINTER
- DEBUG_INFO
- !DEBUG_INFO_REDUCED
- "
-
- use rootfs && \
- CONFIG_CHECK="${CONFIG_CHECK}
- BLK_DEV_INITRD
- DEVTMPFS
- "
-
- kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP"
-
- if [[ ${PV} != "9999" ]]; then
- local kv_major_max kv_minor_max zcompat
- zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
- kv_major_max="${zcompat%%.*}"
- zcompat="${zcompat#*.}"
- kv_minor_max="${zcompat%%.*}"
- kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
- "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
-
- fi
-
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
-
- linux-mod_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Run unconditionally (bug #792627)
- eautoreconf
-
- if [[ ${PV} != "9999" ]]; then
- # Set module revision number
- sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
- fi
-}
-
-src_configure() {
- set_arch_to_kernel
-
- use custom-cflags || strip-flags
-
- filter-ldflags -Wl,*
-
- # Set CROSS_COMPILE in the environment.
- # This allows the user to override it via make.conf or via a local Makefile.
- # https://bugs.gentoo.org/811600
- export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-}
-
- local myconf=(
- HOSTCC="$(tc-getBUILD_CC)"
- --bindir="${EPREFIX}/bin"
- --sbindir="${EPREFIX}/sbin"
- --with-config=kernel
- --with-linux="${KV_DIR}"
- --with-linux-obj="${KV_OUT_DIR}"
- $(use_enable debug)
- )
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- set_arch_to_kernel
-
- myemakeargs=(
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
-}
-
-src_install() {
- set_arch_to_kernel
-
- myemakeargs+=(
- DEPMOD=:
- DESTDIR="${D}"
- INSTALL_MOD_PATH="${EPREFIX:-/}" # lib/modules/<kver> added by KBUILD
- )
-
- emake "${myemakeargs[@]}" install
-
- einstalldocs
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- if [[ -z ${ROOT} ]] && use dist-kernel; then
- set_arch_to_pkgmgr
- dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
- fi
-
- if use x86 || use arm; then
- ewarn "32-bit kernels will likely require increasing vmalloc to"
- ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
- fi
-
- if has_version sys-boot/grub; then
- ewarn "This version of OpenZFS includes support for new feature flags"
- ewarn "that are incompatible with previous versions. GRUB2 support for"
- ewarn "/boot with the new feature flags is not yet available."
- ewarn "Do *NOT* upgrade root pools to use the new feature flags."
- ewarn "Any new pools will be created with the new feature flags by default"
- ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a newpool that is backward compatible wih GRUB2, use "
- ewarn
- ewarn "zpool create -d -o feature@async_destroy=enabled "
- ewarn " -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled"
- ewarn " -o feature@spacemap_histogram=enabled"
- ewarn " -o feature@enabled_txg=enabled "
- ewarn " -o feature@extensible_dataset=enabled -o feature@bookmarks=enabled"
- ewarn " ..."
- ewarn
- ewarn "GRUB2 support will be updated as soon as either the GRUB2"
- ewarn "developers do a tag or the Gentoo developers find time to backport"
- ewarn "support from GRUB2 HEAD."
- fi
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild
index 65567e49fef7..c698d195b168 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-2.1.5.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild
@@ -1,66 +1,66 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools dist-kernel-utils flag-o-matic linux-mod toolchain-funcs
+inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing
DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
HOMEPAGE="https://github.com/openzfs/zfs"
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
+MODULES_KERNEL_MAX=6.5
+MODULES_KERNEL_MIN=3.10
+
+if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
+ unset MODULES_KERNEL_MAX
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
- MY_PV="${PV/_rc/-rc}"
+ MY_PV=${PV/_rc/-rc}
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.18"
- # increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
- if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="amd64 arm64 ppc64 ~riscv ~sparc"
fi
fi
LICENSE="CDDL MIT debug? ( GPL-2+ )"
SLOT="0/${PVR}"
IUSE="custom-cflags debug +rootfs"
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
+RESTRICT="test"
BDEPEND="
dev-lang/perl
- virtual/awk
+ app-alternatives/awk
"
-# we want dist-kernel block in BDEPEND because of portage resolver.
-# since linux-mod.eclass already sets version-unbounded dep, portage
-# will pull new versions. So we set it in BDEPEND which takes priority.
-# and we don't need in in git ebuild.
-if [[ ${PV} != "9999" ]] ; then
- BDEPEND+="
- verify-sig? ( sec-keys/openpgp-keys-openzfs )
- dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+
+ IUSE+=" +dist-kernel-cap"
+ RDEPEND="
+ dist-kernel-cap? ( dist-kernel? (
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
+ ) )
"
fi
-# PDEPEND in this form is needed to trick portage suggest
-# enabling dist-kernel if only 1 package have it set
+# Used to suggest matching USE, but without suggesting to disable
PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
+)
pkg_pretend() {
use rootfs || return 0
@@ -74,31 +74,26 @@ pkg_pretend() {
}
pkg_setup() {
- CONFIG_CHECK="
- !DEBUG_LOCK_ALLOC
+ local CONFIG_CHECK="
EFI_PARTITION
- MODULES
- !PAX_KERNEXEC_PLUGIN_METHOD_OR
- !TRIM_UNUSED_KSYMS
ZLIB_DEFLATE
ZLIB_INFLATE
+ !DEBUG_LOCK_ALLOC
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
"
-
- use debug && CONFIG_CHECK="${CONFIG_CHECK}
- FRAME_POINTER
+ use debug && CONFIG_CHECK+="
DEBUG_INFO
+ FRAME_POINTER
!DEBUG_INFO_REDUCED
"
-
- use rootfs && \
- CONFIG_CHECK="${CONFIG_CHECK}
- BLK_DEV_INITRD
- DEVTMPFS
+ use rootfs && CONFIG_CHECK+="
+ BLK_DEV_INITRD
+ DEVTMPFS
"
- kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP"
+ kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
- if [[ ${PV} != "9999" ]]; then
+ if [[ ${PV} != 9999 ]] ; then
local kv_major_max kv_minor_max zcompat
zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
kv_major_max="${zcompat%%.*}"
@@ -106,12 +101,9 @@ pkg_setup() {
kv_minor_max="${zcompat%%.*}"
kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
"Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
-
fi
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
-
- linux-mod_pkg_setup
+ linux-mod-r1_pkg_setup
}
src_prepare() {
@@ -120,83 +112,63 @@ src_prepare() {
# Run unconditionally (bug #792627)
eautoreconf
- if [[ ${PV} != "9999" ]]; then
+ if [[ ${PV} != 9999 ]] ; then
# Set module revision number
- sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
fi
}
src_configure() {
- set_arch_to_kernel
-
use custom-cflags || strip-flags
-
filter-ldflags -Wl,*
- # Set CROSS_COMPILE in the environment.
- # This allows the user to override it via make.conf or via a local Makefile.
- # https://bugs.gentoo.org/811600
- export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-}
-
local myconf=(
- HOSTCC="$(tc-getBUILD_CC)"
- --bindir="${EPREFIX}/bin"
- --sbindir="${EPREFIX}/sbin"
+ --bindir="${EPREFIX}"/bin
+ --sbindir="${EPREFIX}"/sbin
--with-config=kernel
--with-linux="${KV_DIR}"
--with-linux-obj="${KV_OUT_DIR}"
$(use_enable debug)
+
+ # See gentoo.patch
+ GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
+ TEST_JOBS="$(makeopts_jobs)"
)
econf "${myconf[@]}"
}
src_compile() {
- set_arch_to_kernel
-
- myemakeargs=(
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
+ emake "${MODULES_MAKEARGS[@]}"
}
src_install() {
- set_arch_to_kernel
-
- myemakeargs+=(
- DEPMOD=:
- # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile
- DESTDIR="${D}"
- )
-
- emake "${myemakeargs[@]}" install
+ emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+ modules_post_process
- einstalldocs
+ dodoc AUTHORS COPYRIGHT META README.md
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
- if [[ -z ${ROOT} ]] && use dist-kernel; then
- set_arch_to_pkgmgr
+ if [[ -z ${ROOT} ]] && use dist-kernel ; then
dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
fi
- if use x86 || use arm; then
+ if use x86 || use arm ; then
ewarn "32-bit kernels will likely require increasing vmalloc to"
ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
fi
- if has_version sys-boot/grub; then
+ if has_version sys-boot/grub ; then
ewarn "This version of OpenZFS includes support for new feature flags"
ewarn "that are incompatible with previous versions. GRUB2 support for"
ewarn "/boot with the new feature flags is not yet available."
ewarn "Do *NOT* upgrade root pools to use the new feature flags."
ewarn "Any new pools will be created with the new feature flags by default"
ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a newpool that is backward compatible wih GRUB2, use "
+ ewarn "create a new pool that is backward compatible wih GRUB2, use "
ewarn
ewarn "zpool create -o compatibility=grub2 ..."
ewarn
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.15.ebuild
index 05b9754f0ef2..91038f073b54 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-2.1.4-r1.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.15.ebuild
@@ -1,69 +1,65 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools dist-kernel-utils flag-o-matic linux-mod toolchain-funcs
+inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing
DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
HOMEPAGE="https://github.com/openzfs/zfs"
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
+MODULES_KERNEL_MAX=6.7
+MODULES_KERNEL_MIN=3.10
+
+if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
+ unset MODULES_KERNEL_MAX
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
- MY_PV="${PV/_rc/-rc}"
+ MY_PV=${PV/_rc/-rc}
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.17"
- # increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
- if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64 ~riscv"
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
fi
fi
LICENSE="CDDL MIT debug? ( GPL-2+ )"
SLOT="0/${PVR}"
IUSE="custom-cflags debug +rootfs"
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
+RESTRICT="test"
BDEPEND="
dev-lang/perl
- virtual/awk
+ app-alternatives/awk
"
-# we want dist-kernel block in BDEPEND because of portage resolver.
-# since linux-mod.eclass already sets version-unbounded dep, portage
-# will pull new versions. So we set it in BDEPEND which takes priority.
-# and we don't need in in git ebuild.
-if [[ ${PV} != "9999" ]] ; then
- BDEPEND+="
- verify-sig? ( sec-keys/openpgp-keys-openzfs )
- dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+
+ IUSE+=" +dist-kernel-cap"
+ RDEPEND="
+ dist-kernel-cap? ( dist-kernel? (
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
+ ) )
"
fi
-# PDEPEND in this form is needed to trick portage suggest
-# enabling dist-kernel if only 1 package have it set
+# Used to suggest matching USE, but without suggesting to disable
PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
-
PATCHES=(
- "${FILESDIR}"/${PV}-ZERO_RANGE.patch
+ "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
)
pkg_pretend() {
@@ -78,31 +74,26 @@ pkg_pretend() {
}
pkg_setup() {
- CONFIG_CHECK="
- !DEBUG_LOCK_ALLOC
+ local CONFIG_CHECK="
EFI_PARTITION
- MODULES
- !PAX_KERNEXEC_PLUGIN_METHOD_OR
- !TRIM_UNUSED_KSYMS
ZLIB_DEFLATE
ZLIB_INFLATE
+ !DEBUG_LOCK_ALLOC
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
"
-
- use debug && CONFIG_CHECK="${CONFIG_CHECK}
- FRAME_POINTER
+ use debug && CONFIG_CHECK+="
DEBUG_INFO
+ FRAME_POINTER
!DEBUG_INFO_REDUCED
"
-
- use rootfs && \
- CONFIG_CHECK="${CONFIG_CHECK}
- BLK_DEV_INITRD
- DEVTMPFS
+ use rootfs && CONFIG_CHECK+="
+ BLK_DEV_INITRD
+ DEVTMPFS
"
- kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP"
+ kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
- if [[ ${PV} != "9999" ]]; then
+ if [[ ${PV} != 9999 ]] ; then
local kv_major_max kv_minor_max zcompat
zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
kv_major_max="${zcompat%%.*}"
@@ -110,12 +101,9 @@ pkg_setup() {
kv_minor_max="${zcompat%%.*}"
kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
"Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
-
fi
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
-
- linux-mod_pkg_setup
+ linux-mod-r1_pkg_setup
}
src_prepare() {
@@ -124,83 +112,63 @@ src_prepare() {
# Run unconditionally (bug #792627)
eautoreconf
- if [[ ${PV} != "9999" ]]; then
+ if [[ ${PV} != 9999 ]] ; then
# Set module revision number
- sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
fi
}
src_configure() {
- set_arch_to_kernel
-
use custom-cflags || strip-flags
-
filter-ldflags -Wl,*
- # Set CROSS_COMPILE in the environment.
- # This allows the user to override it via make.conf or via a local Makefile.
- # https://bugs.gentoo.org/811600
- export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-}
-
local myconf=(
- HOSTCC="$(tc-getBUILD_CC)"
- --bindir="${EPREFIX}/bin"
- --sbindir="${EPREFIX}/sbin"
+ --bindir="${EPREFIX}"/bin
+ --sbindir="${EPREFIX}"/sbin
--with-config=kernel
--with-linux="${KV_DIR}"
--with-linux-obj="${KV_OUT_DIR}"
$(use_enable debug)
+
+ # See gentoo.patch
+ GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
+ TEST_JOBS="$(makeopts_jobs)"
)
econf "${myconf[@]}"
}
src_compile() {
- set_arch_to_kernel
-
- myemakeargs=(
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
+ emake "${MODULES_MAKEARGS[@]}"
}
src_install() {
- set_arch_to_kernel
-
- myemakeargs+=(
- DEPMOD=:
- # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile
- DESTDIR="${D}"
- )
-
- emake "${myemakeargs[@]}" install
+ emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+ modules_post_process
- einstalldocs
+ dodoc AUTHORS COPYRIGHT META README.md
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ linux-mod-r1_pkg_postinst
- if [[ -z ${ROOT} ]] && use dist-kernel; then
- set_arch_to_pkgmgr
+ if [[ -z ${ROOT} ]] && use dist-kernel ; then
dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
fi
- if use x86 || use arm; then
+ if use x86 || use arm ; then
ewarn "32-bit kernels will likely require increasing vmalloc to"
ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
fi
- if has_version sys-boot/grub; then
+ if has_version sys-boot/grub ; then
ewarn "This version of OpenZFS includes support for new feature flags"
ewarn "that are incompatible with previous versions. GRUB2 support for"
ewarn "/boot with the new feature flags is not yet available."
ewarn "Do *NOT* upgrade root pools to use the new feature flags."
ewarn "Any new pools will be created with the new feature flags by default"
ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a newpool that is backward compatible wih GRUB2, use "
+ ewarn "create a new pool that is backward compatible wih GRUB2, use "
ewarn
ewarn "zpool create -o compatibility=grub2 ..."
ewarn
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..7b28bf3a94ab
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.2.2-r1.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing
+
+DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+MODULES_KERNEL_MAX=6.6
+MODULES_KERNEL_MIN=3.10
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
+ unset MODULES_KERNEL_MAX
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_PV=${PV/_rc/-rc}
+ SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
+ S="${WORKDIR}/zfs-${MY_PV}"
+
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
+ fi
+fi
+
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+RESTRICT="test"
+
+BDEPEND="
+ app-alternatives/awk
+ dev-lang/perl
+"
+
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+
+ IUSE+=" +dist-kernel-cap"
+ RDEPEND="
+ dist-kernel-cap? ( dist-kernel? (
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
+ ) )
+ "
+fi
+
+# Used to suggest matching USE, but without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
+ "${FILESDIR}"/${PN}-2.2.2-arm64-neon.patch
+ "${FILESDIR}"/${PN}-2.2.2-autotrim.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ local CONFIG_CHECK="
+ EFI_PARTITION
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ !DEBUG_LOCK_ALLOC
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ "
+ use debug && CONFIG_CHECK+="
+ DEBUG_INFO
+ FRAME_POINTER
+ !DEBUG_INFO_REDUCED
+ "
+ use rootfs && CONFIG_CHECK+="
+ BLK_DEV_INITRD
+ DEVTMPFS
+ "
+
+ kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
+
+ if [[ ${PV} != 9999 ]] ; then
+ local kv_major_max kv_minor_max zcompat
+ zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ kv_major_max="${zcompat%%.*}"
+ zcompat="${zcompat#*.}"
+ kv_minor_max="${zcompat%%.*}"
+ kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
+ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
+ fi
+
+ linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != 9999 ]] ; then
+ # Set module revision number
+ sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
+ fi
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ local myconf=(
+ --bindir="${EPREFIX}"/bin
+ --sbindir="${EPREFIX}"/sbin
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+
+ # See gentoo.patch
+ GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
+ TEST_JOBS="$(makeopts_jobs)"
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake "${MODULES_MAKEARGS[@]}"
+}
+
+src_install() {
+ emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+ modules_post_process
+
+ dodoc AUTHORS COPYRIGHT META README.md
+}
+
+_old_layout_cleanup() {
+ # new files are just extra/{spl,zfs}.ko with no subdirs.
+ local olddir=(
+ avl/zavl
+ icp/icp
+ lua/zlua
+ nvpair/znvpair
+ spl/spl
+ unicode/zunicode
+ zcommon/zcommon
+ zfs/zfs
+ zstd/zzstd
+ )
+
+ # kernel/module/Kconfig contains possible compressed extentions.
+ local kext kextfiles
+ for kext in .ko{,.{gz,xz,zst}}; do
+ kextfiles+=( "${olddir[@]/%/${kext}}" )
+ done
+
+ local oldfile oldpath
+ for oldfile in "${kextfiles[@]}"; do
+ oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}"
+ if [[ -f "${oldpath}" ]]; then
+ ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing."
+ rm -rv "${oldpath}" || die
+ # we do not remove non-empty directories just for safety in case there's something else.
+ # also it may fail if there are both compressed and uncompressed modules installed.
+ rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die
+ fi
+ done
+}
+
+pkg_postinst() {
+ # Check for old module layout before doing anything else.
+ # only attempt layout cleanup if new .ko location is used.
+ local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* )
+ # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false.
+ # if glob expanded -f will do correct file precense check.
+ [[ -f ${newko[0]} ]] && _old_layout_cleanup
+
+ linux-mod-r1_pkg_postinst
+
+ if [[ -z ${ROOT} ]] && use dist-kernel ; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use x86 || use arm ; then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ if has_version sys-boot/grub ; then
+ ewarn "This version of OpenZFS includes support for new feature flags"
+ ewarn "that are incompatible with previous versions. GRUB2 support for"
+ ewarn "/boot with the new feature flags is not yet available."
+ ewarn "Do *NOT* upgrade root pools to use the new feature flags."
+ ewarn "Any new pools will be created with the new feature flags by default"
+ ewarn "and will not be compatible with older versions of OpenZFS. To"
+ ewarn "create a new pool that is backward compatible wih GRUB2, use "
+ ewarn
+ ewarn "zpool create -o compatibility=grub2 ..."
+ ewarn
+ ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features."
+ fi
+}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.2.2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.2.2.ebuild
new file mode 100644
index 000000000000..944c90fac889
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.2.2.ebuild
@@ -0,0 +1,218 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing
+
+DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+MODULES_KERNEL_MAX=6.6
+MODULES_KERNEL_MIN=3.10
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
+ unset MODULES_KERNEL_MAX
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_PV=${PV/_rc/-rc}
+ SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
+ S="${WORKDIR}/zfs-${MY_PV}"
+
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc"
+ fi
+fi
+
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+RESTRICT="test"
+
+BDEPEND="
+ app-alternatives/awk
+ dev-lang/perl
+"
+
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+
+ IUSE+=" +dist-kernel-cap"
+ RDEPEND="
+ dist-kernel-cap? ( dist-kernel? (
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
+ ) )
+ "
+fi
+
+# Used to suggest matching USE, but without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
+ "${FILESDIR}"/${PN}-2.2.2-arm64-neon.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ local CONFIG_CHECK="
+ EFI_PARTITION
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ !DEBUG_LOCK_ALLOC
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ "
+ use debug && CONFIG_CHECK+="
+ DEBUG_INFO
+ FRAME_POINTER
+ !DEBUG_INFO_REDUCED
+ "
+ use rootfs && CONFIG_CHECK+="
+ BLK_DEV_INITRD
+ DEVTMPFS
+ "
+
+ kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
+
+ if [[ ${PV} != 9999 ]] ; then
+ local kv_major_max kv_minor_max zcompat
+ zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ kv_major_max="${zcompat%%.*}"
+ zcompat="${zcompat#*.}"
+ kv_minor_max="${zcompat%%.*}"
+ kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
+ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
+ fi
+
+ linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != 9999 ]] ; then
+ # Set module revision number
+ sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
+ fi
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ local myconf=(
+ --bindir="${EPREFIX}"/bin
+ --sbindir="${EPREFIX}"/sbin
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+
+ # See gentoo.patch
+ GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
+ TEST_JOBS="$(makeopts_jobs)"
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake "${MODULES_MAKEARGS[@]}"
+}
+
+src_install() {
+ emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+ modules_post_process
+
+ dodoc AUTHORS COPYRIGHT META README.md
+}
+
+_old_layout_cleanup() {
+ # new files are just extra/{spl,zfs}.ko with no subdirs.
+ local olddir=(
+ avl/zavl
+ icp/icp
+ lua/zlua
+ nvpair/znvpair
+ spl/spl
+ unicode/zunicode
+ zcommon/zcommon
+ zfs/zfs
+ zstd/zzstd
+ )
+
+ # kernel/module/Kconfig contains possible compressed extentions.
+ local kext kextfiles
+ for kext in .ko{,.{gz,xz,zst}}; do
+ kextfiles+=( "${olddir[@]/%/${kext}}" )
+ done
+
+ local oldfile oldpath
+ for oldfile in "${kextfiles[@]}"; do
+ oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}"
+ if [[ -f "${oldpath}" ]]; then
+ ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing."
+ rm -rv "${oldpath}" || die
+ # we do not remove non-empty directories just for safety in case there's something else.
+ # also it may fail if there are both compressed and uncompressed modules installed.
+ rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die
+ fi
+ done
+}
+
+pkg_postinst() {
+ # Check for old module layout before doing anything else.
+ # only attempt layout cleanup if new .ko location is used.
+ local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* )
+ # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false.
+ # if glob expanded -f will do correct file precense check.
+ [[ -f ${newko[0]} ]] && _old_layout_cleanup
+
+ linux-mod-r1_pkg_postinst
+
+ if [[ -z ${ROOT} ]] && use dist-kernel ; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use x86 || use arm ; then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ if has_version sys-boot/grub ; then
+ ewarn "This version of OpenZFS includes support for new feature flags"
+ ewarn "that are incompatible with previous versions. GRUB2 support for"
+ ewarn "/boot with the new feature flags is not yet available."
+ ewarn "Do *NOT* upgrade root pools to use the new feature flags."
+ ewarn "Any new pools will be created with the new feature flags by default"
+ ewarn "and will not be compatible with older versions of OpenZFS. To"
+ ewarn "create a new pool that is backward compatible wih GRUB2, use "
+ ewarn
+ ewarn "zpool create -o compatibility=grub2 ..."
+ ewarn
+ ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features."
+ fi
+}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.2.3.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.2.3.ebuild
new file mode 100644
index 000000000000..e2c8f5dfec1b
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.2.3.ebuild
@@ -0,0 +1,217 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing
+
+DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+MODULES_KERNEL_MAX=6.7
+MODULES_KERNEL_MIN=3.10
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
+ unset MODULES_KERNEL_MAX
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_PV=${PV/_rc/-rc}
+ SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
+ S="${WORKDIR}/zfs-${MY_PV}"
+
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
+ fi
+fi
+
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+RESTRICT="test"
+
+BDEPEND="
+ app-alternatives/awk
+ dev-lang/perl
+"
+
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+
+ IUSE+=" +dist-kernel-cap"
+ RDEPEND="
+ dist-kernel-cap? ( dist-kernel? (
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
+ ) )
+ "
+fi
+
+# Used to suggest matching USE, but without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ local CONFIG_CHECK="
+ EFI_PARTITION
+ ZLIB_DEFLATE
+ ZLIB_INFLATE
+ !DEBUG_LOCK_ALLOC
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
+ "
+ use debug && CONFIG_CHECK+="
+ DEBUG_INFO
+ FRAME_POINTER
+ !DEBUG_INFO_REDUCED
+ "
+ use rootfs && CONFIG_CHECK+="
+ BLK_DEV_INITRD
+ DEVTMPFS
+ "
+
+ kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
+
+ if [[ ${PV} != 9999 ]] ; then
+ local kv_major_max kv_minor_max zcompat
+ zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
+ kv_major_max="${zcompat%%.*}"
+ zcompat="${zcompat#*.}"
+ kv_minor_max="${zcompat%%.*}"
+ kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
+ "Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
+ fi
+
+ linux-mod-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != 9999 ]] ; then
+ # Set module revision number
+ sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
+ fi
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ filter-ldflags -Wl,*
+
+ local myconf=(
+ --bindir="${EPREFIX}"/bin
+ --sbindir="${EPREFIX}"/sbin
+ --with-config=kernel
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ $(use_enable debug)
+
+ # See gentoo.patch
+ GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
+ TEST_JOBS="$(makeopts_jobs)"
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ emake "${MODULES_MAKEARGS[@]}"
+}
+
+src_install() {
+ emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+ modules_post_process
+
+ dodoc AUTHORS COPYRIGHT META README.md
+}
+
+_old_layout_cleanup() {
+ # new files are just extra/{spl,zfs}.ko with no subdirs.
+ local olddir=(
+ avl/zavl
+ icp/icp
+ lua/zlua
+ nvpair/znvpair
+ spl/spl
+ unicode/zunicode
+ zcommon/zcommon
+ zfs/zfs
+ zstd/zzstd
+ )
+
+ # kernel/module/Kconfig contains possible compressed extentions.
+ local kext kextfiles
+ for kext in .ko{,.{gz,xz,zst}}; do
+ kextfiles+=( "${olddir[@]/%/${kext}}" )
+ done
+
+ local oldfile oldpath
+ for oldfile in "${kextfiles[@]}"; do
+ oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}"
+ if [[ -f "${oldpath}" ]]; then
+ ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing."
+ rm -rv "${oldpath}" || die
+ # we do not remove non-empty directories just for safety in case there's something else.
+ # also it may fail if there are both compressed and uncompressed modules installed.
+ rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die
+ fi
+ done
+}
+
+pkg_postinst() {
+ # Check for old module layout before doing anything else.
+ # only attempt layout cleanup if new .ko location is used.
+ local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* )
+ # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false.
+ # if glob expanded -f will do correct file precense check.
+ [[ -f ${newko[0]} ]] && _old_layout_cleanup
+
+ linux-mod-r1_pkg_postinst
+
+ if [[ -z ${ROOT} ]] && use dist-kernel ; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use x86 || use arm ; then
+ ewarn "32-bit kernels will likely require increasing vmalloc to"
+ ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
+ fi
+
+ if has_version sys-boot/grub ; then
+ ewarn "This version of OpenZFS includes support for new feature flags"
+ ewarn "that are incompatible with previous versions. GRUB2 support for"
+ ewarn "/boot with the new feature flags is not yet available."
+ ewarn "Do *NOT* upgrade root pools to use the new feature flags."
+ ewarn "Any new pools will be created with the new feature flags by default"
+ ewarn "and will not be compatible with older versions of OpenZFS. To"
+ ewarn "create a new pool that is backward compatible wih GRUB2, use "
+ ewarn
+ ewarn "zpool create -o compatibility=grub2 ..."
+ ewarn
+ ewarn "Refer to /usr/share/zfs/compatibility.d/grub2 for list of features."
+ fi
+}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
index 65567e49fef7..e2c8f5dfec1b 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
@@ -1,66 +1,66 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit autotools dist-kernel-utils flag-o-matic linux-mod toolchain-funcs
+inherit autotools dist-kernel-utils flag-o-matic linux-mod-r1 multiprocessing
DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs"
HOMEPAGE="https://github.com/openzfs/zfs"
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
+MODULES_KERNEL_MAX=6.7
+MODULES_KERNEL_MIN=3.10
+
+if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+ inherit git-r3
+ unset MODULES_KERNEL_MAX
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
- MY_PV="${PV/_rc/-rc}"
+ MY_PV=${PV/_rc/-rc}
SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz.asc )"
- S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.18"
+ S="${WORKDIR}/zfs-${MY_PV}"
- # increments minor eg 5.14 -> 5.15, and still supports override.
+ ZFS_KERNEL_COMPAT="${MODULES_KERNEL_MAX}"
+ # Increments minor eg 5.14 -> 5.15, and still supports override.
ZFS_KERNEL_DEP="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
ZFS_KERNEL_DEP="${ZFS_KERNEL_DEP%%.*}.$(( ${ZFS_KERNEL_DEP##*.} + 1))"
- if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
fi
fi
LICENSE="CDDL MIT debug? ( GPL-2+ )"
SLOT="0/${PVR}"
IUSE="custom-cflags debug +rootfs"
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
+RESTRICT="test"
BDEPEND="
+ app-alternatives/awk
dev-lang/perl
- virtual/awk
"
-# we want dist-kernel block in BDEPEND because of portage resolver.
-# since linux-mod.eclass already sets version-unbounded dep, portage
-# will pull new versions. So we set it in BDEPEND which takes priority.
-# and we don't need in in git ebuild.
-if [[ ${PV} != "9999" ]] ; then
- BDEPEND+="
- verify-sig? ( sec-keys/openpgp-keys-openzfs )
- dist-kernel? ( <virtual/dist-kernel-${ZFS_KERNEL_DEP}:= )
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+
+ IUSE+=" +dist-kernel-cap"
+ RDEPEND="
+ dist-kernel-cap? ( dist-kernel? (
+ <virtual/dist-kernel-${ZFS_KERNEL_DEP}
+ ) )
"
fi
-# PDEPEND in this form is needed to trick portage suggest
-# enabling dist-kernel if only 1 package have it set
+# Used to suggest matching USE, but without suggesting to disable
PDEPEND="dist-kernel? ( ~sys-fs/zfs-${PV}[dist-kernel] )"
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.1.11-gentoo.patch
+)
pkg_pretend() {
use rootfs || return 0
@@ -74,31 +74,26 @@ pkg_pretend() {
}
pkg_setup() {
- CONFIG_CHECK="
- !DEBUG_LOCK_ALLOC
+ local CONFIG_CHECK="
EFI_PARTITION
- MODULES
- !PAX_KERNEXEC_PLUGIN_METHOD_OR
- !TRIM_UNUSED_KSYMS
ZLIB_DEFLATE
ZLIB_INFLATE
+ !DEBUG_LOCK_ALLOC
+ !PAX_KERNEXEC_PLUGIN_METHOD_OR
"
-
- use debug && CONFIG_CHECK="${CONFIG_CHECK}
- FRAME_POINTER
+ use debug && CONFIG_CHECK+="
DEBUG_INFO
+ FRAME_POINTER
!DEBUG_INFO_REDUCED
"
-
- use rootfs && \
- CONFIG_CHECK="${CONFIG_CHECK}
- BLK_DEV_INITRD
- DEVTMPFS
+ use rootfs && CONFIG_CHECK+="
+ BLK_DEV_INITRD
+ DEVTMPFS
"
- kernel_is -lt 5 && CONFIG_CHECK="${CONFIG_CHECK} IOSCHED_NOOP"
+ kernel_is -lt 5 && CONFIG_CHECK+=" IOSCHED_NOOP"
- if [[ ${PV} != "9999" ]]; then
+ if [[ ${PV} != 9999 ]] ; then
local kv_major_max kv_minor_max zcompat
zcompat="${ZFS_KERNEL_COMPAT_OVERRIDE:-${ZFS_KERNEL_COMPAT}}"
kv_major_max="${zcompat%%.*}"
@@ -106,12 +101,9 @@ pkg_setup() {
kv_minor_max="${zcompat%%.*}"
kernel_is -le "${kv_major_max}" "${kv_minor_max}" || die \
"Linux ${kv_major_max}.${kv_minor_max} is the latest supported version"
-
fi
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
-
- linux-mod_pkg_setup
+ linux-mod-r1_pkg_setup
}
src_prepare() {
@@ -120,83 +112,103 @@ src_prepare() {
# Run unconditionally (bug #792627)
eautoreconf
- if [[ ${PV} != "9999" ]]; then
+ if [[ ${PV} != 9999 ]] ; then
# Set module revision number
- sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ sed -Ei "s/(Release:.*)1/\1${PR}-gentoo/" META || die
fi
}
src_configure() {
- set_arch_to_kernel
-
use custom-cflags || strip-flags
-
filter-ldflags -Wl,*
- # Set CROSS_COMPILE in the environment.
- # This allows the user to override it via make.conf or via a local Makefile.
- # https://bugs.gentoo.org/811600
- export CROSS_COMPILE=${CROSS_COMPILE-${CHOST}-}
-
local myconf=(
- HOSTCC="$(tc-getBUILD_CC)"
- --bindir="${EPREFIX}/bin"
- --sbindir="${EPREFIX}/sbin"
+ --bindir="${EPREFIX}"/bin
+ --sbindir="${EPREFIX}"/sbin
--with-config=kernel
--with-linux="${KV_DIR}"
--with-linux-obj="${KV_OUT_DIR}"
$(use_enable debug)
+
+ # See gentoo.patch
+ GENTOO_MAKEARGS_EVAL="${MODULES_MAKEARGS[*]@Q}"
+ TEST_JOBS="$(makeopts_jobs)"
)
econf "${myconf[@]}"
}
src_compile() {
- set_arch_to_kernel
-
- myemakeargs=(
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
+ emake "${MODULES_MAKEARGS[@]}"
}
src_install() {
- set_arch_to_kernel
+ emake "${MODULES_MAKEARGS[@]}" DESTDIR="${ED}" install
+ modules_post_process
- myemakeargs+=(
- DEPMOD=:
- # INSTALL_MOD_PATH ?= $(DESTDIR) in module/Makefile
- DESTDIR="${D}"
- )
+ dodoc AUTHORS COPYRIGHT META README.md
+}
- emake "${myemakeargs[@]}" install
+_old_layout_cleanup() {
+ # new files are just extra/{spl,zfs}.ko with no subdirs.
+ local olddir=(
+ avl/zavl
+ icp/icp
+ lua/zlua
+ nvpair/znvpair
+ spl/spl
+ unicode/zunicode
+ zcommon/zcommon
+ zfs/zfs
+ zstd/zzstd
+ )
- einstalldocs
+ # kernel/module/Kconfig contains possible compressed extentions.
+ local kext kextfiles
+ for kext in .ko{,.{gz,xz,zst}}; do
+ kextfiles+=( "${olddir[@]/%/${kext}}" )
+ done
+
+ local oldfile oldpath
+ for oldfile in "${kextfiles[@]}"; do
+ oldpath="${EROOT}/lib/modules/${KV_FULL}/extra/${oldfile}"
+ if [[ -f "${oldpath}" ]]; then
+ ewarn "Found obsolete zfs module ${oldfile} for current kernel ${KV_FULL}, removing."
+ rm -rv "${oldpath}" || die
+ # we do not remove non-empty directories just for safety in case there's something else.
+ # also it may fail if there are both compressed and uncompressed modules installed.
+ rmdir -v --ignore-fail-on-non-empty "${oldpath%/*.*}" || die
+ fi
+ done
}
pkg_postinst() {
- linux-mod_pkg_postinst
+ # Check for old module layout before doing anything else.
+ # only attempt layout cleanup if new .ko location is used.
+ local newko=( "${EROOT}/lib/modules/${KV_FULL}/extra"/{zfs,spl}.ko* )
+ # We check first array member, if glob above did not exand, it will be "zfs.ko*" and -f will return false.
+ # if glob expanded -f will do correct file precense check.
+ [[ -f ${newko[0]} ]] && _old_layout_cleanup
+
+ linux-mod-r1_pkg_postinst
- if [[ -z ${ROOT} ]] && use dist-kernel; then
- set_arch_to_pkgmgr
+ if [[ -z ${ROOT} ]] && use dist-kernel ; then
dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
fi
- if use x86 || use arm; then
+ if use x86 || use arm ; then
ewarn "32-bit kernels will likely require increasing vmalloc to"
ewarn "at least 256M and decreasing zfs_arc_max to some value less than that."
fi
- if has_version sys-boot/grub; then
+ if has_version sys-boot/grub ; then
ewarn "This version of OpenZFS includes support for new feature flags"
ewarn "that are incompatible with previous versions. GRUB2 support for"
ewarn "/boot with the new feature flags is not yet available."
ewarn "Do *NOT* upgrade root pools to use the new feature flags."
ewarn "Any new pools will be created with the new feature flags by default"
ewarn "and will not be compatible with older versions of OpenZFS. To"
- ewarn "create a newpool that is backward compatible wih GRUB2, use "
+ ewarn "create a new pool that is backward compatible wih GRUB2, use "
ewarn
ewarn "zpool create -o compatibility=grub2 ..."
ewarn
diff --git a/sys-fs/zfs/Manifest b/sys-fs/zfs/Manifest
index 8d6ae4d6ba30..b1d0e6ec325b 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,6 +1,8 @@
-DIST zfs-2.0.7.tar.gz 14550055 BLAKE2B 80f7297f04a21cd8f3f2043d895b0325512ba0cea3bb9223561237754495c8233d29af5a9418a3c06a87510100240a45ef3d59c7ce776fffb5aafdcd18167c21 SHA512 1135abf74bf74685439018f7cd65fc52088f179d113bdd2e6481689bb0f4a016716a07d859107b74501fda00689e80b2488c7c2c53d5f058d6b659909ed85f6f
-DIST zfs-2.0.7.tar.gz.asc 836 BLAKE2B 65e7df58c33ccadc4e0ca9dbc1e8c006abbec8442e2da50872a1ab0cbb841fc45152298e8d3b93ee4320ddae6416e3a856caf80d8efb21b19db53dfedbf00e38 SHA512 b901d8e92faa6cfe6010bd54de88c7d18057f434cb07f8a89672d6c446a0a97b23209ee8f02cfd3b2a8f431c68ec977e7dc9f95fe5d385dba0bb6d37338ba682
-DIST zfs-2.1.4.tar.gz 34896310 BLAKE2B be303f1181f604770536aa4aa61d5319ec408abbd04964cedadd15b3101a15deba6539bb5d833f4fed357f323d74f622d035305df699b213df41ae45bffdd200 SHA512 c7b57c43fc287b22905067ab022df4133d32e1a5dc335f7baf743b4ef88f64c2bf9d41318c2083230d077dd49e68f7d9e6172266e13d4b1eee29d359860f969e
-DIST zfs-2.1.4.tar.gz.asc 836 BLAKE2B b311730f72d534c87a782515f35a354bfbefba0513dc0cee5b0b497cf742590f13be6a49ff8a70d7d6503d0ba06b0266e7d290d718337add614812c3d1b0731a SHA512 53880cd5369f468551bab685eb83739ed76aa286886fdd2cbad4270755fe809da730082a91bba61011f59594fac297ce05645ae32c2c73b4a9aa835f2991a1ee
-DIST zfs-2.1.5.tar.gz 34951632 BLAKE2B c6e3efd9c0cda91654767eaad0eaaa05cd9a5daf1cb0384c9c78b30062f5c29142ac37ab9dbdaf96c91456d11c317d782d3524ade293f03fda983e5992b79e49 SHA512 d9ccf1049cefa9167d25f71fbdca70092cd02368b60f09341e6489fb68dc5f89e87b026b0191f4d81181a8851449124d824a1d959d0e2fb29c8a3d624edc4f03
-DIST zfs-2.1.5.tar.gz.asc 836 BLAKE2B 4a81c266967540850a2cc824e79555ca9d05b2e17e45fa2723893cbd85b55e3d7d791986d6667b7ee1530e7692c03818f15e8b6798393b54989f90801b775786 SHA512 224b0dcf4982c63a8eff0a39d054537e7d023f7c35e154e4d20490b8daf184c076bc8e4de7d2c5af4059f8a802b747e637aad4479cd8d1330cf5b26da2f19c94
+DIST zfs-2.1.14.tar.gz 35167471 BLAKE2B a7b22eaf05e4fbf416ebe4d7b884c515942fc9375c1dd322cefa00c19c550b9318a4192d6a909d49d58523c8f1a6eaf00189dd58e6543fae17cf8cc35042f469 SHA512 4a65c8b7d5576fa2dcc14e7ccaa93191c1d3791479cf89bd02c2bd04434ff5e93709b328796d4f9ba93da19f12772e359df373f40919350a3e1e4c52758b47c8
+DIST zfs-2.1.14.tar.gz.asc 836 BLAKE2B f01bc58bf6c3d367c494ed4ea9f3fb1141f3aafdbf4f913b9e0d60d31557076d5ae0e25ca93b013f5fd85e21ba5ae9f61e1a03af54bb0c743869c0ce3d5519df SHA512 be0f386cce952b4047dc2448e356078668e8d4392802dd3bb1a426741f15f4d9fb689cd1cb09972bdbc9fe2e4e782ec4b4754fe811c5657bc1f5308bd38e3926
+DIST zfs-2.1.15.tar.gz 35209038 BLAKE2B 61f9e14c54d43d1c51269917bb3ffde0530166126ea0467103ff1171dffc537315fd21c270d12f73d677e121b8094af39dd0a1fe3f80986bb42dc16d627dff52 SHA512 24096f2a6ecb3cc51f3d2f11cc69ad134d6fc33667007277c50cf798be2b19b6ddfa9be6923ca53d8b09f0bebae14c44d74811ec776e5aaf4ea0e810844c1f3d
+DIST zfs-2.1.15.tar.gz.asc 836 BLAKE2B 897c05a8870cd0418493b42fe854ef5b28f9a31513ac262a25631089defa59190808b51bd31e43412b01171bcac0dff0608d417dfdacfeee0b0f067e0627d48f SHA512 a6c5a9d214070a220716075455eb1cb85a53fb20b5fe4319f112cde0653a25f87b66d0f0bcf0ca641e3ac38239759cb9df6ed7f4700056a2732cc8c1ccd9ce05
+DIST zfs-2.2.2.tar.gz 33816541 BLAKE2B f0619ae42d898d18077096217d0a9ddd7c7378424707aa51d3645661b2889a1459bc4a5e9fe42b6860b2d26e4600da35765b0e741725dafacc2ead2370cad866 SHA512 bba252cbf7986f2cce154dd18a34aa478cf98f70106337188dc894de2446d60a58fa643706927757d1787506b44d4ff404897a2d0e16aacb0a7bf27765703332
+DIST zfs-2.2.2.tar.gz.asc 836 BLAKE2B bdc86492b2bf45d329e34e89ea7796f5cbf518d32ab114c909321b1d0d8040b9ce4e25b3b85fcbc5ea62ee10a2d716b5b27e37c2c005b307c0b593815c49d625 SHA512 110be1aa90f4749106717165a3cb5116379e2d170146a2b3d2601f04212450da9327e028d6e1e5de7f8a46c6bb7a15e2bcdd09e3e760590fbc695f9562f1440b
+DIST zfs-2.2.3.tar.gz 33854765 BLAKE2B f83439aa929609191a048dd326b2a15e0f57c72d2901cbfb205b81a29aa42dab49b42eb61647ca3eaed17518b8c907e81343364bfecf83ed441271648f8efd4b SHA512 e6c3df531a33f4bd198429e61b7630f1e965a03fd60d1b847bdf0d55c6d2af3abc38b5e8a63aa9ef9f969cc7eca36cb24a7641f6fb8c41ef2fa024d76cd28f3d
+DIST zfs-2.2.3.tar.gz.asc 836 BLAKE2B 86e1adc393d1f4643a6fd8c188b555e9dc0fdf7e25690f37ff0a04ff8826eb4fe3c125b54f0c5b9ab33f1daff43c4b44373ee9a4df506f6714f98d77782e6c3c SHA512 fe23ddb9bde78416776411d66a56aa662fa051c8544b4be01ba238b8c1a85ccde1c55329f228fe8ab2681b54a4e4cb08d4e927c597c117242f0b536a40921dc9
diff --git a/sys-fs/zfs/files/2.0.7-scrub-timers.patch b/sys-fs/zfs/files/2.0.7-scrub-timers.patch
deleted file mode 100644
index 7c7bd1b874ea..000000000000
--- a/sys-fs/zfs/files/2.0.7-scrub-timers.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 2c9844d159024d4c742d24639a218213fb53d537 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Sat, 22 May 2021 22:27:39 -0700
-Subject: [PATCH 1/2] systemd: add weekly and monthly scrub timers
-
-timers can be enabled as follows:
-
-systemctl enable zfs-scrub-weekly@rpool.timer --now
-systemctl enable zfs-scrub-monthly@datapool.timer --now
-
-Each timer will pull in zfs-scrub@${poolname}.service, which is not
-schedule-specific.
-
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- etc/systemd/system/.gitignore | 1 +
- etc/systemd/system/Makefile.am | 5 ++++-
- etc/systemd/system/zfs-scrub-monthly@.timer.in | 12 ++++++++++++
- etc/systemd/system/zfs-scrub-weekly@.timer.in | 12 ++++++++++++
- etc/systemd/system/zfs-scrub@.service.in | 14 ++++++++++++++
- 5 files changed, 43 insertions(+), 1 deletion(-)
- create mode 100644 etc/systemd/system/zfs-scrub-monthly@.timer.in
- create mode 100644 etc/systemd/system/zfs-scrub-weekly@.timer.in
- create mode 100644 etc/systemd/system/zfs-scrub@.service.in
-
-diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am
-index c374a52ac..5e65e1db4 100644
---- a/etc/systemd/system/Makefile.am
-+++ b/etc/systemd/system/Makefile.am
-@@ -12,7 +12,10 @@ systemdunit_DATA = \
- zfs-volume-wait.service \
- zfs-import.target \
- zfs-volumes.target \
-- zfs.target
-+ zfs.target \
-+ zfs-scrub-monthly@.timer \
-+ zfs-scrub-weekly@.timer \
-+ zfs-scrub@.service
-
- SUBSTFILES += $(systemdpreset_DATA) $(systemdunit_DATA)
-
-diff --git a/etc/systemd/system/zfs-scrub-monthly@.timer.in b/etc/systemd/system/zfs-scrub-monthly@.timer.in
-new file mode 100644
-index 000000000..903068468
---- /dev/null
-+++ b/etc/systemd/system/zfs-scrub-monthly@.timer.in
-@@ -0,0 +1,12 @@
-+[Unit]
-+Description=Monthly zpool scrub timer for %i
-+Documentation=man:zpool-scrub(8)
-+
-+[Timer]
-+OnCalendar=monthly
-+Persistent=true
-+RandomizedDelaySec=1h
-+Unit=zfs-scrub@%i.service
-+
-+[Install]
-+WantedBy=timers.target
-diff --git a/etc/systemd/system/zfs-scrub-weekly@.timer.in b/etc/systemd/system/zfs-scrub-weekly@.timer.in
-new file mode 100644
-index 000000000..ede699500
---- /dev/null
-+++ b/etc/systemd/system/zfs-scrub-weekly@.timer.in
-@@ -0,0 +1,12 @@
-+[Unit]
-+Description=Weekly zpool scrub timer for %i
-+Documentation=man:zpool-scrub(8)
-+
-+[Timer]
-+OnCalendar=weekly
-+Persistent=true
-+RandomizedDelaySec=1h
-+Unit=zfs-scrub@%i.service
-+
-+[Install]
-+WantedBy=timers.target
-diff --git a/etc/systemd/system/zfs-scrub@.service.in b/etc/systemd/system/zfs-scrub@.service.in
-new file mode 100644
-index 000000000..c04ac292a
---- /dev/null
-+++ b/etc/systemd/system/zfs-scrub@.service.in
-@@ -0,0 +1,14 @@
-+[Unit]
-+Description=zpool scrub on %i
-+Documentation=man:zpool-scrub(8)
-+Requires=zfs.target
-+After=zfs.target
-+ConditionACPower=true
-+ConditionPathIsDirectory=/sys/module/zfs
-+
-+[Service]
-+ExecStart=/bin/sh -c '\
-+if @sbindir@/zpool status %i | grep "scrub in progress"; then\
-+exec @sbindir@/zpool wait -t scrub %i;\
-+else exec @sbindir@/zpool scrub -w %i; fi'
-+ExecStop=-/bin/sh -c '@sbindir@/zpool scrub -p %i 2>/dev/null || true'
---
-2.34.1
diff --git a/sys-fs/zfs/files/2.1.2-musl-tests.patch b/sys-fs/zfs/files/2.1.2-musl-tests.patch
deleted file mode 100644
index 3d2c563f8c51..000000000000
--- a/sys-fs/zfs/files/2.1.2-musl-tests.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 123c87b3c2d75636da79f57a4b0ed60d2a3133a8 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Mon, 20 Dec 2021 12:25:11 -0800
-Subject: [PATCH] zfs-test/mmap_seek: fix build on musl
-
-it needs linux/fs.h for SEEK_DATA and friends
-
-without linux/fs.h:
-
-```
-mmap_seek.c
-mmap_seek.c: In function 'seek_data':
-mmap_seek.c:37:40: error: 'SEEK_DATA' undeclared (first use in this function);
-did you mean 'SEEK_SET'?
- 37 | off_t data_offset = lseek(fd, offset, SEEK_DATA);
-```
-
-also it needs sys/sysmacros.h for P2ROUNDUP
-without it:
-
-```
-mmap_seek.c: In function 'main':
-mmap_seek.c:122:19: warning:
-implicit declaration of function 'P2ROUNDUP' [-Wimplicit-function-declaration]
- 122 | seek_hole(fd, 0, P2ROUNDUP(file_size / 2, block_size));
- | ^~~~~~~~~
-powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.o: in function `main':
-mmap_seek.c:(.text.startup+0x1b8): undefined reference to `P2ROUNDUP'
-powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x1d8):
- undefined reference to `P2ROUNDUP'
-powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x21c):
- undefined reference to `P2ROUNDUP'
-collect2: error: ld returned 1 exit status
-make[5]: *** [Makefile:754: mmap_seek] Error 1
-```
-
-Closes: https://github.com/openzfs/zfs/pull/12891
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- tests/zfs-tests/cmd/mmap_seek/mmap_seek.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
-index f476e1dba9a..bb36527aafe 100644
---- a/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
-+++ b/tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
-@@ -29,7 +29,11 @@
- #include <stdlib.h>
- #include <string.h>
- #include <sys/mman.h>
-+#include <sys/sysmacros.h>
- #include <errno.h>
-+#ifdef __linux__
-+#include <linux/fs.h>
-+#endif
-
- static void
- seek_data(int fd, off_t offset, off_t expected)
diff --git a/sys-fs/zfs/files/2.1.2-openrc-vendor.patch b/sys-fs/zfs/files/2.1.2-openrc-vendor.patch
deleted file mode 100644
index abe222aa5b84..000000000000
--- a/sys-fs/zfs/files/2.1.2-openrc-vendor.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6ef28c526ba7199a3740407d764b6505618ca8ba Mon Sep 17 00:00:00 2001
-From: Peter Levine <plevine457@gmail.com>
-Date: Fri, 29 Oct 2021 18:34:37 -0400
-Subject: [PATCH] Set DEFAULT_INIT_SHELL to /sbin/openrc-run for Gentoo and
- Alpine
-
-Gentoo and Alpine always set the rc init scripts' shebang to
-#!/sbin/openrc-run, whether or not openrc is installed.
-
-Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Signed-off-by: Peter Levine <plevine457@gmail.com>
-Closes #12683
-Closes #12692
----
- config/zfs-build.m4 | 14 +++++---------
- 1 file changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/config/zfs-build.m4 b/config/zfs-build.m4
-index 27041c054c2..ec4a2026bf5 100644
---- a/config/zfs-build.m4
-+++ b/config/zfs-build.m4
-@@ -564,15 +564,11 @@ AC_DEFUN([ZFS_AC_DEFAULT_PACKAGE], [
- *) DEFAULT_INIT_SCRIPT=lsb ;;
- esac
-
-- # On gentoo, it's possible that OpenRC isn't installed. Check if
-- # /sbin/openrc-run exists, and if not, fall back to generic defaults.
--
-- DEFAULT_INIT_SHELL="/bin/sh"
-- AS_IF([test "$DEFAULT_INIT_SCRIPT" = "openrc"], [
-- AS_IF([test -x "/sbin/openrc-run"],
-- [DEFAULT_INIT_SHELL="/sbin/openrc-run"],
-- [DEFAULT_INIT_SCRIPT=lsb])
-- ])
-+ case "$VENDOR" in
-+ gentoo) DEFAULT_INIT_SHELL="/sbin/openrc-run";;
-+ alpine) DEFAULT_INIT_SHELL="/sbin/openrc-run";;
-+ *) DEFAULT_INIT_SHELL="/bin/sh" ;;
-+ esac
-
- AC_MSG_RESULT([$DEFAULT_INIT_SCRIPT:$DEFAULT_INIT_SHELL])
- AC_SUBST(DEFAULT_INIT_SCRIPT)
diff --git a/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch b/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch
new file mode 100644
index 000000000000..077bcd55f6d5
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-dracut-zfs-missing.patch
@@ -0,0 +1,14 @@
+https://github.com/openzfs/zfs/commit/ebbfc6cb853d2d2f3f0671362d5ff5588be39e9d
+https://github.com/openzfs/zfs/issues/13595
+--- b/contrib/dracut/90zfs/module-setup.sh.in
++++ a/contrib/dracut/90zfs/module-setup.sh.in
+@@ -19,7 +19,7 @@
+ }
+
+ installkernel() {
++ instmods zfs
+- instmods -c zfs
+ }
+
+ install() {
+
diff --git a/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch b/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch
new file mode 100644
index 000000000000..a9c6130f5b00
--- /dev/null
+++ b/sys-fs/zfs/files/2.1.5-r2-dracut-non-root.patch
@@ -0,0 +1,60 @@
+https://github.com/openzfs/zfs/commit/eefe83eaa68f7cb4a49c580dd940d3688e42c849
+https://bugs.gentoo.org/854333
+
+From eefe83eaa68f7cb4a49c580dd940d3688e42c849 Mon Sep 17 00:00:00 2001
+From: Toyam Cox <aviator45003@gmail.com>
+Date: Thu, 30 Jun 2022 13:47:58 -0400
+Subject: [PATCH] dracut: fix boot on non-zfs-root systems
+
+Simply prevent overwriting root until it needs to be overwritten.
+
+Dracut could change this value before this module is called, but won't
+change the kernel command line.
+
+Reviewed-by: Andrew J. Hesford <ajh@sideband.org>
+Signed-off-by: Toyam Cox <vaelatern@voidlinux.org>
+Closes #13592
+---
+ contrib/dracut/90zfs/zfs-lib.sh.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/contrib/dracut/90zfs/zfs-lib.sh.in b/contrib/dracut/90zfs/zfs-lib.sh.in
+index e44673c2d75..3a43e514d6f 100755
+--- a/contrib/dracut/90zfs/zfs-lib.sh.in
++++ b/contrib/dracut/90zfs/zfs-lib.sh.in
+@@ -88,11 +88,11 @@ decode_root_args() {
+ return
+ fi
+
+- root=$(getarg root=)
++ xroot=$(getarg root=)
+ rootfstype=$(getarg rootfstype=)
+
+ # shellcheck disable=SC2249
+- case "$root" in
++ case "$xroot" in
+ ""|zfs|zfs:|zfs:AUTO)
+ root=zfs:AUTO
+ rootfstype=zfs
+@@ -100,7 +100,7 @@ decode_root_args() {
+ ;;
+
+ ZFS=*|zfs:*)
+- root="${root#zfs:}"
++ root="${xroot#zfs:}"
+ root="${root#ZFS=}"
+ root=$(echo "$root" | tr '+' ' ')
+ rootfstype=zfs
+@@ -109,9 +109,9 @@ decode_root_args() {
+ esac
+
+ if [ "$rootfstype" = "zfs" ]; then
+- case "$root" in
++ case "$xroot" in
+ "") root=zfs:AUTO ;;
+- *) root=$(echo "$root" | tr '+' ' ') ;;
++ *) root=$(echo "$xroot" | tr '+' ' ') ;;
+ esac
+ return 0
+ fi
+
diff --git a/sys-fs/zfs/files/2.2.2-no-USER_NS.patch b/sys-fs/zfs/files/2.2.2-no-USER_NS.patch
new file mode 100644
index 000000000000..b132db9d4bf6
--- /dev/null
+++ b/sys-fs/zfs/files/2.2.2-no-USER_NS.patch
@@ -0,0 +1,39 @@
+https://github.com/openzfs/zfs/issues/15241
+https://github.com/openzfs/zfs/pull/15560
+
+From e0a7ec29d91b79adfd81073f229241351ed0ae21 Mon Sep 17 00:00:00 2001
+From: Ilkka Sovanto <github@ilkka.kapsi.fi>
+Date: Wed, 22 Nov 2023 20:24:47 +0200
+Subject: [PATCH] Fix zoneid when USER_NS is disabled
+
+getzoneid() should return GLOBAL_ZONEID instead of 0 when USER_NS is disabled.
+
+Signed-off-by: Ilkka Sovanto <github@ilkka.kapsi.fi>
+--- a/lib/libspl/os/linux/zone.c
++++ b/lib/libspl/os/linux/zone.c
+@@ -42,20 +42,20 @@ getzoneid(void)
+ int c = snprintf(path, sizeof (path), "/proc/self/ns/user");
+ /* This API doesn't have any error checking... */
+ if (c < 0 || c >= sizeof (path))
+- return (0);
++ return (GLOBAL_ZONEID);
+
+ ssize_t r = readlink(path, buf, sizeof (buf) - 1);
+ if (r < 0)
+- return (0);
++ return (GLOBAL_ZONEID);
+
+ cp = strchr(buf, '[');
+ if (cp == NULL)
+- return (0);
++ return (GLOBAL_ZONEID);
+ cp++;
+
+ unsigned long n = strtoul(cp, NULL, 10);
+ if (n == ULONG_MAX && errno == ERANGE)
+- return (0);
++ return (GLOBAL_ZONEID);
+ zoneid_t z = (zoneid_t)n;
+
+ return (z);
+
diff --git a/sys-fs/zfs/files/2.2.3-musl.patch b/sys-fs/zfs/files/2.2.3-musl.patch
new file mode 100644
index 000000000000..01433490e82f
--- /dev/null
+++ b/sys-fs/zfs/files/2.2.3-musl.patch
@@ -0,0 +1,63 @@
+https://github.com/openzfs/zfs/pull/15925
+
+From 68419c70dc7235a4954d6c0c09d60f9ebe694a3c Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 23 Feb 2024 05:12:09 +0000
+Subject: [PATCH] Use <fcntl.h> instead of <sys/fcntl.h>
+
+When building on musl, we get:
+```
+In file included from tests/zfs-tests/cmd/getversion.c:22:
+/usr/include/sys/fcntl.h:1:2: error: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Werror=cpp]
+ 1 | #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h>
+
+In file included from module/os/linux/zfs/vdev_file.c:36:
+/usr/include/sys/fcntl.h:1:2: error: #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h> [-Werror=cpp]
+ 1 | #warning redirecting incorrect #include <sys/fcntl.h> to <fcntl.h>
+```
+
+Bug: https://bugs.gentoo.org/925235
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ module/os/linux/zfs/vdev_file.c | 2 +-
+ tests/zfs-tests/cmd/getversion.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/module/os/linux/zfs/vdev_file.c b/module/os/linux/zfs/vdev_file.c
+index 5abc0426d1..68e3042a97 100644
+--- a/module/os/linux/zfs/vdev_file.c
++++ b/module/os/linux/zfs/vdev_file.c
+@@ -23,6 +23,7 @@
+ * Copyright (c) 2011, 2020 by Delphix. All rights reserved.
+ */
+
++#include <fcntl.h>
+ #include <sys/zfs_context.h>
+ #include <sys/spa.h>
+ #include <sys/spa_impl.h>
+@@ -33,7 +34,6 @@
+ #include <sys/fs/zfs.h>
+ #include <sys/fm/fs/zfs.h>
+ #include <sys/abd.h>
+-#include <sys/fcntl.h>
+ #include <sys/vnode.h>
+ #include <sys/zfs_file.h>
+ #ifdef _KERNEL
+diff --git a/tests/zfs-tests/cmd/getversion.c b/tests/zfs-tests/cmd/getversion.c
+index 62c1c5b6ab..1e026b92d1 100644
+--- a/tests/zfs-tests/cmd/getversion.c
++++ b/tests/zfs-tests/cmd/getversion.c
+@@ -19,9 +19,9 @@
+ */
+
+ #include <sys/ioctl.h>
+-#include <sys/fcntl.h>
+ #include <linux/fs.h>
+ #include <err.h>
++#include <fcntl.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+--
+2.43.2
+
diff --git a/sys-fs/zfs/files/bash-completion-sudo.patch b/sys-fs/zfs/files/bash-completion-sudo.patch
deleted file mode 100644
index 8ae9d25d2761..000000000000
--- a/sys-fs/zfs/files/bash-completion-sudo.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 3829d0b867f6aa4bde8798147dee74a86435d12c Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Fri, 22 Mar 2019 22:04:40 -0700
-Subject: [PATCH] contrib/bash_completion.d/zfs: remove sudo reference
-
----
- contrib/bash_completion.d/zfs | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/contrib/bash_completion.d/zfs b/contrib/bash_completion.d/zfs
-index 914db43c..b1aded36 100644
---- a/contrib/bash_completion.d/zfs
-+++ b/contrib/bash_completion.d/zfs
-@@ -21,13 +21,13 @@
- # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- # OTHER DEALINGS IN THE SOFTWARE.
-
--if [[ -w /dev/zfs ]]; then
-+#if [[ -w /dev/zfs ]]; then
- __ZFS_CMD="zfs"
- __ZPOOL_CMD="zpool"
--else
-- __ZFS_CMD="sudo zfs"
-- __ZPOOL_CMD="sudo zpool"
--fi
-+#else
-+# __ZFS_CMD="sudo zfs"
-+# __ZPOOL_CMD="sudo zpool"
-+#fi
-
- __zfs_get_commands()
- {
---
-2.21.0
-
diff --git a/sys-fs/zfs/metadata.xml b/sys-fs/zfs/metadata.xml
index 8b7415ecf550..b2f96b1a1ba9 100644
--- a/sys-fs/zfs/metadata.xml
+++ b/sys-fs/zfs/metadata.xml
@@ -2,15 +2,11 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <maintainer type="person">
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
<use>
- <flag name="kernel-builtin">Disable dependency on sys-fs/zfs-kmod under the assumption that ZFS is part of the kernel source tree</flag>
+ <flag name="kernel-builtin">Disable dependency on <pkg>sys-fs/zfs-kmod</pkg> under the assumption that ZFS is part of the kernel source tree</flag>
<flag name="minimal">Don't install python scripts (arcstat, dbufstat etc) and avoid dependency on <pkg>dev-lang/python</pkg></flag>
<flag name="pam">Install zfs_key pam module, for automatically loading zfs encryption keys for home datasets</flag>
<flag name="rootfs">Enable dependencies required for booting off a pool containing a rootfs</flag>
diff --git a/sys-fs/zfs/zfs-2.1.5.ebuild b/sys-fs/zfs/zfs-2.1.14.ebuild
index 6e0b78a9c125..5dcfd94d6ae2 100644
--- a/sys-fs/zfs/zfs-2.1.5.ebuild
+++ b/sys-fs/zfs/zfs-2.1.14.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -12,10 +13,10 @@ DESCRIPTION="Userland utilities for ZFS Linux kernel module"
HOMEPAGE="https://github.com/openzfs/zfs"
if [[ ${PV} == "9999" ]]; then
- inherit git-r3 linux-mod
+ inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
MY_P="${P/_rc/-rc}"
@@ -24,7 +25,7 @@ else
S="${WORKDIR}/${P%_rc?}"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ KEYWORDS="amd64 arm64 ppc64 ~riscv ~sparc"
fi
fi
@@ -33,7 +34,7 @@ LICENSE="BSD-2 CDDL MIT"
# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
# see libsoversion_check() below as well
SLOT="0/5"
-IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite"
DEPEND="
net-libs/libtirpc:=
@@ -44,15 +45,15 @@ DEPEND="
!minimal? ( ${PYTHON_DEPS} )
pam? ( sys-libs/pam )
python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
)
"
-BDEPEND="virtual/awk
+BDEPEND="app-alternatives/awk
virtual/pkgconfig
nls? ( sys-devel/gettext )
python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
+ ${DISTUTILS_DEPS}
|| (
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/distlib[${PYTHON_USEDEP}]
@@ -69,18 +70,18 @@ RDEPEND="${DEPEND}
!kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
!prefix? ( virtual/udev )
sys-fs/udev-init-scripts
- virtual/awk
+ app-alternatives/awk
dist-kernel? ( virtual/dist-kernel:= )
rootfs? (
- app-arch/cpio
+ app-alternatives/cpio
app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
)
+ selinux? ( sec-policy/selinux-zfs )
test-suite? (
app-shells/ksh
sys-apps/kmod[tools]
sys-apps/util-linux
- sys-devel/bc
+ app-alternatives/bc
sys-block/parted
sys-fs/lsscsi
sys-fs/mdadm
@@ -100,6 +101,13 @@ REQUIRED_USE="
RESTRICT="test"
+PATCHES=(
+ # bug #854333
+ "${FILESDIR}"/2.1.5-r2-dracut-non-root.patch
+
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+)
+
pkg_pretend() {
use rootfs || return 0
@@ -183,6 +191,13 @@ src_configure() {
use custom-cflags || strip-flags
use minimal || python_setup
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
local myconf=(
--bindir="${EPREFIX}/bin"
--enable-shared
@@ -202,6 +217,9 @@ src_configure() {
# Building zfs-mount-generator.c on musl breaks as strndupa
# isn't available. But systemd doesn't support musl anyway, so
# just disable building it.
+ # UPDATE: it has been fixed since,
+ # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a
+ # but we still leave it as this for now.
$(use_enable !elibc_musl systemd)
$(use_enable debug)
$(use_enable nls)
@@ -271,12 +289,6 @@ pkg_postinst() {
fi
fi
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- einfo "Adding ${P} to the module database to ensure that the"
- einfo "kernel modules and userland utilities stay in sync."
- update_moduledb
- fi
-
if systemd_is_booted || has_version sys-apps/systemd; then
einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
einfo "for default zfs systemd service configuration"
@@ -296,8 +308,4 @@ pkg_postinst() {
pkg_postrm() {
udev_reload
-
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
}
diff --git a/sys-fs/zfs/zfs-2.0.7.ebuild b/sys-fs/zfs/zfs-2.1.15.ebuild
index 2a638aee9616..606c4bf649fd 100644
--- a/sys-fs/zfs/zfs-2.0.7.ebuild
+++ b/sys-fs/zfs/zfs-2.1.15.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -12,10 +13,10 @@ DESCRIPTION="Userland utilities for ZFS Linux kernel module"
HOMEPAGE="https://github.com/openzfs/zfs"
if [[ ${PV} == "9999" ]]; then
- inherit git-r3 linux-mod
+ inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
MY_P="${P/_rc/-rc}"
@@ -24,7 +25,7 @@ else
S="${WORKDIR}/${P%_rc?}"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~sparc"
fi
fi
@@ -32,8 +33,8 @@ LICENSE="BSD-2 CDDL MIT"
# just libzfs soname major for now.
# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
# see libsoversion_check() below as well
-SLOT="0/4"
-IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+SLOT="0/5"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite"
DEPEND="
net-libs/libtirpc:=
@@ -44,15 +45,15 @@ DEPEND="
!minimal? ( ${PYTHON_DEPS} )
pam? ( sys-libs/pam )
python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
)
"
-BDEPEND="virtual/awk
+BDEPEND="app-alternatives/awk
virtual/pkgconfig
nls? ( sys-devel/gettext )
python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
+ ${DISTUTILS_DEPS}
|| (
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/distlib[${PYTHON_USEDEP}]
@@ -69,18 +70,18 @@ RDEPEND="${DEPEND}
!kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
!prefix? ( virtual/udev )
sys-fs/udev-init-scripts
- virtual/awk
+ app-alternatives/awk
dist-kernel? ( virtual/dist-kernel:= )
rootfs? (
- app-arch/cpio
+ app-alternatives/cpio
app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
)
+ selinux? ( sec-policy/selinux-zfs )
test-suite? (
app-shells/ksh
sys-apps/kmod[tools]
sys-apps/util-linux
- sys-devel/bc
+ app-alternatives/bc
sys-block/parted
sys-fs/lsscsi
sys-fs/mdadm
@@ -101,10 +102,10 @@ REQUIRED_USE="
RESTRICT="test"
PATCHES=(
- "${FILESDIR}/bash-completion-sudo.patch"
- "${FILESDIR}/2.0.7-scrub-timers.patch"
- "${FILESDIR}/2.1.2-openrc-vendor.patch"
- "${FILESDIR}/2.1.2-musl-tests.patch"
+ # bug #854333
+ "${FILESDIR}"/2.1.5-r2-dracut-non-root.patch
+
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
)
pkg_pretend() {
@@ -141,7 +142,6 @@ pkg_setup() {
}
libsoversion_check() {
-
local bugurl libzfs_sover
bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
@@ -191,10 +191,16 @@ src_configure() {
use custom-cflags || strip-flags
use minimal || python_setup
+ # All the same issue:
+ # Segfaults w/ GCC 12 and 'zfs send'
+ # bug #856373
+ # https://github.com/openzfs/zfs/issues/13620
+ # https://github.com/openzfs/zfs/issues/13605
+ append-flags -fno-tree-vectorize
+
local myconf=(
--bindir="${EPREFIX}/bin"
--enable-shared
- --enable-systemd
--enable-sysvinit
--localstatedir="${EPREFIX}/var"
--sbindir="${EPREFIX}/sbin"
@@ -208,6 +214,13 @@ src_configure() {
--with-systemdunitdir="$(systemd_get_systemunitdir)"
--with-systemdpresetdir="$(systemd_get_systempresetdir)"
--with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ # UPDATE: it has been fixed since,
+ # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a
+ # but we still leave it as this for now.
+ $(use_enable !elibc_musl systemd)
$(use_enable debug)
$(use_enable nls)
$(use_enable pam)
@@ -235,7 +248,7 @@ src_install() {
use pam && { rm -rv "${ED}/unwanted_files" || die ; }
- use test-suite || { rm -r "${ED}/usr/share/zfs" || die ; }
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
find "${ED}" -name '*.la' -delete || die
@@ -276,18 +289,14 @@ pkg_postinst() {
fi
fi
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- einfo "Adding ${P} to the module database to ensure that the"
- einfo "kernel modules and userland utilities stay in sync."
- update_moduledb
- fi
-
if systemd_is_booted || has_version sys-apps/systemd; then
einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
einfo "for default zfs systemd service configuration"
else
[[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
[[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
einfo "You should add zfs-mount to the boot runlevel."
[[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
@@ -299,8 +308,4 @@ pkg_postinst() {
pkg_postrm() {
udev_reload
-
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
}
diff --git a/sys-fs/zfs/zfs-2.1.4.ebuild b/sys-fs/zfs/zfs-2.2.2-r1.ebuild
index 465412d2cee6..80914d259c33 100644
--- a/sys-fs/zfs/zfs-2.1.4.ebuild
+++ b/sys-fs/zfs/zfs-2.2.2-r1.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8,9,10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -12,20 +13,19 @@ DESCRIPTION="Userland utilities for ZFS Linux kernel module"
HOMEPAGE="https://github.com/openzfs/zfs"
if [[ ${PV} == "9999" ]]; then
- inherit git-r3 linux-mod
+ inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
MY_P="${P/_rc/-rc}"
SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
- S="${WORKDIR}/${P%_rc?}"
+ S="${WORKDIR}/${MY_P}"
- # 2.1.3 unkeyworded briefly for some testing
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="amd64 arm64 ppc64 ~riscv"
+ KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv ~sparc"
fi
fi
@@ -34,26 +34,27 @@ LICENSE="BSD-2 CDDL MIT"
# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
# see libsoversion_check() below as well
SLOT="0/5"
-IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite"
DEPEND="
+ dev-libs/openssl:=
net-libs/libtirpc:=
sys-apps/util-linux
sys-libs/zlib
virtual/libudev:=
- dev-libs/openssl:0=
!minimal? ( ${PYTHON_DEPS} )
pam? ( sys-libs/pam )
python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
)
"
-BDEPEND="virtual/awk
+BDEPEND="
+ app-alternatives/awk
virtual/pkgconfig
nls? ( sys-devel/gettext )
python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
+ ${DISTUTILS_DEPS}
|| (
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/distlib[${PYTHON_USEDEP}]
@@ -66,22 +67,23 @@ if [[ ${PV} != "9999" ]] ; then
fi
# awk is used for some scripts, completions, and the Dracut module
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
!kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
!prefix? ( virtual/udev )
+ app-alternatives/awk
sys-fs/udev-init-scripts
- virtual/awk
dist-kernel? ( virtual/dist-kernel:= )
rootfs? (
- app-arch/cpio
+ app-alternatives/cpio
app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
)
+ selinux? ( sec-policy/selinux-zfs )
test-suite? (
app-shells/ksh
sys-apps/kmod[tools]
sys-apps/util-linux
- sys-devel/bc
+ app-alternatives/bc
sys-block/parted
sys-fs/lsscsi
sys-fs/mdadm
@@ -101,6 +103,11 @@ REQUIRED_USE="
RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+ "${FILESDIR}"/2.2.2-no-USER_NS.patch
+)
+
pkg_pretend() {
use rootfs || return 0
@@ -175,6 +182,9 @@ src_prepare() {
popd >/dev/null || die
fi
+ # Tries to use /etc/conf.d which we reserve for OpenRC
+ sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die
+
# prevent errors showing up on zfs-mount stop, #647688
# openrc will unmount all filesystems anyway.
sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
@@ -203,6 +213,9 @@ src_configure() {
# Building zfs-mount-generator.c on musl breaks as strndupa
# isn't available. But systemd doesn't support musl anyway, so
# just disable building it.
+ # UPDATE: it has been fixed since,
+ # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a
+ # but we still leave it as this for now.
$(use_enable !elibc_musl systemd)
$(use_enable debug)
$(use_enable nls)
@@ -272,12 +285,6 @@ pkg_postinst() {
fi
fi
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- einfo "Adding ${P} to the module database to ensure that the"
- einfo "kernel modules and userland utilities stay in sync."
- update_moduledb
- fi
-
if systemd_is_booted || has_version sys-apps/systemd; then
einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
einfo "for default zfs systemd service configuration"
@@ -297,8 +304,4 @@ pkg_postinst() {
pkg_postrm() {
udev_reload
-
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
}
diff --git a/sys-fs/zfs/zfs-2.2.3.ebuild b/sys-fs/zfs/zfs-2.2.3.ebuild
new file mode 100644
index 000000000000..71e2889ab794
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.2.3.ebuild
@@ -0,0 +1,308 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
+
+DESCRIPTION="Userland utilities for ZFS Linux kernel module"
+HOMEPAGE="https://github.com/openzfs/zfs"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
+ inherit verify-sig
+
+ MY_P="${P/_rc/-rc}"
+ SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
+ SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
+ S="${WORKDIR}/${MY_P}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
+ fi
+fi
+
+LICENSE="BSD-2 CDDL MIT"
+# just libzfs soname major for now.
+# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
+# see libsoversion_check() below as well
+SLOT="0/5"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite"
+
+DEPEND="
+ dev-libs/openssl:=
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ !minimal? ( ${PYTHON_DEPS} )
+ pam? ( sys-libs/pam )
+ python? (
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
+ )
+"
+
+BDEPEND="
+ app-alternatives/awk
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ python? (
+ ${DISTUTILS_DEPS}
+ || (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+if [[ ${PV} != "9999" ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
+fi
+
+# awk is used for some scripts, completions, and the Dracut module
+RDEPEND="
+ ${DEPEND}
+ !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
+ !prefix? ( virtual/udev )
+ app-alternatives/awk
+ sys-fs/udev-init-scripts
+ dist-kernel? ( virtual/dist-kernel:= )
+ rootfs? (
+ app-alternatives/cpio
+ app-misc/pax-utils
+ )
+ selinux? ( sec-policy/selinux-zfs )
+ test-suite? (
+ app-shells/ksh
+ sys-apps/kmod[tools]
+ sys-apps/util-linux
+ app-alternatives/bc
+ sys-block/parted
+ sys-fs/lsscsi
+ sys-fs/mdadm
+ sys-process/procps
+ )
+"
+
+# PDEPEND in this form is needed to trick portage suggest
+# enabling dist-kernel if only 1 package have it set, without suggesting to disable
+PDEPEND="dist-kernel? ( ~sys-fs/zfs-kmod-${PV}[dist-kernel] )"
+
+REQUIRED_USE="
+ !minimal? ( ${PYTHON_REQUIRED_USE} )
+ python? ( !minimal )
+ test-suite? ( !minimal )
+"
+
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+ "${FILESDIR}"/2.2.2-no-USER_NS.patch
+ "${FILESDIR}"/2.2.3-musl.patch
+)
+
+pkg_pretend() {
+ use rootfs || return 0
+
+ if has_version virtual/dist-kernel && ! use dist-kernel; then
+ ewarn "You have virtual/dist-kernel installed, but"
+ ewarn "USE=\"dist-kernel\" is not enabled for ${CATEGORY}/${PN}"
+ ewarn "It's recommended to globally enable dist-kernel USE flag"
+ ewarn "to auto-trigger initrd rebuilds with kernel updates"
+ fi
+}
+
+pkg_setup() {
+ if use kernel_linux; then
+ linux-info_pkg_setup
+
+ if ! linux_config_exists; then
+ ewarn "Cannot check the linux kernel configuration."
+ else
+ if use test-suite; then
+ if linux_chkconfig_present BLK_DEV_LOOP; then
+ eerror "The ZFS test suite requires loop device support enabled."
+ eerror "Please enable it:"
+ eerror " CONFIG_BLK_DEV_LOOP=y"
+ eerror "in /usr/src/linux/.config or"
+ eerror " Device Drivers --->"
+ eerror " Block devices --->"
+ eerror " [X] Loopback device support"
+ fi
+ fi
+ fi
+ fi
+}
+
+libsoversion_check() {
+ local bugurl libzfs_sover
+ bugurl="https://bugs.gentoo.org/enter_bug.cgi?form_name=enter_bug&product=Gentoo+Linux&component=Current+packages"
+
+ libzfs_sover="$(grep 'libzfs_la_LDFLAGS += -version-info' lib/libzfs/Makefile.am \
+ | grep -Eo '[0-9]+:[0-9]+:[0-9]+')"
+ libzfs_sover="${libzfs_sover%%:*}"
+
+ if [[ ${libzfs_sover} -ne $(ver_cut 2 ${SLOT}) ]]; then
+ echo
+ eerror "BUG BUG BUG BUG BUG BUG BUG BUG"
+ eerror "ebuild subslot does not match libzfs soversion!"
+ eerror "libzfs soversion: ${libzfs_sover}"
+ eerror "ebuild value: $(ver_cut 2 ${SLOT})"
+ eerror "This is a bug in the ebuild, please use the following URL to report it"
+ eerror "${bugurl}&short_desc=${CATEGORY}%2F${P}+update+subslot"
+ echo
+ # we want to abort for releases, but just print a warning for live ebuild
+ # to keep package installable
+ [[ ${PV} == "9999" ]] || die
+ fi
+}
+
+src_prepare() {
+ default
+ libsoversion_check
+
+ # Run unconditionally (bug #792627)
+ eautoreconf
+
+ if [[ ${PV} != "9999" ]]; then
+ # Set revision number
+ sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" META || die "Could not set Gentoo release"
+ fi
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_prepare
+ popd >/dev/null || die
+ fi
+
+ # Tries to use /etc/conf.d which we reserve for OpenRC
+ sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die
+
+ # prevent errors showing up on zfs-mount stop, #647688
+ # openrc will unmount all filesystems anyway.
+ sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
+}
+
+src_configure() {
+ use custom-cflags || strip-flags
+ use minimal || python_setup
+
+ local myconf=(
+ --bindir="${EPREFIX}/bin"
+ --enable-shared
+ --enable-sysvinit
+ --localstatedir="${EPREFIX}/var"
+ --sbindir="${EPREFIX}/sbin"
+ --with-config=user
+ --with-dracutdir="${EPREFIX}/usr/lib/dracut"
+ --with-linux="${KV_DIR}"
+ --with-linux-obj="${KV_OUT_DIR}"
+ --with-udevdir="$(get_udevdir)"
+ --with-pamconfigsdir="${EPREFIX}/unwanted_files"
+ --with-pammoduledir="$(getpam_mod_dir)"
+ --with-systemdunitdir="$(systemd_get_systemunitdir)"
+ --with-systemdpresetdir="$(systemd_get_systempresetdir)"
+ --with-vendor=gentoo
+ # Building zfs-mount-generator.c on musl breaks as strndupa
+ # isn't available. But systemd doesn't support musl anyway, so
+ # just disable building it.
+ # UPDATE: it has been fixed since,
+ # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a
+ # but we still leave it as this for now.
+ $(use_enable !elibc_musl systemd)
+ $(use_enable debug)
+ $(use_enable nls)
+ $(use_enable pam)
+ $(use_enable python pyzfs)
+ --disable-static
+ $(usex minimal --without-python --with-python="${EPYTHON}")
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ default
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a nvpair uutil zfsbootenv zfs zfs_core zpool
+
+ use pam && { rm -rv "${ED}/unwanted_files" || die ; }
+
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
+
+ find "${ED}" -name '*.la' -delete || die
+
+ dobashcomp contrib/bash_completion.d/zfs
+ bashcomp_alias zfs zpool
+
+ # strip executable bit from conf.d file
+ fperms 0644 /etc/conf.d/zfs
+
+ if use python; then
+ pushd contrib/pyzfs >/dev/null || die
+ distutils-r1_src_install
+ popd >/dev/null || die
+ fi
+
+ # enforce best available python implementation
+ use minimal || python_fix_shebang "${ED}/bin"
+}
+
+pkg_postinst() {
+ udev_reload
+
+ # we always need userspace utils in sync with zfs-kmod
+ # so force initrd update for userspace as well, to avoid
+ # situation when zfs-kmod trigger initrd rebuild before
+ # userspace component is rebuilt
+ # KV_* variables are provided by linux-info.eclass
+ if [[ -z ${ROOT} ]] && use dist-kernel; then
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ fi
+
+ if use rootfs; then
+ if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
+ elog "Root on zfs requires an initramfs to boot"
+ elog "The following packages provide one and are tested on a regular basis:"
+ elog " sys-kernel/dracut ( preferred, module maintained by zfs developers )"
+ elog " sys-kernel/genkernel"
+ fi
+ fi
+
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
+ einfo "for default zfs systemd service configuration"
+ else
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-import" ]] || \
+ einfo "You should add zfs-import to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-load-key" ]] || \
+ einfo "You should add zfs-load-key to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/boot/zfs-mount" ]]|| \
+ einfo "You should add zfs-mount to the boot runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-share" ]] || \
+ einfo "You should add zfs-share to the default runlevel."
+ [[ -e "${EROOT}/etc/runlevels/default/zfs-zed" ]] || \
+ einfo "You should add zfs-zed to the default runlevel."
+ fi
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/zfs/zfs-9999.ebuild b/sys-fs/zfs/zfs-9999.ebuild
index 6e0b78a9c125..7b38a676beca 100644
--- a/sys-fs/zfs/zfs-9999.ebuild
+++ b/sys-fs/zfs/zfs-9999.ebuild
@@ -1,10 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{8..10} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools bash-completion-r1 dist-kernel-utils distutils-r1 flag-o-matic linux-info pam systemd udev usr-ldscript
@@ -12,19 +13,19 @@ DESCRIPTION="Userland utilities for ZFS Linux kernel module"
HOMEPAGE="https://github.com/openzfs/zfs"
if [[ ${PV} == "9999" ]]; then
- inherit git-r3 linux-mod
+ inherit git-r3
EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
else
- VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/openzfs.asc
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/openzfs.asc
inherit verify-sig
MY_P="${P/_rc/-rc}"
SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
SRC_URI+=" verify-sig? ( https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz.asc )"
- S="${WORKDIR}/${P%_rc?}"
+ S="${WORKDIR}/${MY_P}"
if [[ ${PV} != *_rc* ]]; then
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
fi
fi
@@ -33,26 +34,27 @@ LICENSE="BSD-2 CDDL MIT"
# possible candidates: libuutil, libzpool, libnvpair. Those do not provide stable abi, but are considered.
# see libsoversion_check() below as well
SLOT="0/5"
-IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs test-suite"
+IUSE="custom-cflags debug dist-kernel kernel-builtin minimal nls pam python +rootfs selinux test-suite"
DEPEND="
+ dev-libs/openssl:=
net-libs/libtirpc:=
sys-apps/util-linux
sys-libs/zlib
virtual/libudev:=
- dev-libs/openssl:0=
!minimal? ( ${PYTHON_DEPS} )
pam? ( sys-libs/pam )
python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
)
"
-BDEPEND="virtual/awk
+BDEPEND="
+ app-alternatives/awk
virtual/pkgconfig
nls? ( sys-devel/gettext )
python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
+ ${DISTUTILS_DEPS}
|| (
dev-python/packaging[${PYTHON_USEDEP}]
dev-python/distlib[${PYTHON_USEDEP}]
@@ -65,22 +67,23 @@ if [[ ${PV} != "9999" ]] ; then
fi
# awk is used for some scripts, completions, and the Dracut module
-RDEPEND="${DEPEND}
+RDEPEND="
+ ${DEPEND}
!kernel-builtin? ( ~sys-fs/zfs-kmod-${PV}:= )
!prefix? ( virtual/udev )
+ app-alternatives/awk
sys-fs/udev-init-scripts
- virtual/awk
dist-kernel? ( virtual/dist-kernel:= )
rootfs? (
- app-arch/cpio
+ app-alternatives/cpio
app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
)
+ selinux? ( sec-policy/selinux-zfs )
test-suite? (
app-shells/ksh
sys-apps/kmod[tools]
sys-apps/util-linux
- sys-devel/bc
+ app-alternatives/bc
sys-block/parted
sys-fs/lsscsi
sys-fs/mdadm
@@ -100,6 +103,10 @@ REQUIRED_USE="
RESTRICT="test"
+PATCHES=(
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.patch
+)
+
pkg_pretend() {
use rootfs || return 0
@@ -174,6 +181,9 @@ src_prepare() {
popd >/dev/null || die
fi
+ # Tries to use /etc/conf.d which we reserve for OpenRC
+ sed -i -e '/EnvironmentFile/d' etc/systemd/system/zfs*.in || die
+
# prevent errors showing up on zfs-mount stop, #647688
# openrc will unmount all filesystems anyway.
sed -i "/^ZFS_UNMOUNT=/ s/yes/no/" "etc/default/zfs.in" || die
@@ -202,6 +212,9 @@ src_configure() {
# Building zfs-mount-generator.c on musl breaks as strndupa
# isn't available. But systemd doesn't support musl anyway, so
# just disable building it.
+ # UPDATE: it has been fixed since,
+ # https://github.com/openzfs/zfs/commit/1f19826c9ac85835cbde61a7439d9d1fefe43a4a
+ # but we still leave it as this for now.
$(use_enable !elibc_musl systemd)
$(use_enable debug)
$(use_enable nls)
@@ -271,12 +284,6 @@ pkg_postinst() {
fi
fi
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- einfo "Adding ${P} to the module database to ensure that the"
- einfo "kernel modules and userland utilities stay in sync."
- update_moduledb
- fi
-
if systemd_is_booted || has_version sys-apps/systemd; then
einfo "Please refer to ${EROOT}/$(systemd_get_systempresetdir)/50-zfs.preset"
einfo "for default zfs systemd service configuration"
@@ -296,8 +303,4 @@ pkg_postinst() {
pkg_postrm() {
udev_reload
-
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
}