summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/android-file-transfer-linux/Manifest3
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.8.ebuild64
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild (renamed from sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild)54
-rw-r--r--sys-fs/android-file-transfer-linux/android-file-transfer-linux-9999.ebuild50
-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.xml8
-rw-r--r--sys-fs/archivemount/Manifest2
-rw-r--r--sys-fs/archivemount/archivemount-0.9.1.ebuild (renamed from sys-fs/archivemount/archivemount-0.8.12.ebuild)16
-rw-r--r--sys-fs/archivemount/metadata.xml7
-rw-r--r--sys-fs/arm-fdisk/arm-fdisk-3.0.6-r1.ebuild4
-rw-r--r--sys-fs/arm-fdisk/metadata.xml4
-rw-r--r--sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild50
-rw-r--r--sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4.ebuild24
-rw-r--r--sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch30
-rw-r--r--sys-fs/atari-fdisk/metadata.xml3
-rw-r--r--sys-fs/aufs-headers/Manifest2
-rw-r--r--sys-fs/aufs-headers/aufs-headers-4.14_p20180709.ebuild25
-rw-r--r--sys-fs/aufs-headers/aufs-headers-4.1_p20170130.ebuild27
-rw-r--r--sys-fs/aufs-headers/metadata.xml2
-rw-r--r--sys-fs/aufs-util/Manifest2
-rw-r--r--sys-fs/aufs-util/aufs-util-4.14_p20190603-r1.ebuild (renamed from sys-fs/aufs-util/aufs-util-4.14_p20180709.ebuild)22
-rw-r--r--sys-fs/aufs-util/aufs-util-4.14_p20190603.ebuild48
-rw-r--r--sys-fs/aufs-util/aufs-util-4.1_p20170130.ebuild46
-rw-r--r--sys-fs/aufs-util/metadata.xml2
-rw-r--r--sys-fs/autorun/files/autorun-3.17-headers.patch44
-rw-r--r--sys-fs/autorun/metadata.xml2
-rw-r--r--sys-fs/avfs/Manifest3
-rw-r--r--sys-fs/avfs/avfs-1.1.3.ebuild (renamed from sys-fs/avfs/avfs-1.1.1.ebuild)29
-rw-r--r--sys-fs/avfs/avfs-1.1.4.ebuild72
-rw-r--r--sys-fs/avfs/metadata.xml6
-rw-r--r--sys-fs/bashmount/Manifest2
-rw-r--r--sys-fs/bashmount/bashmount-4.3.2-r1.ebuild (renamed from sys-fs/bashmount/bashmount-3.2.0.ebuild)19
-rw-r--r--sys-fs/bashmount/metadata.xml7
-rw-r--r--sys-fs/bcache-tools/Manifest6
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.0.5.ebuild51
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild51
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.0.8_p20140220-r1.ebuild77
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild80
-rw-r--r--sys-fs/bcache-tools/bcache-tools-1.1_p20230217-r1.ebuild78
-rw-r--r--sys-fs/bcache-tools/bcache-tools-9999.ebuild73
-rw-r--r--sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-status-python3.patch8
-rw-r--r--sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-crc64.patch55
-rw-r--r--sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-probe-bcache-underlinking.patch13
-rw-r--r--sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-20131018-fedconf.patch5
-rw-r--r--sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-status-20130826-man.patch49
-rw-r--r--sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch381
-rw-r--r--sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch69
-rw-r--r--sys-fs/bcache-tools/metadata.xml10
-rw-r--r--sys-fs/bcachefs-tools/Manifest147
-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-1.7.0.ebuild253
-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/Manifest2
-rw-r--r--sys-fs/bees/bees-0.10.ebuild (renamed from sys-fs/bees/bees-0.6.1-r2.ebuild)87
-rw-r--r--sys-fs/bees/bees-9999.ebuild87
-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/files/6001-lib-fix-non-local-lambda-expression-cannot-have-a-ca.patch38
-rw-r--r--sys-fs/bees/files/6002-context-workaround-to-prevent-LOGICAL_INO-and-btrfs-.patch95
-rw-r--r--sys-fs/bees/files/6003-process-Fix-gettid-ambiguity-with-glibc-2.30.patch97
-rw-r--r--sys-fs/bees/metadata.xml17
-rw-r--r--sys-fs/bindfs/Manifest7
-rw-r--r--sys-fs/bindfs/bindfs-1.17.3.ebuild (renamed from sys-fs/bindfs/bindfs-1.14.7.ebuild)8
-rw-r--r--sys-fs/bindfs/bindfs-1.17.4.ebuild (renamed from sys-fs/bindfs/bindfs-1.14.5.ebuild)8
-rw-r--r--sys-fs/bindfs/bindfs-1.17.5.ebuild23
-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/bindfs/metadata.xml2
-rw-r--r--sys-fs/btrfs-progs/Manifest10
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild125
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.4.1.ebuild129
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.6.1.ebuild129
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-5.7.ebuild129
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.6.3.ebuild198
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.7.1.ebuild198
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild198
-rw-r--r--sys-fs/btrfs-progs/btrfs-progs-9999.ebuild163
-rw-r--r--sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch24
-rw-r--r--sys-fs/btrfs-progs/metadata.xml5
-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/btrfsmaintenance/metadata.xml6
-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)34
-rw-r--r--sys-fs/cachefilesd/cachefilesd-0.10.9.ebuild57
-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/cachefilesd/metadata.xml2
-rw-r--r--sys-fs/clamfs/Manifest2
-rw-r--r--sys-fs/clamfs/clamfs-1.2.0.ebuild (renamed from sys-fs/clamfs/clamfs-1.0.1-r3.ebuild)27
-rw-r--r--sys-fs/clamfs/files/clamfs-1.0.1-gcc45.patch15
-rw-r--r--sys-fs/clamfs/files/clamfs-1.0.1-gentoo.patch12
-rw-r--r--sys-fs/clamfs/metadata.xml9
-rw-r--r--sys-fs/compsize/Manifest3
-rw-r--r--sys-fs/compsize/compsize-1.1.ebuild41
-rw-r--r--sys-fs/compsize/compsize-1.3.ebuild6
-rw-r--r--sys-fs/compsize/compsize-1.4.ebuild39
-rw-r--r--sys-fs/compsize/compsize-1.5.ebuild41
-rw-r--r--sys-fs/compsize/compsize-9999.ebuild20
-rw-r--r--sys-fs/compsize/metadata.xml11
-rw-r--r--sys-fs/copyfs/copyfs-1.0.1-r1.ebuild10
-rw-r--r--sys-fs/copyfs/metadata.xml2
-rw-r--r--sys-fs/cramfs/Manifest1
-rw-r--r--sys-fs/cramfs/cramfs-1.1.ebuild32
-rw-r--r--sys-fs/cramfs/cramfs-2.1.ebuild4
-rw-r--r--sys-fs/cramfs/metadata.xml3
-rw-r--r--sys-fs/cryfs/Manifest2
-rw-r--r--sys-fs/cryfs/cryfs-0.10.3-r1.ebuild (renamed from sys-fs/cryfs/cryfs-0.10.2.ebuild)48
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch2
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.3-fix-build-with-boost-1-77.patch26
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.3-gcc11.patch271
-rw-r--r--sys-fs/cryfs/files/cryfs-0.10.3-gcc13.patch11
-rw-r--r--sys-fs/cryfs/metadata.xml17
-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.2.ebuild)15
-rw-r--r--sys-fs/cryptmount/metadata.xml2
-rw-r--r--sys-fs/cryptsetup/Manifest4
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.3.2.ebuild135
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.3.3.ebuild135
-rw-r--r--sys-fs/cryptsetup/cryptsetup-2.6.1.ebuild (renamed from sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild)102
-rw-r--r--sys-fs/cryptsetup/files/2.4.3-dmcrypt.confd (renamed from sys-fs/cryptsetup/files/1.6.7-dmcrypt.confd)9
-rw-r--r--sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc (renamed from sys-fs/cryptsetup/files/1.6.7-dmcrypt.rc)75
-rw-r--r--sys-fs/cryptsetup/files/cryptsetup-2.0.4-fix-static-pwquality-build.patch18
-rw-r--r--sys-fs/cryptsetup/metadata.xml9
-rw-r--r--sys-fs/ctmg/ctmg-1.2.ebuild11
-rw-r--r--sys-fs/ctmg/metadata.xml2
-rw-r--r--sys-fs/davl/davl-1.2.4-r2.ebuild16
-rw-r--r--sys-fs/davl/files/davl-1.2.1-asneeded.patch4
-rw-r--r--sys-fs/davl/metadata.xml2
-rw-r--r--sys-fs/dd-rescue/Manifest2
-rw-r--r--sys-fs/dd-rescue/dd-rescue-1.99.13-r1.ebuild (renamed from sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild)46
-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/dd-rescue/metadata.xml2
-rw-r--r--sys-fs/ddrescue/Manifest4
-rw-r--r--sys-fs/ddrescue/ddrescue-1.27.ebuild (renamed from sys-fs/ddrescue/ddrescue-1.25.ebuild)9
-rw-r--r--sys-fs/ddrescue/ddrescue-1.28.ebuild (renamed from sys-fs/ddrescue/ddrescue-1.24.ebuild)9
-rw-r--r--sys-fs/ddrescue/metadata.xml9
-rw-r--r--sys-fs/dfc/dfc-3.1.1.ebuild12
-rw-r--r--sys-fs/dfc/metadata.xml2
-rw-r--r--sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild (renamed from sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r3.ebuild)23
-rw-r--r--sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-ldflags.patch11
-rw-r--r--sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-musl.patch79
-rw-r--r--sys-fs/diskdev_cmds/metadata.xml14
-rw-r--r--sys-fs/dislocker/Manifest2
-rw-r--r--sys-fs/dislocker/dislocker-0.7.1-r2.ebuild50
-rw-r--r--sys-fs/dislocker/dislocker-0.7.3.ebuild (renamed from sys-fs/dislocker/dislocker-0.7.1-r3.ebuild)26
-rw-r--r--sys-fs/dislocker/dislocker-9999.ebuild26
-rw-r--r--sys-fs/dislocker/files/dislocker-0.7.1-fix-find-ruby.patch671
-rw-r--r--sys-fs/dislocker/metadata.xml7
-rw-r--r--sys-fs/dmg2img/Manifest1
-rw-r--r--sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild40
-rw-r--r--sys-fs/dmg2img/dmg2img-1.6.7.ebuild35
-rw-r--r--sys-fs/dmg2img/files/dmg2img-1.6.7-openssl11.patch202
-rw-r--r--sys-fs/dmg2img/metadata.xml12
-rw-r--r--sys-fs/dmraid/dmraid-1.0.0_rc16-r3.ebuild100
-rw-r--r--sys-fs/dmraid/dmraid-1.0.0_rc16-r4.ebuild99
-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)41
-rw-r--r--sys-fs/dmraid/files/dmraid-1.0.0_rc16-musl.patch22
-rw-r--r--sys-fs/dmraid/metadata.xml11
-rw-r--r--sys-fs/dosfstools/Manifest2
-rw-r--r--sys-fs/dosfstools/dosfstools-4.1.ebuild38
-rw-r--r--sys-fs/dosfstools/dosfstools-4.2.ebuild39
-rw-r--r--sys-fs/dosfstools/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.1.ebuild30
-rw-r--r--sys-fs/duperemove/duperemove-0.14.1.ebuild35
-rw-r--r--sys-fs/duperemove/metadata.xml2
-rw-r--r--sys-fs/e2fsprogs/Manifest4
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.45.5.ebuild142
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.45.6.ebuild142
-rw-r--r--sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild170
-rw-r--r--sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch11
-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/files/fsck_ext2fs.896
-rw-r--r--sys-fs/e2fsprogs/files/fsck_ext2fs.c147
-rw-r--r--sys-fs/e2fsprogs/metadata.xml28
-rw-r--r--sys-fs/e2tools/Manifest1
-rw-r--r--sys-fs/e2tools/e2tools-0.0.16.4.ebuild31
-rw-r--r--sys-fs/e2tools/e2tools-0.1.0-r1.ebuild (renamed from sys-fs/e2tools/e2tools-0.1.0.ebuild)6
-rw-r--r--sys-fs/e2tools/metadata.xml5
-rw-r--r--sys-fs/e4rat/Manifest1
-rw-r--r--sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild63
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch14
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch74
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch11
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch41
-rw-r--r--sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch13
-rw-r--r--sys-fs/e4rat/metadata.xml11
-rw-r--r--sys-fs/ecryptfs-utils/ecryptfs-utils-111_p20170609-r1.ebuild4
-rw-r--r--sys-fs/ecryptfs-utils/metadata.xml2
-rw-r--r--sys-fs/encfs/encfs-1.9.5-r2.ebuild (renamed from sys-fs/encfs/encfs-1.9.5.ebuild)33
-rw-r--r--sys-fs/encfs/metadata.xml14
-rw-r--r--sys-fs/erofs-utils/Manifest2
-rw-r--r--sys-fs/erofs-utils/erofs-utils-1.6-r1.ebuild49
-rw-r--r--sys-fs/erofs-utils/erofs-utils-1.7.ebuild50
-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/erofs-utils/metadata.xml12
-rw-r--r--sys-fs/etcd-fs/Manifest2
-rw-r--r--sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild34
-rw-r--r--sys-fs/etcd-fs/etcd-fs-0_p20170517.ebuild34
-rw-r--r--sys-fs/etcd-fs/metadata.xml13
-rw-r--r--sys-fs/eudev/Manifest4
-rw-r--r--sys-fs/eudev/eudev-3.2.5.ebuild233
-rw-r--r--sys-fs/eudev/eudev-3.2.7-r2.ebuild236
-rw-r--r--sys-fs/eudev/eudev-3.2.8.ebuild236
-rw-r--r--sys-fs/eudev/eudev-3.2.9.ebuild236
-rw-r--r--sys-fs/eudev/eudev-4.9999.ebuild218
-rw-r--r--sys-fs/eudev/eudev-9999.ebuild236
-rw-r--r--sys-fs/eudev/files/40-gentoo.rules10
-rw-r--r--sys-fs/eudev/files/udev-postmount55
-rw-r--r--sys-fs/eudev/metadata.xml20
-rw-r--r--sys-fs/exfat-utils/Manifest1
-rw-r--r--sys-fs/exfat-utils/exfat-utils-1.3.0.ebuild4
-rw-r--r--sys-fs/exfat-utils/exfat-utils-1.4.0.ebuild19
-rw-r--r--sys-fs/exfat-utils/metadata.xml5
-rw-r--r--sys-fs/exfatprogs/Manifest5
-rw-r--r--sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild (renamed from sys-fs/exfatprogs/exfatprogs-1.0.4.ebuild)4
-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/exfatprogs/metadata.xml2
-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/ext3grep/metadata.xml2
-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/ext4magic/metadata.xml2
-rw-r--r--sys-fs/extundelete/extundelete-0.2.4-r2.ebuild (renamed from sys-fs/extundelete/extundelete-0.2.4.ebuild)21
-rw-r--r--sys-fs/extundelete/files/extundelete-0.2.4-clang.patch12
-rw-r--r--sys-fs/extundelete/metadata.xml2
-rw-r--r--sys-fs/f2fs-tools/Manifest3
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-1.13.0.ebuild38
-rw-r--r--sys-fs/f2fs-tools/f2fs-tools-1.14.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.xml14
-rw-r--r--sys-fs/fatcat/Manifest2
-rw-r--r--sys-fs/fatcat/fatcat-1.1.1.ebuild (renamed from sys-fs/fatcat/fatcat-1.1.0-r1.ebuild)10
-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.xml5
-rw-r--r--sys-fs/fatresize/Manifest1
-rw-r--r--sys-fs/fatresize/fatresize-1.0.4.ebuild28
-rw-r--r--sys-fs/fatresize/files/fatresize-1.0.4-version.patch9
-rw-r--r--sys-fs/fatresize/metadata.xml9
-rw-r--r--sys-fs/fatsort/Manifest3
-rw-r--r--sys-fs/fatsort/fatsort-1.6.2.605.ebuild37
-rw-r--r--sys-fs/fatsort/fatsort-1.6.5.640.ebuild (renamed from sys-fs/fatsort/fatsort-1.6.3.622.ebuild)15
-rw-r--r--sys-fs/fatsort/files/fatsort-1.6.2.605-gcc10.patch256
-rw-r--r--sys-fs/fatsort/metadata.xml2
-rw-r--r--sys-fs/fragview/Manifest1
-rw-r--r--sys-fs/fragview/fragview-0.1.1-r1.ebuild (renamed from sys-fs/fragview/fragview-0.1.1.ebuild)19
-rw-r--r--sys-fs/fragview/fragview-0.1.2.ebuild35
-rw-r--r--sys-fs/fragview/fragview-9999.ebuild19
-rw-r--r--sys-fs/fragview/metadata.xml6
-rw-r--r--sys-fs/fscrypt/Manifest2
-rw-r--r--sys-fs/fscrypt/files/0001-Remove-TestLoadSourceDevice.patch44
-rw-r--r--sys-fs/fscrypt/files/fscrypt.pam-config3
-rw-r--r--sys-fs/fscrypt/fscrypt-0.3.4.ebuild46
-rw-r--r--sys-fs/fscrypt/metadata.xml15
-rw-r--r--sys-fs/fswatch/Manifest2
-rw-r--r--sys-fs/fswatch/fswatch-1.16.0.ebuild28
-rw-r--r--sys-fs/fswatch/fswatch-1.17.1.ebuild28
-rw-r--r--sys-fs/fswatch/metadata.xml10
-rw-r--r--sys-fs/fuse-common/Manifest4
-rw-r--r--sys-fs/fuse-common/files/fuse-fbsd.init23
-rw-r--r--sys-fs/fuse-common/fuse-common-3.10.4.ebuild (renamed from sys-fs/fuse-common/fuse-common-3.9.1.ebuild)6
-rw-r--r--sys-fs/fuse-common/fuse-common-3.9.2.ebuild34
-rw-r--r--sys-fs/fuse-common/fuse-common-3.9.3.ebuild34
-rw-r--r--sys-fs/fuse-common/metadata.xml7
-rw-r--r--sys-fs/fuse-convmvfs/metadata.xml2
-rw-r--r--sys-fs/fuse-exfat/Manifest1
-rw-r--r--sys-fs/fuse-exfat/fuse-exfat-1.3.0.ebuild4
-rw-r--r--sys-fs/fuse-exfat/fuse-exfat-1.4.0.ebuild24
-rw-r--r--sys-fs/fuse-exfat/metadata.xml6
-rw-r--r--sys-fs/fuse-overlayfs/Manifest3
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.1.2.ebuild27
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild23
-rw-r--r--sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild27
-rw-r--r--sys-fs/fuse-overlayfs/metadata.xml10
-rw-r--r--sys-fs/fuse-zip/Manifest2
-rw-r--r--sys-fs/fuse-zip/fuse-zip-0.7.2.ebuild (renamed from sys-fs/fuse-zip/fuse-zip-0.7.0.ebuild)8
-rw-r--r--sys-fs/fuse-zip/metadata.xml7
-rw-r--r--sys-fs/fuse/Manifest5
-rw-r--r--sys-fs/fuse/files/fuse-2.9.9-avoid-calling-umount.patch38
-rw-r--r--sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch60
-rw-r--r--sys-fs/fuse/fuse-2.9.9-r2.ebuild (renamed from sys-fs/fuse/fuse-2.9.9-r1.ebuild)52
-rw-r--r--sys-fs/fuse/fuse-3.16.2.ebuild79
-rw-r--r--sys-fs/fuse/fuse-3.9.1.ebuild86
-rw-r--r--sys-fs/fuse/fuse-3.9.2.ebuild86
-rw-r--r--sys-fs/fuse/fuse-3.9.3.ebuild86
-rw-r--r--sys-fs/fuse/metadata.xml6
-rw-r--r--sys-fs/fuseiso/metadata.xml2
-rw-r--r--sys-fs/genext2fs/Manifest1
-rw-r--r--sys-fs/genext2fs/files/backport-pr-32.patch94
-rw-r--r--sys-fs/genext2fs/genext2fs-1.4.1.ebuild2
-rw-r--r--sys-fs/genext2fs/genext2fs-1.5.0-r1.ebuild21
-rw-r--r--sys-fs/genext2fs/genext2fs-1.5.0.ebuild19
-rw-r--r--sys-fs/genext2fs/metadata.xml2
-rw-r--r--sys-fs/genfstab/Manifest2
-rw-r--r--sys-fs/genfstab/genfstab-24.ebuild27
-rw-r--r--sys-fs/genfstab/genfstab-28-r1.ebuild38
-rw-r--r--sys-fs/genfstab/metadata.xml34
-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/go-mtpfs/Manifest17
-rw-r--r--sys-fs/go-mtpfs/go-mtpfs-1.0.0.ebuild34
-rw-r--r--sys-fs/go-mtpfs/metadata.xml2
-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/Manifest3
-rw-r--r--sys-fs/growpart/growpart-0.0.1.ebuild22
-rw-r--r--sys-fs/growpart/growpart-0.0.32-r1.ebuild (renamed from sys-fs/growpart/growpart-0.0.30.ebuild)8
-rw-r--r--sys-fs/growpart/metadata.xml2
-rw-r--r--sys-fs/gt5/metadata.xml2
-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/hfsplusutils/metadata.xml2
-rw-r--r--sys-fs/hfsutils/Manifest2
-rw-r--r--sys-fs/hfsutils/files/hfsutils-3.2.6-test-tcl-8.6.patch62
-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)42
-rw-r--r--sys-fs/hfsutils/metadata.xml10
-rw-r--r--sys-fs/inotify-tools/Manifest3
-rw-r--r--sys-fs/inotify-tools/files/inotify-tools-3.20.1-rm-unused-cmd-arg.patch11
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.20.1.ebuild39
-rw-r--r--sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild37
-rw-r--r--sys-fs/inotify-tools/inotify-tools-4.23.9.0.ebuild43
-rw-r--r--sys-fs/inotify-tools/metadata.xml9
-rw-r--r--sys-fs/iprutils/Manifest2
-rw-r--r--sys-fs/iprutils/files/iprdump16
-rw-r--r--sys-fs/iprutils/files/iprinit20
-rw-r--r--sys-fs/iprutils/files/iprupdate11
-rw-r--r--sys-fs/iprutils/files/iprutils-2.4.7-tinfo.patch14
-rw-r--r--sys-fs/iprutils/iprutils-2.4.17.1.ebuild53
-rw-r--r--sys-fs/iprutils/iprutils-2.4.18.1.ebuild16
-rw-r--r--sys-fs/iprutils/iprutils-2.4.7.ebuild45
-rw-r--r--sys-fs/iprutils/metadata.xml4
-rw-r--r--sys-fs/jdiskreport-bin/Manifest2
-rw-r--r--sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild31
-rw-r--r--sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild31
-rw-r--r--sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild10
-rw-r--r--sys-fs/jdiskreport-bin/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)9
-rw-r--r--sys-fs/jfsutils/metadata.xml7
-rw-r--r--sys-fs/jmtpfs/metadata.xml6
-rw-r--r--sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild (renamed from sys-fs/ldapfuse/ldapfuse-1.0-r2.ebuild)15
-rw-r--r--sys-fs/ldapfuse/metadata.xml2
-rw-r--r--sys-fs/lde/files/lde-2.6.1-fno-common.patch32
-rw-r--r--sys-fs/lde/files/lde-2.6.1-respect-ar.patch11
-rw-r--r--sys-fs/lde/files/lde-2.6.1-tinfo.patch22
-rw-r--r--sys-fs/lde/lde-2.6.1-r2.ebuild (renamed from sys-fs/lde/lde-2.6.1-r1.ebuild)31
-rw-r--r--sys-fs/lde/metadata.xml2
-rw-r--r--sys-fs/lessfs/lessfs-1.7.0-r2.ebuild (renamed from sys-fs/lessfs/lessfs-1.7.0-r1.ebuild)26
-rw-r--r--sys-fs/lessfs/metadata.xml6
-rw-r--r--sys-fs/libeatmydata/Manifest2
-rw-r--r--sys-fs/libeatmydata/files/libeatmydata-105-undpkg.patch12
-rw-r--r--sys-fs/libeatmydata/files/libeatmydata-131-gnu_source.patch52
-rw-r--r--sys-fs/libeatmydata/libeatmydata-105-r2.ebuild35
-rw-r--r--sys-fs/libeatmydata/libeatmydata-131.ebuild39
-rw-r--r--sys-fs/libeatmydata/metadata.xml8
-rw-r--r--sys-fs/libfat/metadata.xml2
-rw-r--r--sys-fs/loop-aes/Manifest3
-rw-r--r--sys-fs/loop-aes/files/loop-aes-3.7w-build-initrd_explicit-losetup.patch28
-rw-r--r--sys-fs/loop-aes/loop-aes-3.7n-r1.ebuild76
-rw-r--r--sys-fs/loop-aes/loop-aes-3.7q-r1.ebuild71
-rw-r--r--sys-fs/loop-aes/loop-aes-3.8b.ebuild72
-rw-r--r--sys-fs/loop-aes/metadata.xml6
-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.31.ebuild)6
-rw-r--r--sys-fs/lsscsi/metadata.xml2
-rw-r--r--sys-fs/lufis/lufis-0.3-r1.ebuild4
-rw-r--r--sys-fs/lufis/lufis-0.3.ebuild34
-rw-r--r--sys-fs/lufis/metadata.xml2
-rw-r--r--sys-fs/lufs/metadata.xml2
-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-dynamic-static-ldflags.patch75
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.05-pthread-pkgconfig.patch48
-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.187-r2.ebuild298
-rw-r--r--sys-fs/lvm2/lvm2-2.03.10.ebuild285
-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.xml20
-rw-r--r--sys-fs/lxcfs/Manifest5
-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.5.ebuild51
-rw-r--r--sys-fs/lxcfs/lxcfs-5.0.4-r1.ebuild84
-rw-r--r--sys-fs/lxcfs/lxcfs-6.0.0.ebuild80
-rw-r--r--sys-fs/lxcfs/metadata.xml7
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch164
-rw-r--r--sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch68
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild53
-rw-r--r--sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild7
-rw-r--r--sys-fs/mac-fdisk/metadata.xml10
-rw-r--r--sys-fs/mdadm/Manifest6
-rw-r--r--sys-fs/mdadm/files/mdadm-4.2-in_initrd-collision.patch36
-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.1.ebuild)57
-rw-r--r--sys-fs/mdadm/mdadm-4.2-r3.ebuild112
-rw-r--r--sys-fs/mdadm/mdadm-4.3.ebuild125
-rw-r--r--sys-fs/mdadm/metadata.xml5
-rw-r--r--sys-fs/mergerfs-tools/Manifest1
-rw-r--r--sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild33
-rw-r--r--sys-fs/mergerfs-tools/metadata.xml8
-rw-r--r--sys-fs/mergerfs/Manifest5
-rw-r--r--sys-fs/mergerfs/files/mergerfs-makefiles-fixes-ar-cflags-cxxflags-ldflags.patch83
-rw-r--r--sys-fs/mergerfs/mergerfs-2.29.0.ebuild43
-rw-r--r--sys-fs/mergerfs/mergerfs-2.35.1.ebuild (renamed from sys-fs/mergerfs/mergerfs-2.30.0.ebuild)10
-rw-r--r--sys-fs/mergerfs/mergerfs-2.36.0.ebuild (renamed from sys-fs/mergerfs/mergerfs-2.28.3-r1.ebuild)16
-rw-r--r--sys-fs/mergerfs/metadata.xml7
-rw-r--r--sys-fs/metadata.xml3
-rw-r--r--sys-fs/mhddfs/files/mhddfs-0.1.39-parallel-build.patch17
-rw-r--r--sys-fs/mhddfs/files/mhddfs-0.1.39-segfault-fix.patch17
-rw-r--r--sys-fs/mhddfs/files/mhddfs-respect-compiler-vars.patch11
-rw-r--r--sys-fs/mhddfs/metadata.xml2
-rw-r--r--sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild6
-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/Manifest2
-rw-r--r--sys-fs/mp3fs/metadata.xml2
-rw-r--r--sys-fs/mp3fs/mp3fs-0.91-r1.ebuild22
-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/Manifest4
-rw-r--r--sys-fs/mtd-utils/files/mtd-utils-1.5.2-sysmacros.patch32
-rw-r--r--sys-fs/mtd-utils/metadata.xml23
-rw-r--r--sys-fs/mtd-utils/mtd-utils-1.5.2.ebuild65
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.0.2.ebuild60
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.1.2.ebuild43
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild50
-rw-r--r--sys-fs/mtd-utils/mtd-utils-2.1.6-r2.ebuild58
-rw-r--r--sys-fs/mtools/Manifest5
-rw-r--r--sys-fs/mtools/files/mtools-4.0.18-attr.patch51
-rw-r--r--sys-fs/mtools/files/mtools-4.0.18-locking.patch163
-rw-r--r--sys-fs/mtools/files/mtools-4.0.18-memset.patch27
-rw-r--r--sys-fs/mtools/metadata.xml3
-rw-r--r--sys-fs/mtools/mtools-4.0.18-r2.ebuild56
-rw-r--r--sys-fs/mtools/mtools-4.0.42.ebuild (renamed from sys-fs/mtools/mtools-4.0.24.ebuild)30
-rw-r--r--sys-fs/mtools/mtools-4.0.43.ebuild (renamed from sys-fs/mtools/mtools-4.0.23.ebuild)39
-rw-r--r--sys-fs/mtpfs/files/mtpfs-1.1-deprecated_lock_init.patch24
-rw-r--r--sys-fs/mtpfs/metadata.xml7
-rw-r--r--sys-fs/mtpfs/mtpfs-1.1-r6.ebuild (renamed from sys-fs/mtpfs/mtpfs-1.1-r5.ebuild)9
-rw-r--r--sys-fs/multipath-tools/Manifest4
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.7.5-respect-flags.patch19
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.3-fix-gcc-10-compatibility.patch11
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.3-json-c-0.14.patch28
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.3-no-gziped-docs.patch175
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch85
-rw-r--r--sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch19
-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.xml8
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.8.3-r2.ebuild93
-rw-r--r--sys-fs/multipath-tools/multipath-tools-0.8.4.ebuild93
-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.xml20
-rw-r--r--sys-fs/ncdu/ncdu-1.14.2.ebuild20
-rw-r--r--sys-fs/ncdu/ncdu-1.15.1.ebuild20
-rw-r--r--sys-fs/ncdu/ncdu-1.15.ebuild20
-rw-r--r--sys-fs/ncdu/ncdu-1.19.ebuild27
-rw-r--r--sys-fs/ncdu/ncdu-2.3.ebuild129
-rw-r--r--sys-fs/nilfs-utils/Manifest4
-rw-r--r--sys-fs/nilfs-utils/metadata.xml3
-rw-r--r--sys-fs/nilfs-utils/nilfs-utils-2.1.5-r1.ebuild36
-rw-r--r--sys-fs/nilfs-utils/nilfs-utils-2.1.6.ebuild36
-rw-r--r--sys-fs/nilfs-utils/nilfs-utils-2.2.2.ebuild36
-rw-r--r--sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild47
-rw-r--r--sys-fs/ntfs3g/Manifest3
-rw-r--r--sys-fs/ntfs3g/files/CVE-2019-9755.patch63
-rw-r--r--sys-fs/ntfs3g/files/ntfs3g-2014.2.15-no-split-usr.patch25
-rw-r--r--sys-fs/ntfs3g/files/ntfs3g-2016.2.22-sysmacros.patch43
-rw-r--r--sys-fs/ntfs3g/files/ntfs3g-2017.3.23-big-sectors.patch379
-rw-r--r--sys-fs/ntfs3g/files/ntfs3g-2017.3.23-check-mftmirr.patch12
-rw-r--r--sys-fs/ntfs3g/files/ntfs3g-2017.3.23-full-clusters.patch81
-rw-r--r--sys-fs/ntfs3g/metadata.xml55
-rw-r--r--sys-fs/ntfs3g/ntfs3g-2017.3.23-r3.ebuild106
-rw-r--r--sys-fs/ntfs3g/ntfs3g-2022.10.3.ebuild (renamed from sys-fs/ntfs3g/ntfs3g-2017.3.23.5.ebuild)51
-rw-r--r--sys-fs/owfs/Manifest1
-rw-r--r--sys-fs/owfs/files/owfs-3.1-vendordir.patch26
-rw-r--r--sys-fs/owfs/files/owfs-3.1p4-sysmacros.patch78
-rw-r--r--sys-fs/owfs/files/owfs.confd2
-rw-r--r--sys-fs/owfs/files/owfs.initd-r135
-rw-r--r--sys-fs/owfs/files/owftpd.confd2
-rw-r--r--sys-fs/owfs/files/owftpd.initd-r135
-rw-r--r--sys-fs/owfs/files/owhttpd.confd2
-rw-r--r--sys-fs/owfs/files/owhttpd.initd-r135
-rw-r--r--sys-fs/owfs/files/owserver.confd2
-rw-r--r--sys-fs/owfs/files/owserver.initd-r134
-rw-r--r--sys-fs/owfs/metadata.xml25
-rw-r--r--sys-fs/owfs/owfs-3.2_p2-r2.ebuild192
-rw-r--r--sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-autotools.patch4
-rw-r--r--sys-fs/progsreiserfs/metadata.xml2
-rw-r--r--sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild27
-rw-r--r--sys-fs/quota/Manifest3
-rw-r--r--sys-fs/quota/files/quota-4.04-Listen-on-a-TCP-socket.patch77
-rw-r--r--sys-fs/quota/files/quota-4.04-glibc226.patch43
-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/metadata.xml2
-rw-r--r--sys-fs/quota/quota-4.05-r1.ebuild80
-rw-r--r--sys-fs/quota/quota-4.09.ebuild (renamed from sys-fs/quota/quota-4.04-r3.ebuild)30
-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.xml13
-rw-r--r--sys-fs/quotatool/quotatool-1.6.2-r1.ebuild34
-rw-r--r--sys-fs/quotatool/quotatool-1.6.2.ebuild28
-rw-r--r--sys-fs/quotatool/quotatool-1.6.3.ebuild22
-rw-r--r--sys-fs/rar2fs/Manifest4
-rw-r--r--sys-fs/rar2fs/metadata.xml6
-rw-r--r--sys-fs/rar2fs/rar2fs-1.27.2-r1.ebuild29
-rw-r--r--sys-fs/rar2fs/rar2fs-1.29.0.ebuild29
-rw-r--r--sys-fs/rar2fs/rar2fs-1.29.6.ebuild (renamed from sys-fs/rar2fs/rar2fs-1.28.0.ebuild)4
-rw-r--r--sys-fs/reiser4progs/Manifest4
-rw-r--r--sys-fs/reiser4progs/metadata.xml7
-rw-r--r--sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild53
-rw-r--r--sys-fs/reiser4progs/reiser4progs-2.0.3.ebuild54
-rw-r--r--sys-fs/reiser4progs/reiser4progs-2.0.5.ebuild (renamed from sys-fs/reiser4progs/reiser4progs-2.0.2.ebuild)4
-rw-r--r--sys-fs/reiserfs-defrag/metadata.xml7
-rw-r--r--sys-fs/reiserfs-defrag/reiserfs-defrag-0.2.2.ebuild10
-rw-r--r--sys-fs/reiserfsprogs/Manifest1
-rw-r--r--sys-fs/reiserfsprogs/metadata.xml2
-rw-r--r--sys-fs/reiserfsprogs/reiserfsprogs-3.6.25.ebuild48
-rw-r--r--sys-fs/reiserfsprogs/reiserfsprogs-3.6.27-r1.ebuild (renamed from sys-fs/reiserfsprogs/reiserfsprogs-3.6.27.ebuild)15
-rw-r--r--sys-fs/safecopy/files/safecopy-tests.patch22
-rw-r--r--sys-fs/safecopy/metadata.xml2
-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/Manifest17
-rw-r--r--sys-fs/sandboxfs/metadata.xml7
-rw-r--r--sys-fs/sandboxfs/sandboxfs-0.1.1.ebuild110
-rw-r--r--sys-fs/sandboxfs/sandboxfs-0.2.0.ebuild11
-rw-r--r--sys-fs/shake/metadata.xml4
-rw-r--r--sys-fs/shake/shake-1.0.ebuild10
-rw-r--r--sys-fs/simple-mtpfs/Manifest1
-rw-r--r--sys-fs/simple-mtpfs/metadata.xml10
-rw-r--r--sys-fs/simple-mtpfs/simple-mtpfs-0.3.0.ebuild30
-rw-r--r--sys-fs/simple-mtpfs/simple-mtpfs-0.4.0.ebuild6
-rw-r--r--sys-fs/snapraid/Manifest4
-rw-r--r--sys-fs/snapraid/metadata.xml13
-rw-r--r--sys-fs/snapraid/snapraid-11.6.ebuild (renamed from sys-fs/snapraid/snapraid-11.4.ebuild)0
-rw-r--r--sys-fs/snapraid/snapraid-12.2.ebuild (renamed from sys-fs/snapraid/snapraid-11.5.ebuild)0
-rw-r--r--sys-fs/squashfs-tools-ng/Manifest3
-rw-r--r--sys-fs/squashfs-tools-ng/metadata.xml3
-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.0.1.ebuild)17
-rw-r--r--sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild52
-rw-r--r--sys-fs/squashfs-tools-ng/squashfs-tools-ng-9999.ebuild17
-rw-r--r--sys-fs/squashfs-tools/Manifest4
-rw-r--r--sys-fs/squashfs-tools/files/squashfs-tools-4.4-fno-common.patch11
-rw-r--r--sys-fs/squashfs-tools/metadata.xml21
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.4.ebuild67
-rw-r--r--sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild57
-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/squashfs-tools/squashfs-tools-9999.ebuild61
-rw-r--r--sys-fs/squashfuse/Manifest2
-rw-r--r--sys-fs/squashfuse/metadata.xml2
-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/metadata.xml2
-rw-r--r--sys-fs/static-dev/static-dev-0.1-r2.ebuild (renamed from sys-fs/static-dev/static-dev-0.1.ebuild)29
-rw-r--r--sys-fs/static-dev/static-dev-0.1-r3.ebuild41
-rw-r--r--sys-fs/sysfsutils/Manifest2
-rw-r--r--sys-fs/sysfsutils/metadata.xml3
-rw-r--r--sys-fs/sysfsutils/sysfsutils-2.1.0.ebuild38
-rw-r--r--sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild35
-rw-r--r--sys-fs/tmsu/Manifest3
-rw-r--r--sys-fs/tmsu/metadata.xml21
-rw-r--r--sys-fs/tmsu/tmsu-0.6.1.ebuild42
-rw-r--r--sys-fs/tmsu/tmsu-0.7.0.ebuild42
-rw-r--r--sys-fs/tmsu/tmsu-0.7.4.ebuild44
-rw-r--r--sys-fs/treesize/metadata.xml2
-rw-r--r--sys-fs/treesize/treesize-0.54.1-r1.ebuild7
-rw-r--r--sys-fs/ubi_reader/Manifest1
-rw-r--r--sys-fs/ubi_reader/metadata.xml13
-rw-r--r--sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild20
-rw-r--r--sys-fs/udev-init-scripts/Manifest3
-rw-r--r--sys-fs/udev-init-scripts/metadata.xml4
-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.ebuild (renamed from sys-fs/udev-init-scripts/udev-init-scripts-33.ebuild)8
-rw-r--r--sys-fs/udev-init-scripts/udev-init-scripts-9999.ebuild8
-rw-r--r--sys-fs/udev/Manifest4
-rw-r--r--sys-fs/udev/files/242-gcc-9.patch163
-rw-r--r--sys-fs/udev/metadata.xml14
-rw-r--r--sys-fs/udev/udev-242.ebuild333
-rw-r--r--sys-fs/udev/udev-243-r2.ebuild335
-rw-r--r--sys-fs/udev/udev-245.5-r1.ebuild243
-rw-r--r--sys-fs/udev/udev-246-r1.ebuild241
-rw-r--r--sys-fs/udev/udev-9999.ebuild241
-rw-r--r--sys-fs/udftools/Manifest3
-rw-r--r--sys-fs/udftools/metadata.xml4
-rw-r--r--sys-fs/udftools/udftools-2.1.ebuild19
-rw-r--r--sys-fs/udftools/udftools-2.3.ebuild (renamed from sys-fs/udftools/udftools-2.2.ebuild)7
-rw-r--r--sys-fs/udiskie/Manifest7
-rw-r--r--sys-fs/udiskie/metadata.xml2
-rw-r--r--sys-fs/udiskie/udiskie-2.4.2-r2.ebuild (renamed from sys-fs/udiskie/udiskie-2.1.0.ebuild)24
-rw-r--r--sys-fs/udiskie/udiskie-2.5.0-r1.ebuild (renamed from sys-fs/udiskie/udiskie-2.1.1.ebuild)23
-rw-r--r--sys-fs/udiskie/udiskie-2.5.1.ebuild (renamed from sys-fs/udiskie/udiskie-2.2.0.ebuild)25
-rw-r--r--sys-fs/udiskie/udiskie-2.5.2.ebuild52
-rw-r--r--sys-fs/udisks/Manifest5
-rw-r--r--sys-fs/udisks/files/udisks-2.9.4-undefined.patch143
-rw-r--r--sys-fs/udisks/metadata.xml5
-rw-r--r--sys-fs/udisks/udisks-2.10.0.ebuild (renamed from sys-fs/udisks/udisks-2.9.0.ebuild)48
-rw-r--r--sys-fs/udisks/udisks-2.10.1.ebuild (renamed from sys-fs/udisks/udisks-2.9.1.ebuild)51
-rw-r--r--sys-fs/udisks/udisks-2.9.4-r3.ebuild150
-rw-r--r--sys-fs/ufsutils/Manifest2
-rw-r--r--sys-fs/ufsutils/metadata.xml5
-rw-r--r--sys-fs/ufsutils/ufsutils-8.2_p3.ebuild57
-rw-r--r--sys-fs/unionfs-fuse/Manifest4
-rw-r--r--sys-fs/unionfs-fuse/metadata.xml2
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild21
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild21
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-3.4-r1.ebuild (renamed from sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild)14
-rw-r--r--sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild17
-rw-r--r--sys-fs/vhba/Manifest2
-rw-r--r--sys-fs/vhba/metadata.xml2
-rw-r--r--sys-fs/vhba/vhba-20240202.ebuild (renamed from sys-fs/vhba/vhba-20200106-r1.ebuild)52
-rw-r--r--sys-fs/vzquota/metadata.xml2
-rw-r--r--sys-fs/vzquota/vzquota-3.1.ebuild13
-rw-r--r--sys-fs/xfsdump/Manifest3
-rw-r--r--sys-fs/xfsdump/files/xfsdump-3.0.4-no-symlink.patch22
-rw-r--r--sys-fs/xfsdump/files/xfsdump-3.0.5-prompt-overflow.patch14
-rw-r--r--sys-fs/xfsdump/metadata.xml2
-rw-r--r--sys-fs/xfsdump/xfsdump-3.1.12.ebuild (renamed from sys-fs/xfsdump/xfsdump-3.1.9.ebuild)51
-rw-r--r--sys-fs/xfsdump/xfsdump-3.1.8.ebuild67
-rw-r--r--sys-fs/xfsprogs/Manifest7
-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-5.18.0-docdir.patch (renamed from sys-fs/xfsprogs/files/xfsprogs-4.15.0-docdir.patch)6
-rw-r--r--sys-fs/xfsprogs/files/xfsprogs-6.7.0-fix-porting-to-6.7.patch157
-rw-r--r--sys-fs/xfsprogs/metadata.xml2
-rw-r--r--sys-fs/xfsprogs/xfsprogs-5.4.0-r1.ebuild110
-rw-r--r--sys-fs/xfsprogs/xfsprogs-6.4.0.ebuild (renamed from sys-fs/xfsprogs/xfsprogs-5.7.0.ebuild)52
-rw-r--r--sys-fs/xfsprogs/xfsprogs-6.6.0.ebuild (renamed from sys-fs/xfsprogs/xfsprogs-5.6.0.ebuild)66
-rw-r--r--sys-fs/xfsprogs/xfsprogs-6.7.0.ebuild (renamed from sys-fs/xfsprogs/xfsprogs-5.8.0.ebuild)54
-rw-r--r--sys-fs/xwmfs/Manifest2
-rw-r--r--sys-fs/xwmfs/metadata.xml6
-rw-r--r--sys-fs/xwmfs/xwmfs-0.92.ebuild (renamed from sys-fs/xwmfs/xwmfs-0.86.ebuild)2
-rw-r--r--sys-fs/yaffs2utils/metadata.xml2
-rw-r--r--sys-fs/yaffs2utils/yaffs2utils-0.2.9.ebuild4
-rw-r--r--sys-fs/zerofree/Manifest1
-rw-r--r--sys-fs/zerofree/files/zerofree-include-sys_types.patch10
-rw-r--r--sys-fs/zerofree/metadata.xml2
-rw-r--r--sys-fs/zerofree/zerofree-1.1.1-r1.ebuild (renamed from sys-fs/zerofree/zerofree-1.0.4.ebuild)15
-rw-r--r--sys-fs/zerofree/zerofree-1.1.1.ebuild35
-rw-r--r--sys-fs/zfs-auto-snapshot/files/README.gentoo2
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch47
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service6
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer8
-rw-r--r--sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target11
-rw-r--r--sys-fs/zfs-auto-snapshot/metadata.xml9
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild89
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild92
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4.ebuild52
-rw-r--r--sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild53
-rw-r--r--sys-fs/zfs-kmod/Manifest11
-rw-r--r--sys-fs/zfs-kmod/files/0.8.4-powerpc_jmp_weak.patch48
-rw-r--r--sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch29
-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.xml17
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild183
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild178
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc2.ebuild175
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild177
-rw-r--r--sys-fs/zfs-kmod/zfs-kmod-2.1.15.ebuild177
-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.ebuild232
-rw-r--r--sys-fs/zfs/Manifest11
-rw-r--r--sys-fs/zfs/files/0.8.4-initconfdir.patch35
-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-r1391
-rw-r--r--sys-fs/zfs/files/bash-completion-sudo.patch35
-rw-r--r--sys-fs/zfs/metadata.xml34
-rw-r--r--sys-fs/zfs/zfs-0.8.4-r2.ebuild223
-rw-r--r--sys-fs/zfs/zfs-2.0.0_rc1-r1.ebuild228
-rw-r--r--sys-fs/zfs/zfs-2.0.0_rc2.ebuild229
-rw-r--r--sys-fs/zfs/zfs-2.1.14.ebuild311
-rw-r--r--sys-fs/zfs/zfs-2.1.15.ebuild311
-rw-r--r--sys-fs/zfs/zfs-2.2.2-r1.ebuild307
-rw-r--r--sys-fs/zfs/zfs-2.2.3.ebuild308
-rw-r--r--sys-fs/zfs/zfs-9999.ebuild181
764 files changed, 16720 insertions, 17755 deletions
diff --git a/sys-fs/android-file-transfer-linux/Manifest b/sys-fs/android-file-transfer-linux/Manifest
index a8876426eaa4..d50d223a791e 100644
--- a/sys-fs/android-file-transfer-linux/Manifest
+++ b/sys-fs/android-file-transfer-linux/Manifest
@@ -1,2 +1 @@
-DIST android-file-transfer-linux-3.8.tar.gz 780911 BLAKE2B 07b4e7670125b1ff382e7c6b1e36427fe0c1fd9665106d73144de5ca68692ae390496985fe83550ec90a64a83fa45b27e4e6d6738e4590ca8c5078a4814ac141 SHA512 b311b76658b57d16cd11c8f5bf03630adc6e0f1939d985a75e7effab584c93dbb82e65fb4cf84a9ef453c901c7f7d3100b96737de20577235fae6fd156a03da1
-DIST android-file-transfer-linux-3.9.tar.gz 781268 BLAKE2B 63032a39b39cf31b8d051c0069c0357f0b6ed5bd9e592ee5ce1f5e95438ff27571ec7d58789eb865a1896097c3cebf0ec30a89526b62c93694d71ca29e95d415 SHA512 7468ff19d2b4ae0f768eea70ec45246da11c4e541d07a9548d057c080adbbc905f76dcdff18c4c8478cd19aee6992d02beaf8b4275d7302997652e25351ab5c8
+DIST android-file-transfer-linux-4.2.tar.gz 823609 BLAKE2B dfd9b6ef4a92b1bc7851fd160837366b97fa95db5a998b9df156dd8543be554e07d02aae9be9f27b1cd9ee96aacc2003e06e4c7670c49b478e07779c92829817 SHA512 88ee6bf0af6cf6b2f6b97dee8e79d20905d2a84c271d68d874b87ccc797f198f1e480565633feea08a585ebb55e77da9742bd9cd87b59d88e677c44c69e95659
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.8.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.8.ebuild
deleted file mode 100644
index 96cfef233539..000000000000
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.8.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake xdg
-
-DESCRIPTION="Android File Transfer for Linux"
-HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
-
-if [[ "${PV}" = *9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/whoozle/android-file-transfer-linux.git"
-else
- SRC_URI="https://github.com/whoozle/android-file-transfer-linux/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-
-IUSE="fuse qt5"
-
-RDEPEND="
- sys-apps/file
- sys-libs/readline:0=
- fuse? ( sys-fs/fuse:0 )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
- )
-"
-
-DEPEND="${RDEPEND}"
-
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_FUSE="$(usex fuse)"
- -DBUILD_QT_UI="$(usex qt5)"
- -DBUILD_SHARED_LIB="ON"
- # Upstream recommends to keep this off as libusb is broken
- -DUSB_BACKEND_LIBUSB="OFF"
- $(usex qt5 '-DDESIRED_QT_VERSION=5' '')
- )
- cmake_src_configure
-}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
index e2ce2ae66cfe..33a9407c95aa 100644
--- a/sys-fs/android-file-transfer-linux/android-file-transfer-linux-3.9.ebuild
+++ b/sys-fs/android-file-transfer-linux/android-file-transfer-linux-4.2.ebuild
@@ -1,9 +1,11 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake xdg
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-single-r1 xdg
DESCRIPTION="Android File Transfer for Linux"
HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
@@ -19,46 +21,58 @@ fi
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="fuse qt5"
+IUSE="fuse python qt5 taglib zune"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
sys-apps/file
sys-libs/readline:0=
fuse? ( sys-fs/fuse:0 )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+ )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
dev-qt/qtwidgets:5
)
+ taglib? ( media-libs/taglib )
+ zune? (
+ dev-libs/openssl:0=
+ )
"
DEPEND="${RDEPEND}"
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
+BDEPEND="
+ virtual/pkgconfig
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.2-gcc13.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DBUILD_FUSE="$(usex fuse)"
+ -DBUILD_MTPZ="$(usex zune)"
+ -DBUILD_PYTHON="$(usex python)"
-DBUILD_QT_UI="$(usex qt5)"
-DBUILD_SHARED_LIB="ON"
+ -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
}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
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 96cfef233539..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,11 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit cmake xdg
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit cmake python-single-r1 xdg
DESCRIPTION="Android File Transfer for Linux"
HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
@@ -19,46 +21,54 @@ fi
LICENSE="LGPL-2.1"
SLOT="0"
-IUSE="fuse qt5"
+IUSE="fuse python qt5 taglib zune"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
sys-apps/file
sys-libs/readline:0=
fuse? ( sys-fs/fuse:0 )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ ')
+ )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
dev-qt/qtwidgets:5
)
+ taglib? ( media-libs/taglib )
+ zune? (
+ dev-libs/openssl:0=
+ )
"
DEPEND="${RDEPEND}"
-# required to override src_prepare from xdg eclass
-src_prepare() {
- cmake_src_prepare
+BDEPEND="
+ virtual/pkgconfig
+ qt5? ( dev-qt/linguist-tools:5 )
+"
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
}
src_configure() {
local mycmakeargs=(
-DBUILD_FUSE="$(usex fuse)"
+ -DBUILD_MTPZ="$(usex zune)"
+ -DBUILD_PYTHON="$(usex python)"
-DBUILD_QT_UI="$(usex qt5)"
-DBUILD_SHARED_LIB="ON"
+ -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
}
-
-pkg_preinst() {
- xdg_pkg_preinst
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
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 9746ecb92773..3b18b9d156bb 100644
--- a/sys-fs/android-file-transfer-linux/metadata.xml
+++ b/sys-fs/android-file-transfer-linux/metadata.xml
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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>
<use>
<flag name="fuse">Add FUSE mount helper</flag>
+ <flag name="zune">Enable support for Microsoft Zune</flag>
</use>
</pkgmetadata>
diff --git a/sys-fs/archivemount/Manifest b/sys-fs/archivemount/Manifest
index e8a45195d2e4..2e790abcf0c9 100644
--- a/sys-fs/archivemount/Manifest
+++ b/sys-fs/archivemount/Manifest
@@ -1 +1 @@
-DIST archivemount-0.8.12.tar.gz 131934 BLAKE2B f4fda78f3f91fa2586795807ef616fd8eb67e224d99bcdfbd80ec59b851770a5c914c25786a183ce0dc9e8cf35b628ecd56bd35b181f2b51b4eb7f0bb727839c SHA512 4ce9e7ec8585b07d5bf48df41cc4a1b4ba7fe2268864ec70c445a6b9c21237f267a19814f00c5ef5a940a90ebaa47c9626aff1dbbff6fbb22e2c260da666ccd9
+DIST archivemount-0.9.1.tar.gz 133251 BLAKE2B 18c7a1ceb415524d88c737cd23eba87ca10e057fee64c81d22c7249df4b5a844d767931532bfe51367bc5c4274027dea9582d9403f34802c13e5faa88ce93fae SHA512 ecfa8abc1dcae34c855f9a2943113ddd3eb1b81011f23ef6a8dddd344c1db44b132683a1181f17b5691a783df764523ee0d2b802202d93890dcbdb78bee53522
diff --git a/sys-fs/archivemount/archivemount-0.8.12.ebuild b/sys-fs/archivemount/archivemount-0.9.1.ebuild
index d987a19f01ed..52cfe022b50a 100644
--- a/sys-fs/archivemount/archivemount-0.8.12.ebuild
+++ b/sys-fs/archivemount/archivemount-0.9.1.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+inherit autotools
DESCRIPTION="Mount archives using libarchive and FUSE"
HOMEPAGE="https://www.cybernoia.de/software/archivemount.html https://github.com/cybernoid/archivemount"
@@ -13,5 +15,11 @@ KEYWORDS="~amd64 ~x86"
RDEPEND="app-arch/libarchive:=
sys-fs/fuse:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
diff --git a/sys-fs/archivemount/metadata.xml b/sys-fs/archivemount/metadata.xml
index 6f49eba8f496..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/arm-fdisk-3.0.6-r1.ebuild b/sys-fs/arm-fdisk/arm-fdisk-3.0.6-r1.ebuild
index f51b0bb234ab..41d8d411cee0 100644
--- a/sys-fs/arm-fdisk/arm-fdisk-3.0.6-r1.ebuild
+++ b/sys-fs/arm-fdisk/arm-fdisk-3.0.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ SRC_URI="ftp://ftp.arm.linux.org.uk/pub/armlinux/source/other/${P}.tar.gz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc s390 sparc x86"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ~s390 sparc x86"
IUSE=""
src_prepare() {
diff --git a/sys-fs/arm-fdisk/metadata.xml b/sys-fs/arm-fdisk/metadata.xml
index 3101c4efc863..56630debbcbd 100644
--- a/sys-fs/arm-fdisk/metadata.xml
+++ b/sys-fs/arm-fdisk/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<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/atari-fdisk-0.7.1.5.4-r1.ebuild b/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild
new file mode 100644
index 000000000000..1486e93742cc
--- /dev/null
+++ b/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib toolchain-funcs
+
+MY_PV=$(ver_cut 1-3)
+DEB_PV=$(ver_cut 4-5)
+DESCRIPTION="Create and edit the partition table of a disk partitioned in Atari format"
+HOMEPAGE="https://packages.qa.debian.org/a/atari-fdisk.html"
+SRC_URI="mirror://debian/pool/main/a/${PN}/${PN}_${MY_PV}-${DEB_PV}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="GPL-2"
+SLOT="0"
+# Note: The code assumes sizeof(long) == 4 everywhere. 64-bit platforms need to
+# build a 32-bit binary below to avoid memory corruption issues.
+KEYWORDS="~amd64 ~m68k ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.1.5.4-prompt-logic.patch
+ "${FILESDIR}"/${PN}-0.7.1.5.4-gcc-5-inline.patch
+ "${FILESDIR}"/${PN}-0.7.1.5.4-globals.patch
+)
+
+src_configure() {
+ if use amd64; then
+ multilib_toolchain_setup x86
+ else
+ tc-export CC LD
+ fi
+}
+
+src_compile() {
+ emake \
+ CC="${CC}" \
+ LD="${LD}" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ COMPILE_ARCH=m68k
+}
+
+src_install() {
+ dodoc NEWS README TODO debian/changelog
+ doman debian/atari-fdisk.8
+
+ into /
+ dosbin atari-fdisk
+}
diff --git a/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4.ebuild b/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4.ebuild
index 6e783ebbc07c..d8576f14aceb 100644
--- a/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4.ebuild
+++ b/sys-fs/atari-fdisk/atari-fdisk-0.7.1.5.4.ebuild
@@ -1,15 +1,16 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI=7
-inherit versionator toolchain-funcs eutils
+inherit toolchain-funcs
-MY_PV=$(get_version_component_range 1-3)
-DEB_PV=$(get_version_component_range 4-5)
-DESCRIPTION="create and edit the partition table of a disk partitioned in Atari format"
+MY_PV=$(ver_cut 1-3)
+DEB_PV=$(ver_cut 4-5)
+DESCRIPTION="Create and edit the partition table of a disk partitioned in Atari format"
HOMEPAGE="https://packages.qa.debian.org/a/atari-fdisk.html"
SRC_URI="mirror://debian/pool/main/a/${PN}/${PN}_${MY_PV}-${DEB_PV}.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
LICENSE="GPL-2"
SLOT="0"
@@ -17,14 +18,11 @@ SLOT="0"
# use this on 64bit systems (where sizeof(long) == 8), then misbehavior
# and memory corruption will ensue.
KEYWORDS="-* ~m68k x86"
-IUSE=""
-S=${WORKDIR}/${PN}-${MY_PV}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.7.1.5.4-prompt-logic.patch
- epatch "${FILESDIR}"/${PN}-0.7.1.5.4-gcc-5-inline.patch
-}
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.1.5.4-prompt-logic.patch
+ "${FILESDIR}"/${PN}-0.7.1.5.4-gcc-5-inline.patch
+)
src_compile() {
emake \
diff --git a/sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch b/sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch
new file mode 100644
index 000000000000..a3b5b2aaecbe
--- /dev/null
+++ b/sys-fs/atari-fdisk/files/atari-fdisk-0.7.1.5.4-globals.patch
@@ -0,0 +1,30 @@
+diff --color -Naur --ignore-all-space a/atari-fdisk.c b/atari-fdisk.c
+--- a/atari-fdisk.c 1998-09-19 02:29:27.000000000 +0100
++++ b/atari-fdisk.c 2021-09-04 22:41:35.286593292 +0100
+@@ -182,6 +182,7 @@
+ #endif
+
+ jmp_buf listingbuf;
++enum xpart_fmts xpart_fmt;
+
+
+
+diff --color -Naur --ignore-all-space a/fdisk.h b/fdisk.h
+--- a/fdisk.h 2021-09-04 22:24:42.258462148 +0100
++++ b/fdisk.h 2021-09-04 22:41:31.398481485 +0100
+@@ -86,11 +86,13 @@
+ char *name;
+ };
+
+-enum {
++enum xpart_fmts {
+ xfmt_unknown,
+ xfmt_AHDI,
+ xfmt_ICD
+-} xpart_fmt; /* which format used for >4 part.s */
++}; /* which format used for >4 part.s */
++
++extern enum xpart_fmts xpart_fmt;
+
+ #define MAX_PRIMARY_AHDI 4
+ #define MAX_PRIMARY_ICD 12
diff --git a/sys-fs/atari-fdisk/metadata.xml b/sys-fs/atari-fdisk/metadata.xml
index 66aa7666588f..025b302f358a 100644
--- a/sys-fs/atari-fdisk/metadata.xml
+++ b/sys-fs/atari-fdisk/metadata.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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-headers/Manifest b/sys-fs/aufs-headers/Manifest
index aad43cc826c1..8efdacf06e73 100644
--- a/sys-fs/aufs-headers/Manifest
+++ b/sys-fs/aufs-headers/Manifest
@@ -1,3 +1 @@
-DIST aufs-headers-4.14_p20180709.tar.xz 3352 BLAKE2B 31b1573de9305518ef7935d7166d720f055c4b70de48943910d9041f976f483759af1998e6aa1dccff89fad0ff391686c4e18c867e700fcd4bb1211cc0004cc6 SHA512 e2c4e90c555edc072ebcb348de50e5ec9ba6e2785758d10f14e43c8a03980dfadd58bc9cd37c811648bfabda37e6ed7d0bf36d7099edd26f40672b0ca0f2f226
DIST aufs-headers-4.14_p20190603.tar.xz 3352 BLAKE2B 771597a8812030caaf39f5b1d087fd9e815c6d4b0deda8a8f64c05e9cf21ceefd9001a6491ab87db3a3fedb6d8d7f510db334ddb32a6f1b52230a7ea83242ad1 SHA512 4cee3900ff832bbd76fe68868c60fa29b9a5680ea7ef34fdc7f838c50be699616035929734badc89afa06dc429ec795cfbf16a5a76d6928cc8cdc4ec86491a58
-DIST aufs-headers-4.1_p20170130.tar.xz 3136 BLAKE2B cda05eed3429c84dae70a5c88600e4369d4997cca5d0b8f21c82dcb3449b0b88ac27b3e3216034272a6f2ff53aa455b3eb9dc23fc7cc77473aa53943340df9c7 SHA512 d8099a59784739b76eac74de7113754981b6d2d4155eaf42f9d36ea4b6c84f6f49cd96ce0b9e19b2507674cd9b91667fe8520f1cfb7ff0e1d5c58596e784c6d0
diff --git a/sys-fs/aufs-headers/aufs-headers-4.14_p20180709.ebuild b/sys-fs/aufs-headers/aufs-headers-4.14_p20180709.ebuild
deleted file mode 100644
index 1a3ae3719eb1..000000000000
--- a/sys-fs/aufs-headers/aufs-headers-4.14_p20180709.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="User space headers for aufs3"
-HOMEPAGE="http://aufs.sourceforge.net/"
-# Clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs4-linux.git
-# Check aufs release Branch
-# Create .config
-# make headers_install INSTALL_HDR_PATH=${T}
-# find ${T} -type f \( ! -name "*aufs*" \) -delete
-# find ${T} -type d -empty -delete
-SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}"
-
-src_install() {
- doheader -r include/*
-}
diff --git a/sys-fs/aufs-headers/aufs-headers-4.1_p20170130.ebuild b/sys-fs/aufs-headers/aufs-headers-4.1_p20170130.ebuild
deleted file mode 100644
index 9cdf2fc061a1..000000000000
--- a/sys-fs/aufs-headers/aufs-headers-4.1_p20170130.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit versionator
-
-DESCRIPTION="User space headers for aufs3"
-HOMEPAGE="http://aufs.sourceforge.net/"
-# Clone git://aufs.git.sourceforge.net/gitroot/aufs/aufs3-linux.git
-# Check aufs release Branch
-# Create .config
-# make headers_install INSTALL_HDR_PATH=${T}
-# find ${T} -type f \( ! -name "*aufs*" \) -delete
-# find ${T} -type d -empty -delete
-SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-S="${WORKDIR}"
-
-src_install() {
- doheader -r include/*
-}
diff --git a/sys-fs/aufs-headers/metadata.xml b/sys-fs/aufs-headers/metadata.xml
index 29a36d2b826b..4b0ae9849040 100644
--- a/sys-fs/aufs-headers/metadata.xml
+++ b/sys-fs/aufs-headers/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/aufs-util/Manifest b/sys-fs/aufs-util/Manifest
index 2023a0d0af07..d57dfcbf506f 100644
--- a/sys-fs/aufs-util/Manifest
+++ b/sys-fs/aufs-util/Manifest
@@ -1,3 +1 @@
-DIST aufs-util-4.14_p20180709.tar.xz 103724 BLAKE2B 50df13812b090e5d8aa9a07009822f9a324091471243a76c9432ea22698a6167273e661f5ebf176fb3cc419fbe560e82ff73d6e3b37ed0a85a01e6315b06c8ac SHA512 f6330dfc0ddc36102473d9931c62a7f9a5549a3ad2b78ababedf68d335ef02b155a90327dd0c7d446182530db755b9ff756533f90c540bf8aacca5eb117555df
DIST aufs-util-4.14_p20190603.tar.xz 104096 BLAKE2B 901c7405866cc8db490248b86e45e57375ea5d8db11505c0c15fd49f5bd9e7ea5a6c3d272bd8f001ac3db11665a9c3607565c7eb5be8cd5f45acf4b5f994ceb9 SHA512 803ce51a77c3e4942d3b8817be638c5e2440821088eeb58742eb0395b9c83f68975ed64a0410b6155b18edf0af47ef9df916be07d912fdb2bd4e94987a037fa7
-DIST aufs-util-4.1_p20170130.tar.xz 100144 BLAKE2B d3032feeb787e3864247890c2b77468cb39ac1936cebc7e2044a2a58bd84817401b0cf7ab42413ca2c6307430552b49fb642d45e04c42f2729c0a5f1ccfb1589 SHA512 bf47829bdd93472a318e3eb1fd76332a95a42b3ec39b4d3392baac419ca70bd47b7b0c6209592ad70c284ee997a71e3448e79fa0ad6b4a6db16ffa0c47ed11ca
diff --git a/sys-fs/aufs-util/aufs-util-4.14_p20180709.ebuild b/sys-fs/aufs-util/aufs-util-4.14_p20190603-r1.ebuild
index 98b1a6c96eae..d431b328c487 100644
--- a/sys-fs/aufs-util/aufs-util-4.14_p20180709.ebuild
+++ b/sys-fs/aufs-util/aufs-util-4.14_p20190603-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-inherit eutils flag-o-matic 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/"
@@ -12,9 +12,8 @@ SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
# xz -ve9 *.tar
SLOT="0"
-LICENSE="GPL-2"
+LICENSE="GPL-2+"
KEYWORDS="~amd64 ~x86"
-IUSE=""
RDEPEND="
!sys-fs/aufs2
@@ -42,7 +41,18 @@ src_prepare() {
-i fhsm/Makefile || die
tc-export CC AR
- export HOSTCC=$(tc-getCC)
+ export HOSTCC="$(tc-getCC)"
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/aufs-util/aufs-util-4.14_p20190603.ebuild b/sys-fs/aufs-util/aufs-util-4.14_p20190603.ebuild
deleted file mode 100644
index 98b1a6c96eae..000000000000
--- a/sys-fs/aufs-util/aufs-util-4.14_p20190603.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit eutils flag-o-matic linux-info multilib toolchain-funcs
-
-DESCRIPTION="Utilities are always necessary for aufs"
-HOMEPAGE="http://aufs.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
-# git archive -v --prefix=${P}/ --remote=git://git.code.sf.net/p/aufs/aufs-util aufs4.14 -o ${P}.tar
-# xz -ve9 *.tar
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- !sys-fs/aufs2
- !<sys-fs/aufs3-3_p20130318"
-DEPEND="${RDEPEND}
- ~sys-fs/aufs-headers-${PV}"
-
-src_prepare() {
- sed \
- -e "/LDFLAGS += -static -s/d" \
- -e "/CFLAGS/s:-O::g" \
- -e "s:/usr/lib:/usr/$(get_libdir):g" \
- -i Makefile || die
-
- sed \
- -e '/LDFLAGS/s: -s::g' \
- -e "s:m 644 -s:m 644:g" \
- -e "s:/usr/lib:/usr/$(get_libdir):g" \
- -i libau/Makefile || die
-
- sed \
- -e '/LDFLAGS/s: -s::g' \
- -e '/LDLIBS/s:-lrt::g' \
- -e '/LDLIBS/s:$: -lrt:g' \
- -i fhsm/Makefile || die
-
- tc-export CC AR
- export HOSTCC=$(tc-getCC)
- export STRIP=true
- default
-}
diff --git a/sys-fs/aufs-util/aufs-util-4.1_p20170130.ebuild b/sys-fs/aufs-util/aufs-util-4.1_p20170130.ebuild
deleted file mode 100644
index a709e0871aa6..000000000000
--- a/sys-fs/aufs-util/aufs-util-4.1_p20170130.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils flag-o-matic linux-info multilib toolchain-funcs
-
-DESCRIPTION="Utilities are always necessary for aufs"
-HOMEPAGE="http://aufs.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
-# git archive -v --prefix=${P}/ --remote=git://git.code.sf.net/p/aufs/aufs-util aufs4.0 -o ${P}.tar
-# xz -ve9 *.tar
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- !sys-fs/aufs2
- !<sys-fs/aufs3-3_p20130318"
-DEPEND="${RDEPEND}
- ~sys-fs/aufs-headers-${PV}"
-
-src_prepare() {
- sed \
- -e "/LDFLAGS += -static -s/d" \
- -e "/CFLAGS/s:-O::g" \
- -i Makefile || die
-
- sed \
- -e '/LDFLAGS/s: -s::g' \
- -e "s:m 644 -s:m 644:g" \
- -e "s:/usr/lib:/usr/$(get_libdir):g" \
- -i libau/Makefile || die
-
- sed \
- -e '/LDFLAGS/s: -s::g' \
- -e '/LDLIBS/s:-lrt::g' \
- -e '/LDLIBS/s:$: -lrt:g' \
- -i fhsm/Makefile || die
-
- tc-export CC AR
- export HOSTCC=$(tc-getCC)
- default
-}
diff --git a/sys-fs/aufs-util/metadata.xml b/sys-fs/aufs-util/metadata.xml
index 29a36d2b826b..4b0ae9849040 100644
--- a/sys-fs/aufs-util/metadata.xml
+++ b/sys-fs/aufs-util/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
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/autorun/metadata.xml b/sys-fs/autorun/metadata.xml
index e0205f85b3f2..8bf002f33198 100644
--- a/sys-fs/autorun/metadata.xml
+++ b/sys-fs/autorun/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/avfs/Manifest b/sys-fs/avfs/Manifest
index 3b889a6b3435..ea3522142b38 100644
--- a/sys-fs/avfs/Manifest
+++ b/sys-fs/avfs/Manifest
@@ -1 +1,2 @@
-DIST avfs-1.1.1.tar.bz2 606819 BLAKE2B 240bb342dc9f993ac8deb60941411b1419c190f9909b5b1bde65777b82f622e121f44f238d2bd8ddc303c86ef376950d4af773c8fae79848b466ec3a3c5aafc1 SHA512 0707f8e746d8d3633755b1a1efb944a400c095b517a7befd75de4d25e2fad1a1b5132b9cf94285b05ad1344bfc138ec75e9cb5f8a5d7775a69595b9b35266f92
+DIST avfs-1.1.3.tar.bz2 609901 BLAKE2B 2eea31365533372fc5ea252d57da97a8e0d362b6db5f0a6e10af9255105ccdcadbd7f5157aafd63244da2c7a53dcbc6781d0c4ba5ca231ce2937855d400ea4e5 SHA512 8e87655cbdb64f0cbbcc399142957ea9e04a998953cc64def9c8bb338b46abffc85a35e09b5fa52bb9ddcf56e27c4f62503050d32c8201eaad61c54e22bdd005
+DIST avfs-1.1.4.tar.bz2 614657 BLAKE2B a742f2e7fd4f97f2a3207cfe95d9358cfd895e4c047c39bbbf3ac0a35e1702542339f46199ba5f92868ceb48f009736a513431c0467ba49d9aacf73a667956ec SHA512 5caa7050e6b9cdce0b5ccd515af8233dc1e9226a97cdf3a3284ced5edd44fbde426049b4ce500ce1daf020d085f9f0a9f81eff339657e92ff2d09b1dec6e4267
diff --git a/sys-fs/avfs/avfs-1.1.1.ebuild b/sys-fs/avfs/avfs-1.1.3.ebuild
index eea80dedaca1..e3c177f4ba40 100644
--- a/sys-fs/avfs/avfs-1.1.1.ebuild
+++ b/sys-fs/avfs/avfs-1.1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,14 +10,21 @@ SRC_URI="mirror://sourceforge/avf/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86"
-IUSE="static-libs +lzma"
+IUSE="+lzma webdav +zstd"
-RDEPEND=">=sys-fs/fuse-2.4:0
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+"
+RDEPEND="
+ app-arch/bzip2:=
+ >=sys-fs/fuse-2.4:0
sys-libs/zlib
- app-arch/bzip2
- lzma? ( app-arch/xz-utils )"
+ lzma? ( app-arch/xz-utils )
+ webdav? ( net-libs/neon:= )
+ zstd? ( app-arch/zstd:= )
+"
DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
src_configure() {
econf \
@@ -26,15 +33,17 @@ src_configure() {
--enable-shared \
--with-system-zlib \
--with-system-bzlib \
- $(use_enable static-libs static) \
- $(use_with lzma xz)
+ --disable-static \
+ $(use_enable webdav dav) \
+ $(use_with lzma xz) \
+ $(use_with zstd)
}
src_install() {
default
# remove cruft
- rm "${D}"/usr/bin/{davpass,ftppass} || die
+ rm "${ED}"/usr/bin/{davpass,ftppass} || die
# install docs
dodoc doc/{api-overview,background,FORMAT,INSTALL.*,README.avfs-fuse}
@@ -47,7 +56,7 @@ src_install() {
}
pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
einfo "This version of AVFS includes FUSE support. It is user-based."
einfo "To execute:"
einfo "1) as user, mkdir ~/.avfs"
diff --git a/sys-fs/avfs/avfs-1.1.4.ebuild b/sys-fs/avfs/avfs-1.1.4.ebuild
new file mode 100644
index 000000000000..3a1a43f1c43f
--- /dev/null
+++ b/sys-fs/avfs/avfs-1.1.4.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="AVFS is a virtual filesystem that allows browsing of compressed files"
+HOMEPAGE="https://sourceforge.net/projects/avf/"
+SRC_URI="mirror://sourceforge/avf/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ppc ppc64 x86"
+IUSE="lzip +lzma webdav +zstd"
+
+RDEPEND="
+ app-arch/bzip2:=
+ >=sys-fs/fuse-2.4:0
+ sys-libs/zlib
+ lzip? ( app-arch/lzlib )
+ lzma? ( app-arch/xz-utils )
+ webdav? ( net-libs/neon:= )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-build/libtool
+ virtual/pkgconfig
+"
+
+src_configure() {
+ econf \
+ --enable-fuse \
+ --enable-library \
+ --enable-shared \
+ --with-system-zlib \
+ --with-system-bzlib \
+ --disable-static \
+ $(use_enable webdav dav) \
+ $(use_with lzip) \
+ $(use_with lzma xz) \
+ $(use_with zstd)
+}
+
+src_install() {
+ default
+
+ # remove cruft
+ rm "${ED}"/usr/bin/{davpass,ftppass} || die
+
+ # install docs
+ dodoc doc/{api-overview,background,FORMAT,INSTALL.*,README.avfs-fuse}
+ dosym ../../../$(get_libdir)/avfs/extfs/README /usr/share/doc/${PF}/README.extfs
+
+ docinto scripts
+ dodoc scripts/*pass
+
+ find "${ED}" -name "*.la" -delete || die
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ einfo "This version of AVFS includes FUSE support. It is user-based."
+ einfo "To execute:"
+ einfo "1) as user, mkdir ~/.avfs"
+ einfo "2) make sure fuse is either compiled into the kernel OR"
+ einfo " modprobe fuse or add to startup."
+ einfo "3) run mountavfs"
+ einfo "To unload daemon, type umountavfs"
+ einfo
+ einfo "READ the documentation! Enjoy :)"
+ fi
+}
diff --git a/sys-fs/avfs/metadata.xml b/sys-fs/avfs/metadata.xml
index 1b7b6a05415d..abc19d73a0e0 100644
--- a/sys-fs/avfs/metadata.xml
+++ b/sys-fs/avfs/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <use>
+ <flag name="webdav">Allow mounting WebDAV shares via <pkg>net-libs/neon</pkg></flag>
+ </use>
<upstream>
<remote-id type="sourceforge">avf</remote-id>
+ <changelog>https://sourceforge.net/p/avf/git/ci/master/tree/NEWS</changelog>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/bashmount/Manifest b/sys-fs/bashmount/Manifest
index a0dd9e8934c7..03113e4235af 100644
--- a/sys-fs/bashmount/Manifest
+++ b/sys-fs/bashmount/Manifest
@@ -1 +1 @@
-DIST bashmount-3.2.0.tar.gz 18152 BLAKE2B 61ced33a9d912d1bb9ad7ba4f9331830523ad0a35aa643ca71aa30618b0d94234d74823c6170e4047c9517aa07d1b70a59b780e6950f7888028e0143867d5866 SHA512 9fd287f67ecb61c9b72d1fc6a5b85b39d48671299585ad456ff3e14cf2304ad540de1462bbf3eafd333ac038cf8a7f2286f5077b896ea88dff570306f7c7d642
+DIST bashmount-4.3.2.tar.gz 47450 BLAKE2B 0dc45580b62aa55872753de17ee50e77e716e87498193c8dab0998f5a70994ad5cc9434c104bc1d6cc77d75d63688afae8be8e0e8ee4344249ded5f1719051c5 SHA512 ac18d76dc27099524f4051299dc5421e1e5811e943df21d64a1405b5cdf6401189d78571596f27c89c0d76ab40874392c0c90756ef5fa9c036f447ac884ee062
diff --git a/sys-fs/bashmount/bashmount-3.2.0.ebuild b/sys-fs/bashmount/bashmount-4.3.2-r1.ebuild
index 9124bc3307ef..8e32a9ab3a4d 100644
--- a/sys-fs/bashmount/bashmount-3.2.0.ebuild
+++ b/sys-fs/bashmount/bashmount-4.3.2-r1.ebuild
@@ -1,24 +1,23 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
DESCRIPTION="Bash script that uses udisks to mount removable devices without GUI"
-HOMEPAGE="https://sourceforge.net/projects/bashmount/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="https://github.com/jamielinux/bashmount"
+SRC_URI="https://github.com/jamielinux/bashmount/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
+KEYWORDS="amd64 ~arm ~arm64 x86"
# sys-apps/util-linux -> lsblk
-RDEPEND="app-shells/bash
+RDEPEND="
+ app-shells/bash:*
sys-apps/dbus
sys-apps/util-linux
- sys-fs/udisks:2
- virtual/eject"
-DEPEND=""
+ sys-fs/udisks:2"
+DEPEND="${RDEPEND}"
src_install() {
dobin ${PN}
diff --git a/sys-fs/bashmount/metadata.xml b/sys-fs/bashmount/metadata.xml
index 16ee64e7f2d8..e5e3f70bfe4d 100644
--- a/sys-fs/bashmount/metadata.xml
+++ b/sys-fs/bashmount/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
<upstream>
<remote-id type="sourceforge">bashmount</remote-id>
</upstream>
diff --git a/sys-fs/bcache-tools/Manifest b/sys-fs/bcache-tools/Manifest
index 6ba99db65f7f..758c849ef533 100644
--- a/sys-fs/bcache-tools/Manifest
+++ b/sys-fs/bcache-tools/Manifest
@@ -1,4 +1,2 @@
-DIST bcache-status-20140220.tar.gz 3779 BLAKE2B a3fa5e9d87b2c51f1f5178693db6d9f8b4bde31c77783d1ebd9de6e81995d89a4b07df43178cba384757b212087c474a0508640d1d3ddcd97d3d928643971e4a SHA512 0c8db02dc865b469f3a5964f679a3bfdf5cdbf5a2f6ccd5d81544f3bb3c06df2f5d06b9f09aaec527ec90229740dcd31fbb33e2628721b6da139cfcee6b48d7c
-DIST bcache-tools-1.0.5.tgz 21934 BLAKE2B 9761fd0b7b7fa5a9a6911576988065b80ada0fbb52a094b1290affca302b2b995f0418ed65ab5af6de71c7d18953606968cc910e7b4c4f8cb2e0e9970c8e7d7c SHA512 aaf27e4cc3037d482cb14c8bb083c1ce5cda5641a19cec67ca1ad22cde71ce035e49701145c6d920b4d62058897c4b7d29d341b3b8bd436c9c51e2f8bdb5c568
-DIST bcache-tools-1.0.8.tgz 22153 BLAKE2B d40a64b02e0d66ef8868151870715f6e6ab54633e4875c32d0e03dfe1871e5aa98d7e133b9eed583ac4898b1598f38b71e47109210009ca51c4dfe9dbd31768c SHA512 21eaed457e5de623089c0d4e1c11394a3950f29c749c502bfd5dd94d3dcdc7379c4a910825e33bf9fc8080df656949b94a1a28d19048a8eb6422976cb391b7dc
-DIST bcache-tools-1.0.8_p20140220.tgz 22153 BLAKE2B d40a64b02e0d66ef8868151870715f6e6ab54633e4875c32d0e03dfe1871e5aa98d7e133b9eed583ac4898b1598f38b71e47109210009ca51c4dfe9dbd31768c SHA512 21eaed457e5de623089c0d4e1c11394a3950f29c749c502bfd5dd94d3dcdc7379c4a910825e33bf9fc8080df656949b94a1a28d19048a8eb6422976cb391b7dc
+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.0.5.ebuild b/sys-fs/bcache-tools/bcache-tools-1.0.5.ebuild
deleted file mode 100644
index ed33527ffb9e..000000000000
--- a/sys-fs/bcache-tools/bcache-tools-1.0.5.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs udev
-
-DESCRIPTION="Tools for bcachefs"
-HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI="https://github.com/g2p/bcache-tools/archive/v${PV}.tar.gz -> ${P}.tgz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-RDEPEND=">=sys-apps/util-linux-2.24"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- tc-export CC
- sed \
- -e '/^CFLAGS/s:-O2::' \
- -e '/^CFLAGS/s:-g:-std=gnu89:' \
- -i Makefile || die
-}
-
-src_install() {
- into /
- dosbin make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache
-
- 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
-}
-
-pkg_postinst() {
- udev_reload
-}
diff --git a/sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild b/sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild
deleted file mode 100644
index ed33527ffb9e..000000000000
--- a/sys-fs/bcache-tools/bcache-tools-1.0.8.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit toolchain-funcs udev
-
-DESCRIPTION="Tools for bcachefs"
-HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI="https://github.com/g2p/bcache-tools/archive/v${PV}.tar.gz -> ${P}.tgz"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-RDEPEND=">=sys-apps/util-linux-2.24"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- tc-export CC
- sed \
- -e '/^CFLAGS/s:-O2::' \
- -e '/^CFLAGS/s:-g:-std=gnu89:' \
- -i Makefile || die
-}
-
-src_install() {
- into /
- dosbin make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache
-
- 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
-}
-
-pkg_postinst() {
- udev_reload
-}
diff --git a/sys-fs/bcache-tools/bcache-tools-1.0.8_p20140220-r1.ebuild b/sys-fs/bcache-tools/bcache-tools-1.0.8_p20140220-r1.ebuild
deleted file mode 100644
index 9052ec7ba751..000000000000
--- a/sys-fs/bcache-tools/bcache-tools-1.0.8_p20140220-r1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit eutils flag-o-matic python-r1 toolchain-funcs udev
-
-DESCRIPTION="Tools for bcachefs"
-HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI="
- https://github.com/g2p/bcache-tools/archive/v${PV%%_p*}.tar.gz -> ${P}.tgz
- https://dev.gentoo.org/~jlec/distfiles/bcache-status-20140220.tar.gz
-"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=sys-apps/util-linux-2.24"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PV}/bcache-status-python3.patch
- "${FILESDIR}"/${PV}/bcache-tools-1.0.8-crc64.patch
- "${FILESDIR}"/${PV}/bcache-tools-1.0.8-noprobe.patch
- "${FILESDIR}"/${PV}/bcache-tools-20131018-fedconf.patch
- "${FILESDIR}"/${PV}/bcache-tools-status-20130826-man.patch
-)
-
-S="${WORKDIR}"/${P%%_p*}
-
-src_prepare() {
- tc-export CC
- sed \
- -e '/^CFLAGS/s:-O2::' \
- -e '/^CFLAGS/s:-g:-std=gnu99:' \
- -i Makefile || die
-
- append-lfs-flags
-
- cp ../bcache-status*/bcache-status . || die
-
- epatch "${PATCHES[@]}"
-}
-
-src_install() {
- into /
- dosbin make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache
-
- 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
-}
-
-pkg_postinst() {
- udev_reload
-}
diff --git a/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
new file mode 100644
index 000000000000..b4ba9e225346
--- /dev/null
+++ b/sys-fs/bcache-tools/bcache-tools-1.1-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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/"
+
+SLOT="0"
+LICENSE="GPL-2"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ sys-apps/util-linux
+ virtual/udev
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/1.0.8_p20140220/bcache-tools-1.0.8-noprobe.patch
+ "${FILESDIR}"/${PV}/bcache-tools-add-bcache-status.patch
+ "${FILESDIR}"/${PV}/bcache-tools-add-man-page-bcache-status.8.patch
+)
+
+src_prepare() {
+ default
+
+ tc-export CC
+ sed \
+ -e '/^CFLAGS/s:-O2::' \
+ -e '/^CFLAGS/s:-g::' \
+ -i Makefile || die
+
+ append-lfs-flags
+}
+
+src_install() {
+ into /
+ dosbin bcache make-bcache bcache-super-show
+
+ exeinto $(get_udevdir)
+ doexe bcache-register probe-bcache
+
+ 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
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
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 3bd398fac481..baefd75f9838 100644
--- a/sys-fs/bcache-tools/bcache-tools-9999.ebuild
+++ b/sys-fs/bcache-tools/bcache-tools-9999.ebuild
@@ -1,51 +1,68 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
-EGIT_NONSHALLOW=true
+PYTHON_COMPAT=( python3_{10..12} )
-inherit git-r3 toolchain-funcs udev
+inherit flag-o-matic python-r1 toolchain-funcs udev
-DESCRIPTION="Tools for bcachefs"
-HOMEPAGE="https://bcache.evilpiepirate.org/"
-SRC_URI=""
-EGIT_REPO_URI="https://github.com/g2p/bcache-tools.git"
+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/"
SLOT="0"
LICENSE="GPL-2"
-KEYWORDS=""
-IUSE=""
-RDEPEND=">=sys-apps/util-linux-2.24"
+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:-std=gnu89:' \
+ -e '/^CFLAGS/s:-g::' \
+ -e '/.*INSTALL.*share\/man/d' \
+ -e '/.*INSTALL.*bcache-status/d' \
-i Makefile || die
+
+ append-lfs-flags
}
src_install() {
- into /
- dosbin make-bcache bcache-super-show
-
- exeinto $(get_udevdir)
- doexe bcache-register probe-bcache
+ local udevdir="$(get_udevdir)"
- udev_dorules 69-bcache.rules
+ local mydirs=(
+ sbin
+ "${udevdir}/rules.d"
+ /usr/share/initramfs-tools/hooks/bcache
+ /usr/lib/initcpio/install/bcache
+ )
+ dodir "${mydirs[@]}"
- insinto /etc/initramfs-tools/hooks/bcache
- doins initramfs/hook
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="${EPREFIX}" \
+ UDEVLIBDIR="${udevdir}" \
+ DRACUTLIBDIR="/usr/lib/dracut" \
+ install
- insinto /etc/initcpio/install/bcache
- doins initcpio/install
-
- # that is what dracut does
- insinto /usr/lib/dracut/modules.d/90bcache
- doins dracut/module-setup.sh
+ python_foreach_impl python_doscript bcache-status
doman *.8
@@ -55,3 +72,7 @@ src_install() {
pkg_postinst() {
udev_reload
}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-status-python3.patch b/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-status-python3.patch
deleted file mode 100644
index 0cb08cc1a281..000000000000
--- a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-status-python3.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- bcache-tools-1.0.8/bcache-status.orig 2015-06-20 08:56:22.343589706 +0200
-+++ bcache-tools-1.0.8/bcache-status 2015-06-20 08:56:39.971692433 +0200
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Dumb script to dump (some) of bcache status
- # Copyright 2014 Darrick J. Wong. All rights reserved.
diff --git a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-crc64.patch b/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-crc64.patch
deleted file mode 100644
index 9b11d80c0091..000000000000
--- a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-crc64.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -ruN bcache-tools-1.0.8.orig/bcache.c bcache-tools-1.0.8/bcache.c
---- bcache-tools-1.0.8.orig/bcache.c 2014-12-04 23:51:24.000000000 +0100
-+++ bcache-tools-1.0.8/bcache.c 2015-05-22 19:40:41.039355096 +0200
-@@ -26,7 +26,7 @@
- * x^7 + x^4 + x + 1
- */
-
--static const uint64_t crc_table[256] = {
-+const uint64_t crc_table[256] = {
- 0x0000000000000000ULL, 0x42F0E1EBA9EA3693ULL, 0x85E1C3D753D46D26ULL,
- 0xC711223CFA3E5BB5ULL, 0x493366450E42ECDFULL, 0x0BC387AEA7A8DA4CULL,
- 0xCCD2A5925D9681F9ULL, 0x8E224479F47CB76AULL, 0x9266CC8A1C85D9BEULL,
-@@ -114,16 +114,3 @@
- 0x5DEDC41A34BBEEB2ULL, 0x1F1D25F19D51D821ULL, 0xD80C07CD676F8394ULL,
- 0x9AFCE626CE85B507ULL
- };
--
--inline uint64_t crc64(const void *_data, size_t len)
--{
-- uint64_t crc = 0xFFFFFFFFFFFFFFFFULL;
-- const unsigned char *data = _data;
--
-- while (len--) {
-- int i = ((int) (crc >> 56) ^ *data++) & 0xFF;
-- crc = crc_table[i] ^ (crc << 8);
-- }
--
-- return crc ^ 0xFFFFFFFFFFFFFFFFULL;
--}
-diff -ruN bcache-tools-1.0.8.orig/bcache.h bcache-tools-1.0.8/bcache.h
---- bcache-tools-1.0.8.orig/bcache.h 2014-12-04 23:51:24.000000000 +0100
-+++ bcache-tools-1.0.8/bcache.h 2015-05-22 19:40:34.924320569 +0200
-@@ -115,7 +115,20 @@
- #define BDEV_STATE_DIRTY 2U
- #define BDEV_STATE_STALE 3U
-
--uint64_t crc64(const void *_data, size_t len);
-+extern const uint64_t crc_table[];
-+
-+inline uint64_t crc64(const void *_data, size_t len)
-+{
-+ uint64_t crc = 0xFFFFFFFFFFFFFFFFULL;
-+ const unsigned char *data = _data;
-+
-+ while (len--) {
-+ int i = ((int) (crc >> 56) ^ *data++) & 0xFF;
-+ crc = crc_table[i] ^ (crc << 8);
-+ }
-+
-+ return crc ^ 0xFFFFFFFFFFFFFFFFULL;
-+}
-
- #define node(i, j) ((void *) ((i)->d + (j)))
- #define end(i) node(i, (i)->keys)
-Binary files bcache-tools-1.0.8.orig/bcache-register and bcache-tools-1.0.8/bcache-register differ
diff --git a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-probe-bcache-underlinking.patch b/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-probe-bcache-underlinking.patch
deleted file mode 100644
index c6ca74d68882..000000000000
--- a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-1.0.8-probe-bcache-underlinking.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix underlinking in GCC 4.9 and below
-
---- bcache-tools-1.0.8/Makefile
-+++ bcache-tools-1.0.8/Makefile
-@@ -24,7 +24,7 @@
- make-bcache: LDLIBS += `pkg-config --libs uuid blkid`
- make-bcache: CFLAGS += `pkg-config --cflags uuid blkid`
- make-bcache: bcache.o
--probe-bcache: LDLIBS += `pkg-config --libs uuid blkid`
-+probe-bcache: LDLIBS += `pkg-config --libs uuid blkid` bcache.o
- probe-bcache: CFLAGS += `pkg-config --cflags uuid blkid`
- bcache-super-show: LDLIBS += `pkg-config --libs uuid`
- bcache-super-show: CFLAGS += -std=gnu99
diff --git a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-20131018-fedconf.patch b/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-20131018-fedconf.patch
deleted file mode 100644
index 993ec216f888..000000000000
--- a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-20131018-fedconf.patch
+++ /dev/null
@@ -1,5 +0,0 @@
-diff -ruN bcache-tools-20130827.orig/configure bcache-tools-20130827/configure
---- bcache-tools-20130827.orig/configure 1970-01-01 01:00:00.000000000 +0100
-+++ bcache-tools-20130827/configure 2013-08-31 15:12:41.093218432 +0200
-@@ -0,0 +1 @@
-+#!/bin/sh
diff --git a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-status-20130826-man.patch b/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-status-20130826-man.patch
deleted file mode 100644
index 3eabb3f4b832..000000000000
--- a/sys-fs/bcache-tools/files/1.0.8_p20140220/bcache-tools-status-20130826-man.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -ruN bcache-tools-20130820.orig/bcache-status.8 bcache-tools-20130820/bcache-status.8
---- bcache-tools-20130820.orig/bcache-status.8 1970-01-01 01:00:00.000000000 +0100
-+++ bcache-tools-20130820/bcache-status.8 2013-08-26 23:32:02.477274882 +0200
-@@ -0,0 +1,45 @@
-+.TH bcache-status 8
-+.SH NAME
-+bcache-status \- Display useful bcache statistics
-+.SH SYNOPSIS
-+.B bcache-status
-+[\fB \--help\fR ]
-+[\fB \-f\fR ]
-+[\fB \-h\fR ]
-+[\fB \-d\fR ]
-+[\fB \-t\fR ]
-+[\fB \-a\fR ]
-+[\fB \-r\fR ]
-+[\fB \-s\fR ]
-+[\fB \-g\fR ]
-+.SH DESCRIPTION
-+This command displays useful bcache statistics in a convenient way.
-+.SH OPTIONS
-+.TP
-+.BR \---help
-+Print help message and exit.
-+.TP
-+.BR \-f,\ --five-minute
-+Print the last five minutes of stats.
-+.TP
-+.BR \-h,\ --hour
-+Print the last hour of stats.
-+.TP
-+.BR \-d,\ --day
-+Print the last day of stats.
-+.TP
-+.BR \-t,\ --total
-+Print total stats.
-+.TP
-+.BR \-a,\ --all
-+Print all stats.
-+.TP
-+.BR \-r,\ --reset-stats
-+Reset stats after printing them.
-+.TP
-+.BR \-s,\ --sub-status
-+Print subdevice status.
-+.TP
-+.BR \-g,\ --gc
-+Print subdevice status.
-+
diff --git a/sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch
new file mode 100644
index 000000000000..bd58d0a309d5
--- /dev/null
+++ b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-bcache-status.patch
@@ -0,0 +1,381 @@
+From 10824170800268e91508e2edc6ed745f40370f0a Mon Sep 17 00:00:00 2001
+From: Coly Li <colyli@suse.de>
+Date: Wed, 2 Sep 2020 19:27:08 +0800
+Subject: [PATCH 1/2] bcache-tools: add bcache-status
+
+People request to include bcache-status into bcache-tools package. This
+patch picks bcache-status script from github page of the orginal author
+Darrick J. Wong,
+ https://github.com/djwong/bcache-tools/blob/master/bcache-status
+
+Thanks to Darrick for writing the great bcache-status, and I will keep
+this script being updated from Darrick's repo time to time.
+
+Signed-off-by: Coly Li <colyli@suse.de>
+Cc: Darrick J. Wong <darrick.wong@oracle.com>
+---
+ bcache-status | 352 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 352 insertions(+)
+ create mode 100755 bcache-status
+
+diff --git a/bcache-status b/bcache-status
+new file mode 100755
+index 0000000..ac5a22f
+--- /dev/null
++++ b/bcache-status
+@@ -0,0 +1,352 @@
++#!/usr/bin/env python
++#
++# Dumb script to dump (some) of bcache status
++# Copyright 2014 Darrick J. Wong. All rights reserved.
++#
++# This file is part of Bcache. Bcache is free software: you can
++# redistribute it and/or modify it under the terms of the GNU General Public
++# License as published by the Free Software Foundation, version 2.
++#
++# This program is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
++# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
++# details.
++#
++# You should have received a copy of the GNU General Public License along with
++# this program; if not, write to the Free Software Foundation, Inc., 51
++# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++
++import os
++import sys
++import argparse
++
++MAX_KEY_LENGTH = 28
++DEV_BLOCK_PATH = '/dev/block/'
++SYSFS_BCACHE_PATH = '/sys/fs/bcache/'
++SYSFS_BLOCK_PATH = '/sys/block/'
++
++def file_to_lines(fname):
++ try:
++ with open(fname, "r") as fd:
++ return fd.readlines()
++ except:
++ return []
++
++def file_to_line(fname):
++ ret = file_to_lines(fname)
++ if ret:
++ return ret[0].strip()
++ return ''
++
++def str_to_bool(x):
++ return x == '1'
++
++def format_sectors(x):
++ '''Pretty print a sector count.'''
++ sectors = float(x)
++ asectors = abs(sectors)
++
++ if asectors < 2:
++ return '%d B' % (sectors * 512)
++ elif asectors < 2048:
++ return '%.2f KiB' % (sectors / 2)
++ elif asectors < 2097152:
++ return '%.1f MiB' % (sectors / 2048)
++ elif asectors < 2147483648:
++ return '%.0f GiB' % (sectors / 2097152)
++ else:
++ return '%.0f TiB' % (sectors / 2147483648)
++
++def interpret_sectors(x):
++ '''Interpret a pretty-printed disk size.'''
++ factors = {
++ 'k': 1 << 10,
++ 'M': 1 << 20,
++ 'G': 1 << 30,
++ 'T': 1 << 40,
++ 'P': 1 << 50,
++ 'E': 1 << 60,
++ 'Z': 1 << 70,
++ 'Y': 1 << 80,
++ }
++
++ factor = 1
++ if x[-1] in factors:
++ factor = factors[x[-1]]
++ x = x[:-1]
++ return int(float(x) * factor / 512)
++
++def pretty_size(x):
++ return format_sectors(interpret_sectors(x))
++
++def device_path(x):
++ if not os.path.isdir(DEV_BLOCK_PATH):
++ return '?'
++ x = '%s/%s' % (DEV_BLOCK_PATH, x)
++ return os.path.abspath(os.path.join(os.path.dirname(x), os.readlink(x)))
++
++def str_device_path(x):
++ return '%s (%s)' % (device_path(x), x)
++
++def dump_bdev(bdev_path):
++ '''Dump a backing device stats.'''
++ global MAX_KEY_LENGTH
++ attrs = [
++ ('../dev', 'Device File', str_device_path),
++ ('dev/dev', 'bcache Device File', str_device_path),
++ ('../size', 'Size', format_sectors),
++ ('cache_mode', 'Cache Mode', None),
++ ('readahead', 'Readahead', None),
++ ('sequential_cutoff', 'Sequential Cutoff', pretty_size),
++ ('sequential_merge', 'Merge sequential?', str_to_bool),
++ ('state', 'State', None),
++ ('writeback_running', 'Writeback?', str_to_bool),
++ ('dirty_data', 'Dirty Data', pretty_size),
++ ('writeback_rate', 'Writeback Rate', lambda x: '%s/s' % x),
++ ('writeback_percent', 'Dirty Target', lambda x: '%s%%' % x),
++ ]
++
++ print('--- Backing Device ---')
++ for (sysfs_name, display_name, conversion_func) in attrs:
++ val = file_to_line('%s/%s' % (bdev_path, sysfs_name))
++ if conversion_func is not None:
++ val = conversion_func(val)
++ if display_name is None:
++ display_name = sysfs_name
++ print(' %-*s%s' % (MAX_KEY_LENGTH - 2, display_name, val))
++
++def dump_cachedev(cachedev_path):
++ '''Dump a cachding device stats.'''
++ def fmt_cachesize(val):
++ return '%s\t(%.0f%%)' % (format_sectors(val), float(val) / cache_size * 100)
++
++ global MAX_KEY_LENGTH
++ attrs = [
++ ('../dev', 'Device File', str_device_path),
++ ('../size', 'Size', format_sectors),
++ ('block_size', 'Block Size', pretty_size),
++ ('bucket_size', 'Bucket Size', pretty_size),
++ ('cache_replacement_policy', 'Replacement Policy', None),
++ ('discard', 'Discard?', str_to_bool),
++ ('io_errors', 'I/O Errors', None),
++ ('metadata_written', 'Metadata Written', pretty_size),
++ ('written', 'Data Written', pretty_size),
++ ('nbuckets', 'Buckets', None),
++ (None, 'Cache Used', lambda x: fmt_cachesize(used_sectors)),
++ (None, 'Cache Unused', lambda x: fmt_cachesize(unused_sectors)),
++ ]
++
++ stats = get_cache_priority_stats(cachedev_path)
++ cache_size = int(file_to_line('%s/../size' % cachedev_path))
++ unused_sectors = float(stats['Unused'][:-1]) * cache_size / 100
++ used_sectors = cache_size - unused_sectors
++
++ print('--- Cache Device ---')
++ for (sysfs_name, display_name, conversion_func) in attrs:
++ if sysfs_name is not None:
++ val = file_to_line('%s/%s' % (cachedev_path, sysfs_name))
++ if conversion_func is not None:
++ val = conversion_func(val)
++ if display_name is None:
++ display_name = sysfs_name
++ print(' %-*s%s' % (MAX_KEY_LENGTH - 2, display_name, val))
++
++def hits_to_str(hits_str, misses_str):
++ '''Render a hits/misses ratio as a string.'''
++ hits = int(hits_str)
++ misses = int(misses_str)
++
++ ret = '%d' % hits
++ if hits + misses != 0:
++ ret = '%s\t(%.d%%)' % (ret, 100 * hits / (hits + misses))
++ return ret
++
++def dump_stats(sysfs_path, indent_str, stats):
++ '''Dump stats on a bcache device.'''
++ stat_types = [
++ ('five_minute', 'Last 5min'),
++ ('hour', 'Last Hour'),
++ ('day', 'Last Day'),
++ ('total', 'Total'),
++ ]
++ attrs = ['bypassed', 'cache_bypass_hits', 'cache_bypass_misses', 'cache_hits', 'cache_misses']
++ display = [
++ ('Hits', lambda: hits_to_str(stat_data['cache_hits'], stat_data['cache_misses'])),
++ ('Misses', lambda: stat_data['cache_misses']),
++ ('Bypass Hits', lambda: hits_to_str(stat_data['cache_bypass_hits'], stat_data['cache_bypass_misses'])),
++ ('Bypass Misses', lambda: stat_data['cache_bypass_misses']),
++ ('Bypassed', lambda: pretty_size(stat_data['bypassed'])),
++ ]
++
++ for (sysfs_name, stat_display_name) in stat_types:
++ if len(stats) > 0 and sysfs_name not in stats:
++ continue
++ stat_data = {}
++ for attr in attrs:
++ val = file_to_line('%s/stats_%s/%s' % (sysfs_path, sysfs_name, attr))
++ stat_data[attr] = val
++ for (display_name, str_func) in display:
++ d = '%s%s %s' % (indent_str, stat_display_name, display_name)
++ print('%-*s%s' % (MAX_KEY_LENGTH, d, str_func()))
++
++def get_cache_priority_stats(cache):
++ '''Retrieve priority stats from a cache.'''
++ attrs = {}
++
++ for line in file_to_lines('%s/priority_stats' % cache):
++ x = line.split()
++ key = x[0]
++ value = x[1]
++ attrs[key[:-1]] = value
++ return attrs
++
++def dump_bcache(bcache_sysfs_path, stats, print_subdevices, device):
++ '''Dump bcache stats'''
++ def fmt_cachesize(val):
++ return '%s\t(%.0f%%)' % (format_sectors(val), 100.0 * val / cache_sectors)
++
++ attrs = [
++ (None, 'UUID', lambda x: os.path.basename(bcache_sysfs_path)),
++ ('block_size', 'Block Size', pretty_size),
++ ('bucket_size', 'Bucket Size', pretty_size),
++ ('congested', 'Congested?', str_to_bool),
++ ('congested_read_threshold_us', 'Read Congestion', lambda x: '%.1fms' % (int(x) / 1000)),
++ ('congested_write_threshold_us', 'Write Congestion', lambda x: '%.1fms' % (int(x) / 1000)),
++ (None, 'Total Cache Size', lambda x: format_sectors(cache_sectors)),
++ (None, 'Total Cache Used', lambda x: fmt_cachesize(cache_used_sectors)),
++ (None, 'Total Cache Unused', lambda x: fmt_cachesize(cache_unused_sectors)),
++ #('dirty_data', 'Dirty Data', lambda x: fmt_cachesize(interpret_sectors(x))), # disappeared in 3.13?
++ ('cache_available_percent', 'Evictable Cache', lambda x: '%s\t(%s%%)' % (format_sectors(float(x) * cache_sectors / 100), x)),
++ (None, 'Replacement Policy', lambda x: replacement_policies.pop() if len(replacement_policies) == 1 else '(Various)'),
++ (None, 'Cache Mode', lambda x: cache_modes.pop() if len(cache_modes) == 1 else '(Various)'),
++ ]
++
++ # Calculate aggregate data
++ cache_sectors = 0
++ cache_unused_sectors = 0
++ cache_modes = set()
++ replacement_policies = set()
++ for obj in os.listdir(bcache_sysfs_path):
++ if not os.path.isdir('%s/%s' % (bcache_sysfs_path, obj)):
++ continue
++ if obj.startswith('cache'):
++ cache_size = int(file_to_line('%s/%s/../size' % (bcache_sysfs_path, obj)))
++ cache_sectors += cache_size
++ cstats = get_cache_priority_stats('%s/%s' % (bcache_sysfs_path, obj))
++ unused_size = float(cstats['Unused'][:-1]) * cache_size / 100
++ cache_unused_sectors += unused_size
++ replacement_policies.add(file_to_line('%s/%s/cache_replacement_policy' % (bcache_sysfs_path, obj)))
++ elif obj.startswith('bdev'):
++ cache_modes.add(file_to_line('%s/%s/cache_mode' % (bcache_sysfs_path, obj)))
++ cache_used_sectors = cache_sectors - cache_unused_sectors
++
++ # Dump basic stats
++ print("--- bcache ---")
++ for (sysfs_name, display_name, conversion_func) in attrs:
++ if sysfs_name is not None:
++ val = file_to_line('%s/%s' % (bcache_sysfs_path, sysfs_name))
++ else:
++ val = None
++ if conversion_func is not None:
++ val = conversion_func(val)
++ if display_name is None:
++ display_name = sysfs_name
++ print('%-*s%s' % (MAX_KEY_LENGTH, display_name, val))
++ dump_stats(bcache_sysfs_path, '', stats)
++
++ # Dump sub-device stats
++ if not print_subdevices:
++ return
++ for obj in os.listdir(bcache_sysfs_path):
++ if not os.path.isdir('%s/%s' % (bcache_sysfs_path, obj)):
++ continue
++ if obj.startswith('bdev'):
++ dump_bdev('%s/%s' % (bcache_sysfs_path, obj))
++ dump_stats('%s/%s' % (bcache_sysfs_path, obj), ' ', stats)
++ elif obj.startswith('cache'):
++ dump_cachedev('%s/%s' % (bcache_sysfs_path, obj))
++
++def map_uuid_to_device():
++ '''Map bcache UUIDs to device files.'''
++ global SYSFS_BLOCK_PATH
++ ret = {}
++
++ if not os.path.isdir(SYSFS_BLOCK_PATH):
++ return ret
++ for bdev in os.listdir(SYSFS_BLOCK_PATH):
++ link = '%s%s/bcache/cache' % (SYSFS_BLOCK_PATH, bdev)
++ if not os.path.islink(link):
++ continue
++ basename = os.path.basename(os.readlink(link))
++ ret[basename] = file_to_line('%s%s/dev' % (SYSFS_BLOCK_PATH, bdev))
++ return ret
++
++def main():
++ '''Main function'''
++ global SYSFS_BCACHE_PATH
++ global uuid_map
++ stats = set()
++ reset_stats = False
++ print_subdevices = False
++ run_gc = False
++
++ parser = argparse.ArgumentParser(add_help=False)
++ parser.add_argument('--help', help='Show this help message and exit', action='store_true')
++ parser.add_argument('-f', '--five-minute', help='Print the last five minutes of stats.', action='store_true')
++ parser.add_argument('-h', '--hour', help='Print the last hour of stats.', action='store_true')
++ parser.add_argument('-d', '--day', help='Print the last day of stats.', action='store_true')
++ parser.add_argument('-t', '--total', help='Print total stats.', action='store_true')
++ parser.add_argument('-a', '--all', help='Print all stats.', action='store_true')
++ parser.add_argument('-r', '--reset-stats', help='Reset stats after printing them.', action='store_true')
++ parser.add_argument('-s', '--sub-status', help='Print subdevice status.', action='store_true')
++ parser.add_argument('-g', '--gc', help='Invoke GC before printing status.', action='store_true')
++ args = parser.parse_args()
++
++ if args.help:
++ parser.print_help()
++ return 0
++
++ if args.five_minute:
++ stats.add('five_minute')
++ if args.hour:
++ stats.add('hour')
++ if args.day:
++ stats.add('day')
++ if args.total:
++ stats.add('total')
++ if args.all:
++ stats.add('five_minute')
++ stats.add('hour')
++ stats.add('day')
++ stats.add('total')
++ if args.reset_stats:
++ reset_stats = True
++ if args.sub_status:
++ print_subdevices = True
++ if args.gc:
++ run_gc = True
++
++ if not stats:
++ stats.add('total')
++
++ uuid_map = map_uuid_to_device()
++ if not os.path.isdir(SYSFS_BCACHE_PATH):
++ print('bcache is not loaded.')
++ return
++ for cache in os.listdir(SYSFS_BCACHE_PATH):
++ if not os.path.isdir('%s%s' % (SYSFS_BCACHE_PATH, cache)):
++ continue
++
++ if run_gc:
++ with open('%s%s/internal/trigger_gc' % (SYSFS_BCACHE_PATH, cache), 'w') as fd:
++ fd.write('1\n')
++
++ dump_bcache('%s%s' % (SYSFS_BCACHE_PATH, cache), stats, print_subdevices, uuid_map.get(cache, '?'))
++
++ if reset_stats:
++ with open('%s%s/clear_stats' % (SYSFS_BCACHE_PATH, cache), 'w') as fd:
++ fd.write('1\n')
++
++if __name__ == '__main__':
++ main()
+--
+2.28.0
+
diff --git a/sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch
new file mode 100644
index 000000000000..cd999a994a16
--- /dev/null
+++ b/sys-fs/bcache-tools/files/1.1/bcache-tools-add-man-page-bcache-status.8.patch
@@ -0,0 +1,69 @@
+From 91fd5fb518ae535e36cff1ae188d1bcef874cf40 Mon Sep 17 00:00:00 2001
+From: Coly Li <colyli@suse.de>
+Date: Wed, 2 Sep 2020 20:09:06 +0800
+Subject: [PATCH 2/2] bcache-tools: add man page bcache-status.8
+
+Add the initial man page for bcache-status.
+
+Signed-off-by: Coly Li <colyli@suse.de>
+---
+ bcache-status.8 | 47 +++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 47 insertions(+)
+ create mode 100644 bcache-status.8
+
+diff --git a/bcache-status.8 b/bcache-status.8
+new file mode 100644
+index 0000000..f56cfb6
+--- /dev/null
++++ b/bcache-status.8
+@@ -0,0 +1,47 @@
++.TH bcache-status 8
++.SH NAME
++bcache-status \- Display useful bcache statistics
++
++.SH SYNOPSIS
++.B bcache-status [ --help ] [ -f ] [ -h ] [ -d ] [ -t ] [ -a ] [ -r ] [ -s ] [ -g ]
++
++.SH DESCRIPTION
++This command displays useful bcache statistics in a convenient way.
++
++.SH OPTIONS
++
++.TP
++.BR \-\-help
++Print help message and exit.
++
++.TP
++.BR \-f ", " \-\-five\-minute
++Print the last five minutes of stats.
++
++.TP
++.BR \-h ", " \-\-hour
++Print the last hour of stats.
++
++.TP
++.BR \-d ", " \-\-day
++Print the last day of stats.
++
++.TP
++.BR \-t ", " \-\-total
++Print total stats.
++
++.TP
++.BR \-a ", " \-\-all
++Print all stats.
++
++.TP
++.BR \-r ", " \-\-reset\-stats
++Reset stats after printing them.
++
++.TP
++.BR \-s ", " \-\-sub\-status
++Print subdevice status.
++
++.TP
++.BR \-g ", " \-\-gc
++Invoke GC before printing status (root only).
+--
+2.28.0
+
diff --git a/sys-fs/bcache-tools/metadata.xml b/sys-fs/bcache-tools/metadata.xml
index be52ca7a8c66..7c4e374d13a7 100644
--- a/sys-fs/bcache-tools/metadata.xml
+++ b/sys-fs/bcache-tools/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">g2p/bcache-tools</remote-id>
- </upstream>
+ <maintainer type="person">
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-fs/bcachefs-tools/Manifest b/sys-fs/bcachefs-tools/Manifest
new file mode 100644
index 000000000000..42d415af10d7
--- /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.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 bcachefs-tools-1.7.0.tar.gz 1103425 BLAKE2B 952310999035465a4e8621e8e3ef65e5a3ba50d40a0ca76a3ca8b7265bab2f33c40981d2ca83ef3ecc70a5da9cff0d002d2f9676aa6355d1717a0dad968828af SHA512 5f7934997c0cd6b893c67a87e9cb5060cdd37857d6761356bdb1c96572b67ea3a2c03c43fcbd8beb01b0cf9c30da3297d082ef40bb312f5ca40c85faa46cdd3a
+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.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..5763dd2e492e
--- /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-1.7.0.ebuild b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild
new file mode 100644
index 000000000000..e71c60bba299
--- /dev/null
+++ b/sys-fs/bcachefs-tools/bcachefs-tools-1.7.0.ebuild
@@ -0,0 +1,253 @@
+# 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..18} )
+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
+"
+
+QA_FLAGS_IGNORED="/sbin/bcachefs"
+
+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 e8d393d0f838..95df53082d6c 100644
--- a/sys-fs/bees/Manifest
+++ b/sys-fs/bees/Manifest
@@ -1 +1 @@
-DIST bees-0.6.1.tar.gz 124411 BLAKE2B fd6c875334cb610da94a4633351b7edc5a4ecf4ff467bb93c8559a1698fd29667d43955e0031498401ceeb3d8db13b5aeb80d2f16cd61e4d5a6607e432082c79 SHA512 cd44d21959d3ab4dda255f0a4a57bd3aeecfb9fee6ea26d68a1b5f84d407f75bd0b442ecf4fefc5ac856dcd9af035f44ceeff77a8926b164f97a15350efcee33
+DIST bees-0.10.tar.gz 177509 BLAKE2B 269cf65d5250a07297dfaee6c0fd6bc25199d63fe423d63ce39df8bcdb64d6f8110a0e03d0dc7dc1b105a8886f2a9364da8878481546eaa8dbf3dc46abc569ed SHA512 77a4ae3d66430c2d9dc0351c16c60bad95f21e238fc00f5f5787f55929ba75ee25212ac4bb4a3e4a9419cec27bbcfd2987aa925a54bc2872609b38a698dbedc3
diff --git a/sys-fs/bees/bees-0.6.1-r2.ebuild b/sys-fs/bees/bees-0.10.ebuild
index 3f4ce0f69aa4..a1b15c2ef627 100644
--- a/sys-fs/bees/bees-0.6.1-r2.ebuild
+++ b/sys-fs/bees/bees-0.10.ebuild
@@ -1,24 +1,24 @@
-# Copyright 2020 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
+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
- EGIT_REPO_URI="https://github.com/Zygo/bees.git"
+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"
+ KEYWORDS="amd64 ~arm64"
fi
LICENSE="GPL-3"
SLOT="0"
-IUSE="tools"
+IUSE=""
DEPEND="
>=sys-apps/util-linux-2.30.2
@@ -30,20 +30,12 @@ CONFIG_CHECK="~BTRFS_FS"
ERROR_BTRFS_FS="CONFIG_BTRFS_FS: bees does currently only work with btrfs"
PATCHES=(
- "${FILESDIR}/6001-lib-fix-non-local-lambda-expression-cannot-have-a-ca.patch"
- "${FILESDIR}/6002-context-workaround-to-prevent-LOGICAL_INO-and-btrfs-.patch"
- "${FILESDIR}/6003-process-Fix-gettid-ambiguity-with-glibc-2.30.patch"
- "${FILESDIR}/0001-HACK-musl-does-not-define-pthread_getname_np.patch"
+ "${FILESDIR}/0001-HACK-crucible-Work-around-kernel-memory-fragmentatio.patch"
)
pkg_pretend() {
if [[ ${MERGE_TYPE} != buildonly ]]; then
- if kernel_is -lt 4 4 3; then
- ewarn "Kernel versions below 4.4.3 lack critical features needed for bees to"
- ewarn "properly operate, so it won't work. It's recommended to run at least"
- ewarn "kernel version 4.11 for best performance and reliability."
- ewarn
- elif kernel_is -lt 4 11; 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."
@@ -54,10 +46,23 @@ 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 3 4; then
- ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running"
+ 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 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"
@@ -65,14 +70,15 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
-
- if kernel_is -lt 5 0 4; then
- ewarn "IMPORTANT: With kernel versions below 5.0.4, 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
+ 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"
@@ -80,20 +86,27 @@ pkg_pretend() {
fi
}
+src_prepare() {
+ default
+ sed -i 's/ -Werror//' makeflags || die
+}
+
src_configure() {
+ tc-export CC CXX AR
cat >localconf <<-EOF || die
- LIBEXEC_PREFIX=/usr/libexec
- PREFIX=/usr
- LIBDIR="$(get_libdir)"
+ ETC_PREFIX="${EPREFIX}/etc"
+ LIBEXEC_PREFIX="${EPREFIX}/usr/libexec"
+ PREFIX="${EPREFIX}/usr"
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
+ echo BEES_VERSION=v${PV} >>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 0bfb2654d893..1b164eb56b08 100644
--- a/sys-fs/bees/bees-9999.ebuild
+++ b/sys-fs/bees/bees-9999.ebuild
@@ -1,24 +1,24 @@
-# Copyright 1999-2019 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
+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
- EGIT_REPO_URI="https://github.com/Zygo/bees.git"
+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"
+ KEYWORDS="~amd64 ~arm64"
fi
LICENSE="GPL-3"
SLOT="0"
-IUSE="tools"
+IUSE=""
DEPEND="
>=sys-apps/util-linux-2.30.2
@@ -29,14 +29,13 @@ 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 4 3; then
- ewarn "Kernel versions below 4.4.3 lack critical features needed for bees to"
- ewarn "properly operate, so it won't work. It's recommended to run at least"
- ewarn "kernel version 4.11 for best performance and reliability."
- ewarn
- elif kernel_is -lt 4 11; 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."
@@ -47,10 +46,23 @@ 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 3 4; then
- ewarn "With kernel versions below 5.3.4, bees may trigger a btrfs bug when running"
+ 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 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"
@@ -58,14 +70,15 @@ pkg_pretend() {
ewarn "https://github.com/Zygo/bees/blob/master/docs/btrfs-kernel.md"
ewarn
fi
-
- if kernel_is -lt 5 0 4; then
- ewarn "IMPORTANT: With kernel versions below 5.0.4, 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
+ 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"
@@ -73,19 +86,27 @@ pkg_pretend() {
fi
}
+src_prepare() {
+ default
+ sed -i 's/ -Werror//' makeflags || die
+}
+
src_configure() {
+ tc-export CC CXX AR
cat >localconf <<-EOF || die
- LIBEXEC_PREFIX=/usr/libexec
- PREFIX=/usr
- LIBDIR=$(get_libdir)
+ ETC_PREFIX="${EPREFIX}/etc"
+ LIBEXEC_PREFIX="${EPREFIX}/usr/libexec"
+ PREFIX="${EPREFIX}/usr"
+ 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
+ echo BEES_VERSION=v${PV} >>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/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/files/6001-lib-fix-non-local-lambda-expression-cannot-have-a-ca.patch b/sys-fs/bees/files/6001-lib-fix-non-local-lambda-expression-cannot-have-a-ca.patch
deleted file mode 100644
index 60ab748eb2b6..000000000000
--- a/sys-fs/bees/files/6001-lib-fix-non-local-lambda-expression-cannot-have-a-ca.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 566df54a3f7458559b75455a95b1991b515ba6bf Mon Sep 17 00:00:00 2001
-From: Zygo Blaxell <zblaxell@thirteen.furryterror.org>
-Date: Wed, 12 Jun 2019 21:27:50 -0400
-Subject: [PATCH 1/2] lib: fix non-local lambda expression cannot have a
- capture-default
-
-We got away with this because GCC 4.8 (and apparently every GCC prior
-to 9) didn't notice or care, and because there is nothing referenced
-inside the lambda function body that isn't accessible from any other
-kind of function body (i.e. the capture wasn't needed at all).
-
-GCC 9 now enforces what the C++ standard said all along: there is
-no need to allow capture-default in this case, so it is not.
-
-Fix by removing the offending capture-default.
-
-Fixes: https://github.com/Zygo/bees/issues/112
-Signed-off-by: Zygo Blaxell <bees@furryterror.org>
----
- lib/error.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/error.cc b/lib/error.cc
-index f2a6db0..1d16a0a 100644
---- a/lib/error.cc
-+++ b/lib/error.cc
-@@ -32,7 +32,7 @@ namespace crucible {
-
- // FIXME: could probably avoid some of these levels of indirection
- static
-- function<void(string s)> current_catch_explainer = [&](string s) {
-+ function<void(string s)> current_catch_explainer = [](string s) {
- cerr << s << endl;
- };
-
---
-2.23.0
-
diff --git a/sys-fs/bees/files/6002-context-workaround-to-prevent-LOGICAL_INO-and-btrfs-.patch b/sys-fs/bees/files/6002-context-workaround-to-prevent-LOGICAL_INO-and-btrfs-.patch
deleted file mode 100644
index 6d8d2ea530d5..000000000000
--- a/sys-fs/bees/files/6002-context-workaround-to-prevent-LOGICAL_INO-and-btrfs-.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From f731ea8016c570243c783adef96681b535d9c927 Mon Sep 17 00:00:00 2001
-From: Zygo Blaxell <bees@furryterror.org>
-Date: Tue, 19 Nov 2019 16:01:31 -0500
-Subject: [PATCH 2/2] context: workaround to prevent LOGICAL_INO and btrfs
- balance from running concurrently
-
-This avoids some kernel bugs. One of them is fixed in 5.3.4 and later:
-
- efad8a853a "Btrfs: fix use-after-free when using the tree modification log"
-
-There are apparently others in current kernels, so for now just put bees
-on pause until the balance is done.
-
-At some point we may want to provide an option to disable this
-workaround; however, running bees and balance at the same time makes
-neither particularly fast, so maybe we'll just leave it this way.
-
-Signed-off-by: Zygo Blaxell <bees@furryterror.org>
----
- src/bees-context.cc | 31 +++++++++++++++++++++++++++++++
- src/bees.h | 4 ++++
- 2 files changed, 35 insertions(+)
-
-diff --git a/src/bees-context.cc b/src/bees-context.cc
-index 4e0a43e..0665019 100644
---- a/src/bees-context.cc
-+++ b/src/bees-context.cc
-@@ -760,11 +760,42 @@ BeesResolveAddrResult::BeesResolveAddrResult()
- {
- }
-
-+void
-+BeesContext::wait_for_balance()
-+{
-+ Timer balance_timer;
-+ BEESNOTE("WORKAROUND: waiting for balance to stop");
-+ while (true) {
-+ btrfs_ioctl_balance_args args;
-+ memset_zero<btrfs_ioctl_balance_args>(&args);
-+ const int ret = ioctl(root_fd(), BTRFS_IOC_BALANCE_PROGRESS, &args);
-+ if (ret < 0) {
-+ // Either can't get balance status or not running, exit either way
-+ break;
-+ }
-+
-+ if (!(args.state & BTRFS_BALANCE_STATE_RUNNING)) {
-+ // Balance not running, doesn't matter if paused or cancelled
-+ break;
-+ }
-+
-+ BEESLOGDEBUG("WORKAROUND: Waiting " << balance_timer << "s for balance to stop");
-+ sleep(BEES_BALANCE_POLL_INTERVAL);
-+ }
-+}
-+
- BeesResolveAddrResult
- BeesContext::resolve_addr_uncached(BeesAddress addr)
- {
- THROW_CHECK1(invalid_argument, addr, !addr.is_magic());
- THROW_CHECK0(invalid_argument, !!root_fd());
-+
-+ // Is there a bug where resolve and balance cause a crash (BUG_ON at fs/btrfs/ctree.c:1227)?
-+ // Apparently yes, and more than one.
-+ // Wait for the balance to finish before we run LOGICAL_INO
-+ wait_for_balance();
-+
-+ // Time how long this takes
- Timer resolve_timer;
-
- // There is no performance benefit if we restrict the buffer size.
-diff --git a/src/bees.h b/src/bees.h
-index da87d88..5c9375c 100644
---- a/src/bees.h
-+++ b/src/bees.h
-@@ -114,6 +114,9 @@ const size_t BEES_TRANSID_FACTOR = 10;
- // The actual limit in LOGICAL_INO seems to be 2730, but let's leave a little headroom
- const size_t BEES_MAX_EXTENT_REF_COUNT = 2560;
-
-+// Wait this long for a balance to stop
-+const double BEES_BALANCE_POLL_INTERVAL = 60.0;
-+
- // Flags
- const int FLAGS_OPEN_COMMON = O_NOFOLLOW | O_NONBLOCK | O_CLOEXEC | O_NOATIME | O_LARGEFILE | O_NOCTTY;
- const int FLAGS_OPEN_DIR = FLAGS_OPEN_COMMON | O_RDONLY | O_DIRECTORY;
-@@ -708,6 +711,7 @@ class BeesContext : public enable_shared_from_this<BeesContext> {
- void set_root_fd(Fd fd);
-
- BeesResolveAddrResult resolve_addr_uncached(BeesAddress addr);
-+ void wait_for_balance();
-
- BeesFileRange scan_one_extent(const BeesFileRange &bfr, const Extent &e);
- void rewrite_file_range(const BeesFileRange &bfr);
---
-2.23.0
-
diff --git a/sys-fs/bees/files/6003-process-Fix-gettid-ambiguity-with-glibc-2.30.patch b/sys-fs/bees/files/6003-process-Fix-gettid-ambiguity-with-glibc-2.30.patch
deleted file mode 100644
index 9f53e5b37da3..000000000000
--- a/sys-fs/bees/files/6003-process-Fix-gettid-ambiguity-with-glibc-2.30.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 0b7cf9c0f11722c7cb8a816e9118602b43d9a3f5 Mon Sep 17 00:00:00 2001
-From: Zygo Blaxell <bees@furryterror.org>
-Date: Tue, 29 Oct 2019 23:34:36 -0400
-Subject: [PATCH 3/3] process: Fix gettid() ambiguity with glibc >= 2.30
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-In version 2.30 glibc added it's own gettid() function. This resulted in
-"error: call of overloaded ‘gettid()’ is ambiguous" because gettid()
-now exists in both namespace crucible and std.
-
-For now, use explicit references to namespace crucible. This continues
-to work with new and old libc without having to test specific library
-versions.
-
-At some point, glibc gettid() will be deployed widely enough that we can
-remove the crucible version entirely.
-
-Signed-off-by: Zygo Blaxell <bees@furryterror.org>
----
- include/crucible/lockset.h | 4 ++--
- lib/chatter.cc | 4 ++--
- src/bees.cc | 6 +++---
- 3 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/include/crucible/lockset.h b/include/crucible/lockset.h
-index 856c55e..99500b7 100644
---- a/include/crucible/lockset.h
-+++ b/include/crucible/lockset.h
-@@ -117,7 +117,7 @@ namespace crucible {
- while (full() || locked(name)) {
- m_condvar.wait(lock);
- }
-- auto rv = m_set.insert(make_pair(name, gettid()));
-+ auto rv = m_set.insert(make_pair(name, crucible::gettid()));
- THROW_CHECK0(runtime_error, rv.second);
- }
-
-@@ -129,7 +129,7 @@ namespace crucible {
- if (full() || locked(name)) {
- return false;
- }
-- auto rv = m_set.insert(make_pair(name, gettid()));
-+ auto rv = m_set.insert(make_pair(name, crucible::gettid()));
- THROW_CHECK1(runtime_error, name, rv.second);
- return true;
- }
-diff --git a/lib/chatter.cc b/lib/chatter.cc
-index cbd5adb..e5a24f9 100644
---- a/lib/chatter.cc
-+++ b/lib/chatter.cc
-@@ -69,14 +69,14 @@ namespace crucible {
- DIE_IF_ZERO(strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", &ltm));
-
- header_stream << buf;
-- header_stream << " " << getpid() << "." << gettid() << "<" << m_loglevel << ">";
-+ header_stream << " " << getpid() << "." << crucible::gettid() << "<" << m_loglevel << ">";
- if (!m_name.empty()) {
- header_stream << " " << m_name;
- }
- } else {
- header_stream << "<" << m_loglevel << ">";
- header_stream << (m_name.empty() ? "thread" : m_name);
-- header_stream << "[" << gettid() << "]";
-+ header_stream << "[" << crucible::gettid() << "]";
- }
-
- header_stream << ": ";
-diff --git a/src/bees.cc b/src/bees.cc
-index 08c3fd7..aa55af0 100644
---- a/src/bees.cc
-+++ b/src/bees.cc
-@@ -115,9 +115,9 @@ BeesNote::~BeesNote()
- tl_next = m_prev;
- unique_lock<mutex> lock(s_mutex);
- if (tl_next) {
-- s_status[gettid()] = tl_next;
-+ s_status[crucible::gettid()] = tl_next;
- } else {
-- s_status.erase(gettid());
-+ s_status.erase(crucible::gettid());
- }
- }
-
-@@ -128,7 +128,7 @@ BeesNote::BeesNote(function<void(ostream &os)> f) :
- m_prev = tl_next;
- tl_next = this;
- unique_lock<mutex> lock(s_mutex);
-- s_status[gettid()] = tl_next;
-+ s_status[crucible::gettid()] = tl_next;
- }
-
- void
---
-2.23.0
-
diff --git a/sys-fs/bees/metadata.xml b/sys-fs/bees/metadata.xml
index 1231725fe211..c7b55c3b67c7 100644
--- a/sys-fs/bees/metadata.xml
+++ b/sys-fs/bees/metadata.xml
@@ -1,19 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>hurikhan77+bgo@gmail.com</email>
<name>Kai Krakow</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<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 6c95c7e663e2..c5d12074b70c 100644
--- a/sys-fs/bindfs/Manifest
+++ b/sys-fs/bindfs/Manifest
@@ -1,2 +1,5 @@
-DIST bindfs-1.14.5.tar.gz 407863 BLAKE2B 2c75b426f2b2fd8947c2f7e8b74fd9826cccba99afce661713946acdc7765cd8065475ecc244d4ffd534fde8243d100eba03abcc643cec2a9d2fbec954c4ab73 SHA512 df8245339ef0491a58d69f3fca215b4cca4853976cedc507ba4c953ef136d34d245130c7bdb9b75adb7661e0f359582afae0b6e7b5f69252ca5adecbc09c51ec
-DIST bindfs-1.14.7.tar.gz 409427 BLAKE2B 0027ee589a39d6d29b4bc337aaa87e4cf231f4549245c14353a39fb7a66e8ade17412740f5caf2e2eed4cb0501b6537beaf4929d21256c5b0625304b056829a3 SHA512 03b0bce29b87219e7e159077942e66e7e0e783b8c41234231696f96aa83e66271431fd3b4e7c1d98ba74705ec7255bd7da9d9484981ddb86c4d1c1b35dcaa0cc
+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.14.7.ebuild b/sys-fs/bindfs/bindfs-1.17.3.ebuild
index 69f9d93e580a..2729a0dd8fb3 100644
--- a/sys-fs/bindfs/bindfs-1.14.7.ebuild
+++ b/sys-fs/bindfs/bindfs-1.17.3.ebuild
@@ -1,7 +1,7 @@
-# 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="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.14.5.ebuild b/sys-fs/bindfs/bindfs-1.17.4.ebuild
index 69f9d93e580a..2729a0dd8fb3 100644
--- a/sys-fs/bindfs/bindfs-1.14.5.ebuild
+++ b/sys-fs/bindfs/bindfs-1.17.4.ebuild
@@ -1,7 +1,7 @@
-# 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="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.5.ebuild b/sys-fs/bindfs/bindfs-1.17.5.ebuild
new file mode 100644
index 000000000000..2729a0dd8fb3
--- /dev/null
+++ b/sys-fs/bindfs/bindfs-1.17.5.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.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/bindfs/metadata.xml b/sys-fs/bindfs/metadata.xml
index d53aaceb5827..f4300f7f0a8e 100644
--- a/sys-fs/bindfs/metadata.xml
+++ b/sys-fs/bindfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sping@gentoo.org</email>
diff --git a/sys-fs/btrfs-progs/Manifest b/sys-fs/btrfs-progs/Manifest
index e53947dd8ce8..99a840ad8f68 100644
--- a/sys-fs/btrfs-progs/Manifest
+++ b/sys-fs/btrfs-progs/Manifest
@@ -1,4 +1,6 @@
-DIST btrfs-progs-v4.19.tar.xz 2001340 BLAKE2B 117087adcb57e4ebf6a2e9c66bf0ad2b098108f7363fc3c015d73bf9afcda9d579831fe0e324125893cdb2510873d052522b15843c461e640a546900e535ce76 SHA512 e5abf637a9c811973422ca05a5530f6cd18263013d141277e2a70099cf8ab7e0eb8781df56368da4321c90f21d1022ad852b661adc4877e9a9ba5c60ccbefdee
-DIST btrfs-progs-v5.4.1.tar.xz 2107476 BLAKE2B 1ea58f49b0f8185e944010804e544643a2eafeea58fecb480b13095c362350c218f0602fbb43a96705a81befe88ec3e3abe35cc90d4732006479b059aa7fed32 SHA512 56381b37036aecea61b758fb4971abfeda24a387bb3a828f7d54eb068982a37763a8ebe2bcc6be61d6a8bc2057dddcd4754325b236e14d8ec02e58cf711f192f
-DIST btrfs-progs-v5.6.1.tar.xz 2117064 BLAKE2B 9183300e7c086cb8f03ac14139d3d2a424461f4c5afc0e7b9bb588f4c0ddd2c41d7cefe91787b1cabe6397f8abeb6e958900e7742a80d3519382e98c3b197c9d SHA512 8f523249a5c2bfe1c0d52b0dc5d31d52b330b1c616d3ec423fa1fb4a845441bfeaa32abbe42a444a4fc84016a482c8102a3eb451ac423b542e332e9c26e76dc6
-DIST btrfs-progs-v5.7.tar.xz 2182728 BLAKE2B 47573baa26cde058003b402dadba28f278b4b3ffd270d002ab8fd72d94ee41d3fdfb3d36c0c579e24ea6afae4b2dea2ca704d9dd809fcd10fbc146d63d48980c SHA512 72c3af13ca589f2e0b96cb7602319035ef8aab6ee224fff3544a5d0bfc013a66552dde4533ec5e64696d404b8905431cd0f25367c40fd34ea39be7c0ed8c2d16
+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-4.19.ebuild b/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild
deleted file mode 100644
index 12bf74643416..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-4.19.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 2008-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-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 ~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 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:0=
- sys-libs/e2fsprogs-libs:0=
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27
- )
- )
- python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
-"
-DEPEND="${RDEPEND}
- convert? ( sys-apps/acl )
- >=app-text/asciidoc-8.6.0
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
- python? (
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_MULTI_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:0[static-libs(+)]
- sys-libs/e2fsprogs-libs:0[static-libs(+)]
- reiserfs? (
- >=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
- )
- )
- zstd? ( app-arch/zstd:0[static-libs(+)] )
- )
-"
-
-if [[ ${PV} == 9999 ]]; then
- DEPEND+=" sys-devel/gnuconfig"
-fi
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-be-bswap.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 "${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 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
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.4.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.4.1.ebuild
deleted file mode 100644
index 279448662bff..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.4.1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2008-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7} )
-
-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 ~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:0=
- sys-libs/e2fsprogs-libs:0=
- 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_MULTI_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:0[static-libs(+)]
- sys-libs/e2fsprogs-libs:0[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]
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.6.1.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.6.1.ebuild
deleted file mode 100644
index e8b44f1ff9b4..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.6.1.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2008-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-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 ~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:0=
- sys-libs/e2fsprogs-libs:0=
- 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_MULTI_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:0[static-libs(+)]
- sys-libs/e2fsprogs-libs:0[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]
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-5.7.ebuild b/sys-fs/btrfs-progs/btrfs-progs-5.7.ebuild
deleted file mode 100644
index 81e4dc34e2dc..000000000000
--- a/sys-fs/btrfs-progs/btrfs-progs-5.7.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 2008-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-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:0=
- sys-libs/e2fsprogs-libs:0=
- 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_MULTI_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:0[static-libs(+)]
- sys-libs/e2fsprogs-libs:0[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]
-}
diff --git a/sys-fs/btrfs-progs/btrfs-progs-6.6.3.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.6.3.ebuild
new file mode 100644
index 000000000000..565618d2fca3
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.6.3.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-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-6.8.ebuild b/sys-fs/btrfs-progs/btrfs-progs-6.8.ebuild
new file mode 100644
index 000000000000..c9770f5998ae
--- /dev/null
+++ b/sys-fs/btrfs-progs/btrfs-progs-6.8.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-9999.ebuild b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
index e8b44f1ff9b4..c9770f5998ae 100644
--- a/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
+++ b/sys-fs/btrfs-progs/btrfs-progs-9999.ebuild
@@ -1,55 +1,67 @@
-# Copyright 2008-2020 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{6,7,8} )
+PYTHON_COMPAT=( python3_{10..12} )
+inherit bash-completion-r1 python-single-r1 udev
-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 ~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
+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.wiki.kernel.org"
+HOMEPAGE="https://btrfs.readthedocs.io/en/latest/"
LICENSE="GPL-2"
-SLOT="0/${libbtrfs_soname}"
-IUSE="+convert doc python reiserfs static static-libs +zstd"
+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} )"
-RESTRICT=test # tries to mount repared filesystems
+# Tries to mount repaired filesystems
+RESTRICT="test"
RDEPEND="
dev-libs/lzo:2=
- sys-apps/util-linux:0=[static-libs(+)?]
- sys-libs/zlib:0=
+ sys-apps/util-linux:=[static-libs(+)?]
+ sys-libs/zlib:=
convert? (
- sys-fs/e2fsprogs:0=
- sys-libs/e2fsprogs-libs:0=
+ sys-fs/e2fsprogs:=
reiserfs? (
>=sys-fs/reiserfsprogs-3.6.27
)
)
python? ( ${PYTHON_DEPS} )
- zstd? ( app-arch/zstd:0= )
+ udev? ( virtual/libudev:= )
+ zstd? ( app-arch/zstd:= )
"
-DEPEND="${RDEPEND}
+DEPEND="
+ ${RDEPEND}
+ >=sys-kernel/linux-headers-5.10
convert? ( sys-apps/acl )
python? (
$(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_MULTI_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
')
)
static? (
@@ -57,73 +69,130 @@ DEPEND="${RDEPEND}
sys-apps/util-linux:0[static-libs(+)]
sys-libs/zlib:0[static-libs(+)]
convert? (
- sys-fs/e2fsprogs:0[static-libs(+)]
- sys-libs/e2fsprogs-libs:0[static-libs(+)]
+ sys-fs/e2fsprogs[static-libs(+)]
reiserfs? (
>=sys-fs/reiserfsprogs-3.6.27[static-libs(+)]
)
)
- zstd? ( app-arch/zstd:0[static-libs(+)] )
+ zstd? ( app-arch/zstd[static-libs(+)] )
)
"
BDEPEND="
- doc? (
- || ( >=app-text/asciidoc-8.6.0 dev-ruby/asciidoctor )
- app-text/docbook-xml-dtd:4.5
- app-text/xmlto
+ virtual/pkgconfig
+ man? (
+ dev-python/sphinx
+ dev-python/sphinx-rtd-theme
)
"
if [[ ${PV} == 9999 ]]; then
- DEPEND+=" sys-devel/gnuconfig"
+ 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
+ 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
+ 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 doc documentation)
+ $(use_enable man documentation)
$(use_enable elibc_glibc backtrace)
$(use_enable python)
$(use_enable static-libs static)
+ $(use_enable udev libudev)
$(use_enable zstd)
- --with-convert=ext2$(usex reiserfs ',reiserfs' '')
+
+ # Could support libgcrypt, libsodium, libkcapi, openssl, botan
+ --with-crypto=builtin
+ --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[@]}"
+
newbashcomp btrfs-completion btrfs
+
use python && python_optimize
+}
+
+pkg_postinst() {
+ udev_reload
+}
- # install prebuilt subset of manuals
- use doc || doman Documentation/*.[58]
+pkg_postrm() {
+ udev_reload
}
diff --git a/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch b/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch
deleted file mode 100644
index b91b32040855..000000000000
--- a/sys-fs/btrfs-progs/files/btrfs-progs-4.19-be-bswap.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Fix build failure on big-endian platforms.
-
-Reported-by: ernsteiswuerfel
-Bug: https://bugs.gentoo.org/670741
---- a/kernel-lib/bitops.h
-+++ b/kernel-lib/bitops.h
-@@ -180,5 +180,5 @@ static inline unsigned long ext2_swab(const unsigned long y)
- #if BITS_PER_LONG == 64
-- return (unsigned long) bswap64((u64) y);
-+ return (unsigned long) bswap_64((u64) y);
- #elif BITS_PER_LONG == 32
-- return (unsigned long) bswap32((u32) y);
-+ return (unsigned long) bswap_32((u32) y);
- #else
-@@ -220,3 +220,3 @@ static inline unsigned long _find_next_bit_le(const unsigned long *addr1,
-
--unsigned long find_next_zero_bit_le(const void *addr, unsigned long size,
-+static inline unsigned long find_next_zero_bit_le(const void *addr, unsigned long size,
- unsigned long offset)
-@@ -227,3 +227,3 @@ unsigned long find_next_zero_bit_le(const void *addr, unsigned long size,
-
--unsigned long find_next_bit_le(const void *addr, unsigned long size,
-+static inline unsigned long find_next_bit_le(const void *addr, unsigned long size,
- unsigned long offset)
diff --git a/sys-fs/btrfs-progs/metadata.xml b/sys-fs/btrfs-progs/metadata.xml
index 924eff852107..e0d9388ce73c 100644
--- a/sys-fs/btrfs-progs/metadata.xml
+++ b/sys-fs/btrfs-progs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
@@ -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 08c307ef9966..b862c91c6691 100644
--- a/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild
+++ b/sys-fs/btrfsmaintenance/btrfsmaintenance-0.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020 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 x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 x86"
IUSE="systemd"
RDEPEND="
diff --git a/sys-fs/btrfsmaintenance/metadata.xml b/sys-fs/btrfsmaintenance/metadata.xml
index 46342cb51b38..4cf14fe0ce03 100644
--- a/sys-fs/btrfsmaintenance/metadata.xml
+++ b/sys-fs/btrfsmaintenance/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>martin.dummer@gmx.net</email>
<name>Martin Dummer</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
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 9d8411670fe4..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-2018 Gentoo Foundation
+# 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
+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/"
@@ -11,11 +11,10 @@ SRC_URI="https://people.redhat.com/~dhowells/fscache/${P}.tar.bz2"
SLOT="0"
LICENSE="GPL-2+"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~riscv x86"
IUSE="doc selinux"
RDEPEND="selinux? ( sec-policy/selinux-cachefilesd )"
-DEPEND=""
PATCHES=(
"${FILESDIR}"/${PN}-0.10.9-makefile.patch
@@ -29,14 +28,19 @@ 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
- insinto /usr/share/doc/${P}
- doins -r selinux
+ dodoc -r selinux
+ docompress -x /usr/share/doc/${PF}/selinux
fi
dodoc howto.txt
@@ -46,16 +50,14 @@ src_install() {
sed -i 's@ExecStart=/usr@ExecStart=@' ${PN}.service || die "failed to fix path"
systemd_dounit ${PN}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}-tmpfiles.d ${PN}.conf
+ newtmpfiles "${FILESDIR}"/${PN}-tmpfiles.d ${PN}.conf
}
pkg_postinst() {
- [[ -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!"
+ tmpfiles_process ${PN}.conf
+
+ 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 2e389839aefe..000000000000
--- a/sys-fs/cachefilesd/cachefilesd-0.10.9.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic systemd toolchain-funcs
-
-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
- insinto /usr/share/doc/${P}
- doins -r selinux
- fi
-
- dodoc howto.txt
-
- newconfd "${FILESDIR}"/${PN}.conf ${PN}
- newinitd "${FILESDIR}"/${PN}-3.init ${PN}
-
- systemd_dounit ${PN}.service
- systemd_newtmpfilesd "${FILESDIR}"/${PN}-tmpfiles.d ${PN}.conf
-}
-
-pkg_postinst() {
- [[ -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/cachefilesd/metadata.xml b/sys-fs/cachefilesd/metadata.xml
index 76f45cdee0f4..e85252a96df1 100644
--- a/sys-fs/cachefilesd/metadata.xml
+++ b/sys-fs/cachefilesd/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>perfinion@gentoo.org</email>
diff --git a/sys-fs/clamfs/Manifest b/sys-fs/clamfs/Manifest
index 60f4aefc97cd..5a124afde67a 100644
--- a/sys-fs/clamfs/Manifest
+++ b/sys-fs/clamfs/Manifest
@@ -1 +1 @@
-DIST clamfs-1.0.1.tar.gz 142386 BLAKE2B d4333ddebae3aec1ffa36cd5db361b07daa4007c75e6f6e7e3c296f99573bde5ac77722b7af95fe194fd2ba0d56550a608911235da6cc7e9c25359af6554fcbd SHA512 8a9912c068c178049e8538da729635af1372e8ad1f7bc0e14cc7506208d15a4c1fdab7cf229dd683a3245168c627a3d994ec5b24bca5f12efc9ff638040e3258
+DIST clamfs-1.2.0.tar.gz 196903 BLAKE2B aa84e3a35714a2638d9569b6bb77f5da5c34f962d7baff0e5b08bbd7a56f1d1624936a5054b1a99d5593dc20412e55f36ab732fb84326f40c0614f084698618f SHA512 72a8625c18f520258075cb0310d14974e15f7f0cd628ca968317adac778fd8db26fa28bd72d954f2c21e6c41c32a38a5fbfa8be3918f9e0314d1d7f1da2cc626
diff --git a/sys-fs/clamfs/clamfs-1.0.1-r3.ebuild b/sys-fs/clamfs/clamfs-1.2.0.ebuild
index 8a8bf827a5ba..6b8945a4342a 100644
--- a/sys-fs/clamfs/clamfs-1.0.1-r3.ebuild
+++ b/sys-fs/clamfs/clamfs-1.2.0.ebuild
@@ -1,36 +1,35 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-inherit eutils linux-info
+EAPI=7
+inherit autotools linux-info
DESCRIPTION="A FUSE-based user-space file system with on-access anti-virus file scanning"
-HOMEPAGE="http://clamfs.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+HOMEPAGE="https://github.com/burghardt/clamfs"
+SRC_URI="https://github.com/burghardt/clamfs/releases/download/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-DEPEND=">=dev-libs/boost-1.33
- sys-fs/fuse:0
- dev-cpp/commoncpp2
+DEPEND="dev-libs/boost
+ dev-libs/poco
dev-libs/rlog
- dev-libs/poco"
+ sys-fs/fuse:3"
RDEPEND="${DEPEND}
app-antivirus/clamav"
CONFIG_CHECK="~FUSE_FS"
src_prepare() {
- eapply "${FILESDIR}/${P}-gentoo.patch"
- eapply -p0 "${FILESDIR}/${P}-gcc45.patch"
- eapply_user
+ # Do not use Werror ( #754180 )
+ sed -i 's/\-Werror//g' configure.ac || die "Sed failed"
+ default
+ eautoreconf
}
src_install() {
- emake install DESTDIR="${D}"
+ default
insinto /etc/clamfs
doins doc/clamfs.xml
diff --git a/sys-fs/clamfs/files/clamfs-1.0.1-gcc45.patch b/sys-fs/clamfs/files/clamfs-1.0.1-gcc45.patch
deleted file mode 100644
index 1f5f63a252f2..000000000000
--- a/sys-fs/clamfs/files/clamfs-1.0.1-gcc45.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix building with gcc 4.5
-
-http://bugs.gentoo.org/show_bug.cgi?id=320107
-
---- src/scancache.cxx
-+++ src/scancache.cxx
-@@ -37,7 +37,7 @@
- }
-
- ScanCache::ScanCache(long int elements, long int expire):
-- ExpireLRUCache<ino_t, CachedResult>::ExpireLRUCache<ino_t, CachedResult>(elements, expire) {
-+ ExpireLRUCache<ino_t, CachedResult>(elements, expire) {
- }
-
- ScanCache::~ScanCache() {
diff --git a/sys-fs/clamfs/files/clamfs-1.0.1-gentoo.patch b/sys-fs/clamfs/files/clamfs-1.0.1-gentoo.patch
deleted file mode 100644
index f5c02daca6d6..000000000000
--- a/sys-fs/clamfs/files/clamfs-1.0.1-gentoo.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur clamfs-1.0.1.orig/doc/clamfs.xml clamfs-1.0.1/doc/clamfs.xml
---- clamfs-1.0.1.orig/doc/clamfs.xml 2009-02-07 23:09:26.000000000 +0900
-+++ clamfs-1.0.1/doc/clamfs.xml 2010-01-08 18:19:13.000000000 +0900
-@@ -16,7 +16,7 @@
- check - (yes or no) check if clamd is available on startup (useful if
- mounting clamfs file systems from /etc/fstab early on startup,
- while clamav daemon is not yet started) -->
-- <clamd socket="/var/run/clamav/clamd.ctl" check="yes" />
-+ <clamd socket="/var/run/clamav/clamd.sock" check="yes" />
-
- <!-- File system settings
- root - real directory to attach as our root
diff --git a/sys-fs/clamfs/metadata.xml b/sys-fs/clamfs/metadata.xml
index dfe00d7ec76e..910abe248fa2 100644
--- a/sys-fs/clamfs/metadata.xml
+++ b/sys-fs/clamfs/metadata.xml
@@ -1,12 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
+ </maintainer>
<longdescription lang="en">
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/Manifest b/sys-fs/compsize/Manifest
index 2592ff9be8b7..8b32b0fbfb0d 100644
--- a/sys-fs/compsize/Manifest
+++ b/sys-fs/compsize/Manifest
@@ -1,2 +1,3 @@
-DIST compsize-1.1.tar.gz 14345 BLAKE2B 8b35e6f3526b8b2395972ea1a595011b867fbc076d79c90c66a19853f1b101dbe3decedab8244d893b20d6cc9ff3ecfa2b3320fc12c583415b2d446a9298fcb1 SHA512 1c7de5156b695ffa4be9b634fd6224214d3de1653eb23e5d85b250e27146fe655883bed17ed458bae1b448ed9ae8a254d2a673fdb3860e69c99f8676daea0d8b
DIST compsize-1.3.tar.gz 14782 BLAKE2B 738ff0e2b936f5974064759914284e495c895d22d95b705e1b8fac4b3189891771b0e5be7e0eeac0883dd92f9cef276400bb7ee79840fd7db14a5269e7f78f11 SHA512 411b92651fdc3d03deccbf38f72936fee95cf80c67d6368efbc0dafacfe9793815a23ef0d02f7feadf31391e415df3d90cd19fb3acc8cce94f37cb3e4eed623d
+DIST compsize-1.4.tar.gz 15001 BLAKE2B 7e4d4a1f3ea59b23fec891c084f68ddb74838320a817767e48eb857de9678a1915d304d25b454afafec867ea6a028d99d9182087d3229ddae55d8305fe6b174c SHA512 c07081721f87d8a59e724a62a0a6d6724434292e6bb3ffb71acd7c47e21727db8f02f4df296cb6094c0e80d3cd555018e492616747ce69055d21302a6617ca54
+DIST compsize-1.5.tar.gz 15015 BLAKE2B 1a7fc676ffaeb69fd410a834eab54ef63c5fa11e428bd0567ab5dec5dc27fe1b4901fdd47760c07a7fb26375b81ba997528c0aa83409eb364a3b9f2cb1942cc8 SHA512 25d6f1973e8a0a86bd857dc1e1ba99760451cf388f3bd3ede6a6ef35351ff63f100646d313010aff3de9e70b2c68866a31c4ea31d9c6df9254648cd1bd0272fa
diff --git a/sys-fs/compsize/compsize-1.1.ebuild b/sys-fs/compsize/compsize-1.1.ebuild
deleted file mode 100644
index ad73046823bd..000000000000
--- a/sys-fs/compsize/compsize-1.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit flag-o-matic
-
-DESCRIPTION="Utility to find btrfs compression ratio"
-HOMEPAGE="https://github.com/kilobyte/compsize"
-
-if [[ ${PV} = 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/kilobyte/compsize"
-else
- KEYWORDS="~amd64 ~x86"
- SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-fi
-
-LICENSE="GPL-2+"
-SLOT=0
-
-RDEPEND=""
-DEPEND="sys-fs/btrfs-progs"
-
-src_prepare() {
- eapply_user
- # Don't try to install a gzipped manfile during make install, instead
- # use doman in src_install to ensure that PORTAGE_COMPRESS is used
- sed -i $'/^\tgzip /d' Makefile || die
-}
-
-src_configure() {
- # Used in upstream Makefile, but clobbered by portage's CFLAGS
- append-cflags -Wall -std=gnu90
- default
-}
-
-src_install() {
- emake PREFIX="${ED%/}" install
- doman compsize.8
- einstalldocs
-}
diff --git a/sys-fs/compsize/compsize-1.3.ebuild b/sys-fs/compsize/compsize-1.3.ebuild
index df2657574f74..fc78e5b437fd 100644
--- a/sys-fs/compsize/compsize-1.3.ebuild
+++ b/sys-fs/compsize/compsize-1.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,10 +13,10 @@ if [[ ${PV} = 9999 ]] ; then
EGIT_REPO_URI="https://github.com/kilobyte/compsize.git"
else
SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
-LICENSE="GPL-2+"
+LICENSE="GPL-2+ GPL-2"
IUSE="debug"
SLOT="0"
diff --git a/sys-fs/compsize/compsize-1.4.ebuild b/sys-fs/compsize/compsize-1.4.ebuild
new file mode 100644
index 000000000000..f00e46619d53
--- /dev/null
+++ b/sys-fs/compsize/compsize-1.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic
+
+DESCRIPTION="Utility to find btrfs compression type/ratio on a file or set of files"
+HOMEPAGE="https://github.com/kilobyte/compsize"
+
+if [[ ${PV} = 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/kilobyte/compsize.git"
+else
+ SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-2+ GPL-2"
+IUSE="debug"
+SLOT="0"
+
+DEPEND="sys-fs/btrfs-progs"
+
+src_prepare() {
+ default
+ # Don't try to install a gzipped manfile during emake install
+ sed -i -e $'s/\.gz//' -e $'s/gzip.*/install \-Dm755 \$\< \$\@/' Makefile || die
+}
+
+src_configure() {
+ use debug && append-cflags -Wall -DDEBUG -g
+ default
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" install
+ einstalldocs
+}
diff --git a/sys-fs/compsize/compsize-1.5.ebuild b/sys-fs/compsize/compsize-1.5.ebuild
new file mode 100644
index 000000000000..8c0a769fa8ad
--- /dev/null
+++ b/sys-fs/compsize/compsize-1.5.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Utility to find btrfs compression type/ratio on a file or set of files"
+HOMEPAGE="https://github.com/kilobyte/compsize"
+
+if [[ ${PV} = 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/kilobyte/compsize.git"
+else
+ SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+fi
+
+LICENSE="GPL-2+ GPL-2"
+IUSE="debug"
+SLOT="0"
+
+DEPEND="sys-fs/btrfs-progs"
+
+src_prepare() {
+ default
+ # Don't try to install a gzipped manfile during emake install
+ sed -i -e $'s/\.gz//' -e $'s/gzip.*/install \-Dm755 \$\< \$\@/' Makefile || die
+}
+
+src_configure() {
+ tc-export CC
+
+ use debug && append-cflags -Wall -DDEBUG -g
+ default
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" install
+ einstalldocs
+}
diff --git a/sys-fs/compsize/compsize-9999.ebuild b/sys-fs/compsize/compsize-9999.ebuild
index 3144e142c1e2..8e5c209de18a 100644
--- a/sys-fs/compsize/compsize-9999.ebuild
+++ b/sys-fs/compsize/compsize-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit flag-o-matic
+inherit flag-o-matic toolchain-funcs
DESCRIPTION="Utility to find btrfs compression type/ratio on a file or set of files"
HOMEPAGE="https://github.com/kilobyte/compsize"
@@ -13,10 +13,10 @@ if [[ ${PV} = 9999 ]] ; then
EGIT_REPO_URI="https://github.com/kilobyte/compsize.git"
else
SRC_URI="https://github.com/kilobyte/compsize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
fi
-LICENSE="GPL-2+"
+LICENSE="GPL-2+ GPL-2"
IUSE="debug"
SLOT="0"
@@ -26,18 +26,16 @@ src_prepare() {
default
# Don't try to install a gzipped manfile during emake install
sed -i -e $'s/\.gz//' -e $'s/gzip.*/install \-Dm755 \$\< \$\@/' Makefile || die
- # sys-fs/compsize > 1.3 removes '/usr' from install paths in Makefile
- sed -i $'s/(PREFIX)/(PREFIX)\/usr/' Makefile || die
}
src_configure() {
- # Used in upstream Makefile, but clobbered by portage's CFLAGS
- append-cflags -Wall -std=gnu90
- use debug && append-cflags -DDEBUG -g
+ tc-export CC
+
+ use debug && append-cflags -Wall -DDEBUG -g
default
}
src_install() {
- emake PREFIX="${D}" install
- dodoc "README.md"
+ emake PREFIX="${ED}/usr" install
+ einstalldocs
}
diff --git a/sys-fs/compsize/metadata.xml b/sys-fs/compsize/metadata.xml
index 289d3a1d5b6a..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>telans@posteo.de</email>
- <name>Theo Anderson</name>
- </maintainer>
- <maintainer type="project">
- <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/copyfs/copyfs-1.0.1-r1.ebuild b/sys-fs/copyfs/copyfs-1.0.1-r1.ebuild
index ec53bab73be8..14daded7cf71 100644
--- a/sys-fs/copyfs/copyfs-1.0.1-r1.ebuild
+++ b/sys-fs/copyfs/copyfs-1.0.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -33,10 +33,10 @@ src_prepare() {
eautoreconf
}
-src_configure() {
- econf --bindir="${D}/usr/bin" --mandir="${D}/usr/share/man"
+src_compile() {
+ emake CC="$(tc-getCC)"
}
-src_compile() {
- emake CC=$(tc-getCC)
+src_install() {
+ emake bindir="${D}"/usr/bin mandir="${D}"/usr/share/man install
}
diff --git a/sys-fs/copyfs/metadata.xml b/sys-fs/copyfs/metadata.xml
index 6f49eba8f496..85e4ed814fa2 100644
--- a/sys-fs/copyfs/metadata.xml
+++ b/sys-fs/copyfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/sys-fs/cramfs/Manifest b/sys-fs/cramfs/Manifest
index e1ec6d7cd350..c743dfa2f71c 100644
--- a/sys-fs/cramfs/Manifest
+++ b/sys-fs/cramfs/Manifest
@@ -1,2 +1 @@
-DIST cramfs-1.1.tar.gz 24179 BLAKE2B adb5d1682dbc7405333b735f145cdaffea770c09a60c15a79d1973a365b2f013ebbd728e05f5a20559bace237a6f685c6afba557249ee2049bb6827d5da3e9f8 SHA512 6c18dbe32df57f7d132fb2a59a917ad381156ca1f720c1ad0997ca81c62e82fd43ebb0339c5a66d5b144a72ce5c7ae93596522fe2698259f2b68c31db26e3b63
DIST cramfs-2.1.tar.gz 33595 BLAKE2B 599f9af8f02cb7c17f58b78dde59f162bbcbe9008d2941fb4f8f9accfd4e6d371b9f31ae1a65a3e3d10458b53acd927fdab9049c082a132f139abdddb9f6890c SHA512 76137d1347fa7d1907590cfd7f3c5b48f2422bc2dd95fb2ae5b33561e5d5f179634a98d117f1f1344c15362f4282bce87cf9d527b5512f9badb1a2c024755eee
diff --git a/sys-fs/cramfs/cramfs-1.1.ebuild b/sys-fs/cramfs/cramfs-1.1.ebuild
deleted file mode 100644
index 8236cc32ec88..000000000000
--- a/sys-fs/cramfs/cramfs-1.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit toolchain-funcs
-
-DESCRIPTION="Linux filesystem designed to be simple, small, and to compress things well"
-HOMEPAGE="https://sourceforge.net/projects/cramfs/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ppc ~sparc x86"
-IUSE=""
-
-DEPEND="sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- sed -i '1i#include <sys/sysmacros.h>' mkcramfs.c || die #580196
-}
-
-src_compile() {
- emake CFLAGS="${CFLAGS}" CC="$(tc-getCC)"
-}
-
-src_install() {
- into /
- dosbin mkcramfs cramfsck
- dodoc README NOTES
-}
diff --git a/sys-fs/cramfs/cramfs-2.1.ebuild b/sys-fs/cramfs/cramfs-2.1.ebuild
index 856b3d1d26ae..85d40d3662c8 100644
--- a/sys-fs/cramfs/cramfs-2.1.ebuild
+++ b/sys-fs/cramfs/cramfs-2.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/npitre/cramfs-tools/archive/v${PV}.tar.gz -> ${P}.ta
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
+KEYWORDS="~alpha amd64 ppc ~sparc x86"
IUSE=""
DEPEND="sys-libs/zlib:="
diff --git a/sys-fs/cramfs/metadata.xml b/sys-fs/cramfs/metadata.xml
index 088ee8bcf6a3..21caac139b20 100644
--- a/sys-fs/cramfs/metadata.xml
+++ b/sys-fs/cramfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
@@ -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/Manifest b/sys-fs/cryfs/Manifest
index bb4b24ade0c0..8b4042ff25fb 100644
--- a/sys-fs/cryfs/Manifest
+++ b/sys-fs/cryfs/Manifest
@@ -1 +1 @@
-DIST cryfs-0.10.2.tar.xz 7902252 BLAKE2B 704d124ed32a8a958f400188af99498cedb706ccfc004131b677a113b6ab2733942becb1ab64fd06d0b9d5b39f7abe832b3b0669caaf2b6feb7c6577c8c7fbfd SHA512 e49dd6d1e402d968cc4df0e8ca0460a01a27e4e73482041dca0fa9cde905a91d12e2bda18d257a044335e32e316b9363cecf374eb2ca621924b394dd2fabcb8f
+DIST cryfs-0.10.3.tar.xz 7908228 BLAKE2B e1c816bd2ceb125573f5385c6ddb316a600275f0b907d89d3ab32f2050f1a0874ebbfd3db7b452b41d20dcbdd01bf59210a0a96c5bfee079ce222307d4c55596 SHA512 a1325c79cb253219bb092fd68399d6ec68aaf3d78bc95608582ab0c239dfaa0361416531cd1051661e4699b1e79867547710ea55d23e5697ebd4421c937d5b87
diff --git a/sys-fs/cryfs/cryfs-0.10.2.ebuild b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
index 5ddc187c3316..066345cf8c48 100644
--- a/sys-fs/cryfs/cryfs-0.10.2.ebuild
+++ b/sys-fs/cryfs/cryfs-0.10.3-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
+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 x86"
+ KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
S="${WORKDIR}"
fi
@@ -20,33 +20,47 @@ HOMEPAGE="https://www.cryfs.org/"
LICENSE="LGPL-3 MIT"
SLOT="0"
-IUSE="custom-optimization debug libressl test"
+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
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:= )
+ dev-libs/openssl:=
"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
+DEPEND="
+ ${RDEPEND}
test? ( dev-cpp/gtest )
"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ dev-python/versioneer[${PYTHON_USEDEP}]
+ ')
+"
PATCHES=(
# TODO upstream:
- "${FILESDIR}/${P}-unbundle-libs.patch"
- "${FILESDIR}/${P}-install-targets.patch"
+ "${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() {
@@ -55,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
@@ -65,6 +82,9 @@ src_prepare() {
}
src_configure() {
+ # ODR violations (bug #880563)
+ filter-lto
+
local mycmakeargs=(
-DBoost_USE_STATIC_LIBS=OFF
-DCRYFS_UPDATE_CHECKS=OFF
@@ -72,7 +92,11 @@ src_configure() {
-DUSE_SYSTEM_LIBS=ON
-DBUILD_TESTING=$(usex test)
)
- use custom-optimization || append-flags -O3
+
+ 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.2-install-targets.patch b/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch
index 5f4881002c46..0c666448cc01 100644
--- a/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch
+++ b/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch
@@ -1,3 +1,5 @@
+https://github.com/cryfs/cryfs/pull/396
+
From 18503b00bd16d95dd2cf8a9047446f8be7289082 Mon Sep 17 00:00:00 2001
From: Andreas Sturmlechner <asturm@gentoo.org>
Date: Sun, 16 Jun 2019 19:35:49 +0200
diff --git a/sys-fs/cryfs/files/cryfs-0.10.3-fix-build-with-boost-1-77.patch b/sys-fs/cryfs/files/cryfs-0.10.3-fix-build-with-boost-1-77.patch
new file mode 100644
index 000000000000..a9252e729fb6
--- /dev/null
+++ b/sys-fs/cryfs/files/cryfs-0.10.3-fix-build-with-boost-1-77.patch
@@ -0,0 +1,26 @@
+https://github.com/cryfs/cryfs/pull/395
+
+From dcc072d51d0bbb56c9d8709214ce49f8bd6de73c Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Fri, 13 Aug 2021 18:46:55 +0100
+Subject: [PATCH] Add missing memory.h include for std::shared_ptr
+
+---
+ src/fspp/fuse/Fuse.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/fspp/fuse/Fuse.h b/src/fspp/fuse/Fuse.h
+index 0b384d8..2ed98da 100644
+--- a/src/fspp/fuse/Fuse.h
++++ b/src/fspp/fuse/Fuse.h
+@@ -11,6 +11,7 @@
+ #include <boost/optional.hpp>
+ #include <cpp-utils/macros.h>
+ #include <atomic>
++#include <memory>
+ #include "stat_compatibility.h"
+
+ namespace fspp {
+--
+2.32.0
+
diff --git a/sys-fs/cryfs/files/cryfs-0.10.3-gcc11.patch b/sys-fs/cryfs/files/cryfs-0.10.3-gcc11.patch
new file mode 100644
index 000000000000..9a7252ba506b
--- /dev/null
+++ b/sys-fs/cryfs/files/cryfs-0.10.3-gcc11.patch
@@ -0,0 +1,271 @@
+https://github.com/cryfs/cryfs/commit/27587ea1acec5f939a31217f1c43953378f18821.patch
+https://bugs.gentoo.org/786459
+
+From 27587ea1acec5f939a31217f1c43953378f18821 Mon Sep 17 00:00:00 2001
+From: Sebastian Messmer <messmer@cryfs.org>
+Date: Sat, 8 May 2021 14:44:27 -0700
+Subject: [PATCH] Fixed an issue when compiling with GCC 11, see
+ https://github.com/cryfs/cryfs/issues/389
+
+---
+--- a/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h
++++ b/src/blobstore/implementations/onblocks/datanodestore/DataNodeView.h
+@@ -67,7 +67,7 @@ class DataNodeView final {
+
+ static DataNodeView create(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) {
+ ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node");
+- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data));
++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data));
+ ASSERT(serialized.size() == layout.blocksizeBytes(), "Wrong block size");
+ auto block = blockStore->create(serialized);
+ return DataNodeView(std::move(block));
+@@ -75,7 +75,7 @@ class DataNodeView final {
+
+ static DataNodeView initialize(cpputils::unique_ref<blockstore::Block> block, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) {
+ ASSERT(data.size() <= DataNodeLayout(block->size()).datasizeBytes(), "Data is too large for node");
+- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data));
++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data));
+ ASSERT(serialized.size() == block->size(), "Block has wrong size");
+ block->write(serialized.data(), 0, serialized.size());
+ return DataNodeView(std::move(block));
+@@ -83,7 +83,7 @@ class DataNodeView final {
+
+ static DataNodeView overwrite(blockstore::BlockStore *blockStore, const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, const blockstore::BlockId &blockId, cpputils::Data data) {
+ ASSERT(data.size() <= layout.datasizeBytes(), "Data is too large for node");
+- cpputils::Data serialized = _serialize(layout, formatVersion, depth, size, std::move(data));
++ cpputils::Data serialized = serialize_(layout, formatVersion, depth, size, std::move(data));
+ auto block = blockStore->overwrite(blockId, std::move(serialized));
+ return DataNodeView(std::move(block));
+ }
+@@ -143,7 +143,7 @@ class DataNodeView final {
+ }
+
+ private:
+- static cpputils::Data _serialize(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) {
++ static cpputils::Data serialize_(const DataNodeLayout &layout, uint16_t formatVersion, uint8_t depth, uint32_t size, cpputils::Data data) {
+ cpputils::Data result(layout.blocksizeBytes());
+ cpputils::serialize<uint16_t>(result.dataOffset(layout.FORMAT_VERSION_OFFSET_BYTES), formatVersion);
+ cpputils::serialize<uint8_t>(result.dataOffset(layout.DEPTH_OFFSET_BYTES), depth);
+--- a/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp
++++ b/src/cryfs/filesystem/fsblobstore/utils/DirEntry.cpp
+@@ -11,55 +11,55 @@ namespace cryfs {
+
+ namespace {
+ template<typename DataType>
+- size_t _serialize(void* dst, const DataType& obj) {
++ size_t serialize_(void* dst, const DataType& obj) {
+ cpputils::serialize<DataType>(dst, obj);
+ return sizeof(DataType);
+ }
+
+ template<typename DataType>
+- DataType _deserialize(const char** src) {
++ DataType deserialize_(const char** src) {
+ DataType result = cpputils::deserialize<DataType>(*src);
+ *src += sizeof(DataType);
+ return result;
+ }
+
+- constexpr size_t _serializedTimeValueSize() {
++ constexpr size_t serializedTimeValueSize_() {
+ return sizeof(uint64_t) + sizeof(uint32_t);
+ }
+
+- unsigned int _serializeTimeValue(uint8_t *dest, timespec value) {
++ unsigned int serializeTimeValue_(uint8_t *dest, timespec value) {
+ unsigned int offset = 0;
+- offset += _serialize<uint64_t>(dest + offset, value.tv_sec);
+- offset += _serialize<uint32_t>(dest + offset, value.tv_nsec);
+- ASSERT(offset == _serializedTimeValueSize(), "serialized to wrong size");
++ offset += serialize_<uint64_t>(dest + offset, value.tv_sec);
++ offset += serialize_<uint32_t>(dest + offset, value.tv_nsec);
++ ASSERT(offset == serializedTimeValueSize_(), "serialized to wrong size");
+ return offset;
+ }
+
+- timespec _deserializeTimeValue(const char **pos) {
++ timespec deserializeTimeValue_(const char **pos) {
+ timespec value{};
+- value.tv_sec = _deserialize<uint64_t>(pos);
+- value.tv_nsec = _deserialize<uint32_t>(pos);
++ value.tv_sec = deserialize_<uint64_t>(pos);
++ value.tv_nsec = deserialize_<uint32_t>(pos);
+ return value;
+ }
+
+- unsigned int _serializeString(uint8_t *dest, const string &value) {
++ unsigned int serializeString_(uint8_t *dest, const string &value) {
+ std::memcpy(dest, value.c_str(), value.size()+1);
+ return value.size() + 1;
+ }
+
+- string _deserializeString(const char **pos) {
++ string deserializeString_(const char **pos) {
+ size_t length = strlen(*pos);
+ string value(*pos, length);
+ *pos += length + 1;
+ return value;
+ }
+
+- unsigned int _serializeBlockId(uint8_t *dest, const BlockId &blockId) {
++ unsigned int serializeBlockId_(uint8_t *dest, const BlockId &blockId) {
+ blockId.ToBinary(dest);
+ return blockId.BINARY_LENGTH;
+ }
+
+- BlockId _deserializeBlockId(const char **pos) {
++ BlockId deserializeBlockId_(const char **pos) {
+ BlockId blockId = BlockId::FromBinary(*pos);
+ *pos += BlockId::BINARY_LENGTH;
+ return blockId;
+@@ -75,35 +75,35 @@ namespace cryfs {
+ _mode.hasDirFlag()) + ", " + std::to_string(_mode.hasSymlinkFlag()) + ", " + std::to_string(static_cast<uint8_t>(_type))
+ );
+ unsigned int offset = 0;
+- offset += _serialize<uint8_t>(dest + offset, static_cast<uint8_t>(_type));
+- offset += _serialize<uint32_t>(dest + offset, _mode.value());
+- offset += _serialize<uint32_t>(dest + offset, _uid.value());
+- offset += _serialize<uint32_t>(dest + offset, _gid.value());
+- offset += _serializeTimeValue(dest + offset, _lastAccessTime);
+- offset += _serializeTimeValue(dest + offset, _lastModificationTime);
+- offset += _serializeTimeValue(dest + offset, _lastMetadataChangeTime);
+- offset += _serializeString(dest + offset, _name);
+- offset += _serializeBlockId(dest + offset, _blockId);
++ offset += serialize_<uint8_t>(dest + offset, static_cast<uint8_t>(_type));
++ offset += serialize_<uint32_t>(dest + offset, _mode.value());
++ offset += serialize_<uint32_t>(dest + offset, _uid.value());
++ offset += serialize_<uint32_t>(dest + offset, _gid.value());
++ offset += serializeTimeValue_(dest + offset, _lastAccessTime);
++ offset += serializeTimeValue_(dest + offset, _lastModificationTime);
++ offset += serializeTimeValue_(dest + offset, _lastMetadataChangeTime);
++ offset += serializeString_(dest + offset, _name);
++ offset += serializeBlockId_(dest + offset, _blockId);
+ ASSERT(offset == serializedSize(), "Didn't write correct number of elements");
+ }
+
+ const char *DirEntry::deserializeAndAddToVector(const char *pos, vector<DirEntry> *result) {
+- fspp::Dir::EntryType type = static_cast<fspp::Dir::EntryType>(_deserialize<uint8_t>(&pos));
+- fspp::mode_t mode = fspp::mode_t(_deserialize<uint32_t>(&pos));
+- fspp::uid_t uid = fspp::uid_t(_deserialize<uint32_t>(&pos));
+- fspp::gid_t gid = fspp::gid_t(_deserialize<uint32_t>(&pos));
+- timespec lastAccessTime = _deserializeTimeValue(&pos);
+- timespec lastModificationTime = _deserializeTimeValue(&pos);
+- timespec lastMetadataChangeTime = _deserializeTimeValue(&pos);
+- string name = _deserializeString(&pos);
+- BlockId blockId = _deserializeBlockId(&pos);
++ fspp::Dir::EntryType type = static_cast<fspp::Dir::EntryType>(deserialize_<uint8_t>(&pos));
++ fspp::mode_t mode = fspp::mode_t(deserialize_<uint32_t>(&pos));
++ fspp::uid_t uid = fspp::uid_t(deserialize_<uint32_t>(&pos));
++ fspp::gid_t gid = fspp::gid_t(deserialize_<uint32_t>(&pos));
++ timespec lastAccessTime = deserializeTimeValue_(&pos);
++ timespec lastModificationTime = deserializeTimeValue_(&pos);
++ timespec lastMetadataChangeTime = deserializeTimeValue_(&pos);
++ string name = deserializeString_(&pos);
++ BlockId blockId = deserializeBlockId_(&pos);
+
+ result->emplace_back(type, name, blockId, mode, uid, gid, lastAccessTime, lastModificationTime, lastMetadataChangeTime);
+ return pos;
+ }
+
+ size_t DirEntry::serializedSize() const {
+- return 1 + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + 3*_serializedTimeValueSize() + (
++ return 1 + sizeof(uint32_t) + sizeof(uint32_t) + sizeof(uint32_t) + 3*serializedTimeValueSize_() + (
+ _name.size() + 1) + _blockId.BINARY_LENGTH;
+ }
+ }
+--- a/src/cryfs/localstate/LocalStateMetadata.cpp
++++ b/src/cryfs/localstate/LocalStateMetadata.cpp
+@@ -30,10 +30,10 @@ LocalStateMetadata::LocalStateMetadata(uint32_t myClientId, Hash encryptionKeyHa
+
+ LocalStateMetadata LocalStateMetadata::loadOrGenerate(const bf::path &statePath, const Data& encryptionKey, bool allowReplacedFilesystem) {
+ auto metadataFile = statePath / "metadata";
+- auto loaded = _load(metadataFile);
++ auto loaded = load_(metadataFile);
+ if (loaded == none) {
+ // If it couldn't be loaded, generate a new client id.
+- return _generate(metadataFile, encryptionKey);
++ return generate_(metadataFile, encryptionKey);
+ }
+
+ if (!allowReplacedFilesystem && loaded->_encryptionKeyHash.digest != cpputils::hash::hash(encryptionKey, loaded->_encryptionKeyHash.salt).digest) {
+@@ -42,22 +42,22 @@ LocalStateMetadata LocalStateMetadata::loadOrGenerate(const bf::path &statePath,
+ return *loaded;
+ }
+
+-optional<LocalStateMetadata> LocalStateMetadata::_load(const bf::path &metadataFilePath) {
++optional<LocalStateMetadata> LocalStateMetadata::load_(const bf::path &metadataFilePath) {
+ ifstream file(metadataFilePath.string());
+ if (!file.good()) {
+ // State file doesn't exist
+ return none;
+ }
+- return _deserialize(file);
++ return deserialize_(file);
+ }
+
+-void LocalStateMetadata::_save(const bf::path &metadataFilePath) const {
++void LocalStateMetadata::save_(const bf::path &metadataFilePath) const {
+ ofstream file(metadataFilePath.string(), std::ios::trunc);
+- _serialize(file);
++ serialize_(file);
+ }
+
+ namespace {
+-uint32_t _generateClientId() {
++uint32_t generateClientId_() {
+ uint32_t result;
+ do {
+ result = cpputils::deserialize<uint32_t>(Random::PseudoRandom().getFixedSize<sizeof(uint32_t)>().data());
+@@ -82,8 +82,8 @@ optional<uint32_t> _tryLoadClientIdFromLegacyFile(const bf::path &metadataFilePa
+ #endif
+ }
+
+-LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePath, const Data& encryptionKey) {
+- uint32_t myClientId = _generateClientId();
++LocalStateMetadata LocalStateMetadata::generate_(const bf::path &metadataFilePath, const Data& encryptionKey) {
++ uint32_t myClientId = generateClientId_();
+ #ifndef CRYFS_NO_COMPATIBILITY
+ // In the old format, this was stored in a "myClientId" file. If that file exists, load it from there.
+ optional<uint32_t> legacy = _tryLoadClientIdFromLegacyFile(metadataFilePath);
+@@ -93,11 +93,11 @@ LocalStateMetadata LocalStateMetadata::_generate(const bf::path &metadataFilePat
+ #endif
+
+ LocalStateMetadata result(myClientId, cpputils::hash::hash(encryptionKey, cpputils::hash::generateSalt()));
+- result._save(metadataFilePath);
++ result.save_(metadataFilePath);
+ return result;
+ }
+
+-void LocalStateMetadata::_serialize(ostream& stream) const {
++void LocalStateMetadata::serialize_(ostream& stream) const {
+ ptree pt;
+ pt.put<uint32_t>("myClientId", myClientId());
+ pt.put<string>("encryptionKey.salt", _encryptionKeyHash.salt.ToString());
+@@ -106,7 +106,7 @@ void LocalStateMetadata::_serialize(ostream& stream) const {
+ write_json(stream, pt);
+ }
+
+-LocalStateMetadata LocalStateMetadata::_deserialize(istream& stream) {
++LocalStateMetadata LocalStateMetadata::deserialize_(istream& stream) {
+ try {
+ ptree pt;
+ read_json(stream, pt);
+--- a/src/cryfs/localstate/LocalStateMetadata.h
++++ b/src/cryfs/localstate/LocalStateMetadata.h
+@@ -20,11 +20,11 @@ class LocalStateMetadata final {
+ const uint32_t _myClientId;
+ const cpputils::hash::Hash _encryptionKeyHash;
+
+- static boost::optional<LocalStateMetadata> _load(const boost::filesystem::path &metadataFilePath);
+- static LocalStateMetadata _deserialize(std::istream& stream);
+- static LocalStateMetadata _generate(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey);
+- void _save(const boost::filesystem::path &metadataFilePath) const;
+- void _serialize(std::ostream& stream) const;
++ static boost::optional<LocalStateMetadata> load_(const boost::filesystem::path &metadataFilePath);
++ static LocalStateMetadata deserialize_(std::istream& stream);
++ static LocalStateMetadata generate_(const boost::filesystem::path &metadataFilePath, const cpputils::Data& encryptionKey);
++ void save_(const boost::filesystem::path &metadataFilePath) const;
++ void serialize_(std::ostream& stream) const;
+
+ LocalStateMetadata(uint32_t myClientId, cpputils::hash::Hash encryptionKey);
+ };
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 cf73e5490d63..dce6d653fddc 100644
--- a/sys-fs/cryfs/metadata.xml
+++ b/sys-fs/cryfs/metadata.xml
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
- <use>
- <flag name="custom-optimization">Use user-defined compiler optimization level</flag>
- </use>
+ <maintainer type="person" proxied="yes">
+ <email>nickaristocrates@gmail.com</email>
+ <name>Nicholas Meyer</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <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 3b432492b8ec..f80e1e8ced04 100644
--- a/sys-fs/cryptmount/Manifest
+++ b/sys-fs/cryptmount/Manifest
@@ -1 +1 @@
-DIST cryptmount-5.3.2.tar.gz 545190 BLAKE2B 708c6ba33060c0698361de7bcdc5e0a5932e063c9178c0a6b9cfb1cba9ec236337dbda0664e8755cc017113ee8ef0149c47fc85019a57ac84bf240790d5d798c SHA512 972c7fefadb86bb82cdeb96b185f45bec08ac07d39474a4c7e2a473bc2453624ffcc387b6836a02260dcd0d1176a5a743c45bdf3d7e78d2f519f02a48c62a6b8
+DIST cryptmount-6.2.0.tar.gz 548497 BLAKE2B 45602d86624464c8c1c2ad9cf3ffc4bf311d60ae16c2294111b1fc98bb0e02952c69c767a1c583428c3d8eb0ade2caddb17d3187f4dd34d780772b299ea1a6c0 SHA512 005d9333792a567515ce6d487d2dfa18f19cb077a64d9c356562acefc1947581d2d0f584ad623e0aab8aed1b34f1614af3a42f0c582d31e0831cdb8eb22bb7ce
diff --git a/sys-fs/cryptmount/cryptmount-5.3.2.ebuild b/sys-fs/cryptmount/cryptmount-6.2.0.ebuild
index 95c674a5b8b6..c68573762d40 100644
--- a/sys-fs/cryptmount/cryptmount-5.3.2.ebuild
+++ b/sys-fs/cryptmount/cryptmount-6.2.0.ebuild
@@ -1,9 +1,9 @@
-# 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 linux-info systemd
+inherit linux-info
DESCRIPTION="A utility for management and user-mode mounting of encrypted filesystems"
HOMEPAGE="http://cryptmount.sourceforge.net/"
@@ -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 )
@@ -19,13 +19,14 @@ REQUIRED_USE="
"
RDEPEND="
+ sys-fs/lvm2
+ virtual/libiconv
+ virtual/libintl
gcrypt? ( dev-libs/libgcrypt:0= )
luks? ( sys-fs/cryptsetup )
openssl? ( dev-libs/openssl:0= )
systemd? ( sys-apps/systemd )
udev? ( virtual/udev )
- virtual/libiconv
- virtual/libintl
"
DEPEND="
@@ -35,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/cryptmount/metadata.xml b/sys-fs/cryptmount/metadata.xml
index 766e5db5d561..04afce0bebc0 100644
--- a/sys-fs/cryptmount/metadata.xml
+++ b/sys-fs/cryptmount/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>conikost@gentoo.org</email>
diff --git a/sys-fs/cryptsetup/Manifest b/sys-fs/cryptsetup/Manifest
index 212251c15714..12d3d7733690 100644
--- a/sys-fs/cryptsetup/Manifest
+++ b/sys-fs/cryptsetup/Manifest
@@ -1,3 +1 @@
-DIST cryptsetup-2.3.2.tar.xz 11037076 BLAKE2B b0f8a1a274e6b95b12aa7172dbdd41e512aea2c87a98d62b8b4d4cbb898b2d4b82e250368e385c4d4acc8e77046ea4b4f7be730750587569572c4b9490815bc1 SHA512 c5eb41751ca64ff906187f40805705570c261816b014dfcdbf2777f42e53668e32966197092a2235b8f6a7a4e7f9c3f301d82f17c45cfbcff96b9818631d7e5f
-DIST cryptsetup-2.3.3.tar.xz 11104768 BLAKE2B 54aa6f087c5366e843c1f9b649fd77ec8be8c4e65c783a2a84a036b4ef460c9d070bdd8aff72f87a7a3136f13581e84534940b435f0b49eb1951d1a755cab47a SHA512 d613efb80e003364a21832da3fefe3891d36a891119cc0efa970aad40ba135dfcd42b32a0c19c31ad879d4eddf27864beccbea1d4b31a47a4e075bc0f756365c
-DIST cryptsetup-2.3.4.tar.xz 11114004 BLAKE2B 680e6eeb594737aeb8330b0ac8638e94941bdcc56fc3441b6f1bc4f3d209d768096e23a7f840dc1012f9e63fae0fdbc0e72d735d89e92a621cec88ea59560f19 SHA512 db0bfd795343e575acb7a80ea2b9d32acf08ac970037e5b158a1e4381976552dc292107ce79e55913f49fcf643d4ea7104ed73de7c1e8d424b83d471d20ab60d
+DIST cryptsetup-2.6.1.tar.xz 11402380 BLAKE2B efd7a64d89d863876de68ff3e89d8c94ad5eca6a8d2236c52c234fbe51e9d9ee303a0c7fe7dac7df10e0062003b9c0aeddc8dc342582106c157ab2d1e742155e SHA512 0cbddbf33cbac2b834ed7e2dd47a9fc787131031a1c729f373f5c974600a838097e9cc0555f13719fc79c384a2a34b404f94ba4cc2f35f0bb1d70aef2233fd18
diff --git a/sys-fs/cryptsetup/cryptsetup-2.3.2.ebuild b/sys-fs/cryptsetup/cryptsetup-2.3.2.ebuild
deleted file mode 100644
index c9775999f930..000000000000
--- a/sys-fs/cryptsetup/cryptsetup-2.3.2.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools linux-info libtool
-
-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 libressl luks1_default nls pwquality reencrypt static static-libs +udev urandom"
-REQUIRED_USE="^^ ( ${CRYPTO_BACKENDS//+/} )
- libressl? ( openssl )
- static? ( !gcrypt )" #496612
-
-LIB_DEPEND="
- dev-libs/json-c:=[static-libs(+)]
- dev-libs/libgpg-error[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(+)] )
- nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
- openssl? (
- !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
- libressl? ( dev-libs/libressl:0=[static-libs(+)] )
- )
- pwquality? ( dev-libs/libpwquality[static-libs(+)] )
- sys-fs/lvm2[static-libs(+)]
- udev? ( virtual/libudev[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\([+-]\)\]}"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )"
-BDEPEND="
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${P/_/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.0.4-fix-static-pwquality-build.patch )
-
-pkg_pretend() {
- if ! use luks1_default ; then
- ewarn "WARNING! WARNING! WARNING!"
- ewarn "You have chosen LUKS2 as your default format."
- ewarn "This can break LUKS1 backwards compatibility."
- ewarn "Enable \"luks1_default\" USE flag if you need backwards compatibility."
- fi
-}
-
-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
- eautoreconf
-}
-
-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=LUKS$(usex luks1_default 1 2)
- --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 static-cryptsetup)
- $(use_enable static-libs static)
- $(use_enable udev)
- $(use_enable !urandom dev-random)
- )
- 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
- 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}"/1.6.7-dmcrypt.confd dmcrypt
- newinitd "${FILESDIR}"/1.6.7-dmcrypt.rc dmcrypt
-}
diff --git a/sys-fs/cryptsetup/cryptsetup-2.3.3.ebuild b/sys-fs/cryptsetup/cryptsetup-2.3.3.ebuild
deleted file mode 100644
index e9301bd41330..000000000000
--- a/sys-fs/cryptsetup/cryptsetup-2.3.3.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools linux-info libtool
-
-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 libressl luks1_default nls pwquality reencrypt static static-libs +udev urandom"
-REQUIRED_USE="^^ ( ${CRYPTO_BACKENDS//+/} )
- libressl? ( openssl )
- static? ( !gcrypt )" #496612
-
-LIB_DEPEND="
- dev-libs/json-c:=[static-libs(+)]
- dev-libs/libgpg-error[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(+)] )
- nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
- openssl? (
- !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
- libressl? ( dev-libs/libressl:0=[static-libs(+)] )
- )
- pwquality? ( dev-libs/libpwquality[static-libs(+)] )
- sys-fs/lvm2[static-libs(+)]
- udev? ( virtual/libudev[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\([+-]\)\]}"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )"
-BDEPEND="
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${P/_/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.0.4-fix-static-pwquality-build.patch )
-
-pkg_pretend() {
- if ! use luks1_default ; then
- ewarn "WARNING! WARNING! WARNING!"
- ewarn "You have chosen LUKS2 as your default format."
- ewarn "This can break LUKS1 backwards compatibility."
- ewarn "Enable \"luks1_default\" USE flag if you need backwards compatibility."
- fi
-}
-
-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
- eautoreconf
-}
-
-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=LUKS$(usex luks1_default 1 2)
- --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 static-cryptsetup)
- $(use_enable static-libs static)
- $(use_enable udev)
- $(use_enable !urandom dev-random)
- )
- 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
- 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}"/1.6.7-dmcrypt.confd dmcrypt
- newinitd "${FILESDIR}"/1.6.7-dmcrypt.rc dmcrypt
-}
diff --git a/sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild b/sys-fs/cryptsetup/cryptsetup-2.6.1.ebuild
index 78f20a6fafb3..07d4351b691c 100644
--- a/sys-fs/cryptsetup/cryptsetup-2.3.4.ebuild
+++ b/sys-fs/cryptsetup/cryptsetup-2.6.1.ebuild
@@ -1,56 +1,66 @@
-# 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 linux-info libtool
+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 ~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 libressl nls pwquality reencrypt static static-libs +udev urandom"
-REQUIRED_USE="^^ ( ${CRYPTO_BACKENDS//+/} )
- libressl? ( openssl )
- static? ( !gcrypt )" #496612
+IUSE="${CRYPTO_BACKENDS} +argon2 fips nls pwquality ssh static static-libs test +udev urandom"
+RESTRICT="!test? ( test )"
+# bug #496612, bug #832711, bug #843863
+REQUIRED_USE="
+ ^^ ( ${CRYPTO_BACKENDS//+/} )
+ static? ( !gcrypt !ssh !udev !fips )
+ fips? ( !kernel !nettle )
+"
LIB_DEPEND="
dev-libs/json-c:=[static-libs(+)]
- dev-libs/libgpg-error[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(+)] )
- nettle? ( >=dev-libs/nettle-2.4[static-libs(+)] )
- openssl? (
- !libressl? ( dev-libs/openssl:0=[static-libs(+)] )
- libressl? ( dev-libs/libressl:0=[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(+)]
- udev? ( virtual/libudev[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\([+-]\)\]}"
-DEPEND="${RDEPEND}
- static? ( ${LIB_DEPEND} )"
+# these other packages. bug #414665
+RDEPEND="
+ static-libs? ( ${LIB_DEPEND} )
+ ${LIB_DEPEND//\[static-libs\([+-]\)\]}
+ udev? ( virtual/libudev:= )
+"
+DEPEND="
+ ${RDEPEND}
+ static? ( ${LIB_DEPEND} )
+"
+# vim-core needed for xxd in tests
BDEPEND="
virtual/pkgconfig
+ test? ( app-editors/vim-core )
"
-S="${WORKDIR}/${P/_/-}"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.0.4-fix-static-pwquality-build.patch )
-
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"
@@ -61,22 +71,17 @@ pkg_setup() {
}
src_prepare() {
- sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
default
- eautoreconf
+
+ 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=/sbin
+ --sbindir="${EPREFIX}"/sbin
# for later use
--with-default-luks-format=LUKS2
--with-tmpfilesdir="${EPREFIX}/usr/lib/tmpfiles.d"
@@ -84,12 +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)
+ $(usev !argon2 '--with-luks2-pbkdf=pbkdf2')
+ $(use_enable fips)
)
+
econf "${myeconfargs[@]}"
}
@@ -113,14 +122,27 @@ src_install() {
if use static ; then
mv "${ED}"/sbin/cryptsetup{.static,} || die
mv "${ED}"/sbin/veritysetup{.static,} || die
- if use reencrypt ; then
- mv "${ED}"/sbin/cryptsetup-reencrypt{.static,} || die
+ mv "${ED}"/sbin/integritysetup{.static,} || die
+
+ if use ssh ; then
+ mv "${ED}"/sbin/cryptsetup-ssh{.static,} || die
fi
fi
+
find "${ED}" -type f -name "*.la" -delete || die
dodoc docs/v*ReleaseNotes
- newconfd "${FILESDIR}"/1.6.7-dmcrypt.confd dmcrypt
- newinitd "${FILESDIR}"/1.6.7-dmcrypt.rc dmcrypt
+ newconfd "${FILESDIR}"/2.4.3-dmcrypt.confd dmcrypt
+ newinitd "${FILESDIR}"/2.4.3-dmcrypt.rc dmcrypt
+}
+
+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/1.6.7-dmcrypt.confd b/sys-fs/cryptsetup/files/2.4.3-dmcrypt.confd
index 642ff087078b..8250e8268ac9 100644
--- a/sys-fs/cryptsetup/files/1.6.7-dmcrypt.confd
+++ b/sys-fs/cryptsetup/files/2.4.3-dmcrypt.confd
@@ -44,6 +44,7 @@ dmcrypt_retries=5
# 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.
+# header='</path/to/header>' == Full path to detached LUKS header file.
# 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
@@ -52,6 +53,8 @@ dmcrypt_retries=5
# 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 or
+# detached header file appear.
#-----------
# Supported Modes
# gpg == decrypt and pipe key into cryptsetup.
@@ -79,6 +82,12 @@ dmcrypt_retries=5
#source='/dev/hda5'
#key='/full/path/to/homekey'
+## /home with regular keyfile and detached header
+#target=crypt-home
+#source='/dev/hda5'
+#key='/full/path/to/homekey'
+#header='/full/path/to/header/file'
+
## /home with gpg protected key
#target=crypt-home
#source='/dev/hda5'
diff --git a/sys-fs/cryptsetup/files/1.6.7-dmcrypt.rc b/sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc
index cdd20ba929d4..ea9a5ca4807b 100644
--- a/sys-fs/cryptsetup/files/1.6.7-dmcrypt.rc
+++ b/sys-fs/cryptsetup/files/2.4.3-dmcrypt.rc
@@ -3,7 +3,9 @@
# Distributed under the terms of the GNU General Public License v2
depend() {
+ use modules
before checkfs fsck
+ after dev-settle
if grep -qs ^swap= "${conf_file}" ; then
before swap
@@ -21,7 +23,7 @@ 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
+ local dev ret mode foo source_dev
if [ -z "${target}" -a -z "${swap}" ] ; then
return
@@ -31,6 +33,7 @@ dm_crypt_execute() {
: ${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
@@ -38,7 +41,16 @@ dm_crypt_execute() {
fi
case ${source} in
*=*)
- source=$(blkid -l -t "${source}" -o device)
+ 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
@@ -46,11 +58,28 @@ dm_crypt_execute() {
return
fi
+ if [ -n "${header}" ] ; then
+ header_opt="--header=${header}"
+
+ i=0
+ while [ ! -e "${header}" ] && [ ${i} -lt ${wait} ] ; do
+ : $((i += 1))
+ einfo "Waiting for header ${header} to appear for ${target} ${i}/${dmcrypt_max_timeout} ..."
+ sleep 1
+ done
+ if [ ${i} -gt ${wait} ] || [ ${i} -eq ${wait} ] ; then
+ ewarn "Waited ${i} times for header file ${header}. Aborting ${target}."
+ return
+ fi
+ else
+ header_opt=""
+ 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
+ if cryptsetup ${header_opt} isLuks ${source} 2>/dev/null ; then
ewarn "The swap you have defined is a LUKS partition. Aborting crypt-swap setup."
return
fi
@@ -71,7 +100,7 @@ dm_crypt_execute() {
# 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
+ if cryptsetup ${header_opt} isLuks ${source} 2>/dev/null ; then
arg1="open"
arg2="${source}"
arg3="${target}"
@@ -81,7 +110,7 @@ dm_crypt_execute() {
# ${target} is active:
# Newer versions report:
# ${target} is active[ and is in use.]
- if cryptsetup 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
@@ -171,7 +200,7 @@ dm_crypt_execute() {
else
mode=none
fi
- ebegin " ${target} using: ${options} ${arg1} ${arg2} ${arg3}"
+ ebegin " ${target} using: ${header_opt} ${options} ${arg1} ${arg2} ${arg3}"
if [ "${mode}" = "gpg" ] ; then
: ${gpg_options:='-q -d'}
# gpg available ?
@@ -181,7 +210,7 @@ dm_crypt_execute() {
# 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}
+ cryptsetup ${header_opt} --key-file - ${options} ${arg1} ${arg2} ${arg3}
ret=$?
# The timeout command exits 124 when it times out.
[ ${ret} -eq 0 -o ${ret} -eq 124 ] && break
@@ -196,11 +225,11 @@ dm_crypt_execute() {
fi
else
if [ "${mode}" = "reg" ] ; then
- cryptsetup ${options} -d ${key} ${arg1} ${arg2} ${arg3}
+ cryptsetup ${header_opt} ${options} -d ${key} ${arg1} ${arg2} ${arg3}
ret=$?
eend ${ret} "failure running cryptsetup"
else
- cryptsetup ${options} ${arg1} ${arg2} ${arg3}
+ cryptsetup ${header_opt} ${options} ${arg1} ${arg2} ${arg3}
ret=$?
eend ${ret} "failure running cryptsetup"
fi
@@ -236,7 +265,7 @@ get_bootparam_val() {
}
start() {
- local header=true cryptfs_status=0
+ local print_header=true cryptfs_status=0
local gpg_options key loop_file target targetline options pre_mount post_mount source swap remdev
local x
@@ -256,8 +285,8 @@ start() {
rc_*) continue ;;
esac
- ${header} && ebegin "Setting up dm-crypt mappings"
- header=false
+ ${print_header} && ebegin "Setting up dm-crypt mappings"
+ print_header=false
# check for the start of a new target/swap
case ${targetline} in
@@ -266,10 +295,10 @@ start() {
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
+ unset gpg_options key loop_file target options pre_mount post_mount source swap remdev wait header header_opt
;;
- gpg_options=*|remdev=*|key=*|loop_file=*|options=*|pre_mount=*|post_mount=*|source=*)
+ gpg_options=*|remdev=*|key=*|loop_file=*|options=*|pre_mount=*|post_mount=*|wait=*|source=*|header=*)
if [ -z "${target}${swap}" ] ; then
ewarn "Ignoring setting outside target/swap section: ${targetline}"
continue
@@ -297,14 +326,14 @@ start() {
}
stop() {
- local line header
+ local line print_header
# Break down all mappings
- header=true
- egrep "^(target|swap)=" ${conf_file} | \
+ print_header=true
+ grep -E "^(target|swap)=" ${conf_file} | \
while read line ; do
- ${header} && einfo "Removing dm-crypt mappings"
- header=false
+ ${print_header} && einfo "Removing dm-crypt mappings"
+ print_header=false
target= swap=
eval ${line}
@@ -316,16 +345,16 @@ stop() {
fi
ebegin " ${target}"
- cryptsetup remove ${target}
+ cryptsetup ${header_opt} remove ${target}
eend $?
done
# Break down loop devices
- header=true
+ print_header=true
grep '^source=./dev/loop' ${conf_file} | \
while read line ; do
- ${header} && einfo "Detaching dm-crypt loop devices"
- header=false
+ ${print_header} && einfo "Detaching dm-crypt loop devices"
+ print_header=false
source=
eval ${line}
diff --git a/sys-fs/cryptsetup/files/cryptsetup-2.0.4-fix-static-pwquality-build.patch b/sys-fs/cryptsetup/files/cryptsetup-2.0.4-fix-static-pwquality-build.patch
deleted file mode 100644
index 39524ec3114b..000000000000
--- a/sys-fs/cryptsetup/files/cryptsetup-2.0.4-fix-static-pwquality-build.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/src/Makemodule.am 2018-07-31 14:32:46.000000000 +0200
-+++ b/src/Makemodule.am 2018-08-12 17:13:26.000000000 +0200
-@@ -64,6 +64,7 @@
- $(veritysetup_LDADD) \
- @CRYPTO_STATIC_LIBS@ \
- @DEVMAPPER_STATIC_LIBS@ \
-+ @PWQUALITY_STATIC_LIBS@ \
- @UUID_LIBS@
- endif
- endif
-@@ -93,6 +94,7 @@
- $(integritysetup_LDADD) \
- @CRYPTO_STATIC_LIBS@ \
- @DEVMAPPER_STATIC_LIBS@ \
-+ @PWQUALITY_STATIC_LIBS@ \
- @UUID_LIBS@
- endif
- endif
diff --git a/sys-fs/cryptsetup/metadata.xml b/sys-fs/cryptsetup/metadata.xml
index e044cae4089e..fc0ad715a118 100644
--- a/sys-fs/cryptsetup/metadata.xml
+++ b/sys-fs/cryptsetup/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
@@ -7,16 +7,17 @@
</maintainer>
<use>
<flag name="argon2">Enable password hashing algorithm from <pkg>app-crypt/argon2</pkg></flag>
+ <flag name="fips">Enable FIPS mode restrictions</flag>
<flag name="gcrypt">Use <pkg>dev-libs/libgcrypt</pkg> crypto backend</flag>
<flag name="kernel">Use kernel crypto backend (mainly for embedded systems)</flag>
- <flag name="luks1_default">Default to LUKS1 on disk encryption format rather than new LUKS2</flag>
<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="ssh">Build cryptsetup-ssh for experimental support of token via SSH-server</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
- <flag name="reencrypt">Build cryptsetup-reencrypt</flag>
</use>
<upstream>
- <remote-id type="google-code">cryptsetup</remote-id>
+ <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/ctmg/ctmg-1.2.ebuild b/sys-fs/ctmg/ctmg-1.2.ebuild
index 7f05530078a9..e8ac8f76fe98 100644
--- a/sys-fs/ctmg/ctmg-1.2.ebuild
+++ b/sys-fs/ctmg/ctmg-1.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=8
DESCRIPTION="Simple wrapper around cryptsetup for encrypted containers"
HOMEPAGE="https://git.zx2c4.com/ctmg/about/"
@@ -13,7 +13,12 @@ KEYWORDS="amd64 arm ~arm64 x86"
IUSE=""
DEPEND=""
-RDEPEND="sys-fs/cryptsetup sys-apps/util-linux sys-fs/e2fsprogs sys-apps/coreutils app-admin/sudo"
+RDEPEND="
+ sys-fs/cryptsetup
+ sys-apps/util-linux
+ sys-fs/e2fsprogs
+ sys-apps/coreutils
+ app-admin/sudo"
src_compile() { :; }
diff --git a/sys-fs/ctmg/metadata.xml b/sys-fs/ctmg/metadata.xml
index 915f00227065..4d1e1ea205c7 100644
--- a/sys-fs/ctmg/metadata.xml
+++ b/sys-fs/ctmg/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zx2c4@gentoo.org</email>
diff --git a/sys-fs/davl/davl-1.2.4-r2.ebuild b/sys-fs/davl/davl-1.2.4-r2.ebuild
index 0fdc23693d0f..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-2018 Gentoo Foundation
+# 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
@@ -24,6 +24,8 @@ PATCHES=(
)
src_compile() {
+ tc-export PKG_CONFIG
+
emake CC="$(tc-getCC)"
}
diff --git a/sys-fs/davl/files/davl-1.2.1-asneeded.patch b/sys-fs/davl/files/davl-1.2.1-asneeded.patch
index 819d16d09e75..58646e7dd492 100644
--- a/sys-fs/davl/files/davl-1.2.1-asneeded.patch
+++ b/sys-fs/davl/files/davl-1.2.1-asneeded.patch
@@ -26,8 +26,8 @@
-else
- CFLAGS += $(CFLAGS1)
-endif
-+CFLAGS += -D$(GTK_VER) `pkg-config --cflags gtk+-2.0`
-+LDLIBS = `pkg-config --libs gtk+-2.0`
++CFLAGS += -D$(GTK_VER) `${PKG_CONFIG} --cflags gtk+-2.0`
++LDLIBS = `${PKG_CONFIG} --libs gtk+-2.0`
DEBUG =
#DEBUG = -D DEBUG
GDAVL = gdavl
diff --git a/sys-fs/davl/metadata.xml b/sys-fs/davl/metadata.xml
index 6b0782c2e5c4..2d96c916ebaa 100644
--- a/sys-fs/davl/metadata.xml
+++ b/sys-fs/davl/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/dd-rescue/Manifest b/sys-fs/dd-rescue/Manifest
index 380ebad15a86..7e349d7d3171 100644
--- a/sys-fs/dd-rescue/Manifest
+++ b/sys-fs/dd-rescue/Manifest
@@ -1 +1 @@
-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.8-r1.ebuild b/sys-fs/dd-rescue/dd-rescue-1.99.13-r1.ebuild
index d421dc83aa03..0f51c3d5bd9d 100644
--- a/sys-fs/dd-rescue/dd-rescue-1.99.8-r1.ebuild
+++ b/sys-fs/dd-rescue/dd-rescue-1.99.13-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
-inherit toolchain-funcs flag-o-matic multilib autotools
+inherit autotools flag-o-matic toolchain-funcs
MY_PN="${PN/-/_}"
MY_P="${MY_PN}-${PV}"
@@ -14,46 +14,51 @@ 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"
+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}"/${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
+ "${FILESDIR}"/${PN}-1.99.13-musl.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
+ configure.ac || die
fi
if ! use cpu_flags_x86_avx2; then
sed -i \
-e 's:^CC_FLAGS_CHECK(-mavx2,AVX2):#&:' \
- configure.in || die
+ configure.ac || die
fi
eautoreconf
+
+ sed -i \
+ -e 's:\(-ldl\):$(LDFLAGS) \1:' \
+ -e 's:\(-shared\):$(CFLAGS) $(LDFLAGS) \1:' \
+ Makefile || die
}
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) \
@@ -61,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
}
@@ -81,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)" \
@@ -93,7 +99,7 @@ src_compile() {
}
src_test() {
- append-cflags -fcommon # bug 707796
+ append-cflags -fcommon # bug #707796
_emake check
}
@@ -101,7 +107,7 @@ 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
+ 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-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/dd-rescue/metadata.xml b/sys-fs/dd-rescue/metadata.xml
index 56c124413057..73dda144f9ac 100644
--- a/sys-fs/dd-rescue/metadata.xml
+++ b/sys-fs/dd-rescue/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/ddrescue/Manifest b/sys-fs/ddrescue/Manifest
index 7f3cd6a0f17a..0bb770634960 100644
--- a/sys-fs/ddrescue/Manifest
+++ b/sys-fs/ddrescue/Manifest
@@ -1,2 +1,2 @@
-DIST ddrescue-1.24.tar.lz 85244 BLAKE2B e8b5ca5c89a65bed6126737125d78b2af9cdd7fe9b20f1f03636d58249d33dc08cb1907eca35c35d3ff81dd031290177084ae5dcc1cac20e79cb6c182cb894e4 SHA512 2c6a86c80bad122e0c44d6f8da49239e10362fbfbdb70acf39055ce02637daa05cce4f24adac732a1bb3a6fc97cf6985dd20827e99ab3bf6bad4db015a00fbaa
-DIST ddrescue-1.25.tar.lz 87001 BLAKE2B 45054ecb6ca12f8fe27d6b783f7e339fc11a9a3425160012e0682e39644fd3c91362ecd568a2a0b93f9f0af87fae2415b33a7c3fcd8fff2262898e8474818a00 SHA512 90e344a618e385730836218817588f6854db6d1acdf357bf60bdba04c76382e73041dfc367ba4de60062992ee74b2da58417f6e464ffbeed10ec89fac110f4b8
+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.25.ebuild b/sys-fs/ddrescue/ddrescue-1.27.ebuild
index 61ffa9c9ef9d..8bf8cf8643e1 100644
--- a/sys-fs/ddrescue/ddrescue-1.25.ebuild
+++ b/sys-fs/ddrescue/ddrescue-1.27.ebuild
@@ -1,7 +1,7 @@
-# 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 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/ddrescue-1.24.ebuild b/sys-fs/ddrescue/ddrescue-1.28.ebuild
index 8654cb69e953..0ba725b13aff 100644
--- a/sys-fs/ddrescue/ddrescue-1.24.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=6
+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 c7be278b6458..2bdb11292283 100644
--- a/sys-fs/ddrescue/metadata.xml
+++ b/sys-fs/ddrescue/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 ff80ffbf9eb5..4e0dba7f60f0 100644
--- a/sys-fs/dfc/dfc-3.1.1.ebuild
+++ b/sys-fs/dfc/dfc-3.1.1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit cmake-utils
+EAPI=8
+inherit cmake
DESCRIPTION="A simple CLI tool that display file system usage, with colors"
HOMEPAGE="https://projects.gw-computing.net/projects/dfc"
@@ -10,7 +10,7 @@ SRC_URI="https://projects.gw-computing.net/attachments/download/615/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
IUSE="nls"
DEPEND="nls? (
@@ -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
@@ -30,5 +30,5 @@ src_configure() {
-DLFS_ENABLED=ON
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/sys-fs/dfc/metadata.xml b/sys-fs/dfc/metadata.xml
index 4f503c94254e..1ab427e8f0b6 100644
--- a/sys-fs/dfc/metadata.xml
+++ b/sys-fs/dfc/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>dlan@gentoo.org</email>
diff --git a/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r3.ebuild b/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild
index 57753cb339ce..827b33bc27b7 100644
--- a/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r3.ebuild
+++ b/sys-fs/diskdev_cmds/diskdev_cmds-332.14_p1-r4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 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*}
@@ -13,12 +13,8 @@ SRC_URI="http://darwinsource.opendarwin.org/tarballs/apsl/diskdev_cmds-${MY_PV}.
mirror://gentoo/diskdev_cmds-${PV}.patch.bz2"
LICENSE="APSL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 x86"
-IUSE="libressl"
-DEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
-"
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 x86"
+DEPEND="dev-libs/openssl:0="
RDEPEND="${DEPEND}"
S="${WORKDIR}/${PN}-${MY_PV}"
@@ -28,9 +24,20 @@ PATCHES=(
"${FILESDIR}"/${PN}-respect-cflags.patch
"${FILESDIR}"/${P}-AR.patch
"${FILESDIR}"/${P}-no-sysctl.patch
+ "${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${P}-musl.patch
)
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/files/diskdev_cmds-332.14_p1-ldflags.patch b/sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-ldflags.patch
new file mode 100644
index 000000000000..84b9c58417f9
--- /dev/null
+++ b/sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-ldflags.patch
@@ -0,0 +1,11 @@
+--- a/newfs_hfs.tproj/Makefile.lnx
++++ b/newfs_hfs.tproj/Makefile.lnx
+@@ -4,7 +4,7 @@ OFILES = $(CFILES:.c=.o)
+ all: newfs_hfs
+
+ newfs_hfs: $(OFILES)
+- ${CC} ${CFLAGS} -o newfs_hfs ${OFILES} -lcrypto
++ ${CC} ${CFLAGS} -o newfs_hfs ${OFILES} ${LDFLAGS} -lcrypto
+
+ clean:
+ $(RM) newfs_hfs $(OFILES)
diff --git a/sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-musl.patch b/sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-musl.patch
new file mode 100644
index 000000000000..7e7c3d1d310e
--- /dev/null
+++ b/sys-fs/diskdev_cmds/files/diskdev_cmds-332.14_p1-musl.patch
@@ -0,0 +1,79 @@
+Port to musl.
+
+Patch-by: ernsteiswuerfel
+Bug: https://bugs.gentoo.org/715862
+--- a/fsck_hfs.tproj/dfalib/CatalogCheck.c
++++ b/fsck_hfs.tproj/dfalib/CatalogCheck.c
+@@ -23,6 +23,7 @@
+ #include "Scavenger.h"
+ #include "DecompDataEnums.h"
+ #include "DecompData.h"
++#include <sys/types.h>
+
+ /*
+ * information collected when visiting catalog records
+--- a/fsck_hfs.tproj/dfalib/SRepair.c
++++ b/fsck_hfs.tproj/dfalib/SRepair.c
+@@ -35,6 +35,7 @@
+ #include "Scavenger.h"
+ #include <unistd.h>
+ #include <sys/stat.h>
++#include <sys/types.h>
+ #include <stdlib.h>
+ #include "../cache.h"
+
+--- a/fsck_hfs.tproj/dfalib/Scavenger.h
++++ b/fsck_hfs.tproj/dfalib/Scavenger.h
+@@ -44,7 +44,7 @@
+ #include <sys/kauth.h>
+ #include <sys/syslimits.h>
+ #endif
+-#include <sys/errno.h>
++#include <errno.h>
+
+ #ifdef __cplusplus
+ extern "C" {
+--- a/fsck_hfs.tproj/fsck_hfs.h
++++ b/fsck_hfs.tproj/fsck_hfs.h
+@@ -24,6 +24,9 @@
+
+ #include "cache.h"
+
++#ifndef __P
++#define __P(args) args
++#endif
+
+ const extern char *cdevname; /* name of device being checked */
+ extern char *progname;
+--- a/newfs_hfs.tproj/makehfs.c
++++ b/newfs_hfs.tproj/makehfs.c
+@@ -35,7 +35,6 @@
+ #include <time.h>
+ #include "missing.h"
+ #endif
+-#include <sys/errno.h>
+ #include <sys/stat.h>
+ #if !LINUX
+ #include <sys/sysctl.h>
+@@ -69,6 +68,9 @@ extern Boolean _CFStringGetFileSystemRepresentation(CFStringRef string, UInt8 *b
+ #include "newfs_hfs.h"
+ #include "readme.h"
+
++#ifndef __P
++#define __P(args) args
++#endif
+
+ #define HFS_BOOT_DATA "/usr/share/hfsprogs/hfsbootdata"
+
+--- a/newfs_hfs.tproj/newfs_hfs.c
++++ b/newfs_hfs.tproj/newfs_hfs.c
+@@ -54,6 +54,9 @@
+ #else
+ #include <varargs.h>
+ #endif
++#ifndef __P
++#define __P(args) args
++#endif
+
+ #define NOVAL (-1)
+ #define UMASK (0755)
diff --git a/sys-fs/diskdev_cmds/metadata.xml b/sys-fs/diskdev_cmds/metadata.xml
index 9ee7b49bec49..7f8d6f17fd5b 100644
--- a/sys-fs/diskdev_cmds/metadata.xml
+++ b/sys-fs/diskdev_cmds/metadata.xml
@@ -1,12 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
- <maintainer type="project">
- <email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
- </maintainer>
+ <!-- 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 5765522a20ec..a1a495a1eb9d 100644
--- a/sys-fs/dislocker/Manifest
+++ b/sys-fs/dislocker/Manifest
@@ -1 +1 @@
-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-r2.ebuild b/sys-fs/dislocker/dislocker-0.7.1-r2.ebuild
deleted file mode 100644
index 08e0e54087af..000000000000
--- a/sys-fs/dislocker/dislocker-0.7.1-r2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake-utils flag-o-matic
-
-DESCRIPTION="Dislocker is used to 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"
- 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() {
- cmake-utils_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 "${S}/src/CMakeLists.txt" || die
- sed 's:-D_FORTIFY_SOURCE=2::g' -i "${S}/src/CMakeLists.txt" || die
-
- sed 's:\.\./man:'../../${P}/man':g' -i "${S}/src/CMakeLists.txt" || die
-}
-
-src_configure() {
- mycmakeargs=(
- $(cmake-utils_use_find_package ruby Ruby)
- )
- cmake-utils_src_configure
-}
-
-src_install() {
- find "${S}/man/linux" -name '*.1' -exec doman '{}' +
- cmake-utils_src_install
-}
diff --git a/sys-fs/dislocker/dislocker-0.7.1-r3.ebuild b/sys-fs/dislocker/dislocker-0.7.3.ebuild
index a15c39558ddc..16d0907613c8 100644
--- a/sys-fs/dislocker/dislocker-0.7.1-r3.ebuild
+++ b/sys-fs/dislocker/dislocker-0.7.3.ebuild
@@ -1,11 +1,12 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit cmake flag-o-matic
+CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
+inherit cmake
-DESCRIPTION="Dislocker is used to read BitLocker encrypted partitions."
+DESCRIPTION="Dislocker is used to read BitLocker encrypted partitions"
HOMEPAGE="https://github.com/Aorimn/dislocker"
if [[ ${PV} == *9999* ]]; then
@@ -27,28 +28,24 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
-
src_prepare() {
- if use ruby && [[ ${PV} == "0.7.1" ]]; then
- PATCHES=( "${FILESDIR}/${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 "${S}/src/CMakeLists.txt" || die
+ # We either need to change Werror to Wno-error or remove the multiple declarations of FORTIFY_SOURCE
+ #sed 's:Werror:Wno-error:g' -i "${S}/src/CMakeLists.txt" || die
sed 's:-D_FORTIFY_SOURCE=2::g' -i "${S}/src/CMakeLists.txt" || die
-# sed 's:\.\./man:'../../${P}/man':g' -i "${S}/src/CMakeLists.txt" || die
-# Do not process compressed versions of the manuals
+ # Do not process compressed versions of the manuals
+ #sed 's:\.\./man:'../../${P}/man':g' -i "${S}/src/CMakeLists.txt" || die
sed -r 's:( create_symlink \$\{BIN_FUSE\}\.1)\.gz (.+\.1)\.gz\\:\1 \2\\:' -i "${S}/src/CMakeLists.txt" || die
sed -r 's:^(.+\.1\.gz):#\1:' -i "${S}/src/CMakeLists.txt" || die
}
src_configure() {
- mycmakeargs=(
+ local mycmakeargs=(
$(cmake_use_find_package ruby Ruby)
)
+
cmake_src_configure
}
@@ -56,6 +53,7 @@ src_install() {
if ! use ruby; then
rm "${S}/man/linux/${PN}-find.1" || die
fi
- find "${S}/man/linux" -name '*.1' -exec doman '{}' +
+
+ find "${S}/man/linux" -name '*.1' -exec doman '{}' + || die
cmake_src_install
}
diff --git a/sys-fs/dislocker/dislocker-9999.ebuild b/sys-fs/dislocker/dislocker-9999.ebuild
index a15c39558ddc..16d0907613c8 100644
--- a/sys-fs/dislocker/dislocker-9999.ebuild
+++ b/sys-fs/dislocker/dislocker-9999.ebuild
@@ -1,11 +1,12 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit cmake flag-o-matic
+CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
+inherit cmake
-DESCRIPTION="Dislocker is used to read BitLocker encrypted partitions."
+DESCRIPTION="Dislocker is used to read BitLocker encrypted partitions"
HOMEPAGE="https://github.com/Aorimn/dislocker"
if [[ ${PV} == *9999* ]]; then
@@ -27,28 +28,24 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-CMAKE_REMOVE_MODULES_LIST="${CMAKE_REMOVE_MODULES_LIST} FindRuby"
-
src_prepare() {
- if use ruby && [[ ${PV} == "0.7.1" ]]; then
- PATCHES=( "${FILESDIR}/${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 "${S}/src/CMakeLists.txt" || die
+ # We either need to change Werror to Wno-error or remove the multiple declarations of FORTIFY_SOURCE
+ #sed 's:Werror:Wno-error:g' -i "${S}/src/CMakeLists.txt" || die
sed 's:-D_FORTIFY_SOURCE=2::g' -i "${S}/src/CMakeLists.txt" || die
-# sed 's:\.\./man:'../../${P}/man':g' -i "${S}/src/CMakeLists.txt" || die
-# Do not process compressed versions of the manuals
+ # Do not process compressed versions of the manuals
+ #sed 's:\.\./man:'../../${P}/man':g' -i "${S}/src/CMakeLists.txt" || die
sed -r 's:( create_symlink \$\{BIN_FUSE\}\.1)\.gz (.+\.1)\.gz\\:\1 \2\\:' -i "${S}/src/CMakeLists.txt" || die
sed -r 's:^(.+\.1\.gz):#\1:' -i "${S}/src/CMakeLists.txt" || die
}
src_configure() {
- mycmakeargs=(
+ local mycmakeargs=(
$(cmake_use_find_package ruby Ruby)
)
+
cmake_src_configure
}
@@ -56,6 +53,7 @@ src_install() {
if ! use ruby; then
rm "${S}/man/linux/${PN}-find.1" || die
fi
- find "${S}/man/linux" -name '*.1' -exec doman '{}' +
+
+ find "${S}/man/linux" -name '*.1' -exec doman '{}' + || die
cmake_src_install
}
diff --git a/sys-fs/dislocker/files/dislocker-0.7.1-fix-find-ruby.patch b/sys-fs/dislocker/files/dislocker-0.7.1-fix-find-ruby.patch
deleted file mode 100644
index b5659f062ccf..000000000000
--- a/sys-fs/dislocker/files/dislocker-0.7.1-fix-find-ruby.patch
+++ /dev/null
@@ -1,671 +0,0 @@
-diff -Nuar a/cmake/FindPackageHandleStandardArgs.cmake b/cmake/FindPackageHandleStandardArgs.cmake
---- a/cmake/FindPackageHandleStandardArgs.cmake 1970-01-01 01:00:00.000000000 +0100
-+++ b/cmake/FindPackageHandleStandardArgs.cmake 2020-03-04 11:38:51.062021412 +0100
-@@ -0,0 +1,258 @@
-+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
-+# file Copyright.txt or https://cmake.org/licensing for details.
-+
-+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
-+
-+# internal helper macro
-+macro(_FPHSA_FAILURE_MESSAGE _msg)
-+ if (${_NAME}_FIND_REQUIRED)
-+ message(FATAL_ERROR "${_msg}")
-+ else ()
-+ if (NOT ${_NAME}_FIND_QUIETLY)
-+ message(STATUS "${_msg}")
-+ endif ()
-+ endif ()
-+endmacro()
-+
-+
-+# internal helper macro to generate the failure message when used in CONFIG_MODE:
-+macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
-+ # <PackageName>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
-+ if(${_NAME}_CONFIG)
-+ _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing:${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
-+ else()
-+ # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
-+ # List them all in the error message:
-+ if(${_NAME}_CONSIDERED_CONFIGS)
-+ set(configsText "")
-+ list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
-+ math(EXPR configsCount "${configsCount} - 1")
-+ foreach(currentConfigIndex RANGE ${configsCount})
-+ list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
-+ list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
-+ string(APPEND configsText " ${filename} (version ${version})\n")
-+ endforeach()
-+ if (${_NAME}_NOT_FOUND_MESSAGE)
-+ string(APPEND configsText " Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
-+ endif()
-+ _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
-+
-+ else()
-+ # Simple case: No Config-file was found at all:
-+ _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
-+ endif()
-+ endif()
-+endmacro()
-+
-+
-+function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
-+
-+# Set up the arguments for `cmake_parse_arguments`.
-+ set(options CONFIG_MODE HANDLE_COMPONENTS)
-+ set(oneValueArgs FAIL_MESSAGE VERSION_VAR FOUND_VAR)
-+ set(multiValueArgs REQUIRED_VARS)
-+
-+# Check whether we are in 'simple' or 'extended' mode:
-+ set(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} )
-+ list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
-+
-+ if(${INDEX} EQUAL -1)
-+ set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
-+ set(FPHSA_REQUIRED_VARS ${ARGN})
-+ set(FPHSA_VERSION_VAR)
-+ else()
-+ cmake_parse_arguments(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN})
-+
-+ if(FPHSA_UNPARSED_ARGUMENTS)
-+ message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
-+ endif()
-+
-+ if(NOT FPHSA_FAIL_MESSAGE)
-+ set(FPHSA_FAIL_MESSAGE "DEFAULT_MSG")
-+ endif()
-+
-+ # In config-mode, we rely on the variable <PackageName>_CONFIG, which is set by find_package()
-+ # when it successfully found the config-file, including version checking:
-+ if(FPHSA_CONFIG_MODE)
-+ list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
-+ list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
-+ set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
-+ endif()
-+
-+ if(NOT FPHSA_REQUIRED_VARS)
-+ message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
-+ endif()
-+ endif()
-+
-+# now that we collected all arguments, process them
-+
-+ if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")
-+ set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
-+ endif()
-+
-+ list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
-+
-+ string(TOUPPER ${_NAME} _NAME_UPPER)
-+ string(TOLOWER ${_NAME} _NAME_LOWER)
-+
-+ if(FPHSA_FOUND_VAR)
-+ if(FPHSA_FOUND_VAR MATCHES "^${_NAME}_FOUND$" OR FPHSA_FOUND_VAR MATCHES "^${_NAME_UPPER}_FOUND$")
-+ set(_FOUND_VAR ${FPHSA_FOUND_VAR})
-+ else()
-+ message(FATAL_ERROR "The argument for FOUND_VAR is \"${FPHSA_FOUND_VAR}\", but only \"${_NAME}_FOUND\" and \"${_NAME_UPPER}_FOUND\" are valid names.")
-+ endif()
-+ else()
-+ set(_FOUND_VAR ${_NAME_UPPER}_FOUND)
-+ endif()
-+
-+ # collect all variables which were not found, so they can be printed, so the
-+ # user knows better what went wrong (#6375)
-+ set(MISSING_VARS "")
-+ set(DETAILS "")
-+ # check if all passed variables are valid
-+ set(FPHSA_FOUND_${_NAME} TRUE)
-+ foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
-+ if(NOT ${_CURRENT_VAR})
-+ set(FPHSA_FOUND_${_NAME} FALSE)
-+ string(APPEND MISSING_VARS " ${_CURRENT_VAR}")
-+ else()
-+ string(APPEND DETAILS "[${${_CURRENT_VAR}}]")
-+ endif()
-+ endforeach()
-+ if(FPHSA_FOUND_${_NAME})
-+ set(${_NAME}_FOUND TRUE)
-+ set(${_NAME_UPPER}_FOUND TRUE)
-+ else()
-+ set(${_NAME}_FOUND FALSE)
-+ set(${_NAME_UPPER}_FOUND FALSE)
-+ endif()
-+
-+ # component handling
-+ unset(FOUND_COMPONENTS_MSG)
-+ unset(MISSING_COMPONENTS_MSG)
-+
-+ if(FPHSA_HANDLE_COMPONENTS)
-+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
-+ if(${_NAME}_${comp}_FOUND)
-+
-+ if(NOT DEFINED FOUND_COMPONENTS_MSG)
-+ set(FOUND_COMPONENTS_MSG "found components: ")
-+ endif()
-+ string(APPEND FOUND_COMPONENTS_MSG " ${comp}")
-+
-+ else()
-+
-+ if(NOT DEFINED MISSING_COMPONENTS_MSG)
-+ set(MISSING_COMPONENTS_MSG "missing components: ")
-+ endif()
-+ string(APPEND MISSING_COMPONENTS_MSG " ${comp}")
-+
-+ if(${_NAME}_FIND_REQUIRED_${comp})
-+ set(${_NAME}_FOUND FALSE)
-+ string(APPEND MISSING_VARS " ${comp}")
-+ endif()
-+
-+ endif()
-+ endforeach()
-+ set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
-+ string(APPEND DETAILS "[c${COMPONENT_MSG}]")
-+ endif()
-+
-+ # version handling:
-+ set(VERSION_MSG "")
-+ set(VERSION_OK TRUE)
-+
-+ # check with DEFINED here as the requested or found version may be "0"
-+ if (DEFINED ${_NAME}_FIND_VERSION)
-+ if(DEFINED ${FPHSA_VERSION_VAR})
-+ set(_FOUND_VERSION ${${FPHSA_VERSION_VAR}})
-+
-+ if(${_NAME}_FIND_VERSION_EXACT) # exact version required
-+ # count the dots in the version string
-+ string(REGEX REPLACE "[^.]" "" _VERSION_DOTS "${_FOUND_VERSION}")
-+ # add one dot because there is one dot more than there are components
-+ string(LENGTH "${_VERSION_DOTS}." _VERSION_DOTS)
-+ if (_VERSION_DOTS GREATER ${_NAME}_FIND_VERSION_COUNT)
-+ # Because of the C++ implementation of find_package() ${_NAME}_FIND_VERSION_COUNT
-+ # is at most 4 here. Therefore a simple lookup table is used.
-+ if (${_NAME}_FIND_VERSION_COUNT EQUAL 1)
-+ set(_VERSION_REGEX "[^.]*")
-+ elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 2)
-+ set(_VERSION_REGEX "[^.]*\\.[^.]*")
-+ elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 3)
-+ set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*")
-+ else ()
-+ set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*\\.[^.]*")
-+ endif ()
-+ string(REGEX REPLACE "^(${_VERSION_REGEX})\\..*" "\\1" _VERSION_HEAD "${_FOUND_VERSION}")
-+ unset(_VERSION_REGEX)
-+ if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _VERSION_HEAD)
-+ set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
-+ set(VERSION_OK FALSE)
-+ else ()
-+ set(VERSION_MSG "(found suitable exact version \"${_FOUND_VERSION}\")")
-+ endif ()
-+ unset(_VERSION_HEAD)
-+ else ()
-+ if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _FOUND_VERSION)
-+ set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
-+ set(VERSION_OK FALSE)
-+ else ()
-+ set(VERSION_MSG "(found suitable exact version \"${_FOUND_VERSION}\")")
-+ endif ()
-+ endif ()
-+ unset(_VERSION_DOTS)
-+
-+ else() # minimum version specified:
-+ if (${_NAME}_FIND_VERSION VERSION_GREATER _FOUND_VERSION)
-+ set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
-+ set(VERSION_OK FALSE)
-+ else ()
-+ set(VERSION_MSG "(found suitable version \"${_FOUND_VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
-+ endif ()
-+ endif()
-+
-+ else()
-+
-+ # if the package was not found, but a version was given, add that to the output:
-+ if(${_NAME}_FIND_VERSION_EXACT)
-+ set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
-+ else()
-+ set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
-+ endif()
-+
-+ endif()
-+ else ()
-+ # Check with DEFINED as the found version may be 0.
-+ if(DEFINED ${FPHSA_VERSION_VAR})
-+ set(VERSION_MSG "(found version \"${${FPHSA_VERSION_VAR}}\")")
-+ endif()
-+ endif ()
-+
-+ if(VERSION_OK)
-+ string(APPEND DETAILS "[v${${FPHSA_VERSION_VAR}}(${${_NAME}_FIND_VERSION})]")
-+ else()
-+ set(${_NAME}_FOUND FALSE)
-+ endif()
-+
-+
-+ # print the result:
-+ if (${_NAME}_FOUND)
-+ FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
-+ else ()
-+
-+ if(FPHSA_CONFIG_MODE)
-+ _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
-+ else()
-+ if(NOT VERSION_OK)
-+ _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
-+ else()
-+ _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing:${MISSING_VARS}) ${VERSION_MSG}")
-+ endif()
-+ endif()
-+
-+ endif ()
-+
-+ set(${_NAME}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
-+ set(${_NAME_UPPER}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
-+endfunction()
-diff -Nuar a/cmake/FindPackageMessage.cmake b/cmake/FindPackageMessage.cmake
---- a/cmake/FindPackageMessage.cmake 1970-01-01 01:00:00.000000000 +0100
-+++ b/cmake/FindPackageMessage.cmake 2020-03-04 11:38:51.062021412 +0100
-@@ -0,0 +1,19 @@
-+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
-+# file Copyright.txt or https://cmake.org/licensing for details.
-+
-+function(find_package_message pkg msg details)
-+ # Avoid printing a message repeatedly for the same find result.
-+ if(NOT ${pkg}_FIND_QUIETLY)
-+ string(REPLACE "\n" "" details "${details}")
-+ set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
-+ if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
-+ # The message has not yet been printed.
-+ message(STATUS "${msg}")
-+
-+ # Save the find details in the cache to avoid printing the same
-+ # message again.
-+ set("${DETAILS_VAR}" "${details}"
-+ CACHE INTERNAL "Details about finding ${pkg}")
-+ endif()
-+ endif()
-+endfunction()
-diff -Nuar a/cmake/FindRuby.cmake b/cmake/FindRuby.cmake
---- a/cmake/FindRuby.cmake 2017-02-09 10:33:45.000000000 +0100
-+++ b/cmake/FindRuby.cmake 2020-03-04 11:38:51.062021412 +0100
-@@ -1,89 +1,297 @@
--# Ruby cmake package
--#
--# Returns
--# RUBY_FOUND
--# RUBY_INCLUDE_DIRS
--# RUBY_LIBRARIES
--# RUBY_VERSION_MAJOR
--# RUBY_VERSION_MINOR
--# RUBY_VERSION_STRING
--
--if(RUBY_FOUND)
-- set(RUBY_FIND_QUIETLY TRUE)
--endif()
--
--find_program(RUBY_EXECUTABLE
-- NAMES ruby2.2 ruby22 ruby2.1 ruby21 ruby2.0 ruby2 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby
-- PATHS /usr/bin /usr/local/bin /usr/pkg/bin
-- )
--if(RUBY_EXECUTABLE)
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['MAJOR']"
-- OUTPUT_VARIABLE RUBY_VERSION_MAJOR
-- )
--
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['MINOR']"
-- OUTPUT_VARIABLE RUBY_VERSION_MINOR
-- )
--
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['TEENY']"
-- OUTPUT_VARIABLE RUBY_VERSION_TEENY
-- )
-- set(RUBY_VERSION_STRING ${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.${RUBY_VERSION_TEENY})
--
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
-- OUTPUT_VARIABLE RUBY_ARCH_DIR
-- )
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
-- OUTPUT_VARIABLE RUBY_ARCH
-- )
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
-- OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
-- )
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
-- OUTPUT_VARIABLE RUBY_LIB_PATH
-- )
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['archincludedir']"
-- OUTPUT_VARIABLE RUBY_ARCH_INC_DIR
-- )
-- execute_process(
-- COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['RUBY_SO_NAME']"
-- OUTPUT_VARIABLE RUBY_SO_NAME
-- )
--
-- find_path(RUBY_INCLUDE_DIRS
-- NAMES ruby.h ruby/config.h
-- PATHS ${RUBY_ARCH_DIR}
-- )
-- set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
-- find_library(RUBY_LIB
-- NAMES ${RUBY_SO_NAME}
-- PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
-- )
--
-- if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
-- set(RUBY_FOUND TRUE)
-- set(RUBY_INCLUDE_DIRS "${RUBY_INCLUDE_DIRS};${RUBY_INCLUDE_ARCH};${RUBY_ARCH_INC_DIR}/ruby-${RUBY_VERSION_STRING}")
-- set(RUBY_LIBRARIES ${RUBY_LIB})
-- endif()
-+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
-+# file Copyright.txt or https://cmake.org/licensing for details.
-+
-+#[[
-+FindRuby
-+--------
-+
-+This module finds if Ruby is installed and determines where the
-+include files and libraries are. Ruby 1.8, 1.9, 2.0 through 2.5 are
-+supported.
-+
-+The minimum required version of Ruby can be specified using the
-+standard syntax, e.g. find_package(Ruby 1.8)
-+
-+It also determines what the name of the library is. This code sets
-+the following variables:
-+
-+RUBY_EXECUTABLE
-+ full path to the ruby binary
-+RUBY_INCLUDE_DIRS
-+ include dirs to be used when using the ruby library
-+RUBY_LIBRARY
-+ full path to the ruby library
-+RUBY_VERSION
-+ the version of ruby which was found, e.g. "1.8.7"
-+RUBY_FOUND
-+ set to true if ruby ws found successfully
-
-- if(RUBY_OLD_VERSION)
-- set(RUBY_FOUND FALSE)
-- set(RUBY_NOT_FOUND TRUE)
-+Also:
-+
-+RUBY_INCLUDE_PATH
-+ same as RUBY_INCLUDE_DIRS, only provided for compatibility reasons, don't use it
-+#]]
-+
-+# RUBY_ARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"archdir"@:>@)'`
-+# RUBY_SITEARCHDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitearchdir"@:>@)'`
-+# RUBY_SITEDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"sitelibdir"@:>@)'`
-+# RUBY_LIBDIR=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"libdir"@:>@)'`
-+# RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
-+
-+# uncomment the following line to get debug output for this file
-+set(_RUBY_DEBUG_OUTPUT TRUE)
-+
-+# Determine the list of possible names of the ruby executable depending
-+# on which version of ruby is required
-+set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ruby)
-+
-+# if 1.9 is required, don't look for ruby18 and ruby1.8, default to version 1.8
-+if(DEFINED Ruby_FIND_VERSION_MAJOR AND DEFINED Ruby_FIND_VERSION_MINOR)
-+ set(Ruby_FIND_VERSION_SHORT_NODOT "${Ruby_FIND_VERSION_MAJOR}${RUBY_FIND_VERSION_MINOR}")
-+ # we can't construct that if only major version is given
-+ set(_RUBY_POSSIBLE_EXECUTABLE_NAMES
-+ ruby${Ruby_FIND_VERSION_MAJOR}.${Ruby_FIND_VERSION_MINOR}
-+ ruby${Ruby_FIND_VERSION_MAJOR}${Ruby_FIND_VERSION_MINOR}
-+ ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
-+else()
-+ set(Ruby_FIND_VERSION_SHORT_NODOT "18")
-+endif()
-+
-+if(NOT Ruby_FIND_VERSION_EXACT)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.5 ruby25)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.4 ruby24)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.3 ruby23)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.2 ruby22)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.1 ruby21)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby2.0 ruby20)
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.9 ruby19)
-+
-+ # if we want a version below 1.9, also look for ruby 1.8
-+ if("${Ruby_FIND_VERSION_SHORT_NODOT}" VERSION_LESS "19")
-+ list(APPEND _RUBY_POSSIBLE_EXECUTABLE_NAMES ruby1.8 ruby18)
- endif()
-
-- mark_as_advanced(
-- RUBY_INCLUDE_DIRS
-- RUBY_LIBRARIES
-- RUBY_LIB
-- RUBY_VERSION_MAJOR RUBY_VERSION_MINOR
-- RUBY_VERSION_STRING
-- )
-+ list(REMOVE_DUPLICATES _RUBY_POSSIBLE_EXECUTABLE_NAMES)
-+endif()
-+
-+find_program(RUBY_EXECUTABLE NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
-+
-+if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
-+ function(_RUBY_CONFIG_VAR RBVAR OUTVAR)
-+ execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['${RBVAR}']"
-+ RESULT_VARIABLE _RUBY_SUCCESS
-+ OUTPUT_VARIABLE _RUBY_OUTPUT
-+ ERROR_QUIET)
-+ if(_RUBY_SUCCESS OR _RUBY_OUTPUT STREQUAL "")
-+ execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['${RBVAR}']"
-+ RESULT_VARIABLE _RUBY_SUCCESS
-+ OUTPUT_VARIABLE _RUBY_OUTPUT
-+ ERROR_QUIET)
-+ endif()
-+ set(${OUTVAR} "${_RUBY_OUTPUT}" PARENT_SCOPE)
-+ endfunction()
-+
-+
-+ # query the ruby version
-+ _RUBY_CONFIG_VAR("MAJOR" RUBY_VERSION_MAJOR)
-+ _RUBY_CONFIG_VAR("MINOR" RUBY_VERSION_MINOR)
-+ _RUBY_CONFIG_VAR("TEENY" RUBY_VERSION_PATCH)
-+
-+ # query the different directories
-+ _RUBY_CONFIG_VAR("archdir" RUBY_ARCH_DIR)
-+ _RUBY_CONFIG_VAR("arch" RUBY_ARCH)
-+ _RUBY_CONFIG_VAR("rubyhdrdir" RUBY_HDR_DIR)
-+ _RUBY_CONFIG_VAR("rubyarchhdrdir" RUBY_ARCHHDR_DIR)
-+ _RUBY_CONFIG_VAR("libdir" RUBY_POSSIBLE_LIB_DIR)
-+ _RUBY_CONFIG_VAR("rubylibdir" RUBY_RUBY_LIB_DIR)
-+
-+ # site_ruby
-+ _RUBY_CONFIG_VAR("sitearchdir" RUBY_SITEARCH_DIR)
-+ _RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
-+
-+ # vendor_ruby available ?
-+ execute_process(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'"
-+ OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY ERROR_QUIET)
-+
-+ if(RUBY_HAS_VENDOR_RUBY)
-+ _RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR)
-+ _RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR)
-+ endif()
-+
-+ # save the results in the cache so we don't have to run ruby the next time again
-+ set(RUBY_VERSION_MAJOR ${RUBY_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE)
-+ set(RUBY_VERSION_MINOR ${RUBY_VERSION_MINOR} CACHE PATH "The Ruby minor version" FORCE)
-+ set(RUBY_VERSION_PATCH ${RUBY_VERSION_PATCH} CACHE PATH "The Ruby patch version" FORCE)
-+ set(RUBY_ARCH_DIR ${RUBY_ARCH_DIR} CACHE PATH "The Ruby arch dir" FORCE)
-+ set(RUBY_HDR_DIR ${RUBY_HDR_DIR} CACHE PATH "The Ruby header dir (1.9+)" FORCE)
-+ set(RUBY_ARCHHDR_DIR ${RUBY_ARCHHDR_DIR} CACHE PATH "The Ruby arch header dir (2.0+)" FORCE)
-+ set(RUBY_POSSIBLE_LIB_DIR ${RUBY_POSSIBLE_LIB_DIR} CACHE PATH "The Ruby lib dir" FORCE)
-+ set(RUBY_RUBY_LIB_DIR ${RUBY_RUBY_LIB_DIR} CACHE PATH "The Ruby ruby-lib dir" FORCE)
-+ set(RUBY_SITEARCH_DIR ${RUBY_SITEARCH_DIR} CACHE PATH "The Ruby site arch dir" FORCE)
-+ set(RUBY_SITELIB_DIR ${RUBY_SITELIB_DIR} CACHE PATH "The Ruby site lib dir" FORCE)
-+ set(RUBY_HAS_VENDOR_RUBY ${RUBY_HAS_VENDOR_RUBY} CACHE BOOL "Vendor Ruby is available" FORCE)
-+ set(RUBY_VENDORARCH_DIR ${RUBY_VENDORARCH_DIR} CACHE PATH "The Ruby vendor arch dir" FORCE)
-+ set(RUBY_VENDORLIB_DIR ${RUBY_VENDORLIB_DIR} CACHE PATH "The Ruby vendor lib dir" FORCE)
-+
-+ mark_as_advanced(
-+ RUBY_ARCH_DIR
-+ RUBY_ARCH
-+ RUBY_HDR_DIR
-+ RUBY_ARCHHDR_DIR
-+ RUBY_POSSIBLE_LIB_DIR
-+ RUBY_RUBY_LIB_DIR
-+ RUBY_SITEARCH_DIR
-+ RUBY_SITELIB_DIR
-+ RUBY_HAS_VENDOR_RUBY
-+ RUBY_VENDORARCH_DIR
-+ RUBY_VENDORLIB_DIR
-+ RUBY_VERSION_MAJOR
-+ RUBY_VERSION_MINOR
-+ RUBY_VERSION_PATCH
-+ )
-+endif()
-+
-+# In case RUBY_EXECUTABLE could not be executed (e.g. cross compiling)
-+# try to detect which version we found. This is not too good.
-+if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
-+ # by default assume 1.8.0
-+ set(RUBY_VERSION_MAJOR 1)
-+ set(RUBY_VERSION_MINOR 8)
-+ set(RUBY_VERSION_PATCH 0)
-+ # check whether we found 1.9.x
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby1\\.?9")
-+ set(RUBY_VERSION_MAJOR 1)
-+ set(RUBY_VERSION_MINOR 9)
-+ endif()
-+ # check whether we found 2.0.x
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby2\\.?0")
-+ set(RUBY_VERSION_MAJOR 2)
-+ set(RUBY_VERSION_MINOR 0)
-+ endif()
-+ # check whether we found 2.1.x
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby2\\.?1")
-+ set(RUBY_VERSION_MAJOR 2)
-+ set(RUBY_VERSION_MINOR 1)
-+ endif()
-+ # check whether we found 2.2.x
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby2\\.?2")
-+ set(RUBY_VERSION_MAJOR 2)
-+ set(RUBY_VERSION_MINOR 2)
-+ endif()
-+ # check whether we found 2.3.x
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby2\\.?3")
-+ set(RUBY_VERSION_MAJOR 2)
-+ set(RUBY_VERSION_MINOR 3)
-+ endif()
-+ # check whether we found 2.4.x
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby2\\.?4")
-+ set(RUBY_VERSION_MAJOR 2)
-+ set(RUBY_VERSION_MINOR 4)
-+ endif()
-+ if(${RUBY_EXECUTABLE} MATCHES "ruby2\\.?5")
-+ set(RUBY_VERSION_MAJOR 2)
-+ set(RUBY_VERSION_MINOR 5)
-+ endif()
- endif()
-+
-+if(RUBY_VERSION_MAJOR)
-+ set(RUBY_VERSION "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.${RUBY_VERSION_PATCH}")
-+ set(_RUBY_VERSION_SHORT "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}")
-+ set(_RUBY_VERSION_SHORT_NODOT "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}")
-+ set(_RUBY_NODOT_VERSION "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}${RUBY_VERSION_PATCH}")
-+endif()
-+
-+find_path(RUBY_INCLUDE_DIR
-+ NAMES ruby.h
-+ HINTS
-+ ${RUBY_HDR_DIR}
-+ ${RUBY_ARCH_DIR}
-+ /usr/lib/ruby/${_RUBY_VERSION_SHORT}/i586-linux-gnu/ )
-+
-+set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIR} )
-+
-+# if ruby > 1.8 is required or if ruby > 1.8 was found, search for the config.h dir
-+if( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18 OR "${_RUBY_VERSION_SHORT_NODOT}" GREATER 18 OR RUBY_HDR_DIR)
-+ find_path(RUBY_CONFIG_INCLUDE_DIR
-+ NAMES ruby/config.h config.h
-+ HINTS
-+ ${RUBY_HDR_DIR}/${RUBY_ARCH}
-+ ${RUBY_ARCH_DIR}
-+ ${RUBY_ARCHHDR_DIR}
-+ )
-+
-+ set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIRS} ${RUBY_CONFIG_INCLUDE_DIR} )
-+endif()
-+
-+
-+# Determine the list of possible names for the ruby library
-+set(_RUBY_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_RUBY_VERSION_SHORT} ruby${_RUBY_VERSION_SHORT_NODOT} ruby-${_RUBY_VERSION_SHORT} ruby-${RUBY_VERSION})
-+
-+if(WIN32)
-+ set( _RUBY_MSVC_RUNTIME "" )
-+ if( MSVC_VERSION EQUAL 1200 )
-+ set( _RUBY_MSVC_RUNTIME "60" )
-+ endif()
-+ if( MSVC_VERSION EQUAL 1300 )
-+ set( _RUBY_MSVC_RUNTIME "70" )
-+ endif()
-+ if( MSVC_VERSION EQUAL 1310 )
-+ set( _RUBY_MSVC_RUNTIME "71" )
-+ endif()
-+ if( MSVC_VERSION EQUAL 1400 )
-+ set( _RUBY_MSVC_RUNTIME "80" )
-+ endif()
-+ if( MSVC_VERSION EQUAL 1500 )
-+ set( _RUBY_MSVC_RUNTIME "90" )
-+ endif()
-+
-+ set(_RUBY_ARCH_PREFIX "")
-+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-+ set(_RUBY_ARCH_PREFIX "x64-")
-+ endif()
-+
-+ list(APPEND _RUBY_POSSIBLE_LIB_NAMES
-+ "${_RUBY_ARCH_PREFIX}msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}"
-+ "${_RUBY_ARCH_PREFIX}msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}-static"
-+ "${_RUBY_ARCH_PREFIX}msvcrt-ruby${_RUBY_NODOT_VERSION}"
-+ "${_RUBY_ARCH_PREFIX}msvcrt-ruby${_RUBY_NODOT_VERSION}-static" )
-+endif()
-+
-+find_library(RUBY_LIBRARY NAMES ${_RUBY_POSSIBLE_LIB_NAMES} HINTS ${RUBY_POSSIBLE_LIB_DIR} )
-+
-+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-+set(_RUBY_REQUIRED_VARS RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY)
-+if(_RUBY_VERSION_SHORT_NODOT GREATER 18)
-+ list(APPEND _RUBY_REQUIRED_VARS RUBY_CONFIG_INCLUDE_DIR)
-+endif()
-+
-+if(_RUBY_DEBUG_OUTPUT)
-+ message(STATUS "--------FindRuby.cmake debug------------")
-+ message(STATUS "_RUBY_POSSIBLE_EXECUTABLE_NAMES: ${_RUBY_POSSIBLE_EXECUTABLE_NAMES}")
-+ message(STATUS "_RUBY_POSSIBLE_LIB_NAMES: ${_RUBY_POSSIBLE_LIB_NAMES}")
-+ message(STATUS "RUBY_ARCH_DIR: ${RUBY_ARCH_DIR}")
-+ message(STATUS "RUBY_HDR_DIR: ${RUBY_HDR_DIR}")
-+ message(STATUS "RUBY_POSSIBLE_LIB_DIR: ${RUBY_POSSIBLE_LIB_DIR}")
-+ message(STATUS "Found RUBY_VERSION: \"${RUBY_VERSION}\" , short: \"${_RUBY_VERSION_SHORT}\", nodot: \"${_RUBY_VERSION_SHORT_NODOT}\"")
-+ message(STATUS "_RUBY_REQUIRED_VARS: ${_RUBY_REQUIRED_VARS}")
-+ message(STATUS "RUBY_EXECUTABLE: ${RUBY_EXECUTABLE}")
-+ message(STATUS "RUBY_LIBRARY: ${RUBY_LIBRARY}")
-+ message(STATUS "RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}")
-+ message(STATUS "RUBY_CONFIG_INCLUDE_DIR: ${RUBY_CONFIG_INCLUDE_DIR}")
-+ message(STATUS "--------------------")
-+endif()
-+
-+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ruby REQUIRED_VARS ${_RUBY_REQUIRED_VARS}
-+ VERSION_VAR RUBY_VERSION )
-+
-+mark_as_advanced(
-+ RUBY_EXECUTABLE
-+ RUBY_LIBRARY
-+ RUBY_INCLUDE_DIR
-+ RUBY_CONFIG_INCLUDE_DIR
-+ )
-+
-+# Set some variables for compatibility with previous version of this file
-+set(RUBY_POSSIBLE_LIB_PATH ${RUBY_POSSIBLE_LIB_DIR})
-+set(RUBY_RUBY_LIB_PATH ${RUBY_RUBY_LIB_DIR})
-+set(RUBY_INCLUDE_PATH ${RUBY_INCLUDE_DIRS})
diff --git a/sys-fs/dislocker/metadata.xml b/sys-fs/dislocker/metadata.xml
index 9cc82876f8af..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 95ea794b2742..000000000000
--- a/sys-fs/dmg2img/dmg2img-1.6.7-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2019 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"
-IUSE="libressl"
-
-RDEPEND="app-arch/bzip2
- sys-libs/zlib
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl: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/dmg2img-1.6.7.ebuild b/sys-fs/dmg2img/dmg2img-1.6.7.ebuild
deleted file mode 100644
index a212ddf78d63..000000000000
--- a/sys-fs/dmg2img/dmg2img-1.6.7.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-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 ~x86"
-IUSE=""
-
-RDEPEND="dev-libs/openssl:0=
- app-arch/bzip2
- sys-libs/zlib"
-DEPEND="${RDEPEND}
- sys-apps/sed"
-
-src_prepare() {
- 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 ddd4434d2b60..000000000000
--- a/sys-fs/dmg2img/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<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-r3.ebuild b/sys-fs/dmraid/dmraid-1.0.0_rc16-r3.ebuild
deleted file mode 100644
index 448e03528698..000000000000
--- a/sys-fs/dmraid/dmraid-1.0.0_rc16-r3.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools linux-info flag-o-matic eutils
-
-MY_PV=${PV/_/.}-3
-
-DESCRIPTION="Device-mapper RAID tool and library"
-HOMEPAGE="https://people.redhat.com/~heinzm/sw/dmraid/"
-SRC_URI="https://people.redhat.com/~heinzm/sw/dmraid/src/${PN}-${MY_PV}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 sparc x86"
-IUSE="dietlibc intel_led klibc led mini static"
-REQUIRED_USE="klibc? ( !dietlibc )"
-
-RDEPEND=">=sys-fs/lvm2-2.02.45
- klibc? ( dev-libs/klibc )
- dietlibc? ( dev-libs/dietlibc )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- static? ( sys-fs/lvm2[static-libs] )"
-
-S=${WORKDIR}/${PN}/${MY_PV}/${PN}
-
-pkg_setup() {
- if kernel_is lt 2 6 ; then
- ewarn "You are using a kernel < 2.6"
- ewarn "DMraid uses recently introduced Device-Mapper features."
- ewarn "These might be unavailable in the kernel you are running now."
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-undo-p-rename.patch \
- "${FILESDIR}"/${P}-return-all-sets.patch \
- "${FILESDIR}"/${P}-static-build-fixes.patch \
- "${FILESDIR}"/${P}-parallel-make.patch
- # pkg_check_modules is not in aclocal.m4 by default, and eautoreconf doesnt add it
- einfo "Appending pkg.m4 from system to aclocal.m4"
- cat "${ROOT}"/usr/share/aclocal/pkg.m4 >>"${S}"/aclocal.m4 || die "Could not append pkg.m4"
- epatch_user
- eautoreconf
-
- einfo "Creating prepatched source archive for use with Genkernel"
- # archive the patched source for use with genkernel
- cd "${WORKDIR}" || die
- mkdir -p "tmp/${PN}" || die
- cp -a "${PN}/${MY_PV}/${PN}" "tmp/${PN}" || die
- mv "tmp/${PN}/${PN}" "tmp/${PN}/${MY_PV}" || die
- cd tmp || die
- tar -jcf ${PN}-${MY_PV}-prepatched.tar.bz2 ${PN} || die
- mv ${PN}-${MY_PV}-prepatched.tar.bz2 .. || die
-}
-
-src_configure() {
- econf --with-usrlibdir='${prefix}'/$(get_libdir) \
- $(use_enable static static_link) \
- $(use_enable mini) \
- $(use_enable led) \
- $(use_enable intel_led) \
- $(use_enable klibc) \
- $(use_enable dietlibc)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc CHANGELOG README TODO KNOWN_BUGS doc/*
- insinto /usr/share/${PN}
- doins "${WORKDIR}"/${PN}-${MY_PV}-prepatched.tar.bz2
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "For booting Gentoo from Device-Mapper RAID you can use a Genkernel initramfs."
- elog
- elog "Genkernel will generate the kernel and the initramfs with a statically "
- elog "linked dmraid binary (its own version which may not be the same as this version):"
- elog "\t emerge -av sys-kernel/genkernel"
- elog "\t genkernel --dmraid all"
- fi
- # skip this message if this revision has already been emerged
- if [[ " ${REPLACING_VERSIONS} " != *\ ${PVR}\ * ]]; then
- elog
- elog "A pre-patched distfile of this version of DMRAID has been installed at"
- elog "/usr/share/${PN}/${PN}-${MY_PV}-prepatched.tar.bz2 , to support using it within a"
- elog "Genkernel initramfs."
- elog
- fi
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "If you would rather use this version of DMRAID with Genkernel, update the following"
- elog "in /etc/genkernel.conf:"
- elog "\t DMRAID_VER=\"${MY_PV}\""
- elog "\t DMRAID_SRCTAR=\"/usr/share/${PN}/${PN}-${MY_PV}-prepatched.tar.bz2\""
- elog
- fi
-}
diff --git a/sys-fs/dmraid/dmraid-1.0.0_rc16-r4.ebuild b/sys-fs/dmraid/dmraid-1.0.0_rc16-r4.ebuild
deleted file mode 100644
index 153fa71d352a..000000000000
--- a/sys-fs/dmraid/dmraid-1.0.0_rc16-r4.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools linux-info flag-o-matic eutils
-
-MY_PV=${PV/_/.}-3
-
-DESCRIPTION="Device-mapper RAID tool and library"
-HOMEPAGE="https://people.redhat.com/~heinzm/sw/dmraid/"
-SRC_URI="https://people.redhat.com/~heinzm/sw/dmraid/src/${PN}-${MY_PV}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
-IUSE="intel_led led mini static"
-
-RDEPEND=">=sys-fs/lvm2-2.02.45"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- static? ( sys-fs/lvm2[static-libs] )
-"
-
-S="${WORKDIR}/${PN}/${MY_PV}/${PN}"
-
-pkg_setup() {
- if kernel_is lt 2 6 ; then
- ewarn "You are using a kernel < 2.6"
- ewarn "DMraid uses recently introduced Device-Mapper features."
- ewarn "These might be unavailable in the kernel you are running now."
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-undo-p-rename.patch \
- "${FILESDIR}"/${P}-return-all-sets.patch \
- "${FILESDIR}"/${P}-static-build-fixes.patch \
- "${FILESDIR}"/${P}-parallel-make.patch
- # pkg_check_modules is not in aclocal.m4 by default, and eautoreconf doesnt add it
- einfo "Appending pkg.m4 from system to aclocal.m4"
- cat "${ROOT}"/usr/share/aclocal/pkg.m4 >>"${S}"/aclocal.m4 || die "Could not append pkg.m4"
- epatch_user
- eautoreconf
-
- einfo "Creating prepatched source archive for use with Genkernel"
- # archive the patched source for use with genkernel
- cd "${WORKDIR}" || die
- mkdir -p "tmp/${PN}" || die
- cp -a "${PN}/${MY_PV}/${PN}" "tmp/${PN}" || die
- mv "tmp/${PN}/${PN}" "tmp/${PN}/${MY_PV}" || die
- cd tmp || die
- tar -jcf ${PN}-${MY_PV}-prepatched.tar.bz2 ${PN} || die
- mv ${PN}-${MY_PV}-prepatched.tar.bz2 .. || die
-}
-
-src_configure() {
- # disable klibc and dietlibc, bug #653392
- econf --with-usrlibdir='${prefix}'/$(get_libdir) \
- --disable-klibc \
- --disable-dietlibc \
- $(use_enable static static_link) \
- $(use_enable mini) \
- $(use_enable led) \
- $(use_enable intel_led)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc CHANGELOG README TODO KNOWN_BUGS doc/*
- insinto /usr/share/${PN}
- doins "${WORKDIR}"/${PN}-${MY_PV}-prepatched.tar.bz2
-}
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "For booting Gentoo from Device-Mapper RAID you can use a Genkernel initramfs."
- elog
- elog "Genkernel will generate the kernel and the initramfs with a statically "
- elog "linked dmraid binary (its own version which may not be the same as this version):"
- elog "\t emerge -av sys-kernel/genkernel"
- elog "\t genkernel --dmraid all"
- fi
- # skip this message if this revision has already been emerged
- if [[ " ${REPLACING_VERSIONS} " != *\ ${PVR}\ * ]]; then
- elog
- elog "A pre-patched distfile of this version of DMRAID has been installed at"
- elog "/usr/share/${PN}/${PN}-${MY_PV}-prepatched.tar.bz2 , to support using it within a"
- elog "Genkernel initramfs."
- elog
- fi
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- elog "If you would rather use this version of DMRAID with Genkernel, update the following"
- elog "in /etc/genkernel.conf:"
- elog "\t DMRAID_VER=\"${MY_PV}\""
- elog "\t DMRAID_SRCTAR=\"/usr/share/${PN}/${PN}-${MY_PV}-prepatched.tar.bz2\""
- elog
- fi
-}
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 a4b58735f59a..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,29 +1,31 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit autotools linux-info flag-o-matic
+inherit flag-o-matic autotools linux-info
MY_PV=${PV/_/.}-3
DESCRIPTION="Device-mapper RAID tool and library"
HOMEPAGE="https://people.redhat.com/~heinzm/sw/dmraid/"
SRC_URI="https://people.redhat.com/~heinzm/sw/dmraid/src/${PN}-${MY_PV}.tar.bz2"
+S="${WORKDIR}/${PN}/${MY_PV}/${PN}"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~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"
-DEPEND="${RDEPEND}
+RDEPEND=">=sys-fs/lvm2-2.02.45[lvm(+)]"
+DEPEND="
+ ${RDEPEND}
static? ( sys-fs/lvm2[static-libs] )
"
-BDEPEND="virtual/pkgconfig
- app-arch/tar"
-
-S="${WORKDIR}/${PN}/${MY_PV}/${PN}"
+BDEPEND="
+ app-arch/tar
+ virtual/pkgconfig
+"
pkg_setup() {
if kernel_is lt 2 6 ; then
@@ -39,38 +41,51 @@ src_prepare() {
eapply -p0 "${FILESDIR}"/${P}-static-build-fixes.patch
eapply -p3 "${FILESDIR}"/${P}-parallel-make.patch
eapply "${FILESDIR}"/${P}-fix-missing-PATH-MOUNTED.patch
+ eapply "${FILESDIR}"/${PN}-1.0.0_rc16-musl.patch
# pkg_check_modules is not in aclocal.m4 by default, and eautoreconf doesnt add it
einfo "Appending pkg.m4 from system to aclocal.m4"
cat "${BROOT}"/usr/share/aclocal/pkg.m4 >>"${S}"/aclocal.m4 || die "Could not append pkg.m4"
- eapply_user
+
+ mv configure.{in,ac} || die
+
+ default
+
eautoreconf
einfo "Creating prepatched source archive for use with Genkernel"
# archive the patched source for use with genkernel
cd "${WORKDIR}" || die
mkdir -p "tmp/${PN}" || die
+
cp -a "${PN}/${MY_PV}/${PN}" "tmp/${PN}" || die
mv "tmp/${PN}/${PN}" "tmp/${PN}/${MY_PV}" || die
+
cd tmp || die
tar -jcf ${PN}-${MY_PV}-prepatched.tar.bz2 ${PN} || die
mv ${PN}-${MY_PV}-prepatched.tar.bz2 .. || die
}
src_configure() {
+ # bug 908662
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
# disable klibc and dietlibc, bug #653392
- econf --with-usrlibdir='${prefix}'/$(get_libdir) \
+ econf \
+ --with-usrlibdir='${prefix}'/$(get_libdir) \
--disable-klibc \
--disable-dietlibc \
$(use_enable static static_link) \
$(use_enable mini) \
$(use_enable led) \
- $(use_enable intel_led)
+ $(use_enable intel-led intel_led)
}
src_install() {
emake DESTDIR="${D}" install
+
dodoc CHANGELOG README TODO KNOWN_BUGS doc/*
+
insinto /usr/share/${PN}
doins "${WORKDIR}"/${PN}-${MY_PV}-prepatched.tar.bz2
}
diff --git a/sys-fs/dmraid/files/dmraid-1.0.0_rc16-musl.patch b/sys-fs/dmraid/files/dmraid-1.0.0_rc16-musl.patch
new file mode 100644
index 000000000000..d43ed6354718
--- /dev/null
+++ b/sys-fs/dmraid/files/dmraid-1.0.0_rc16-musl.patch
@@ -0,0 +1,22 @@
+https://bugs.gentoo.org/717430
+https://git.alpinelinux.org/aports/plain/main/dmraid/006-musl-libc.patch
+--- a/include/dmraid/misc.h
++++ b/include/dmraid/misc.h
+@@ -10,6 +10,7 @@
+
+ #ifndef _MISC_H_
+ #define _MISC_H_
++#include <fcntl.h>
+
+ #define DM_ASSERT(__cond) do { if (!(__cond)) { printf("ASSERT file:%s line:%d fuction:%s cond: %s\n", __FILE__, __LINE__, __FUNCTION__, #__cond); } } while(0);
+
+--- a/lib/device/scan.c
++++ b/lib/device/scan.c
+@@ -10,6 +10,7 @@
+ # include <dirent.h>
+ # include <paths.h>
+ #else
++# include <paths.h>
+ # include <dirent.h>
+ # include <mntent.h>
+ #endif
diff --git a/sys-fs/dmraid/metadata.xml b/sys-fs/dmraid/metadata.xml
index 631bce7f7303..a3d2230c49f6 100644
--- a/sys-fs/dmraid/metadata.xml
+++ b/sys-fs/dmraid/metadata.xml
@@ -1,16 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<use>
- <flag name="dietlibc">Compile against <pkg>dev-libs/dietlibc</pkg></flag>
- <flag name="intel_led">Enable Intel LED support</flag>
- <flag name="klibc">Compile against <pkg>dev-libs/klibc</pkg></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>
- <maintainer type="person">
- <email>axs@gentoo.org</email>
- <name>Ian Stakenvicius</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription>This software discovers, activates, deactivates and displays properties of software RAID sets eg: ATARAID and contained DOS partitions.</longdescription>
</pkgmetadata>
diff --git a/sys-fs/dosfstools/Manifest b/sys-fs/dosfstools/Manifest
index 5a7ff27bbc5d..7981d0a2533f 100644
--- a/sys-fs/dosfstools/Manifest
+++ b/sys-fs/dosfstools/Manifest
@@ -1 +1 @@
-DIST dosfstools-4.1.tar.xz 172936 BLAKE2B d8ef617d9dbdc21318c4f43e2fd6dca1d3452ab46253b055d8fef09aa693bcf63ef58076a49f305bb21de87298bae5be6b626065dfcbd90935af68709e2c3c6a SHA512 e7a8aab34255d15e6865a7b031971352af1255134fab83389673bcc3cbd6ba255241bd2429070aeb4b927f8d7d73ccf1aeafe94566b133e88e7586897c317b78
+DIST dosfstools-4.2.tar.gz 320917 BLAKE2B c55c7592aa80f1fe39e838c83e147ad7141ddd0f72c9c000ba7708ecb7287c3a92b4b52f72c8d0d1171b0f9609dfb7861bbbe475c5cbd7011151c93c2b1d3d0d SHA512 3cc0808edb4432428df8a67da4bb314fd1f27adc4a05754c1a492091741a7b6875ebd9f6a509cc4c5ad85643fc40395b6e0cadee548b25cc439cc9b725980156
diff --git a/sys-fs/dosfstools/dosfstools-4.1.ebuild b/sys-fs/dosfstools/dosfstools-4.1.ebuild
deleted file mode 100644
index 1309df2a8afd..000000000000
--- a/sys-fs/dosfstools/dosfstools-4.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit toolchain-funcs flag-o-matic
-
-DESCRIPTION="DOS filesystem tools - provides mkdosfs, mkfs.msdos, mkfs.vfat"
-HOMEPAGE="https://github.com/dosfstools/dosfstools"
-SRC_URI="https://github.com/dosfstools/dosfstools/releases/download/v${PV}/${P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="compat test +udev"
-RESTRICT="!test? ( test )"
-
-CDEPEND="udev? ( virtual/libudev )"
-DEPEND="${CDEPEND}
- test? ( app-editors/vim-core )
- udev? ( virtual/pkgconfig )"
-RDEPEND="${CDEPEND}"
-
-src_configure() {
- econf \
- --docdir="${EPREFIX}"/usr/share/doc/${PF} \
- $(use_enable compat compat-symlinks) \
- $(use_with udev)
-}
-
-src_install() {
- default
- if ! use compat; then
- # Keep fsck -t vfat and mkfs -t vfat working, bug 584980.
- dosym fsck.fat /usr/sbin/fsck.vfat
- dosym mkfs.fat /usr/sbin/mkfs.vfat
- fi
-}
diff --git a/sys-fs/dosfstools/dosfstools-4.2.ebuild b/sys-fs/dosfstools/dosfstools-4.2.ebuild
new file mode 100644
index 000000000000..7cb014173b17
--- /dev/null
+++ b/sys-fs/dosfstools/dosfstools-4.2.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="DOS filesystem tools - provides mkdosfs, mkfs.msdos, mkfs.vfat"
+HOMEPAGE="https://github.com/dosfstools/dosfstools"
+SRC_URI="https://github.com/dosfstools/dosfstools/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="compat +iconv test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ iconv? ( virtual/libiconv )
+ test? ( app-editors/vim-core )
+"
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable compat compat-symlinks)
+ $(use_with iconv)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if ! use compat ; then
+ # Keep fsck -t vfat and mkfs -t vfat working
+ # bug #584980
+ dosym fsck.fat /usr/sbin/fsck.vfat
+ dosym mkfs.fat /usr/sbin/mkfs.vfat
+ fi
+}
diff --git a/sys-fs/dosfstools/metadata.xml b/sys-fs/dosfstools/metadata.xml
index 85825b41c0dd..2ec150100107 100644
--- a/sys-fs/dosfstools/metadata.xml
+++ b/sys-fs/dosfstools/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
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 06ec96bc4263..36168fc8f9ef 100644
--- a/sys-fs/duperemove/Manifest
+++ b/sys-fs/duperemove/Manifest
@@ -1 +1 @@
-DIST duperemove-0.11.1.tar.gz 115740 BLAKE2B 7804f1c98cdeb349ae12425636575c9b2468613dfe908d8c9f1d9fb74aefb412142002a0fc899b8448ed1b255257569555264b9d9c172899f856a919d02dd1a8 SHA512 3c344b00b8fb58a259840aea977ba2e5123b651bb58ec84177bdfd8337a377361984b85c6325271b7d3e4ea216017fa6fda793136c83e9837a13ec041df326b9
+DIST duperemove-0.14.1.gh.new.tar.gz 167968 BLAKE2B 74d5ed6c452a24103d9ca0050ee1d1fdbb4eb4df5c2e86f84e6a1c70abf54d2caf27597d2088a5130d696bebaf07f93dd5f47e9c414af9ce3d19f096b872a02a SHA512 16af9fb002d6e51ce469869507d5d4b8f9576620746337252ad733e6f74ae275c1e83da6af1c203543b9d19890180952d87f9fad4a02d4c4e0a25577ce569191
diff --git a/sys-fs/duperemove/duperemove-0.11.1.ebuild b/sys-fs/duperemove/duperemove-0.11.1.ebuild
deleted file mode 100644
index 2491a42a58ac..000000000000
--- a/sys-fs/duperemove/duperemove-0.11.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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 x86"
-IUSE=""
-
-RDEPEND="
- dev-db/sqlite:3
- dev-libs/glib:2"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/${P/_/.}
-
-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/duperemove/metadata.xml b/sys-fs/duperemove/metadata.xml
index 2820a4f7ee56..4e4aea2bd56d 100644
--- a/sys-fs/duperemove/metadata.xml
+++ b/sys-fs/duperemove/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
diff --git a/sys-fs/e2fsprogs/Manifest b/sys-fs/e2fsprogs/Manifest
index 6d4ce82419d2..5e61ba790588 100644
--- a/sys-fs/e2fsprogs/Manifest
+++ b/sys-fs/e2fsprogs/Manifest
@@ -1,3 +1 @@
-DIST e2fsprogs-1.42.9-mint-r1.patch.xz 9012 BLAKE2B ae6421587c3cca2f9b26805c5f8d236d3fecde78cc7df3776ae9c23c7f254d7240e06507568fdd2154a16113c47609a8143535ab9cb2925426d3c578d077ce26 SHA512 591a7c80d65082eebcdc455028be6ade05c9aae96c94f654106be0facef330a8875dae82891e6e3ad2b48dece2b4e1c1940dbc47cd3eba3e6eea3b5ddba9a8fc
-DIST e2fsprogs-1.45.5.tar.xz 5569796 BLAKE2B cf9633caa6c00afa51408364d0c0a1515a9989ad1582fb485a300fd71bf61ec56b57dbb26f152609eaf2d63bfb04fe1e3f271085c26aa0c832c1f467960e6480 SHA512 d1a8611b525742387061f390fb24825dfa175997cc7db05decea913fcc7b97a95a3e787091f2920d4a7d4eb1d813568af734a1610229ead09bcbf9f3e262e4ce
-DIST e2fsprogs-1.45.6.tar.xz 5572144 BLAKE2B 24a44d27a02a1fa178083d5ee6034b20fedcac9faf7cf7f5cfcd4e4cee6d38775bc78949b9b00823cbbdacfab783e8e1e739579b9a7236c5425f51b27600743b SHA512 f3abfb6fe7ef632bb81152e2127d601cadd3fa93162178576a1d5ed82c2286627184b207b85a5b2a1793db0addf0885dfc3b9523bb340443224caf9c6d613b84
+DIST e2fsprogs-1.47.0.tar.xz 7059372 BLAKE2B 84f58b05a9f0e14e1a66c6e5171ff23b022f51c4e9a02d4d6d1d26c91909f3c7ec9c9f0462663a4457b4479043774502b8891f691e58a61f4ef6bf9ba33f33aa SHA512 0e6d64c565b455becb84166b6a5c7090724bac5cfe69098657a31bf0481b4e2cace3de1363121b7d84820fbae85b7c83ac5f2a2b02bb36280f0e3ae83a934cec
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.45.5.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.45.5.ebuild
deleted file mode 100644
index d3c4e3c8cb9a..000000000000
--- a/sys-fs/e2fsprogs/e2fsprogs-1.45.5.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
-HOMEPAGE="http://e2fsprogs.sourceforge.net/"
-SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/${P}.tar.xz
- elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )"
-
-LICENSE="GPL-2 BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~m68k-mint"
-IUSE="cron fuse nls static-libs elibc_FreeBSD"
-
-RDEPEND="~sys-libs/${PN}-libs-${PV}
- >=sys-apps/util-linux-2.16
- cron? ( sys-fs/lvm2[-device-mapper-only(-)] )
- fuse? ( sys-fs/fuse:0 )
- nls? ( virtual/libintl )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
- virtual/pkgconfig
- sys-apps/texinfo
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.40-fbsd.patch
- "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
-
- # Upstream patches (can usually removed with next version bump)
-)
-
-src_prepare() {
- if [[ ${CHOST} == *-mint* ]] ; then
- PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch )
- fi
-
- default
-
- cp doc/RelNotes/v${PV}.txt ChangeLog || die "Failed to copy Release Notes"
-
- # Get rid of doc -- we don't use them. This also prevents a sandbox
- # violation due to mktexfmt invocation
- rm -r doc || die "Failed to remove doc dir"
-
- # blargh ... trick e2fsprogs into using e2fsprogs-libs
- sed -i -r \
- -e 's:@LIBINTL@:@LTLIBINTL@:' \
- -e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \
- -e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \
- MCONFIG.in || die "muck libs" #122368
- sed -i -r \
- -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \
- Makefile.in || die "remove subdirs"
- ln -s $(which mk_cmds) lib/ss/ || die
-
- # Avoid rebuild
- echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h
-}
-
-src_configure() {
- # Keep the package from doing silly things #261411
- export VARTEXFONTS="${T}/fonts"
-
- # needs open64() prototypes and friends
- append-cppflags -D_GNU_SOURCE
-
- local myeconfargs=(
- --with-root-prefix="${EPREFIX}"
- $(use_with cron crond-dir "${EPREFIX}/etc/cron.d")
- --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
- --with-udev-rules-dir="${EPREFIX}$(get_udevdir)/rules.d"
- --enable-symlink-install
- --enable-elf-shlibs
- $(tc-has-tls || echo --disable-tls)
- --without-included-gettext
- $(use_enable fuse fuse2fs)
- $(use_enable nls)
- --disable-libblkid
- --disable-libuuid
- --disable-fsck
- --disable-uuidd
- )
- ac_cv_path_LDCONFIG=: econf "${myeconfargs[@]}"
-
- if [[ ${CHOST} != *-uclibc ]] && 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"
- die "Preventing included intl cruft from building"
- fi
-}
-
-src_compile() {
- emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds
-
- # Build the FreeBSD helper
- if use elibc_FreeBSD ; then
- cp "${FILESDIR}"/fsck_ext2fs.c .
- emake V=1 fsck_ext2fs
- fi
-}
-
-src_install() {
- # need to set root_libdir= manually as any --libdir options in the
- # econf above (i.e. multilib) will screw up the default #276465
- emake \
- STRIP=: \
- root_libdir="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" \
- install
-
- einstalldocs
-
- insinto /etc
- doins "${FILESDIR}"/e2fsck.conf
-
- # Move shared libraries to /lib/, install static libraries to
- # /usr/lib/, and install linker scripts to /usr/lib/.
- gen_usr_ldscript -a e2p ext2fs
-
- # configure doesn't have an option to disable static libs :/
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- if use elibc_FreeBSD ; then
- # Install helpers for us
- into /
- dosbin "${S}"/fsck_ext2fs
- doman "${FILESDIR}"/fsck_ext2fs.8
-
- # filefrag is linux only
- rm \
- "${ED}"/usr/sbin/filefrag \
- "${ED}"/usr/share/man/man8/filefrag.8 || die
- fi
-}
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.45.6.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.45.6.ebuild
deleted file mode 100644
index 47bad0c4a4ec..000000000000
--- a/sys-fs/e2fsprogs/e2fsprogs-1.45.6.ebuild
+++ /dev/null
@@ -1,142 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
-HOMEPAGE="http://e2fsprogs.sourceforge.net/"
-SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/${P}.tar.xz
- elibc_mintlib? ( mirror://gentoo/${PN}-1.42.9-mint-r1.patch.xz )"
-
-LICENSE="GPL-2 BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~m68k-mint"
-IUSE="cron fuse nls static-libs elibc_FreeBSD"
-
-RDEPEND="~sys-libs/${PN}-libs-${PV}
- >=sys-apps/util-linux-2.16
- cron? ( sys-fs/lvm2[-device-mapper-only(-)] )
- fuse? ( sys-fs/fuse:0 )
- nls? ( virtual/libintl )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
- virtual/pkgconfig
- sys-apps/texinfo
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.40-fbsd.patch
- "${FILESDIR}"/${PN}-1.42.13-fix-build-cflags.patch #516854
-
- # Upstream patches (can usually removed with next version bump)
-)
-
-src_prepare() {
- if [[ ${CHOST} == *-mint* ]] ; then
- PATCHES+=( "${WORKDIR}"/${PN}-1.42.9-mint-r1.patch )
- fi
-
- default
-
- cp doc/RelNotes/v${PV}.txt ChangeLog || die "Failed to copy Release Notes"
-
- # Get rid of doc -- we don't use them. This also prevents a sandbox
- # violation due to mktexfmt invocation
- rm -r doc || die "Failed to remove doc dir"
-
- # blargh ... trick e2fsprogs into using e2fsprogs-libs
- sed -i -r \
- -e 's:@LIBINTL@:@LTLIBINTL@:' \
- -e '/^(STATIC_)?LIB(COM_ERR|SS)/s:[$][(]LIB[)]/lib([^@]*)@(STATIC_)?LIB_EXT@:-l\1:' \
- -e '/^DEP(STATIC_)?LIB(COM_ERR|SS)/s:=.*:=:' \
- MCONFIG.in || die "muck libs" #122368
- sed -i -r \
- -e '/^LIB_SUBDIRS/s:lib/(et|ss)::g' \
- Makefile.in || die "remove subdirs"
- ln -s $(which mk_cmds) lib/ss/ || die
-
- # Avoid rebuild
- echo '#include_next <ss/ss_err.h>' > lib/ss/ss_err.h
-}
-
-src_configure() {
- # Keep the package from doing silly things #261411
- export VARTEXFONTS="${T}/fonts"
-
- # needs open64() prototypes and friends
- append-cppflags -D_GNU_SOURCE
-
- local myeconfargs=(
- --with-root-prefix="${EPREFIX}"
- $(use_with cron crond-dir "${EPREFIX}/etc/cron.d")
- --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
- --with-udev-rules-dir="${EPREFIX}$(get_udevdir)/rules.d"
- --enable-symlink-install
- --enable-elf-shlibs
- $(tc-has-tls || echo --disable-tls)
- --without-included-gettext
- $(use_enable fuse fuse2fs)
- $(use_enable nls)
- --disable-libblkid
- --disable-libuuid
- --disable-fsck
- --disable-uuidd
- )
- ac_cv_path_LDCONFIG=: econf "${myeconfargs[@]}"
-
- if [[ ${CHOST} != *-uclibc ]] && 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"
- die "Preventing included intl cruft from building"
- fi
-}
-
-src_compile() {
- emake V=1 COMPILE_ET=compile_et MK_CMDS=mk_cmds
-
- # Build the FreeBSD helper
- if use elibc_FreeBSD ; then
- cp "${FILESDIR}"/fsck_ext2fs.c .
- emake V=1 fsck_ext2fs
- fi
-}
-
-src_install() {
- # need to set root_libdir= manually as any --libdir options in the
- # econf above (i.e. multilib) will screw up the default #276465
- emake \
- STRIP=: \
- root_libdir="${EPREFIX}/usr/$(get_libdir)" \
- DESTDIR="${D}" \
- install
-
- einstalldocs
-
- insinto /etc
- doins "${FILESDIR}"/e2fsck.conf
-
- # Move shared libraries to /lib/, install static libraries to
- # /usr/lib/, and install linker scripts to /usr/lib/.
- gen_usr_ldscript -a e2p ext2fs
-
- # configure doesn't have an option to disable static libs :/
- if ! use static-libs ; then
- find "${ED}" -name '*.a' -delete || die
- fi
-
- if use elibc_FreeBSD ; then
- # Install helpers for us
- into /
- dosbin "${S}"/fsck_ext2fs
- doman "${FILESDIR}"/fsck_ext2fs.8
-
- # filefrag is linux only
- rm \
- "${ED}"/usr/sbin/filefrag \
- "${ED}"/usr/share/man/man8/filefrag.8 || die
- fi
-}
diff --git a/sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild b/sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild
new file mode 100644
index 000000000000..3bf3b866da64
--- /dev/null
+++ b/sys-fs/e2fsprogs/e2fsprogs-1.47.0-r3.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multilib-minimal systemd toolchain-funcs udev
+
+DESCRIPTION="Standard EXT2/EXT3/EXT4 filesystem utilities"
+HOMEPAGE="http://e2fsprogs.sourceforge.net/"
+SRC_URI="https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v${PV}/${P}.tar.xz"
+
+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 nls static-libs test +tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !sys-libs/${PN}-libs
+ cron? ( sys-fs/lvm2[lvm] )
+ fuse? ( sys-fs/fuse:0 )
+ nls? ( virtual/libintl )
+ 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}] )
+"
+BDEPEND="
+ sys-apps/texinfo
+ 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 # 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
+
+ "${FILESDIR}"/e2fsprogs-1.47.0-parallel-make.patch
+
+ # Upstream patches (can usually removed with next version bump)
+)
+
+src_prepare() {
+ default
+
+ cp doc/RelNotes/v${PV}.txt ChangeLog || die "Failed to copy Release Notes"
+
+ # Get rid of doc -- we don't use them. This also prevents a sandbox
+ # violation due to mktexfmt invocation
+ rm -r doc || die "Failed to remove doc dir"
+
+ # 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, bug #261411
+ export VARTEXFONTS="${T}/fonts"
+
+ # needed for >=musl-1.2.4, bug 908892
+ use elibc_musl && append-cflags -D_FILE_OFFSET_BITS=64
+
+ local myeconfargs=(
+ --with-root-prefix="${EPREFIX}"
+ $(use_with cron crond-dir "${EPREFIX}/etc/cron.d")
+ --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
+ --with-udev-rules-dir="${EPREFIX}$(get_udevdir)/rules.d"
+ --enable-symlink-install
+ --enable-elf-shlibs
+ $(tc-has-tls || echo --disable-tls)
+ $(multilib_native_use_enable fuse fuse2fs)
+ $(use_enable nls)
+ $(multilib_native_use_enable tools e2initrd-helper)
+ --disable-fsck
+ --disable-uuidd
+ --disable-lto
+ --with-pthread
+ --enable-largefile
+ )
+
+ # 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} )
+ fi
+
+ ac_cv_path_LDCONFIG=: \
+ ECONF_SOURCE="${S}" \
+ CC="$(tc-getCC)" \
+ BUILD_CC="$(tc-getBUILD_CC)" \
+ BUILD_LD="$(tc-getBUILD_LD)" \
+ econf "${myeconfargs[@]}"
+
+ 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/81096"
+ die "Preventing included intl cruft from building"
+ fi
+}
+
+multilib_src_compile() {
+ if multilib_is_native_abi && use tools ; then
+ emake V=1
+ else
+ emake -C lib/et V=1
+ emake -C lib/ss V=1
+ emake -C lib/ext2fs V=1
+ emake -C lib/e2p V=1
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi && use tools ; then
+ emake V=1 check
+ else
+ # Required by lib/ext2fs's check target
+ emake -C lib/support V=1
+
+ # For non-native, there's no binaries to test. Just libraries.
+ emake -C lib/et V=1 check
+ emake -C lib/ss V=1 check
+ emake -C lib/ext2fs V=1 check
+ emake -C lib/e2p V=1 check
+ fi
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi && use tools ; then
+ emake STRIP=':' V=1 DESTDIR="${D}" install
+ else
+ emake -C lib/et V=1 DESTDIR="${D}" install
+ emake -C lib/ss V=1 DESTDIR="${D}" install
+ emake -C lib/ext2fs V=1 DESTDIR="${D}" install
+ emake -C lib/e2p V=1 DESTDIR="${D}" install
+ fi
+
+ # configure doesn't have an option to disable static libs
+ if ! use static-libs ; then
+ find "${ED}" -name '*.a' -delete || die
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+
+ if use tools ; then
+ insinto /etc
+ doins "${FILESDIR}"/e2fsck.conf
+ fi
+}
+
+pkg_postinst() {
+ udev_reload
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch b/sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch
deleted file mode 100644
index 7d0919600d05..000000000000
--- a/sys-fs/e2fsprogs/files/e2fsprogs-1.40-fbsd.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/ext2fs/ext2_fs.h
-+++ b/lib/ext2fs/ext2_fs.h
-@@ -414,7 +414,7 @@
-
- #define i_size_high i_dir_acl
-
--#if defined(__KERNEL__) || defined(__linux__)
-+#if defined(__KERNEL__) || defined(__linux__) || defined(__FreeBSD__)
- #define i_reserved1 osd1.linux1.l_i_reserved1
- #define i_frag osd2.linux2.l_i_frag
- #define i_fsize osd2.linux2.l_i_fsize
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/files/fsck_ext2fs.8 b/sys-fs/e2fsprogs/files/fsck_ext2fs.8
deleted file mode 100644
index aa31cf1db172..000000000000
--- a/sys-fs/e2fsprogs/files/fsck_ext2fs.8
+++ /dev/null
@@ -1,96 +0,0 @@
-.TH fsck_ext2fs 8 2006-07-02 "Matthias Andree" "FreeBSD Ports"
-.\"
-.\" fsck_ext2fs.8 - manual page for fsck_ext2fs wrapper
-.\"
-.\" (C) Copyright 2006 by Matthias Andree <matthias.andree@gmx.de>
-.\"
-.\" License: This file may be redistributed in accordance with the terms
-.\" of the GNU General Public License v2.
-.\"
-.\" Upstream $Id: fsck_ext2fs.8,v 1.3 2006/07/02 11:45:21 emma Exp $
-.\" $FreeBSD: ports/sysutils/e2fsprogs/files/fsck_ext2fs.8,v 1.1 2006/07/04 15:47:51 leeym Exp $
-.\"
-.SH NAME
-.B fsck_ext2fs
-\- compatibility wrapper for e2fsck
-.SH SYNOPSIS
-.P
-.B fsck_ext2fs
-[\fB\-Fpfnyv\fR] [\fB\-b\fR \fIblock\fR]
-.SH DESCRIPTION
-.P
-\fBfsck_ext2fs\fR maps the traditional FreeBSD \fBfsck_ffs\fR options to
-options with the same functionality for \fBe2fsck,\fR runs \fBe2fsck\fR
-and then maps its exit status to values that FreeBSD understands.
-\fBe2fsck\fR is a utility to check and repair ext2 and ext3 file
-systems.
-
-.SH OPTIONS
-.IP \fB\-F\fR
-(check foreground mode required) Immediately exits with status 1 to tell
-\fBfsck\fR that ext2fs cannot be checked in the background. \fBfsck\fR
-usually runs \fBfsck_*\fR programs twice, first with \fB\-F\fR to find
-out if they can do background checking, then either immediately without
-\fB\-F\fR for foreground checking or deferred in the background with
-\fB\-B\fR.
-.IP \fB\-p\fR
-(preen mode) This option suppresses adding the \fB\-f\fR option (unless
-\fB\-f\fR is also given) and adds the \fB\-p\fR option to the
-\fBe2fsck\fR command line. This causes \fBe2fsck\fR to automatically fix
-any filesystem problems that can safely be fixed without operator
-intervention. Without this option given, \fBe2fsck\fR will be run with
-the \fB\-f\fR option to force a check, since interactive scan and repair
-mode is the default on FreeBSD, but not on Linux where \fBe2fsck\fR
-comes from.
-.IP \fB\-f\fR
-(force check) This option forces the check of a clean file system while
-preening and is passed to \fBe2fsck\fR verbatim.
-.IP \fB\-n\fR
-("no" mode) This option causes the file system to be opened in read-only
-mode and assume "no" as answer to all questions. This is the only way to
-safely run \fBfsck\fR on a mounted ext2 or ext3 file system. This option
-is passed to \fBe2fsck\fR verbatim.
-.IP \fB\-y\fR
-("yes" mode) This option is passed verbatim to \fBe2fsck\fR and causes
-it to assume "yes" as answer to all questions. This allows the
-non-interactive use of e2fsck but is rather aggressive. Use with care.
-.IP \fB\-v\fR
-(verbose output) This option is passed verbatim to \fBe2fsck\fR and
-causes it to verbosely report its progress.
-.IP "\fB\-b\fR \fIblock\fR"
-(use alternate super block) This option is passed verbatim to
-\fBe2fsck\fR and selects an alternate super block, for use when the
-primary super block has been damaged. Please see the \fBe2fsck\fR(8)
-manual page for details.
-
-.SH EXIT STATUS
-If errors remain after \fBe2fsck\fR, an invalid option or too many
-options have been specified, \fBe2fsck\fR was killed with a signal or
-the \fIfork\fB system call failed, \fBfsck_ext2fs\fR exits with status
-EXIT_FAILURE (usually 1). If \fBe2fsck\fR cannot be started, exits with
-status 127. If the file system is clean after \fBe2fsck\fR operation,
-exits with status EXIT_SUCCESS (0).
-
-.SH NOTES
-.P
-This utility is merely meant as an adaptor so that \fBe2fsck\fR can be
-run during the boot process, it does not support all options that
-\fBe2fsck\fR offers. If you need one of its advanced options, please run
-\fBe2fsck\fR directly.
-
-.SH FILES
-.TP
-.I /sbin/e2fsck
-is the location of the \fBe2fsck\fR program to run.
-
-.SH AUTHOR
-.P
-Matthias Andree <matthias.andree@gmx.de> wrote the program and this
-manual page.
-.SH CONFORMING TO
-The FreeBSD 6.1 command line interface for \fBfsck_ufs\fR(8).
-.SH SEE ALSO
-.BR fsck (8),
-.BR e2fsck (8)
-and
-.BR fsck_ufs (8).
diff --git a/sys-fs/e2fsprogs/files/fsck_ext2fs.c b/sys-fs/e2fsprogs/files/fsck_ext2fs.c
deleted file mode 100644
index f5e3e5e9a8c9..000000000000
--- a/sys-fs/e2fsprogs/files/fsck_ext2fs.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * fsck_ext2fs - wrapper for e2fsck on FreeBSD
- * Copyright (C) 2004,2006 Matthias Andree <matthias.andree@gmx.de>
- * redistributable in accordance with the
- * GNU General Public License v2
- *
- * $FreeBSD: ports/sysutils/e2fsprogs/files/fsck_ext2fs.c,v 1.5 2006/07/04 15:47:51 leeym Exp $
- *
- * Upstream: $Id: fsck_ext2fs.c,v 1.6 2006/07/02 11:37:49 emma Exp $
- *
- * format: gindent -kr
- */
-
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/wait.h>
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <errno.h>
-
-__attribute__ ((noreturn))
-static int die(const char *tag)
-{
- perror(tag);
- exit(EXIT_FAILURE);
-}
-
-int main(int argc, char **argv)
-{
- int ch, i = 1, force = 0, status, verbose = 0, t;
- long block = 0;
- enum { normal, preen, yes, no } mode = normal;
- char *cmd[256];
- pid_t pid;
-
- cmd[0] = "/sbin/e2fsck";
- while ((ch = getopt(argc, argv, "BFpfnyb:v")) != -1) {
- switch (ch) {
- case 'p':
- mode = preen;
- break;
- case 'f':
- force = 1;
- break;
- case 'n':
- mode = no;
- break;
- case 'y':
- mode = yes;
- break;
- case 'b':
- block = atol(optarg);
- break;
- case 'v':
- verbose++;
- break;
- case 'F':
- /* e2fsck does not support background checking,
- * hence exit with nonzero status to force
- * the foreground check. */
- exit(1);
- case 'B':
- default:
- fprintf(stderr, "%s: unknown option -%c\n",
- argv[0], optopt);
- exit(EXIT_FAILURE);
- }
- }
-
- if (force)
- cmd[i++] = "-f";
-
- switch (mode) {
- case normal:
- /* FreeBSD needs -f to force a check only in context
- * with -p -- so map normal to force to match
- * expectations */
- if (!force)
- cmd[i++] = "-f";
- break;
- case yes:
- cmd[i++] = "-y";
- break;
- case no:
- cmd[i++] = "-n";
- break;
- case preen:
- cmd[i++] = "-p";
- break;
- }
-
- if (block) {
- static char b[30];
-
- sprintf(b, "-b %ld", block);
- cmd[i++] = b;
- }
-
- /* silently limit verbose to 15 so we don't overflow the cmd array */
- if (verbose > 15)
- verbose = 15;
-
- for (t = verbose; t > 1; t--)
- cmd[i++] = "-v";
-
- while (optind < argc) {
- cmd[i++] = argv[optind++];
- /* sanity check so we don't overflow the cmd buffer */
- if (i+1 == sizeof(cmd)/sizeof(cmd[0])) {
- errno = E2BIG;
- die(argv[0]);
- }
- }
-
- cmd[i++] = 0;
-
- if (verbose) {
- for (i=0; cmd[i]; i++)
- fputs(cmd[i], stderr),
- fputc(' ', stderr);
- fputc('\n', stderr);
- }
-
- pid = fork();
- switch (pid) {
- case -1:
- /* error */
- die("fork");
- break;
- case 0:
- /* child */
- (void) execv(cmd[0], cmd);
- perror("execve");
- _exit(127);
- default:
- /* parent */
- if (pid != waitpid(pid, &status, 0))
- die("waitpid");
- if (WIFSIGNALED(status)
- || (WIFEXITED(status) && WEXITSTATUS(status) >= 4))
- exit(EXIT_FAILURE);
- }
- exit(EXIT_SUCCESS);
-}
diff --git a/sys-fs/e2fsprogs/metadata.xml b/sys-fs/e2fsprogs/metadata.xml
index fd229917a073..3030299059ee 100644
--- a/sys-fs/e2fsprogs/metadata.xml
+++ b/sys-fs/e2fsprogs/metadata.xml
@@ -1,16 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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>
-<use>
- <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>
-</use>
-<upstream>
- <remote-id type="cpe">cpe:/a:e2fsprogs_project:e2fsprogs</remote-id>
- <remote-id type="sourceforge">e2fsprogs</remote-id>
-</upstream>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <use>
+ <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="tools">Build extfs tools (mke2fs, e2fsck, tune2fs, etc.)</flag>
+ </use>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:e2fsprogs_project:e2fsprogs</remote-id>
+ <remote-id type="github">tytso/e2fsprogs</remote-id>
+ <remote-id type="sourceforge">e2fsprogs</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/e2tools/Manifest b/sys-fs/e2tools/Manifest
index 42482eeaaf4d..20f390709ce6 100644
--- a/sys-fs/e2tools/Manifest
+++ b/sys-fs/e2tools/Manifest
@@ -1,2 +1 @@
-DIST e2tools-0.0.16.4.tar.gz 70444 BLAKE2B 3db75ca2ecca27bfbd65890f595c9523f373555e771f21113ca1c3bd1f08d74f5e1d70db39bbe0ac215a1766e702a37c2c2752f671320d45f3bfa56b39fd8296 SHA512 35bda0005d0ba4d9541eabf45bd9bed0e7e85144dce88c3bd8afd8eb5ed5db610bc5654aee82978b2a4955d363fd5af4ff40667fa8001955267c96cb84e6792b
DIST e2tools-0.1.0.tar.gz 243245 BLAKE2B 62a1e478b71e9105274ba8b815f1f4765ecc05593de481c4ef384ff9463a0be811efe5f37bd3509393dfd3bdfb0103625e192ebcce52cbf896a6f7758cb50884 SHA512 5fde992727946d253acd46987944bdf49615d2ab45bbea715c86b304d117c6900dd70fcffb093f3d564247e27978b78b4710e7fea7ffd28375e804955fe4d5c9
diff --git a/sys-fs/e2tools/e2tools-0.0.16.4.ebuild b/sys-fs/e2tools/e2tools-0.0.16.4.ebuild
deleted file mode 100644
index 538223db686f..000000000000
--- a/sys-fs/e2tools/e2tools-0.0.16.4.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools toolchain-funcs
-
-DESCRIPTION="utilities to read, write, and manipulate files in an ext2/ext3 filesystem"
-HOMEPAGE="https://github.com/ndim/e2tools"
-SRC_URI="https://github.com/ndim/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="sys-fs/e2fsprogs
- sys-libs/e2fsprogs-libs"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # The configure script is ancient.
- #export CONFIG_SHELL="/bin/bash"
- tc-export CC
- default
-}
diff --git a/sys-fs/e2tools/e2tools-0.1.0.ebuild b/sys-fs/e2tools/e2tools-0.1.0-r1.ebuild
index 0f866011f863..92aa01711d79 100644
--- a/sys-fs/e2tools/e2tools-0.1.0.ebuild
+++ b/sys-fs/e2tools/e2tools-0.1.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -14,8 +14,8 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
-DEPEND="sys-fs/e2fsprogs
- sys-libs/e2fsprogs-libs"
+DEPEND="
+ sys-fs/e2fsprogs"
RDEPEND="${DEPEND}"
src_configure() {
diff --git a/sys-fs/e2tools/metadata.xml b/sys-fs/e2tools/metadata.xml
index 56c124413057..7aeeadca19bb 100644
--- a/sys-fs/e2tools/metadata.xml
+++ b/sys-fs/e2tools/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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>
+<upstream>
+ <remote-id type="github">ndim/e2tools</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/sys-fs/e4rat/Manifest b/sys-fs/e4rat/Manifest
deleted file mode 100644
index 5f73fa805196..000000000000
--- a/sys-fs/e4rat/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST e4rat-0.2.4_pre20141201.tar.xz 60408 BLAKE2B 4ebedfcca7f21bb1f3be59dac64694e0f69ecb5ebdc1637210c68097178e2ae38959581a51fc55b8773d63ce629aaf69765bb755d45467bf5e4f4e741b715101 SHA512 61a53f6ac420392df5894d3f76de28c5d2e33fd3a6548cf8c9de52818bf937ba8bf8629db1b89103faa73b660548d7e467e17d7f2794a4100ca07971ded0cfb9
diff --git a/sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild b/sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild
deleted file mode 100644
index 1c3294e79e8a..000000000000
--- a/sys-fs/e4rat/e4rat-0.2.4_pre20141201-r1.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit cmake-utils linux-info readme.gentoo-r1
-
-DESCRIPTION="Toolset to accelerate the boot process and application startup"
-HOMEPAGE="http://e4rat.sourceforge.net/"
-#SRC_URI="mirror://sourceforge/${PN}/${P/-/_}_src.tar.gz"
-SRC_URI="https://dev.gentoo.org/~pacho/${PN}/${PN}-0.2.4_pre20141201.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="
- dev-lang/perl:=
- >=dev-libs/boost-1.42:=
- sys-fs/e2fsprogs
- sys-process/audit[static-libs(+)]
- sys-process/lsof
-"
-DEPEND="${DEPEND}"
-
-CONFIG_CHECK="~AUDITSYSCALL"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.2.2-shared-build.patch
- "${FILESDIR}"/${PN}-0.2.2-libdir.patch
- "${FILESDIR}"/${PN}-0.2.4-sysmacros.patch #580534
- "${FILESDIR}"/${PN}-0.2.4-gcc6.patch #594046
- "${FILESDIR}"/${PN}-0.2.4-strdup.patch
-)
-
-pkg_setup() {
- check_extra_config
- DOC_CONTENTS="
- To launch systemd from e4rat you simply need to edit /etc/e4rat.conf
- and set:\n
- ; path to init process binary (DEFAULT: /sbin/init)\n
- init /usr/lib/systemd/systemd"
-}
-
-src_install() {
- cmake-utils_src_install
- # relocate binaries to /sbin. If someone knows of a better way to do it
- # please do tell me
- dodir sbin
- find "${D}"/usr/sbin -type f -exec mv {} "${D}"/sbin/. \; \
- || die
-
- readme.gentoo_create_doc
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
- if has_version sys-apps/preload; then
- elog "It appears you have sys-apps/preload installed. This may"
- elog "has negative effects on ${PN}. You may want to disable preload"
- elog "when using ${PN}."
- fi
-}
diff --git a/sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch b/sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch
deleted file mode 100644
index eaa2695d7872..000000000000
--- a/sys-fs/e4rat/files/e4rat-0.2.2-libdir.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: e4rat-0.2.2/src/CMakeLists.txt
-===================================================================
---- e4rat-0.2.2.orig/src/CMakeLists.txt
-+++ e4rat-0.2.2/src/CMakeLists.txt
-@@ -170,8 +170,7 @@ endif(NOT BUILD_CORE_LIBRARY_STATIC)
-
- INSTALL(TARGETS ${${PROJECT_NAME}_TARGETS}
- RUNTIME DESTINATION "sbin"
-- LIBRARY DESTINATION "lib"
-- ARCHIVE DESTINATION "lib"
-+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
- )
-
- INSTALL(DIRECTORY DESTINATION "/var/lib/${PROJECT_NAME}")
diff --git a/sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch b/sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch
deleted file mode 100644
index 636eb52fb612..000000000000
--- a/sys-fs/e4rat/files/e4rat-0.2.2-shared-build.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Index: e4rat-0.2.2/CMakeLists.txt
-===================================================================
---- e4rat-0.2.2.orig/CMakeLists.txt
-+++ e4rat-0.2.2/CMakeLists.txt
-@@ -14,7 +14,6 @@ IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_D
- set(CMAKE_INSTALL_PREFIX "/" CACHE PATH "e4rat install prefix" FORCE)
- ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
-
--set(Boost_USE_STATIC_LIBS ON)
- set(Boost_USE_MULTITHREADED OFF)
- add_definitions(-DBOOST_FILESYSTEM_VERSION=2)
- find_package(Boost 1.41 COMPONENTS system filesystem regex REQUIRED)
-Index: e4rat-0.2.2/src/CMakeLists.txt
-===================================================================
---- e4rat-0.2.2.orig/src/CMakeLists.txt
-+++ e4rat-0.2.2/src/CMakeLists.txt
-@@ -131,21 +131,12 @@ IF(CMAKE_BUILD_TYPE STREQUAL "debug")
- )
- ENDIF(CMAKE_BUILD_TYPE STREQUAL "debug")
-
--# On 64 bit architecture you cannot link a static to a shared library
--# Therefore -static-libstdc++ will fail.
--if(BUILD_CORE_LIBRARY_STATIC)
-- add_library(${PROJECT_NAME}-core STATIC
-- ${${PROJECT_NAME}-core_SRC}
-- )
--else(BUILD_CORE_LIBRARY_STATIC)
-- add_library(${PROJECT_NAME}-core SHARED
-- ${${PROJECT_NAME}-core_SRC}
-- )
-- set_target_properties(${PROJECT_NAME}-core PROPERTIES
-- SOVERSION 0
-- LINK_FLAGS "-static-libgcc -static-libstdc++"
-- )
--endif(BUILD_CORE_LIBRARY_STATIC)
-+add_library(${PROJECT_NAME}-core SHARED
-+ ${${PROJECT_NAME}-core_SRC}
-+)
-+set_target_properties(${PROJECT_NAME}-core PROPERTIES
-+ SOVERSION 0
-+)
-
- target_link_libraries(${PROJECT_NAME}-core
- ${${PROJECT_NAME}_LIBRARIES}
-@@ -158,15 +149,13 @@ foreach( EXE ${PROJECT_NAME}-collect
- TARGET_LINK_LIBRARIES(${EXE}
- ${PROJECT_NAME}-core
- )
-- set_target_properties(${EXE} PROPERTIES
-- LINK_FLAGS "-static-libgcc -static-libstdc++"
-- )
- endforeach( EXE )
-
- ###
- # install project targets
- ###
- set(${PROJECT_NAME}_TARGETS
-+ ${PROJECT_NAME}-core
- ${PROJECT_NAME}-collect
- ${PROJECT_NAME}-preload
- ${PROJECT_NAME}-realloc
-Index: e4rat-0.2.2/src/cmake/Findaudit.cmake
-===================================================================
---- e4rat-0.2.2.orig/src/cmake/Findaudit.cmake
-+++ e4rat-0.2.2/src/cmake/Findaudit.cmake
-@@ -1,7 +1,7 @@
- FIND_PATH(AUDIT_INCLUDE_DIR libaudit.h /usr/include
- /usr/local/include)
-
--FIND_LIBRARY(AUDIT_LIBRARY NAMES libaudit.a PATH /usr/lib /usr/local/lib)
-+FIND_LIBRARY(AUDIT_LIBRARY NAMES audit PATH /usr/lib /usr/local/lib)
-
- IF (AUDIT_INCLUDE_DIR AND AUDIT_LIBRARY)
- SET(AUDIT_FOUND TRUE)
diff --git a/sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch b/sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch
deleted file mode 100644
index cdf14e5c92eb..000000000000
--- a/sys-fs/e4rat/files/e4rat-0.2.4-gcc6.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- e4rat-0.2.4_pre20141201/src/logging.hh.old 2016-09-21 22:01:37.631925077 -0400
-+++ e4rat-0.2.4_pre20141201/src/logging.hh 2016-09-21 22:01:44.351086734 -0400
-@@ -93,7 +93,7 @@
- #define dump_log(...) logger.write(__VA_ARGS__)
-
- #ifdef DEBUG_ENABLED
-- #define debug(format,args...) dump_log(Debug, "%s:%d in %s(): "format, __FILE__, __LINE__, __FUNCTION__, ## args)
-+ #define debug(format,args...) dump_log(Debug, "%s:%d in %s(): " format, __FILE__, __LINE__, __FUNCTION__, ## args)
- #else
- #define debug(format,args...)
- #endif
diff --git a/sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch b/sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch
deleted file mode 100644
index c3a9cd0e8ca0..000000000000
--- a/sys-fs/e4rat/files/e4rat-0.2.4-strdup.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- e4rat-0.2.4_pre20141201/src/e4rat-collect.cc.orig 2014-11-24 12:12:12.000000000 +0300
-+++ e4rat-0.2.4_pre20141201/src/e4rat-collect.cc 2017-02-12 02:16:25.151757182 +0300
-@@ -32,6 +32,7 @@
- #include <fcntl.h>
- #include <fstream>
- #include <signal.h>
-+#include <cstring>
-
- /* EXT2_SUPER_MAGIC */
- #include <ext2fs/ext2_fs.h>
-@@ -361,7 +362,9 @@
- {
- create_pid_late = true;
-
-- outPath = Config::get<std::string>("startup_log_file").c_str();
-+ // It is unsafe to use Config::get<T>(arg)c_str() pointer
-+ // directly, since it may be overwritten by later get calls.
-+ outPath = strdup(Config::get<std::string>("startup_log_file").c_str());
- verbose = 0;
- }
- else
---- e4rat-0.2.4_pre20141201/src/e4rat-preload.cc.orig 2014-11-24 12:12:12.000000000 +0300
-+++ e4rat-0.2.4_pre20141201/src/e4rat-preload.cc 2017-02-12 02:16:38.425552630 +0300
-@@ -25,6 +25,7 @@
-
- #include <iostream>
- #include <fstream>
-+#include <cstring>
-
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -227,7 +228,8 @@
- try {
- if(getpid() == 1)
- {
-- const char* logfile = Config::get<std::string>("startup_log_file").c_str();
-+ // pointer may change, string must be copied
-+ const char* logfile = strdup(Config::get<std::string>("startup_log_file").c_str());
- notice("Open %s ... ", logfile);
- FILE* infile = fopen(logfile, "r");
- if(!infile)
diff --git a/sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch b/sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch
deleted file mode 100644
index 5cdcf3f05ae5..000000000000
--- a/sys-fs/e4rat/files/e4rat-0.2.4-sysmacros.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://sourceforge.net/p/e4rat/tickets/5/
-https://bugs.gentoo.org/580534
-
---- a/src/common.hh
-+++ b/src/common.hh
-@@ -20,6 +20,7 @@
- #ifndef COMMON_HH
- #define COMMON_HH
-
-+#include <sys/sysmacros.h>
- #include <linux/types.h>
- #include <boost/filesystem.hpp>
- #include <boost/regex.hpp>
diff --git a/sys-fs/e4rat/metadata.xml b/sys-fs/e4rat/metadata.xml
deleted file mode 100644
index 141e2b6b51e6..000000000000
--- a/sys-fs/e4rat/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
- <upstream>
- <remote-id type="sourceforge">e4rat</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 711644620d7c..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-2020 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 ~x86"
+KEYWORDS="~amd64 ~arm ~ppc64 ~riscv ~x86"
IUSE="doc gpg gtk nls openssl pam pkcs11 suid tpm"
BDEPEND="
diff --git a/sys-fs/ecryptfs-utils/metadata.xml b/sys-fs/ecryptfs-utils/metadata.xml
index e67a27b30bda..04daf23e2f2b 100644
--- a/sys-fs/ecryptfs-utils/metadata.xml
+++ b/sys-fs/ecryptfs-utils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
diff --git a/sys-fs/encfs/encfs-1.9.5.ebuild b/sys-fs/encfs/encfs-1.9.5-r2.ebuild
index 6fb74e919e15..248d5daddc17 100644
--- a/sys-fs/encfs/encfs-1.9.5.ebuild
+++ b/sys-fs/encfs/encfs-1.9.5-r2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-inherit cmake-utils
+EAPI=8
+
+inherit cmake
DESCRIPTION="An implementation of encrypted filesystem in user-space using FUSE"
HOMEPAGE="https://vgough.github.io/encfs/"
@@ -10,24 +11,22 @@ 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 ~sparc x86"
-IUSE="libressl nls"
-
-RDEPEND="
- !libressl? ( dev-libs/openssl:0= )
- libressl? ( dev-libs/libressl:0= )
- dev-libs/tinyxml2:0=
- sys-fs/fuse:=
+KEYWORDS="amd64 arm ~ppc64 ~sparc x86"
+IUSE="nls"
+
+RDEPEND="dev-libs/openssl:=
+ dev-libs/tinyxml2:=
+ sys-fs/fuse:0=
sys-libs/zlib"
-DEPEND="
- ${RDEPEND}
- dev-lang/perl
+DEPEND="${RDEPEND}"
+BDEPEND="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() {
@@ -35,6 +34,10 @@ src_configure() {
-DENABLE_NLS="$(usex nls)"
-DUSE_INTERNAL_TINYXML=OFF
-DBUILD_UNIT_TESTS=OFF
+ -DBUILD_SHARED_LIBS=ON
+ # Needed with BUILD_SHARED_LIBS=ON
+ -DINSTALL_LIBENCFS=ON
+ -DLIB_INSTALL_DIR="$(get_libdir)"
)
- cmake-utils_src_configure
+ cmake_src_configure
}
diff --git a/sys-fs/encfs/metadata.xml b/sys-fs/encfs/metadata.xml
index fd1afc6ac46f..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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
new file mode 100644
index 000000000000..96e333932c0b
--- /dev/null
+++ b/sys-fs/erofs-utils/Manifest
@@ -0,0 +1,2 @@
+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.6-r1.ebuild b/sys-fs/erofs-utils/erofs-utils-1.6-r1.ebuild
new file mode 100644
index 000000000000..87fe99420cfd
--- /dev/null
+++ b/sys-fs/erofs-utils/erofs-utils-1.6-r1.ebuild
@@ -0,0 +1,49 @@
+# 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 ~loong"
+
+SLOT="0"
+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 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${P}-CVE-2023-33551.patch"
+ "${FILESDIR}/${P}-CVE-2023-33552.patch"
+)
+
+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)
+ )
+
+ 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/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/erofs-utils/metadata.xml b/sys-fs/erofs-utils/metadata.xml
new file mode 100644
index 000000000000..bcc4b30fe149
--- /dev/null
+++ b/sys-fs/erofs-utils/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>xen0n@gentoo.org</email>
+ <name>WANG Xuerui</name>
+ </maintainer>
+ <use>
+ <flag name="fuse">Builds erofsfuse (requires <pkg>sys-fs/fuse</pkg>).</flag>
+ <flag name="uuid">Enables UUID support via <pkg>sys-apps/util-linux</pkg>.</flag>
+ </use>
+</pkgmetadata>
diff --git a/sys-fs/etcd-fs/Manifest b/sys-fs/etcd-fs/Manifest
deleted file mode 100644
index 18dfb0f9f5b0..000000000000
--- a/sys-fs/etcd-fs/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST etcd-fs-0_p20140620.zip 12608 BLAKE2B 7a7ae1c2e9b8fc952118eb658f191508350fa674ba0ab21a36cd3420f8d7fbf3c7208758af7274ca4e1b13e93e1c4ea79595773be3e21e4bd43a13d2e7d945c1 SHA512 9f0066ed635bf33812c2ab71d320d42e45684312243bff2e17c0d58eee25723ef980c59d6a7ca751ceacd69e75af7edc691d5595ab06d5de1bdfe244656367e9
-DIST etcd-fs-0_p20170517.tar.gz 8575 BLAKE2B ea47b3588efd206cd6632dfdc4210b2b08e566603c0fc72cecaa834f675f95ccb6d4907e9e7b00788e939ab4452494a53f3c9bdef16ef7693e0c38ac071e5aac SHA512 1695eeb70895d316db68fca45b0cdcef6f4bb00b39a443bd85a7d457a1437476562d269226f7cc872fbec22555c4f4b94d48617688294400685e1719224fa92f
diff --git a/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild b/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild
deleted file mode 100644
index 48382a0c554f..000000000000
--- a/sys-fs/etcd-fs/etcd-fs-0_p20140620.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit golang-base
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/xetorthio/${PN}"
-DESCRIPTION="Use etcd as a FUSE filesystem"
-HOMEPAGE="https://github.com/xetorthio/etcd-fs"
-EGIT_COMMIT="395eacbaebccccc5f03ed11dc887ea2f1af300a0"
-SRC_URI="https://github.com/xetorthio/etcd-fs/archive/${EGIT_COMMIT}.zip -> ${P}.zip"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-RESTRICT="test"
-DEPEND="app-arch/unzip
- dev-db/go-etcd:=
- dev-libs/go-fuse:="
-RDEPEND=""
-S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-
-src_compile() {
- CGO_CFLAGS=${CFLAGS} GOPATH=${S} \
- go build \
- -x -ldflags="-v -linkmode=external -extldflags '${LDFLAGS}'" \
- etcdfs.go || die
-}
-
-src_install() {
- dobin etcdfs
- dodoc README.md
-}
diff --git a/sys-fs/etcd-fs/etcd-fs-0_p20170517.ebuild b/sys-fs/etcd-fs/etcd-fs-0_p20170517.ebuild
deleted file mode 100644
index 3c7e45f87ac7..000000000000
--- a/sys-fs/etcd-fs/etcd-fs-0_p20170517.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit golang-base
-
-KEYWORDS="~amd64"
-EGO_PN="github.com/xetorthio/${PN}"
-DESCRIPTION="Use etcd as a FUSE filesystem"
-HOMEPAGE="https://github.com/xetorthio/etcd-fs"
-EGIT_COMMIT="1eeace3bc20b15e4347c631a1cf7b45f3852518a"
-SRC_URI="https://github.com/xetorthio/etcd-fs/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-LICENSE="Apache-2.0"
-SLOT="0"
-IUSE=""
-RESTRICT="test"
-DEPEND="
- dev-db/go-etcd:=
- dev-libs/go-fuse:="
-RDEPEND=""
-S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-
-src_compile() {
- CGO_CFLAGS=${CFLAGS} GOPATH=${S} \
- go build \
- -x -ldflags="-v -linkmode=external -extldflags '${LDFLAGS}'" \
- etcdfs.go || die
-}
-
-src_install() {
- dobin etcdfs
- dodoc README.md
-}
diff --git a/sys-fs/etcd-fs/metadata.xml b/sys-fs/etcd-fs/metadata.xml
deleted file mode 100644
index 6dc674fcd92b..000000000000
--- a/sys-fs/etcd-fs/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <upstream>
- <bugs-to>https://github.com/xetorthio/etcd-fs/issues</bugs-to>
- <changelog>https://github.com/xetorthio/etcd-fs/commits/master</changelog>
- <doc>https://github.com/xetorthio/etcd-fs/blob/master/README.md</doc>
- <remote-id type="github">xetorthio/etcd-fs</remote-id>
- </upstream>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-fs/eudev/Manifest b/sys-fs/eudev/Manifest
deleted file mode 100644
index 9807ef1a9a28..000000000000
--- a/sys-fs/eudev/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST eudev-3.2.5.tar.gz 1856958 BLAKE2B 8ca5706a91395ffa38c9bc552df874c1521d18103a6568bcf82d0664a20f8e38b58b67a74798f9f0c10a5adc99a7524318055b79dc2e360aee684c2a2a5983a4 SHA512 f73efde0d2dafcf79be4ebe9f6e6abb44329ea4ae45ccc4d9662c1d5ca6f4d45c27ca0b3135d7fa85f305bf7c5825dc1000079eb93fe7179c36a229fe63e372c
-DIST eudev-3.2.7.tar.gz 1892931 BLAKE2B 9ae903d624e8fb1b334735527329e6074a194dd6e22073c54acc58010d0f8f2d29bdc42d3e6d72dd388c1012be273ca27626ffe1173382d7dde9ad3aee942cd0 SHA512 e6c8ec86ae434c967f6a568fa0b281229bb87be7e3fec025dc3e0225de7843ffaa5dd65bdeffefbc91e9e2911aa3de9df84c76148fe8863ff60fba4c88653c40
-DIST eudev-3.2.8.tar.gz 1894193 BLAKE2B 8709a13031744d5dd2f57853375b920bdaa6ea028624111dc96be9d46748de8423ac749f27183c668336701c16735d7ca2db4566621e0e741a2604785c14c64f SHA512 13221e6f9696a8630d867eb7d73f3bf5dd1bc2dfd80d62af00342be4cbf39a862e644ea3776fa4d91463e594ca50c5deecbeb7e05d161097e889ea58a66ccc42
-DIST eudev-3.2.9.tar.gz 1959836 BLAKE2B 8792ded8a7d1dfbc16fae249283b58251656961cf360d72932c3fc6ea3e752f6334c21e9ebd9ee3ad0da03a590f8405b3bb7413eec3f964984225f7813311ef6 SHA512 09e49fff9848e72507ef14b9d4cfab2d1443f16d5b3d54d2b0e4f6b04c471ca41f09200cb8772e9f850f0dc4a574a7ec7eede7ce11cbabda65e210a89287531f
diff --git a/sys-fs/eudev/eudev-3.2.5.ebuild b/sys-fs/eudev/eudev-3.2.5.ebuild
deleted file mode 100644
index bfcf9af0cb24..000000000000
--- a/sys-fs/eudev/eudev-3.2.5.ebuild
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-KV_min=2.6.39
-
-inherit autotools linux-info multilib multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 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="+hwdb +kmod introspection rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-${KV_min}
- >=dev-util/intltool-0.50
- test? ( app-text/tree dev-lang/perl )"
-
-RDEPEND="${COMMON_DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- !sys-fs/udev
- !sys-apps/systemd"
-
-PDEPEND=">=sys-fs/udev-init-scripts-26
- hwdb? ( >=sys-apps/hwids-20140304[udev] )"
-
-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"
-
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # 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
- --libdir="${EPREFIX}"/usr/$(get_libdir)
- --with-rootlibexecdir="${EPREFIX}"/lib/udev
- --enable-split-usr
- --enable-manpages
- --disable-hwdb
- --exec-prefix="${EPREFIX}"
- )
-
- # 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
- )
- 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_install() {
- if multilib_is_native_abi; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- 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_all() {
- find "${D}" -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
-
- # 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 use hwdb && 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* ]] && [[ ${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.7-r2.ebuild b/sys-fs/eudev/eudev-3.2.7-r2.ebuild
deleted file mode 100644
index 25d8b24c74ea..000000000000
--- a/sys-fs/eudev/eudev-3.2.7-r2.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-KV_min=2.6.39
-
-inherit autotools linux-info multilib multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~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="+hwdb +kmod introspection rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-${KV_min}
- >=dev-util/intltool-0.50
- test? ( app-text/tree dev-lang/perl )"
-
-RDEPEND="${COMMON_DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- !sys-fs/udev
- !sys-apps/systemd"
-
-PDEPEND=">=sys-fs/udev-init-scripts-26
- hwdb? ( >=sys-apps/hwids-20140304[udev] )"
-
-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"
-
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # 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
- --disable-hwdb
- )
-
- # 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
- )
- 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_install() {
- if multilib_is_native_abi; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- 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_all() {
- find "${D}" -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 use hwdb && 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* ]] && [[ ${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.8.ebuild b/sys-fs/eudev/eudev-3.2.8.ebuild
deleted file mode 100644
index 25d8b24c74ea..000000000000
--- a/sys-fs/eudev/eudev-3.2.8.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-KV_min=2.6.39
-
-inherit autotools linux-info multilib multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~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="+hwdb +kmod introspection rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-${KV_min}
- >=dev-util/intltool-0.50
- test? ( app-text/tree dev-lang/perl )"
-
-RDEPEND="${COMMON_DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- !sys-fs/udev
- !sys-apps/systemd"
-
-PDEPEND=">=sys-fs/udev-init-scripts-26
- hwdb? ( >=sys-apps/hwids-20140304[udev] )"
-
-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"
-
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # 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
- --disable-hwdb
- )
-
- # 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
- )
- 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_install() {
- if multilib_is_native_abi; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- 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_all() {
- find "${D}" -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 use hwdb && 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* ]] && [[ ${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.9.ebuild b/sys-fs/eudev/eudev-3.2.9.ebuild
deleted file mode 100644
index 0488d8e41a06..000000000000
--- a/sys-fs/eudev/eudev-3.2.9.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-KV_min=2.6.39
-
-inherit autotools linux-info multilib multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${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="+hwdb +kmod introspection rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-${KV_min}
- >=dev-util/intltool-0.50
- test? ( app-text/tree dev-lang/perl )"
-
-RDEPEND="${COMMON_DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- !sys-fs/udev
- !sys-apps/systemd"
-
-PDEPEND=">=sys-fs/udev-init-scripts-26
- hwdb? ( >=sys-apps/hwids-20140304[udev] )"
-
-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"
-
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # 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
- --disable-hwdb
- )
-
- # 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
- )
- 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_install() {
- if multilib_is_native_abi; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- 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_all() {
- find "${D}" -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 use hwdb && 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* ]] && [[ ${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-4.9999.ebuild b/sys-fs/eudev/eudev-4.9999.ebuild
deleted file mode 100644
index 49cfe608ea80..000000000000
--- a/sys-fs/eudev/eudev-4.9999.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-KV_min=2.6.39
-
-inherit autotools linux-info multilib multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 4.9999* ]]; then
- EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
- EGIT_BRANCH="eudev-4"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
- #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
- KEYWORDS=""
-fi
-
-DESCRIPTION="Linux dynamic and persistent device naming support (aka userspace devfs)"
-HOMEPAGE="https://github.com/gentoo/eudev"
-
-LICENSE="LGPL-2.1 GPL-2"
-SLOT="0"
-IUSE="+blkid efi +hwdb +kmod selinux smack test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-${KV_min}
- >=dev-util/intltool-0.50
- test? ( app-text/tree dev-lang/perl )"
-
-RDEPEND="${COMMON_DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- !sys-fs/udev
- !sys-apps/systemd"
-
-PDEPEND=">=sys-fs/udev-init-scripts-26
- hwdb? ( >=sys-apps/hwids-20140304[udev] )"
-
-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"
-
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # 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=' '
- --prefix=/
- --libdir=/usr/$(get_libdir)
- --includedir=/usr/include
- --enable-manpages
- --disable-hwdb
- )
-
- # 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+=(
- $(use_enable blkid)
- $(use_enable efi)
- $(use_enable kmod)
- $(use_enable selinux)
- $(use_enable smack)
- )
- else
- econf_args+=(
- --disable-blkid
- --disable-efi
- --disable-kmod
- --disable-selinux
- --disable-smack
- )
- fi
- ECONF_SOURCE="${S}" econf "${econf_args[@]}"
-}
-
-#multilib_src_compile() {
-# if multilib_is_native_abi; then
-# emake
-# else
-# emake -C src/libudev
-# 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_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_all() {
- find "${D}" -name '*.la' -delete || die
-
- insinto /lib/udev/rules.d
- doins "${FILESDIR}"/40-gentoo.rules
-}
-
-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
-
- # 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 use hwdb && 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* ]] && [[ ${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
-
- 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 25d8b24c74ea..000000000000
--- a/sys-fs/eudev/eudev-9999.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-KV_min=2.6.39
-
-inherit autotools linux-info multilib multilib-minimal toolchain-funcs
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/gentoo/eudev.git"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/${PN}/${P}.tar.gz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~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="+hwdb +kmod introspection rule-generator selinux static-libs test"
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.20
- introspection? ( >=dev-libs/gobject-introspection-1.38 )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- virtual/os-headers
- virtual/pkgconfig
- >=sys-devel/make-3.82-r4
- >=sys-kernel/linux-headers-${KV_min}
- >=dev-util/intltool-0.50
- test? ( app-text/tree dev-lang/perl )"
-
-RDEPEND="${COMMON_DEPEND}
- acct-group/input
- acct-group/kvm
- acct-group/render
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10
- !sys-fs/udev
- !sys-apps/systemd"
-
-PDEPEND=">=sys-fs/udev-init-scripts-26
- hwdb? ( >=sys-apps/hwids-20140304[udev] )"
-
-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"
-
- eapply_user
- eautoreconf
-}
-
-multilib_src_configure() {
- tc-export CC #463846
- export cc_cv_CFLAGS__flto=no #502950
-
- # 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
- --disable-hwdb
- )
-
- # 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
- )
- 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_install() {
- if multilib_is_native_abi; then
- emake DESTDIR="${D}" install
- else
- emake -C src/libudev DESTDIR="${D}" install
- 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_all() {
- find "${D}" -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 use hwdb && 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* ]] && [[ ${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 365c6ea0d441..000000000000
--- a/sys-fs/eudev/files/40-gentoo.rules
+++ /dev/null
@@ -1,10 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# Propably unrequired, check how it is with OSS/OSS4, then remove
-SUBSYSTEM=="snd", GROUP="audio"
-
-# Gentoo specific usb group
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
-
-# Keep this for Linux 2.6.32 support wrt #457868
-SUBSYSTEM=="mem", KERNEL=="null|zero|full|random|urandom", MODE="0666"
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 ccfc41779746..000000000000
--- a/sys-fs/eudev/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>eudev@gentoo.org</email>
- </maintainer>
- <use>
- <flag name="blkid">enable blkid support</flag>
- <flag name="efi">enable EFI support</flag>
- <flag name="hwdb">read vendor/device string database and add it to udev database</flag>
- <flag name="kmod">enable module loading through libkmod</flag>
- <flag name="smack">enable SMACK security model</flag>
- <flag name="rule-generator">install legacy rule generator rules and support scripts - note
- that the functionality within was dropped from sys-fs/udev as it is not stable in
- all cases; use at your own risk</flag>
- </use>
- <upstream>
- <remote-id type="github">gentoo/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.3.0.ebuild b/sys-fs/exfat-utils/exfat-utils-1.3.0.ebuild
index beb517f6c485..a44748716942 100644
--- a/sys-fs/exfat-utils/exfat-utils-1.3.0.ebuild
+++ b/sys-fs/exfat-utils/exfat-utils-1.3.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
@@ -10,7 +10,7 @@ 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 ~s390 ~sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
src_install() {
default
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/exfat-utils/metadata.xml b/sys-fs/exfat-utils/metadata.xml
index e71e375cd5f9..f9ff4f860cea 100644
--- a/sys-fs/exfat-utils/metadata.xml
+++ b/sys-fs/exfat-utils/metadata.xml
@@ -1,9 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>floppym@gentoo.org</email>
-</maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
diff --git a/sys-fs/exfatprogs/Manifest b/sys-fs/exfatprogs/Manifest
index 6df02c6aa3d7..b4ae7dbe2736 100644
--- a/sys-fs/exfatprogs/Manifest
+++ b/sys-fs/exfatprogs/Manifest
@@ -1 +1,4 @@
-DIST exfatprogs-1.0.4.tar.xz 255736 BLAKE2B de2d64853e94944dd5c1f961a94daf5d31266a4b8f51e20a0528344fed24a5482ae6412f39d47b7da9807d5b8d10f87106b88818318f26339c0c8e05d52b247d SHA512 c3d9b92101b9461d47a9b3c7a43a99b90160ec81121662b04947aea18ad1b2381dc1d71c491bc4a5f2439120d6c21533ba2714a548134d9c918c4b1c72063d45
+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.0.4.ebuild b/sys-fs/exfatprogs/exfatprogs-1.1.3.ebuild
index f262a17592a0..41a8cfd16696 100644
--- a/sys-fs/exfatprogs/exfatprogs-1.0.4.ebuild
+++ b/sys-fs/exfatprogs/exfatprogs-1.1.3.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
@@ -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 ~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 f262a17592a0..38c4ccbcd880 100644
--- a/sys-fs/exfatprogs/exfatprogs-9999.ebuild
+++ b/sys-fs/exfatprogs/exfatprogs-9999.ebuild
@@ -1,25 +1,25 @@
-# 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="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 ~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/exfatprogs/metadata.xml b/sys-fs/exfatprogs/metadata.xml
index f694d91a6b55..f416e4415505 100644
--- a/sys-fs/exfatprogs/metadata.xml
+++ b/sys-fs/exfatprogs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
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/ext3grep/metadata.xml b/sys-fs/ext3grep/metadata.xml
index 02fa89d149d1..e2df8fc97977 100644
--- a/sys-fs/ext3grep/metadata.xml
+++ b/sys-fs/ext3grep/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>hanno@gentoo.org</email>
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/ext4magic/metadata.xml b/sys-fs/ext4magic/metadata.xml
index 1c14353a5c56..4c8ae9a5462b 100644
--- a/sys-fs/ext4magic/metadata.xml
+++ b/sys-fs/ext4magic/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gokturk@gentoo.org</email>
diff --git a/sys-fs/extundelete/extundelete-0.2.4.ebuild b/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild
index cb98d1828d50..0902cb8474ea 100644
--- a/sys-fs/extundelete/extundelete-0.2.4.ebuild
+++ b/sys-fs/extundelete/extundelete-0.2.4-r2.ebuild
@@ -1,21 +1,20 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
DESCRIPTION="A utility to undelete files from an ext3 or ext4 partition"
HOMEPAGE="https://extundelete.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
-SLOT=0
-KEYWORDS="amd64 ~arm x86"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~riscv ~sparc x86"
-RDEPEND="sys-fs/e2fsprogs
- sys-libs/e2fsprogs-libs"
+RDEPEND="sys-fs/e2fsprogs"
+DEPEND="${RDEPEND}"
-DEPEND=${RDEPEND}
-
-DOCS=README
-
-PATCHES=( "${FILESDIR}/${P}-e2fsprogs.patch" )
+PATCHES=(
+ "${FILESDIR}/${P}-e2fsprogs.patch"
+ "${FILESDIR}/${P}-clang.patch"
+)
diff --git a/sys-fs/extundelete/files/extundelete-0.2.4-clang.patch b/sys-fs/extundelete/files/extundelete-0.2.4-clang.patch
new file mode 100644
index 000000000000..711a8db8ad3d
--- /dev/null
+++ b/sys-fs/extundelete/files/extundelete-0.2.4-clang.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/732284
+--- a/src/extundelete.cc
++++ b/src/extundelete.cc
+@@ -1268,7 +1268,7 @@ static ext2_ino_t find_inode(ext2_filsys fs, ext2_filsys jfs, struct ext2_inode
+ *new_ino = 0;
+ priv->ret_ino = new_ino;
+ priv->curr_name = curr_part;
+- struct dir_context ctx = {search_flags, DIRENT_FLAG_INCLUDE_REMOVED,
++ struct dir_context ctx = {(ext2_ino_t)search_flags, DIRENT_FLAG_INCLUDE_REMOVED,
+ buf, match_name2, priv, 0};
+ errcode_t code = extundelete_block_iterate3(fs, *inode, BLOCK_FLAG_DATA_ONLY,
+ NULL, match_ino, &ctx);
diff --git a/sys-fs/extundelete/metadata.xml b/sys-fs/extundelete/metadata.xml
index 458b539da8fd..83f8c83abfc2 100644
--- a/sys-fs/extundelete/metadata.xml
+++ b/sys-fs/extundelete/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/f2fs-tools/Manifest b/sys-fs/f2fs-tools/Manifest
index c9ca0af7e006..7cad1b728e87 100644
--- a/sys-fs/f2fs-tools/Manifest
+++ b/sys-fs/f2fs-tools/Manifest
@@ -1,2 +1 @@
-DIST f2fs-tools-1.13.0.tar.gz 356028 BLAKE2B 170ddd5825b4f0f6a42a623f01d332092172a385e07dffccca46eb2545c12db23799fdeca7458c0cef17c95989e35db5e617a1458f0c7b41eeccd93eae807167 SHA512 fd920a19e8705a65395809aeef55791c5678ed31c026cdf41fc173e0dbcacdef1db7e0e184ec1aae8637b1784e2ad6e0207583e918255483fe43c73f89bd7f7f
-DIST f2fs-tools-1.14.0.tar.gz 371225 BLAKE2B 4b015e751ca7a8df8769de7a49afa1351717581d09973537d80780ff83f64db9a6fbf454a9a85d8acb761a8d00443a94d09d83cfaba9e5203c0fd656a96d505a SHA512 951b74178f99722550e73f331be066f124f6ee6022710f6b47ae47390b978b08f12a7f2a268d82ca69a32bf440cd3ce3adddc8a4c49c32df83da87e7f659f98d
+DIST f2fs-tools-1.16.0.tar.gz 265507 BLAKE2B a4fb94ff879198652a2922a0101b7e34aad156c3536e5a20c1cb2e36a6a734d92d3f97b2570eb702d029ef1d6c03d6123113fc1aa5658ba979401e0691b7b447 SHA512 ea198cebf7c5bb0c42c9b53bc80484495c403b1ed1354eb7cb7b4f63ed9a5c81653a76eaf1bc35067171fa5fd99b1564178c5440c21b6b025f4e83b9def82680
diff --git a/sys-fs/f2fs-tools/f2fs-tools-1.13.0.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.13.0.ebuild
deleted file mode 100644
index bc688ca09793..000000000000
--- a/sys-fs/f2fs-tools/f2fs-tools-1.13.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 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/6"
-KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 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.14.0.ebuild b/sys-fs/f2fs-tools/f2fs-tools-1.14.0.ebuild
deleted file mode 100644
index 333752374ed2..000000000000
--- a/sys-fs/f2fs-tools/f2fs-tools-1.14.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 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 ~mips ~ppc ~ppc64 ~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 29868c7358cb..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/sys-fs/fatcat/Manifest
index df28ddee647c..25e4bad8c7b1 100644
--- a/sys-fs/fatcat/Manifest
+++ b/sys-fs/fatcat/Manifest
@@ -1 +1 @@
-DIST fatcat-1.1.0.tar.gz 57104 BLAKE2B 9ff69f576258a39b767db67e6934a35175af218a184516681300c646ce1ec508652cf1113bf61f9e2f628849de2b53152345ca12fe84e8a9a7f51799bb3e13a2 SHA512 f5bcffcb46b77e950241a9f957133083ea5d43f4e0f3e038c84310da926cc017048d22f85f3c8e90a2745ce26f513079997717c5b758649b7090694006be0078
+DIST fatcat-1.1.1.tar.gz 57213 BLAKE2B 095d69d828759860c182a9208e234a90b80656207f3c6ee217adc903f4c75e09f44b9d8a45a37404c904657e787edcc7b3c5969f175414bde2c03b52765b537c SHA512 eb3feca0ee330fc7d3a557ff2ecca96102351105799d89cef64ddfaeaa5bbb5d8815f5f109bbd8f2721538ddbb231bebf3f3515c5b33a6d4093f4c1389000f9e
diff --git a/sys-fs/fatcat/fatcat-1.1.0-r1.ebuild b/sys-fs/fatcat/fatcat-1.1.1.ebuild
index 3fd6f3130447..ac61be67b09a 100644
--- a/sys-fs/fatcat/fatcat-1.1.0-r1.ebuild
+++ b/sys-fs/fatcat/fatcat-1.1.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2018-2020 Gentoo Authors
+# Copyright 2018-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit cmake-utils
+inherit cmake
DESCRIPTION="FAT filesystems explore, extract, repair, and forensic tool"
HOMEPAGE="https://github.com/Gregwar/fatcat"
@@ -17,10 +17,12 @@ 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-utils_src_install
+ cmake_src_install
doman man/${PN}.1
dodoc docs/*.md
}
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 435234188908..2fb86914fc19 100644
--- a/sys-fs/fatcat/metadata.xml
+++ b/sys-fs/fatcat/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<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/Manifest b/sys-fs/fatresize/Manifest
index 8892588463c6..891f4e7a1491 100644
--- a/sys-fs/fatresize/Manifest
+++ b/sys-fs/fatresize/Manifest
@@ -1,2 +1 @@
-DIST fatresize-1.0.4.tar.gz 115159 BLAKE2B 16bdfc28bb58f9694adccc7d04dc7c26dc72ce0e859787f66c2aa9c560ce987f20374e9f5166b79ac9501878e06f072c9102ce2f4e3bc2afa694e2a13ecb8e07 SHA512 36b67f7d5e4ccb03b98fb8a788c40f430464a40765a9092deab3292ff736fcb07288c4b5b30143a18125f4b3de1225ce32b5643b344ec207ca332a87981fe18f
DIST fatresize-1.1.0.tar.gz 137090 BLAKE2B bdfd8e257fa0b40a1bf8dad4c6b8c91958d605a3c25596153808bf14e1e1b703c1fc7c458ddd444cdd15795c7721496d1e649d9ebc16d4693ad420285511784c SHA512 e4de417fffcceab071571c878f93bb68c7a7fa4f3ab89e272f533940669ffeaa0cb36967dc8fd7cdeda935ef352bce735dd4dac579a2291d9c01447648e8d40f
diff --git a/sys-fs/fatresize/fatresize-1.0.4.ebuild b/sys-fs/fatresize/fatresize-1.0.4.ebuild
deleted file mode 100644
index 645b7e4e53a9..000000000000
--- a/sys-fs/fatresize/fatresize-1.0.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools
-
-DESCRIPTION="Resize FAT partitions using libparted"
-HOMEPAGE="https://github.com/ya-mouse/fatresize"
-SRC_URI="https://github.com/ya-mouse/fatresize/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- sys-block/parted
-"
-RDEPEND="
- ${DEPEND}
-"
-PATCHES=(
- "${FILESDIR}"/${P}-version.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sys-fs/fatresize/files/fatresize-1.0.4-version.patch b/sys-fs/fatresize/files/fatresize-1.0.4-version.patch
deleted file mode 100644
index 88a42a9c1089..000000000000
--- a/sys-fs/fatresize/files/fatresize-1.0.4-version.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,5 +1,5 @@
- AC_PREREQ(2.50)
--AC_INIT(fatresize, 1.0.3, [mouse@ya.ru])
-+AC_INIT(fatresize, 1.0.4, [mouse@ya.ru])
-
- AM_INIT_AUTOMAKE
- AM_CONFIG_HEADER(config.h)
diff --git a/sys-fs/fatresize/metadata.xml b/sys-fs/fatresize/metadata.xml
index 5ba62861f1c4..23628a858427 100644
--- a/sys-fs/fatresize/metadata.xml
+++ b/sys-fs/fatresize/metadata.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
-<email>jer@gentoo.org</email>
-</maintainer>
+ <!-- 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 c6746968827a..16391f44ec6b 100644
--- a/sys-fs/fatsort/Manifest
+++ b/sys-fs/fatsort/Manifest
@@ -1,2 +1 @@
-DIST fatsort-1.6.2.605.tar.xz 122928 BLAKE2B 2690233828e47a4809aac14a8d64dc8d95a824bec52f787190186adbe066d5d4e6f9c6d1873fc6b809c6df6879d12154430f44d412944963bdff49e673079d12 SHA512 0d119c99c5efff4c10367152fc6efe95e2cb1c39405ca02dd25b66cc68c7420b5b28c0daca1346b7928633bac8ace2d05d731502f989d39ca5c783dcec69ccc7
-DIST fatsort-1.6.3.622.tar.xz 123644 BLAKE2B 1db530753bdaee4ebda9ab36a47f6794584bc590de4cbf8d144a5baa770c080c9d27a1ecadd5a22de72538887c4e10f161f3c4fb3afb3e63bd18834897ebe905 SHA512 309c7424e53fb74f57d0c4272a1a4b3df57fa1130d7e7adae0ac73ac1c8b1900504e49efd0cc4dafea3efa2fbc9191f343b10bb97b647dd6124197356cd01c53
+DIST fatsort-1.6.5.640.tar.xz 131792 BLAKE2B 6e89c2240241642c828e462d44832e533351f5d6dcde78617b55fe61e24d30c92ebe567eaa4c2293e0db1671e60955cd2d48c83ade9acb6988371bbb05cd0953 SHA512 e4b0e6f007686ed873df8415e09787203cf508a27b94ac033c38b47bf9938f5d8fb130d98cc6588a376ea0004a8f8add55dc38e2fb9b133e6984b24bce3160ca
diff --git a/sys-fs/fatsort/fatsort-1.6.2.605.ebuild b/sys-fs/fatsort/fatsort-1.6.2.605.ebuild
deleted file mode 100644
index 0f3cb645a3c3..000000000000
--- a/sys-fs/fatsort/fatsort-1.6.2.605.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 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"
-
-PATCHES=(
- "${FILESDIR}/${P}-gcc10.patch"
-)
-
-src_prepare() {
- default
-
- sed -i -e 's|/usr/local|/usr|g' \
- $(find ./ -name Makefile) || die
-}
-
-src_compile() {
- emake CC=$(tc-getCC) LD=$(tc-getCC) \
- CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
- DESTDIR="${D}"
-}
-
-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 28d6fc9100bc..44138ec302ac 100644
--- a/sys-fs/fatsort/fatsort-1.6.3.622.ebuild
+++ b/sys-fs/fatsort/fatsort-1.6.5.640.ebuild
@@ -1,29 +1,30 @@
-# 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
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"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
src_prepare() {
default
sed -i -e 's|/usr/local|/usr|g' \
- $(find ./ -name Makefile) || die
+ $(find ./ -name Makefile || die) || die
}
src_compile() {
- emake CC=$(tc-getCC) LD=$(tc-getCC) \
+ emake \
+ CC="$(tc-getCC)" LD="$(tc-getCC)" \
CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \
- DESTDIR="${D}" man
+ man
}
src_test() {
diff --git a/sys-fs/fatsort/files/fatsort-1.6.2.605-gcc10.patch b/sys-fs/fatsort/files/fatsort-1.6.2.605-gcc10.patch
deleted file mode 100644
index 0446fe3e09dc..000000000000
--- a/sys-fs/fatsort/files/fatsort-1.6.2.605-gcc10.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-Index: tests/Makefile
-===================================================================
---- a/tests/Makefile (revision 606)
-+++ b/tests/Makefile (revision 613)
-@@ -19,7 +19,7 @@
- if [ ! -f $$i/passed ]; then \
- printf "%.70s" "Test case $$i... "; \
- printf "[ \e[1;33mWAIT \e[0m]"; \
-- ${MAKE} -C $$i &>> /dev/null; \
-+ ${MAKE} -C $$i &> /dev/null; \
- ret=$$?; \
- printf "\r%.70s" "Test case $$i... "; \
- if [ $$ret -eq 0 ]; then \
-Index: CHANGES.md
-===================================================================
---- a/CHANGES.md (revision 606)
-+++ b/CHANGES.md (revision 613)
-@@ -1,5 +1,11 @@
- # Changelog
-
-+## v1.6.3 (xxx)
-+* fixed support for macOS (thanks to Max for the fix)
-+* declared OPT_LOCALE as extern
-+* fixed uninitialized variable
-+* avoided some string truncation compiler warnings
-+
- ## v1.6.2 (November 29, 2019)
- - FIX: multiple endianness issues with exFAT
- - now using /proc/self/mounts instead of /etc/mtab to check whether filesystem is mounted
-Index: src/FAT_fs.c
-===================================================================
---- a/src/FAT_fs.c (revision 606)
-+++ b/src/FAT_fs.c (revision 613)
-@@ -42,7 +42,7 @@
- // used to check if device is mounted
- #if defined(__LINUX__)
- #include <mntent.h>
--#elif defined (__BSD__)
-+#elif defined (__BSD__) || defined (__OSX__)
- #include <sys/ucred.h>
- #include <sys/mount.h>
- #endif
-@@ -85,7 +85,7 @@
-
- return ret;
-
--#elif defined(__BSD__)
-+#elif defined(__BSD__) || defined(__OSX__)
- struct statfs *mntbuf;
- int i, mntsize;
- int32_t ret = 0;
-Index: src/deviceio.c
-===================================================================
---- a/src/deviceio.c (revision 606)
-+++ b/src/deviceio.c (revision 613)
-@@ -24,7 +24,7 @@
-
- #include "deviceio.h"
-
--#if defined __LINUX__ || defined __BSD__
-+#if defined __LINUX__ || defined __BSD__ || defined __OSX__
-
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -59,7 +59,7 @@
- #include "mallocv.h"
- #include "errors.h"
-
--#if defined __LINUX__ || defined __BSD__
-+#if defined __LINUX__ || defined __BSD__ || defined __OSX__
-
- DEVICE *device_open(const char *path) {
-
-@@ -88,7 +88,7 @@
- assert(device != NULL);
- assert(offset >= 0);
-
--#if defined __BSD__
-+#if defined __BSD__ || defined __OSX__
- return lseek(device->fd, (off_t) offset, SEEK_SET);
- #else
- return lseek64(device->fd, (off64_t) offset, SEEK_SET);
-Index: src/deviceio.h
-===================================================================
---- a/src/deviceio.h (revision 606)
-+++ b/src/deviceio.h (revision 613)
-@@ -27,7 +27,7 @@
-
- #include <stdint.h>
-
--#if defined __LINUX__ || defined __BSD__
-+#if defined __LINUX__ || defined __BSD__ || defined __OSX__
-
- #define DIRECTORY_SEPARATOR '/'
-
-Index: src/fatsort.c
-===================================================================
---- a/src/fatsort.c (revision 606)
-+++ b/src/fatsort.c (revision 613)
-@@ -45,7 +45,7 @@
-
- // program information
- #define INFO_PROGRAM "fatsort"
--#define INFO_VERSION "1.6.2"
-+#define INFO_VERSION "1.6.3"
- #define INFO_AUTHOR "Written by Boris Leidner.\n"
- #define INFO_COPYRIGHT "Copyright (C) 2004-2019 Boris Leidner.\n"
- #define INFO_LICENSE "License GPLv2: GNU GPL version 2 (see LICENSE.txt)\n" \
-Index: src/sort.c
-===================================================================
---- a/src/sort.c (revision 606)
-+++ b/src/sort.c (revision 613)
-@@ -261,14 +261,15 @@
-
- struct sExFATDirEntry de;
- struct sExFATDirEntrySet *des;
-- struct sExFATDirEntryList *del;
-+ struct sExFATDirEntryList *del=NULL;
-
- char name[MAX_PATH_LEN+1];
-- char str[32];
-+ char str[31];
- char *outptr, *inptr;
- uint8_t nameLength=0;
-
-- size_t outcount, incount, iret;
-+ size_t outcount=30;
-+ size_t incount, iret;
-
- *direntrysets=0;
-
-@@ -376,7 +377,7 @@
- }
- outptr[0]='\0';
-
-- strncat(name, str, 30);
-+ strncat(name, str, 31);
-
- // we are done here
- if (entries == expected_entries) {
-@@ -512,7 +513,7 @@
- union sDirEntry de;
- struct sDirEntryList *lnde;
- struct sLongDirEntryList *llist;
-- char tmp[MAX_PATH_LEN+1], dummy[MAX_PATH_LEN*2+1], sname[MAX_PATH_LEN+1], lname[MAX_PATH_LEN+1];
-+ char tmp[MAX_PATH_LEN+1], dummy[MAX_PATH_LEN+1], sname[MAX_PATH_LEN+1], lname[MAX_PATH_LEN+1];
-
- *direntries=0;
-
-@@ -589,8 +590,11 @@
- return -1;
- }
-
-- snprintf(dummy, MAX_PATH_LEN*2+1, "%s%s", tmp, lname);
-- strncpy(lname, dummy, MAX_PATH_LEN);
-+ strncpy(dummy, tmp, MAX_PATH_LEN);
-+ dummy[MAX_PATH_LEN]='\0';
-+ strncat(dummy, lname, MAX_PATH_LEN - strlen(dummy));
-+ dummy[MAX_PATH_LEN]='\0';
-+ strncpy(lname, dummy, MAX_PATH_LEN+1);
-
- break;
- default:
-@@ -708,8 +712,8 @@
- dummy[MAX_PATH_LEN]='\0';
- strncat(dummy, lname, MAX_PATH_LEN - strlen(dummy));
- dummy[MAX_PATH_LEN]='\0';
-- strncpy(lname, dummy, MAX_PATH_LEN);
-- dummy[MAX_PATH_LEN]='\0';
-+ strncpy(lname, dummy, MAX_PATH_LEN+1);
-+ //dummy[MAX_PATH_LEN]='\0';
- break;
- default:
- myerror("Unhandled return code!");
-Index: src/options.c
-===================================================================
---- a/src/options.c (revision 606)
-+++ b/src/options.c (revision 613)
-@@ -55,7 +55,6 @@
- assert(stringList != NULL);
- assert(stringList->str == NULL);
- assert(str != NULL);
-- assert(strlen((char *)str) <= MAX_PATH_LEN);
-
- char *newStr;
-
-@@ -77,14 +76,16 @@
- // copy string to new structure including missing slashes
- newStr[0] = '\0';
- if (prefix) newStr[0] = DIRECTORY_SEPARATOR;
-- strncat(newStr, (const char*) str, len);
-+ memcpy(newStr+prefix, (const char*) str, len);
- if (suffix) newStr[prefix+len] = DIRECTORY_SEPARATOR;
-
-+/*
- if (prefix+len+suffix > MAX_PATH_LEN) {
- newStr[MAX_PATH_LEN] = '\0';
- } else {
- newStr[prefix+len+suffix] = '\0';
- }
-+*/
-
- ret = addStringToStringList(stringList, newStr);
-
-@@ -137,7 +138,7 @@
- parses command line options
- */
-
-- int8_t c;
-+ int8_t c,len;
-
- static struct option longOpts[] = {
- // name, has_arg, flag, val
-@@ -315,12 +316,13 @@
- case 't' : OPT_MODIFICATION = 1; break;
- case 'v' : OPT_VERSION = 1; break;
- case 'L' :
-- OPT_LOCALE=realloc(OPT_LOCALE, strlen(optarg)+1);
-+ len=strlen(optarg);
-+ OPT_LOCALE=realloc(OPT_LOCALE, len+1);
- if (OPT_LOCALE == NULL) {
- stderror();
- return -1;
- }
-- strncpy(OPT_LOCALE, optarg, strlen(optarg)+1);
-+ memcpy(OPT_LOCALE, optarg, len+1);
- break;
- default :
- myerror("Unknown option '%c'.", optopt);
-Index: src/stringlist.c
-===================================================================
---- a/src/stringlist.c (revision 606)
-+++ b/src/stringlist.c (revision 613)
-@@ -78,8 +78,7 @@
- return -1;
- }
-
-- strncpy(stringList->next->str, str, len);
-- stringList->next->str[len] = '\0';
-+ memcpy(stringList->next->str, str, len+1);
-
- return 0;
-
-Index: src/options.h
-===================================================================
---- a/src/options.h (revision 606)
-+++ b/src/options.h (revision 613)
-@@ -35,7 +35,7 @@
- extern struct sStringList *OPT_INCL_DIRS, *OPT_EXCL_DIRS, *OPT_INCL_DIRS_REC, *OPT_EXCL_DIRS_REC, *OPT_IGNORE_PREFIXES_LIST;
- extern struct sRegExList *OPT_REGEX_INCL, *OPT_REGEX_EXCL;
-
--char *OPT_LOCALE;
-+extern char *OPT_LOCALE;
-
- // parses command line options
- int32_t parse_options(int argc, char *argv[]);
diff --git a/sys-fs/fatsort/metadata.xml b/sys-fs/fatsort/metadata.xml
index c21da8d2168c..f819cd648d7c 100644
--- a/sys-fs/fatsort/metadata.xml
+++ b/sys-fs/fatsort/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>billie@gentoo.org</email>
diff --git a/sys-fs/fragview/Manifest b/sys-fs/fragview/Manifest
index 0e05eb4399c4..39107b784b5b 100644
--- a/sys-fs/fragview/Manifest
+++ b/sys-fs/fragview/Manifest
@@ -1 +1,2 @@
DIST fragview-0.1.1.tar.gz 20439 BLAKE2B 827275562fadcce5fc1dc210816ab5a2108863538dfb1892f677fb94e26ea348712f5c9534405d4d056435f1d5c38427eafce7de0af35839bc69da98dcedb9b5 SHA512 aa28f57e2ba5fbba48fd9d8d471ac8e90c056309b6f44cc1e320dbbaea2105c622a6803a04be23893b8e284cd53112f2d1fe73a97e7333937892b35742e5495f
+DIST fragview-0.1.2.tar.gz 21253 BLAKE2B ea6301f074949e0e3cc0ece5f60fae9b59983e6827b384ce3ce6b95ce835a15e0fa2aac009fe2702c81a6a26d95e0fab32a324af0d0261b6744637d963d48ede SHA512 ec75fb65d9dd9d5ec5b4f3b31b6f0337f401e629ff49dc218eeb82c17a11699f87407ff0dc90c1f75b06d746bd982fb58d810a3f1136f8c3af787c6dc5439170
diff --git a/sys-fs/fragview/fragview-0.1.1.ebuild b/sys-fs/fragview/fragview-0.1.1-r1.ebuild
index 5e531deaaae0..5e579ec7c56e 100644
--- a/sys-fs/fragview/fragview-0.1.1.ebuild
+++ b/sys-fs/fragview/fragview-0.1.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils
+inherit cmake
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@@ -19,12 +19,19 @@ HOMEPAGE="https://github.com/i-rinat/fragview"
LICENSE="MIT"
SLOT="0"
-DEPEND="
+COMMON_DEPEND="
+ dev-cpp/atkmm:0
+ dev-cpp/cairomm:0
dev-cpp/glibmm:2
dev-cpp/gtkmm:3.0
dev-db/sqlite:3
- dev-libs/boost:=
+ dev-libs/glib:2
+ dev-libs/libsigc++:2
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/boost
"
-RDEPEND="${DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
PATCHES=( "${FILESDIR}/${P}-fix-linking.patch" )
diff --git a/sys-fs/fragview/fragview-0.1.2.ebuild b/sys-fs/fragview/fragview-0.1.2.ebuild
new file mode 100644
index 000000000000..1679ebd4e588
--- /dev/null
+++ b/sys-fs/fragview/fragview-0.1.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/i-rinat/fragview.git"
+else
+ SRC_URI="https://github.com/i-rinat/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Disk fragmentation visualizer based on FIEMAP and FIBMAP ioctls"
+HOMEPAGE="https://github.com/i-rinat/fragview"
+
+LICENSE="MIT"
+SLOT="0"
+
+COMMON_DEPEND="
+ dev-cpp/atkmm:0
+ dev-cpp/cairomm:0
+ dev-cpp/glibmm:2
+ dev-cpp/gtkmm:3.0
+ dev-db/sqlite:3
+ dev-libs/glib:2
+ dev-libs/libsigc++:2
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/boost
+"
+RDEPEND="${COMMON_DEPEND}"
diff --git a/sys-fs/fragview/fragview-9999.ebuild b/sys-fs/fragview/fragview-9999.ebuild
index 679d6254f5ae..1679ebd4e588 100644
--- a/sys-fs/fragview/fragview-9999.ebuild
+++ b/sys-fs/fragview/fragview-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils
+inherit cmake
if [[ ${PV} == *9999 ]]; then
inherit git-r3
@@ -19,10 +19,17 @@ HOMEPAGE="https://github.com/i-rinat/fragview"
LICENSE="MIT"
SLOT="0"
-DEPEND="
+COMMON_DEPEND="
+ dev-cpp/atkmm:0
+ dev-cpp/cairomm:0
dev-cpp/glibmm:2
dev-cpp/gtkmm:3.0
dev-db/sqlite:3
- dev-libs/boost:=
+ dev-libs/glib:2
+ dev-libs/libsigc++:2
+"
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/boost
"
-RDEPEND="${DEPEND}"
+RDEPEND="${COMMON_DEPEND}"
diff --git a/sys-fs/fragview/metadata.xml b/sys-fs/fragview/metadata.xml
index 500b2e4440b8..c7ca3e7a050b 100644
--- a/sys-fs/fragview/metadata.xml
+++ b/sys-fs/fragview/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>lucianposton@pm.me</email>
<name>Lucian Poston</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sys-fs/fscrypt/Manifest b/sys-fs/fscrypt/Manifest
new file mode 100644
index 000000000000..e325d5a9e0bd
--- /dev/null
+++ b/sys-fs/fscrypt/Manifest
@@ -0,0 +1,2 @@
+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/files/0001-Remove-TestLoadSourceDevice.patch b/sys-fs/fscrypt/files/0001-Remove-TestLoadSourceDevice.patch
new file mode 100644
index 000000000000..c019a080eab5
--- /dev/null
+++ b/sys-fs/fscrypt/files/0001-Remove-TestLoadSourceDevice.patch
@@ -0,0 +1,44 @@
+From 462a36e7b039d5c7e33d95237f6c697fa59775da Mon Sep 17 00:00:00 2001
+From: Florian Schmaus <flo@geekplace.eu>
+Date: Sat, 17 Apr 2021 18:15:05 +0200
+Subject: [PATCH] Remove TestLoadSourceDevice
+
+This test requires /dev/loop0, which may not always be available.
+---
+ filesystem/mountpoint_test.go | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+diff --git a/filesystem/mountpoint_test.go b/filesystem/mountpoint_test.go
+index 633ff947aaf7..9981db181a13 100644
+--- a/filesystem/mountpoint_test.go
++++ b/filesystem/mountpoint_test.go
+@@ -92,26 +92,6 @@ func TestLoadMountInfoBasic(t *testing.T) {
+ }
+ }
+
+-// Test that Mount.Device is set to the mountpoint's source device if
+-// applicable, otherwise it is set to the empty string.
+-func TestLoadSourceDevice(t *testing.T) {
+- var mountinfo = `
+-15 0 7:0 / / rw shared:1 - foo /dev/loop0 rw,data=ordered
+-31 15 0:27 / /tmp rw,nosuid,nodev shared:17 - tmpfs tmpfs rw
+-`
+- beginLoadMountInfoTest()
+- defer endLoadMountInfoTest()
+- loadMountInfoFromString(mountinfo)
+- mnt := mountForDevice("7:0")
+- if mnt.Device != "/dev/loop0" {
+- t.Error("mnt.Device wasn't set to source device")
+- }
+- mnt = mountForDevice("0:27")
+- if mnt.Device != "" {
+- t.Error("mnt.Device wasn't set to empty string for an invalid device")
+- }
+-}
+-
+ // Test that non-directory mounts are ignored.
+ func TestNondirectoryMountsIgnored(t *testing.T) {
+ beginLoadMountInfoTest()
+--
+2.30.2
+
diff --git a/sys-fs/fscrypt/files/fscrypt.pam-config b/sys-fs/fscrypt/files/fscrypt.pam-config
new file mode 100644
index 000000000000..cfcd60286401
--- /dev/null
+++ b/sys-fs/fscrypt/files/fscrypt.pam-config
@@ -0,0 +1,3 @@
+# Allow fscrypt to check your login passphrase when you create a login protector
+# See https://github.com/google/fscrypt/issues/130#issuecomment-533955949
+auth required pam_unix.so
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/fscrypt/metadata.xml b/sys-fs/fscrypt/metadata.xml
new file mode 100644
index 000000000000..be811aa924e4
--- /dev/null
+++ b/sys-fs/fscrypt/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type='person'>
+ <email>flow@gentoo.org</email>
+ <name>Florian Schmaus</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">google/fscrypt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/fswatch/Manifest b/sys-fs/fswatch/Manifest
new file mode 100644
index 000000000000..29ad9d3d7c9c
--- /dev/null
+++ b/sys-fs/fswatch/Manifest
@@ -0,0 +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.16.0.ebuild b/sys-fs/fswatch/fswatch-1.16.0.ebuild
new file mode 100644
index 000000000000..dc84ca695257
--- /dev/null
+++ b/sys-fs/fswatch/fswatch-1.16.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2022-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+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"
+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/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
new file mode 100644
index 000000000000..d73a90465c32
--- /dev/null
+++ b/sys-fs/fswatch/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <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/Manifest b/sys-fs/fuse-common/Manifest
index 7f62c84c9b6c..c63c77bce908 100644
--- a/sys-fs/fuse-common/Manifest
+++ b/sys-fs/fuse-common/Manifest
@@ -1,3 +1 @@
-DIST fuse-3.9.1.tar.xz 1595308 BLAKE2B 3b1d5c8ac99e96183581d034889d8d6cab8feeee26cafd765dc4ab2cbeb655b3b162836c960ceacf08cd458bec2daaf0474877c9611ef6a6543795e4971ddc12 SHA512 295bb62274264789c977a1fee78c6c122a2f227ae85d750b8519cafbdcf6551499b77cf021d83cc8261831e29761c166d84a4e50bdebb4191c76bcad1d15d329
-DIST fuse-3.9.2.tar.xz 1674292 BLAKE2B 42d796802d3ce2e072120153b695d1e64d160695714c58ffba7859281bfa2c1ff3d9f95b92a38c1a5443abe5a8468f0d9d285845b97a444ae1b64bf750e234ae SHA512 47795d2e0431c93ff36609247016a5ddfa631e4dcdc56cb579030bdb78497e3fa2db28b0cbadd0848024be39381c54f8441de28b0af51f8b800519e76c7af9ed
-DIST fuse-3.9.3.tar.xz 1805676 BLAKE2B 907806f8799ce70f07d65e08a058709901bafa0fbfa098d3e66f9913f08b1d5f3e35a099f84832f221b5aa8681f69d8291f2a20967acdc8f0b7b0b72c2ae414b SHA512 e4a4bfbc276b1d676211d93878b487c5946f54e8811e929fad4ff32de1f64e0c4e762d33c43e3a04afae538f41efe8d29221f45340ccd74f0055f644802f3e26
+DIST fuse-3.10.4.tar.xz 2787472 BLAKE2B 174b51bf55544bbc08e04089a4d8685b371d3f584e337ed0d8d82c62e10c14b6ef14a964d6627e8a121036db1ab4c6c1ccd413c08f8685d3d91893874427e46f SHA512 1cb7600dc04f148b15ec3183d0348320dd946cf15d4077798e7e34fe7e8202837718c8b8bd1f190b7dddda2453ee2b0433d77e18f142ecb7affec1cae29520f6
diff --git a/sys-fs/fuse-common/files/fuse-fbsd.init b/sys-fs/fuse-common/files/fuse-fbsd.init
deleted file mode 100644
index 27d90cc867f3..000000000000
--- a/sys-fs/fuse-common/files/fuse-fbsd.init
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need localmount
-}
-
-start() {
- ebegin "Starting fuse"
- if ! kldstat -q -m fuse; then
- kldload fuse >/dev/null 2>&1 || eerror $? "Error loading fuse module"
- fi
- eend ${?}
-}
-
-stop() {
- ebegin "Stopping fuse"
- if kldstat -q -m fuse; then
- kldunload fuse >/dev/null 2>&1 || eerror $? "Error unloading fuse module"
- fi
- eend ${?}
-}
diff --git a/sys-fs/fuse-common/fuse-common-3.9.1.ebuild b/sys-fs/fuse-common/fuse-common-3.10.4.ebuild
index 263bcc482772..8fd9d127f571 100644
--- a/sys-fs/fuse-common/fuse-common-3.9.1.ebuild
+++ b/sys-fs/fuse-common/fuse-common-3.10.4.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/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${
LICENSE="GPL-2 LGPL-2.1"
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"
BDEPEND="virtual/pkgconfig"
RDEPEND="!<sys-fs/fuse-2.9.7-r1:0"
@@ -23,8 +23,6 @@ src_install() {
if use kernel_linux ; then
newinitd "${FILESDIR}"/fuse.init fuse
- elif use kernel_FreeBSD ; then
- newinitd "${FILESDIR}"/fuse-fbsd.init fuse
else
die "We don't know what init code install for your kernel, please file a bug."
fi
diff --git a/sys-fs/fuse-common/fuse-common-3.9.2.ebuild b/sys-fs/fuse-common/fuse-common-3.9.2.ebuild
deleted file mode 100644
index 1562ff02eb90..000000000000
--- a/sys-fs/fuse-common/fuse-common-3.9.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit udev
-
-DESCRIPTION="Common files for multiple slots of sys-fs/fuse"
-HOMEPAGE="https://github.com/libfuse/libfuse"
-SRC_URI="https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="!<sys-fs/fuse-2.9.7-r1:0"
-
-S=${WORKDIR}/fuse-${PV}
-
-src_install() {
- udev_newrules util/udev.rules 99-fuse.rules
-
- if use kernel_linux ; then
- newinitd "${FILESDIR}"/fuse.init fuse
- elif use kernel_FreeBSD ; then
- newinitd "${FILESDIR}"/fuse-fbsd.init fuse
- else
- die "We don't know what init code install for your kernel, please file a bug."
- fi
-
- insinto /etc
- doins util/fuse.conf
-}
diff --git a/sys-fs/fuse-common/fuse-common-3.9.3.ebuild b/sys-fs/fuse-common/fuse-common-3.9.3.ebuild
deleted file mode 100644
index 1562ff02eb90..000000000000
--- a/sys-fs/fuse-common/fuse-common-3.9.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit udev
-
-DESCRIPTION="Common files for multiple slots of sys-fs/fuse"
-HOMEPAGE="https://github.com/libfuse/libfuse"
-SRC_URI="https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="virtual/pkgconfig"
-RDEPEND="!<sys-fs/fuse-2.9.7-r1:0"
-
-S=${WORKDIR}/fuse-${PV}
-
-src_install() {
- udev_newrules util/udev.rules 99-fuse.rules
-
- if use kernel_linux ; then
- newinitd "${FILESDIR}"/fuse.init fuse
- elif use kernel_FreeBSD ; then
- newinitd "${FILESDIR}"/fuse-fbsd.init fuse
- else
- die "We don't know what init code install for your kernel, please file a bug."
- fi
-
- insinto /etc
- doins util/fuse.conf
-}
diff --git a/sys-fs/fuse-common/metadata.xml b/sys-fs/fuse-common/metadata.xml
index 8badbeef7062..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bman@gentoo.org</email>
- <name>Aaron BaumanM</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-convmvfs/metadata.xml b/sys-fs/fuse-convmvfs/metadata.xml
index 09c0bcc12d50..93fa26e1c117 100644
--- a/sys-fs/fuse-convmvfs/metadata.xml
+++ b/sys-fs/fuse-convmvfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
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.3.0.ebuild b/sys-fs/fuse-exfat/fuse-exfat-1.3.0.ebuild
index 662b14d6d61f..22434af0ade1 100644
--- a/sys-fs/fuse-exfat/fuse-exfat-1.3.0.ebuild
+++ b/sys-fs/fuse-exfat/fuse-exfat-1.3.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
@@ -10,7 +10,7 @@ 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 ~s390 ~sparc x86 ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~x86-linux"
IUSE="suid"
RDEPEND="sys-fs/fuse:0"
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 2b2d336f4adb..1c5d604b9f1b 100644
--- a/sys-fs/fuse-exfat/metadata.xml
+++ b/sys-fs/fuse-exfat/metadata.xml
@@ -1,9 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>floppym@gentoo.org</email>
-</maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
@@ -11,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 01939dc6f9d7..59c692404d23 100644
--- a/sys-fs/fuse-overlayfs/Manifest
+++ b/sys-fs/fuse-overlayfs/Manifest
@@ -1 +1,2 @@
-DIST fuse-overlayfs-1.1.2.tar.gz 98055 BLAKE2B 04cee8052671431604031ddd3d0ebc254de0ba00a527b4a7caa24bf4a0b74be81c9d0f2c02e5eb583c3f6a61b540762b52617531f266341878cb54f40e087331 SHA512 41bb7ed21d0408af61820b9aebefb08ee6add0c9a15ff1cafd8abc7ff6fcc46afd53740c946c6835bbba8c58ee8bfcc8351cd2a1fe81d749dad81934ce44032b
+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.1.2.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.1.2.ebuild
deleted file mode 100644
index d594f97bb55f..000000000000
--- a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.1.2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2019-2020 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"
-IUSE=""
-
-RDEPEND=">=sys-fs/fuse-3:="
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-${EGIT_COMMIT#v}"
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild
new file mode 100644
index 000000000000..48a89849ffc5
--- /dev/null
+++ b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.12.ebuild
@@ -0,0 +1,23 @@
+# Copyright 2019-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="FUSE implementation for overlayfs"
+HOMEPAGE="https://github.com/containers/fuse-overlayfs"
+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"
+
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild
new file mode 100644
index 000000000000..f5ede1ae6ee4
--- /dev/null
+++ b/sys-fs/fuse-overlayfs/fuse-overlayfs-1.13.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools linux-info
+
+DESCRIPTION="FUSE implementation for overlayfs"
+HOMEPAGE="https://github.com/containers/fuse-overlayfs"
+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"
+
+DEPEND="sys-fs/fuse:3"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+pkg_pretend() {
+ kernel_is -lt 4 18 && eerror "Linux Kernel > v4.18.0 is required" && die
+}
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sys-fs/fuse-overlayfs/metadata.xml b/sys-fs/fuse-overlayfs/metadata.xml
index 9553f7721ef2..f802fb94fd07 100644
--- a/sys-fs/fuse-overlayfs/metadata.xml
+++ b/sys-fs/fuse-overlayfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<remote-id type="github">containers/fuse-overlayfs</remote-id>
@@ -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-zip/Manifest b/sys-fs/fuse-zip/Manifest
index 05528afb1dd6..c85c67e808c1 100644
--- a/sys-fs/fuse-zip/Manifest
+++ b/sys-fs/fuse-zip/Manifest
@@ -1 +1 @@
-DIST fuse-zip-0.7.0.tar.gz 712853 BLAKE2B fd8bdaf30321bfbf897598de0291b1b285171b9b254e21acc1ca9f9d5af2b3a199dcb05696e92983a9b7491b4993b59defa53ec37d0a958d4fb80d2baf322194 SHA512 ea08bee4a7d0e7a0584237c6e9560d0fd2665bea59e87bc020697c3fc6bdc3c4c5c5d4dcdb454eed8cb735c176dd54d7c9bf879a04ac2d5b38bc271cc3128b69
+DIST fuse-zip-0.7.2.tar.gz 713290 BLAKE2B b7cd0ad3dc605434e40f1914424d3da681308ef758d2aa613323eb0e3ca5c32a9f10377e67f8e4577f670ca80ca039963f8a8ffd4166819584fafce9d3cbe9f1 SHA512 9abc34bd75caca125542f7d8ad7356901b25679779926515070650a5167eac28cc88b4545a4f05f5ee8a0ec58205258d33d190942a0e568fb72d02f3c469783e
diff --git a/sys-fs/fuse-zip/fuse-zip-0.7.0.ebuild b/sys-fs/fuse-zip/fuse-zip-0.7.2.ebuild
index 1fefa7a93ca4..0d37e30e5f07 100644
--- a/sys-fs/fuse-zip/fuse-zip-0.7.0.ebuild
+++ b/sys-fs/fuse-zip/fuse-zip-0.7.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -12,7 +12,7 @@ SRC_URI="https://bitbucket.org/agalanin/${PN}/downloads/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
+RESTRICT="test"
DEPEND="
dev-libs/libzip:=
@@ -20,8 +20,6 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-RESTRICT="test"
-
DOCS=( changelog README.md )
PATCHES=( "${FILESDIR}/${PN}-0.4.5-makefile.patch" )
diff --git a/sys-fs/fuse-zip/metadata.xml b/sys-fs/fuse-zip/metadata.xml
index bf2b3309dfc3..8cde094293e5 100644
--- a/sys-fs/fuse-zip/metadata.xml
+++ b/sys-fs/fuse-zip/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>johu@gentoo.org</email>
- <name>Johannes Huber</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="google-code">fuse-zip</remote-id>
<remote-id type="bitbucket">agalanin/fuse-zip</remote-id>
diff --git a/sys-fs/fuse/Manifest b/sys-fs/fuse/Manifest
index ea7077412b6e..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.9.1.tar.xz 1595308 BLAKE2B 3b1d5c8ac99e96183581d034889d8d6cab8feeee26cafd765dc4ab2cbeb655b3b162836c960ceacf08cd458bec2daaf0474877c9611ef6a6543795e4971ddc12 SHA512 295bb62274264789c977a1fee78c6c122a2f227ae85d750b8519cafbdcf6551499b77cf021d83cc8261831e29761c166d84a4e50bdebb4191c76bcad1d15d329
-DIST fuse-3.9.2.tar.xz 1674292 BLAKE2B 42d796802d3ce2e072120153b695d1e64d160695714c58ffba7859281bfa2c1ff3d9f95b92a38c1a5443abe5a8468f0d9d285845b97a444ae1b64bf750e234ae SHA512 47795d2e0431c93ff36609247016a5ddfa631e4dcdc56cb579030bdb78497e3fa2db28b0cbadd0848024be39381c54f8441de28b0af51f8b800519e76c7af9ed
-DIST fuse-3.9.3.tar.xz 1805676 BLAKE2B 907806f8799ce70f07d65e08a058709901bafa0fbfa098d3e66f9913f08b1d5f3e35a099f84832f221b5aa8681f69d8291f2a20967acdc8f0b7b0b72c2ae414b SHA512 e4a4bfbc276b1d676211d93878b487c5946f54e8811e929fad4ff32de1f64e0c4e762d33c43e3a04afae538f41efe8d29221f45340ccd74f0055f644802f3e26
+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/files/fuse-2.9.9-avoid-calling-umount.patch b/sys-fs/fuse/files/fuse-2.9.9-avoid-calling-umount.patch
new file mode 100644
index 000000000000..b5c141d29ed0
--- /dev/null
+++ b/sys-fs/fuse/files/fuse-2.9.9-avoid-calling-umount.patch
@@ -0,0 +1,38 @@
+From acb69eca6c25db44523efb4cb1e7088ae66d093d Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Tue, 3 Aug 2021 23:14:12 +0100
+Subject: [PATCH] Avoid calling umount
+
+Converting a sed into a patch.
+
+Ebuild had:
+ # sandbox violation with mtab writability wrt #438250
+ # don't sed configure.in without eautoreconf because of maintainer mode
+ sed -i 's:umount --fake:true --fake:' configure || die
+
+Bug: https://bugs.gentoo.org/438250
+---
+ configure.ac | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 9946a0e..de433cb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -101,11 +101,11 @@ util_linux_ok=yes
+ if test "$arch" = linux -a "$cross_compiling" != "yes"; then
+ AC_MSG_CHECKING([if umount supports --fake --no-canonicalize])
+ # exit code of umount is 1 if option is unrecognised, 2 otherwise
+- umount --fake --no-canonicalize > /dev/null 2>&1
++ true --fake --no-canonicalize > /dev/null 2>&1
+ if test $? != 1; then
+ AC_MSG_RESULT([yes])
+ else
+- firstline=`umount --fake --no-canonicalize 2>&1 | head -1`
++ firstline=`true --fake --no-canonicalize 2>&1 | head -1`
+ if test "$firstline" = 'umount: only root can use "--fake" option'; then
+ AC_MSG_RESULT([yes])
+ else
+--
+2.32.0
+
diff --git a/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch b/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch
new file mode 100644
index 000000000000..beb8d51da1ee
--- /dev/null
+++ b/sys-fs/fuse/files/fuse-2.9.9-closefrom-glibc-2-34.patch
@@ -0,0 +1,60 @@
+From ae2352bca9b4e607538412da0cc2a9625cd8b692 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sat, 24 Jul 2021 22:02:45 +0100
+Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
+ glibc-2.34+)
+
+closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
+it's available in glibc 2.34+, we want to detect it and only define our
+fallback if the libc doesn't provide it.
+
+Bug: https://bugs.gentoo.org/803923
+Signed-off-by: Sam James <sam@gentoo.org>
+---
+ configure.ac | 1 +
+ util/ulockmgr_server.c | 6 ++++++
+ 2 files changed, 7 insertions(+)
+
+diff --git a/configure.ac b/configure.ac
+index 9946a0efa..a2d481aa9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,6 +55,7 @@ fi
+
+ AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
+ AC_CHECK_FUNCS([posix_fallocate])
++AC_CHECK_FUNCS([closefrom])
+ AC_CHECK_MEMBERS([struct stat.st_atim])
+ AC_CHECK_MEMBERS([struct stat.st_atimespec])
+
+diff --git a/util/ulockmgr_server.c b/util/ulockmgr_server.c
+index 273c7d923..a04dac5c6 100644
+--- a/util/ulockmgr_server.c
++++ b/util/ulockmgr_server.c
+@@ -22,6 +22,10 @@
+ #include <sys/socket.h>
+ #include <sys/wait.h>
+
++#ifdef HAVE_CONFIG_H
++ #include "config.h"
++#endif
++
+ struct message {
+ unsigned intr : 1;
+ unsigned nofd : 1;
+@@ -124,6 +128,7 @@ static int receive_message(int sock, void *buf, size_t buflen, int *fdp,
+ return res;
+ }
+
++#if !defined(HAVE_CLOSEFROM)
+ static int closefrom(int minfd)
+ {
+ DIR *dir = opendir("/proc/self/fd");
+@@ -141,6 +146,7 @@ static int closefrom(int minfd)
+ }
+ return 0;
+ }
++#endif
+
+ static void send_reply(int cfd, struct message *msg)
+ {
diff --git a/sys-fs/fuse/fuse-2.9.9-r1.ebuild b/sys-fs/fuse/fuse-2.9.9-r2.ebuild
index 91a95b0677f0..93b3e2a8d0d4 100644
--- a/sys-fs/fuse/fuse-2.9.9-r1.ebuild
+++ b/sys-fs/fuse/fuse-2.9.9-r2.ebuild
@@ -1,27 +1,34 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit flag-o-matic libtool linux-info udev toolchain-funcs
+
+inherit autotools flag-o-matic linux-info udev
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.gz"
+# For bug #809920 to avoid a gettext dependency
+# extracted from sys-devel/gettext-0.21-r1
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/iconv.m4.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples kernel_linux kernel_FreeBSD static-libs"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="examples static-libs"
-PDEPEND="kernel_FreeBSD? ( sys-fs/fuse4bsd )"
-DEPEND="virtual/pkgconfig"
+BDEPEND="sys-devel/gettext
+ virtual/pkgconfig"
RDEPEND=">=sys-fs/fuse-common-3.3.0-r1"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.9.3-kernel-types.patch
+ "${FILESDIR}"/${PN}-2.9.9-avoid-calling-umount.patch
+ "${FILESDIR}"/${PN}-2.9.9-closefrom-glibc-2-34.patch
+)
+
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
@@ -29,21 +36,21 @@ pkg_setup() {
}
src_prepare() {
- local PATCHES=( "${FILESDIR}"/${PN}-2.9.3-kernel-types.patch )
- # sandbox violation with mtab writability wrt #438250
- # don't sed configure.in without eautoreconf because of maintainer mode
- sed -i 's:umount --fake:true --fake:' configure || die
- elibtoolize
-
- # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
- # gcc-9 with -flto leads to link failures: #663518,
- # https://gcc.gnu.org/PR91186
- filter-flags -flto*
-
default
+
+ # Can be dropped along with additional SRC_URI if dropping eautoreconf
+ cp "${WORKDIR}"/iconv.m4 m4/ || die
+ eautoreconf
}
src_configure() {
+ # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
+ # gcc-9 with -flto leads to link failures: #663518 (see also #863899)
+ # https://gcc.gnu.org/PR91186
+ filter-lto
+ # ... and strict aliasing warnings, bug #863899
+ append-flags -fno-strict-aliasing
+
econf \
INIT_D_PATH="${EPREFIX}/etc/init.d" \
MOUNT_FUSE_PATH="${EPREFIX}/sbin" \
@@ -61,11 +68,6 @@ src_install() {
dodoc example/*
fi
- if use kernel_FreeBSD ; then
- insinto /usr/include/fuse
- doins include/fuse_kernel.h
- fi
-
find "${ED}" -name '*.la' -delete || die
# installed via fuse-common
diff --git a/sys-fs/fuse/fuse-3.16.2.ebuild b/sys-fs/fuse/fuse-3.16.2.ebuild
new file mode 100644
index 000000000000..2997ce0cf204
--- /dev/null
+++ b/sys-fs/fuse/fuse-3.16.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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.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"
+IUSE="+suid test"
+RESTRICT="test"
+PROPERTIES="test_privileged"
+
+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() {
+ python_has_version "dev-python/pytest[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/looseversion[${PYTHON_USEDEP}]"
+}
+
+pkg_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() {
+ # 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() {
+ epytest
+}
+
+multilib_src_install_all() {
+ # Installed via fuse-common
+ rm -r "${ED}"{/etc,$(get_udevdir)} || 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.9.1.ebuild b/sys-fs/fuse/fuse-3.9.1.ebuild
deleted file mode 100644
index a94fefb04bc6..000000000000
--- a/sys-fs/fuse/fuse-3.9.1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit meson multilib-minimal flag-o-matic 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 ~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
-}
-
-src_prepare() {
- default
-
- # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
- filter-flags '-flto*'
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dexamples=$(usex test true false)
- -Duseroot=false
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- )
- meson_src_configure
-}
-
-multilib_src_compile() {
- eninja
-}
-
-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() {
- DESTDIR="${D}" eninja install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # installed via fuse-common
- rm -r "${ED}"/{etc,$(get_udevdir)} || 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.9.2.ebuild b/sys-fs/fuse/fuse-3.9.2.ebuild
deleted file mode 100644
index a858b29b4ecb..000000000000
--- a/sys-fs/fuse/fuse-3.9.2.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit meson multilib-minimal flag-o-matic 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 ~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
-}
-
-src_prepare() {
- default
-
- # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
- filter-flags '-flto*'
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dexamples=$(usex test true false)
- -Duseroot=false
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- )
- meson_src_configure
-}
-
-multilib_src_compile() {
- eninja
-}
-
-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() {
- DESTDIR="${D}" eninja install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # installed via fuse-common
- rm -r "${ED}"/{etc,$(get_udevdir)} || 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.9.3.ebuild b/sys-fs/fuse/fuse-3.9.3.ebuild
deleted file mode 100644
index a858b29b4ecb..000000000000
--- a/sys-fs/fuse/fuse-3.9.3.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit meson multilib-minimal flag-o-matic 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 ~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
-}
-
-src_prepare() {
- default
-
- # lto not supported yet -- https://github.com/libfuse/libfuse/issues/198
- filter-flags '-flto*'
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dexamples=$(usex test true false)
- -Duseroot=false
- -Dudevrulesdir="${EPREFIX}$(get_udevdir)/rules.d"
- )
- meson_src_configure
-}
-
-multilib_src_compile() {
- eninja
-}
-
-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() {
- DESTDIR="${D}" eninja install
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # installed via fuse-common
- rm -r "${ED}"/{etc,$(get_udevdir)} || 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/metadata.xml b/sys-fs/fuse/metadata.xml
index b64588b9eb7e..1bd33fd41367 100644
--- a/sys-fs/fuse/metadata.xml
+++ b/sys-fs/fuse/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>bman@gentoo.org</email>
- <name>Aaron BaumanM</name>
- </maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
diff --git a/sys-fs/fuseiso/metadata.xml b/sys-fs/fuseiso/metadata.xml
index 409729bbcacb..8bd523930386 100644
--- a/sys-fs/fuseiso/metadata.xml
+++ b/sys-fs/fuseiso/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/genext2fs/Manifest b/sys-fs/genext2fs/Manifest
index fbc1848d0937..ef3329267c58 100644
--- a/sys-fs/genext2fs/Manifest
+++ b/sys-fs/genext2fs/Manifest
@@ -1 +1,2 @@
DIST genext2fs-1.4.1.tar.gz 103283 BLAKE2B cacb6e5e5e69f9fbb8550e2b9d79e41d4dd58e2bcc5516a79476918203e5b8ebee0d12a6a6463ff4ec659249a6647881b2728a8d6936fadc298a1e0e68833bdc SHA512 1b9ec7044014423345ae6b09862ba6903f5b3e0f68fb8bbcf97daf2705471cc1633a9fdbc5e00afe1b191e1af7bed87bde2e538bc7365469218f2a00b062845c
+DIST genext2fs-1.5.0.tar.gz 47848 BLAKE2B 63d65033166356e561bb2ba1a2ff2d10feaab8397bff8d081271b0cdd4c1955949e84c856ff92e7cc3c09f8c913ed6d3672c08a2e07dfa1b71b359ae41abf6a6 SHA512 628994f4f5f6d534a42e16db5322e36addb227d0e0ee589ebebbbb6beda9c53774186a932d04fcb978fde1cbe534b8335fdbfea256aecd2d873c03bc5892a8ce
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.4.1.ebuild b/sys-fs/genext2fs/genext2fs-1.4.1.ebuild
index 5276161cb27a..1007f0c45237 100644
--- a/sys-fs/genext2fs/genext2fs-1.4.1.ebuild
+++ b/sys-fs/genext2fs/genext2fs-1.4.1.ebuild
@@ -9,4 +9,4 @@ SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~mips ppc sparc x86"
+KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc sparc x86"
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/genext2fs/genext2fs-1.5.0.ebuild b/sys-fs/genext2fs/genext2fs-1.5.0.ebuild
new file mode 100644
index 000000000000..7ad79b971bc6
--- /dev/null
+++ b/sys-fs/genext2fs/genext2fs-1.5.0.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2021 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 ~hppa ~mips ppc ~sparc x86"
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sys-fs/genext2fs/metadata.xml b/sys-fs/genext2fs/metadata.xml
index 1d0d031c2f4c..cee13eef5725 100644
--- a/sys-fs/genext2fs/metadata.xml
+++ b/sys-fs/genext2fs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
diff --git a/sys-fs/genfstab/Manifest b/sys-fs/genfstab/Manifest
new file mode 100644
index 000000000000..2c0a26c64bed
--- /dev/null
+++ b/sys-fs/genfstab/Manifest
@@ -0,0 +1,2 @@
+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
new file mode 100644
index 000000000000..702066b4d0b9
--- /dev/null
+++ b/sys-fs/genfstab/genfstab-24.ebuild
@@ -0,0 +1,27 @@
+# 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/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
new file mode 100644
index 000000000000..c35c75ddbeb0
--- /dev/null
+++ b/sys-fs/genfstab/metadata.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <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">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/go-mtpfs/Manifest b/sys-fs/go-mtpfs/Manifest
index 309ef0e2cfa5..441dbcb3fc64 100644
--- a/sys-fs/go-mtpfs/Manifest
+++ b/sys-fs/go-mtpfs/Manifest
@@ -1,17 +1,2 @@
-DIST github.com%2Fhanwen%2Fgo-fuse%2F@v%2Fv0.0.0-20190726130028-2f298055551b.mod 165 BLAKE2B 3c00585dfae81a1d3f411bc0bd8f24ed6837fbba75b567195ba611cec746bcc3b560fd2dbef2264d80ba6927af0a822d032356f2b5697012fbd41d43faf24041 SHA512 cb39e8ee3d11d09445bfd47e68c819b0aee04a5616967354833b6d5ae08611199050ee86e3165ae22b03bd85fe8d82985a2f19e515d60145fdca12154eb45ce7
-DIST github.com%2Fhanwen%2Fgo-fuse%2F@v%2Fv0.0.0-20190726130028-2f298055551b.zip 296527 BLAKE2B 13b839fed2e680244d4cdb7afd78e8a7d79c9a4d167c9bbd09108bc18c74f0c136d1819e6d4eadfe66591c0e81caef4f6c150c92e2358cc35f6ff341e39e91c9 SHA512 012aa7ea118dd1d627869257d4dd2c0ba40108a0704b908a8b1c6737c67fe305b99e0e214653d9f8352e031c84b10b3846f4404b0b0adbbfcfc1c1e05e9d38cd
-DIST github.com%2Fhanwen%2Fgo-fuse%2F@v%2Fv1.0.0.mod 94 BLAKE2B 36f3fb449d60fd88b98ab51277603a6c6aa551a1b15fc01ec289506cbb22fca2d7bc2841dd8574c9cdcc5ef14d70aacd5eecd240060b396c76422326f5e5dcea SHA512 a4ec6bdb7df5b5706be0a19144023042cce1fe54d1fe23d2556fcf1c23fadc112f5c4f16d6b497ab0ddf595fb21550543e65ace43a147747d894c220da346ce2
-DIST github.com%2Fhanwen%2Fgo-fuse%2F@v%2Fv1.0.0.zip 219180 BLAKE2B 8b80ef3028be429c025c8b75aaae686cac7fcbd0d6b196311dc77c1079a5c8db5b8b2db602282345bb0fd25037669b00796e7a92a40cfc42a79cd299ebe0940d SHA512 b5a5bea977945d4305b3506e5a6f96d1acce91280e103f1c88f3b2c072437d5bbf84b8ef8760ae073106156342356a763ef0db9339b6e2c72002a73f8187ebf6
-DIST github.com%2Fhanwen%2Fgo-fuse%2Fv2%2F@v%2Fv2.0.1.mod 168 BLAKE2B 0f0c27a9f98a7622d1549ab708bd4fbc12cf7f8e2d5e488a77524d94f105647a4d7125505a45287845e7d557a053462ace845f9244841954b534b31238ce0517 SHA512 3698021f166b89bbe92497f3b278a4683270f6e4887777837bb02f03ca6ece642abcb70bebf5b437bd71a90b0471930654069b83185ba15bac3318b854d0a033
-DIST github.com%2Fhanwen%2Fgo-fuse%2Fv2%2F@v%2Fv2.0.1.zip 286729 BLAKE2B 3a268b05391216041ae50fab09a3a765b0b811b0f05f625c206d114c0feeec4058509616a1a31fbf03dae862baf5565b0234a3da180667f8b9bd0154995504f3 SHA512 cb0b4e22297d390795dc88323c8d71847760a027c5f168b59861b3bb03de5789bae466511b861c809c16b34c6659e2d7f72b36c768af85b0055ee62a48606061
-DIST github.com%2Fhanwen%2Fgo-fuse%2Fv2%2F@v%2Fv2.0.2.mod 202 BLAKE2B 4f6833004dcb52b6d482749e2c5fb9b1be9bb40ae7f46beeee6b6eb026d39e6bddb92b9a99b32735ec1e42f3402f322fea96dc6e46a186719bbf908662e48ced SHA512 d2559ce7fd11ed7e5398e960b7c19038ec9cd2f322886c64d4967580d8fbe7b6d3e9da244c29f0cc080a192fd84bb508b75f29597ef4e09621acafb0e592657d
-DIST github.com%2Fhanwen%2Fgo-fuse%2Fv2%2F@v%2Fv2.0.2.zip 287139 BLAKE2B c67d884c8cbd25a2dccac55dcd3b55fb34b8e07cd517ddd20fac33c5c5c66f466aa44f8b59acc92f39c344cefbe3080596a622925235975aecb3d33bdb5c72d0 SHA512 cd2dcc27bd09fdece5c55ffd946a14e22f3a426a094c8b5e05e3bb5e6e359775304772fa7859f55f2dc1bd0e13d3024a8d3537d1abc00d371f0491bf876bc316
-DIST github.com%2Fhanwen%2Fusb%2F@v%2Fv0.0.0-20141217151552-69aee4530ac7.mod 29 BLAKE2B fa81f7ee7eb868c49bfb7b8c6a527f2c9cf05f28a5322692b916ca755eea0255dcc640963dd002980d09145529a3e56dd6eaa6e714c2268c43b7ae19e17237aa SHA512 73bf0e1253c776a05d7518e4da2c74fc003f3b4a002303d64e1adea08ab157bd161651e647e2415603d5aa400eb12b0bde12ae7786755ea3a3448976f2aac416
-DIST github.com%2Fhanwen%2Fusb%2F@v%2Fv0.0.0-20141217151552-69aee4530ac7.zip 9353 BLAKE2B c00ec955841381512696975ae88f2925d7b81e46b21712e05459a14649130a48cb7ccd8e4daef8094eb3d5d5eb2687c996e7f15a7a678b0d216e37a81229cded SHA512 3ea8f1a5e7b1b03950721a22f89f3c6faa6acac01fca473bfe9b183d9c17fa90dc12cd54ab043534147fc88a3588b6fe2b4e6a994d6148394ee12000f7614d15
-DIST github.com%2Fkylelemons%2Fgodebug%2F@v%2Fv0.0.0-20170820004349-d65d576e9348.mod 37 BLAKE2B 0ff43371511295cc3819b33c0dc26e3d9352a4b931ad3dabdf79561e5ee077ddfdaf5a601827246c0b5cd8992d53d47ef74aab0b7deac6d08ef5f60f44a728ff SHA512 60a202487e693d925ec13186a89ca6b7f322cf53b2bb3d8657d50a0fa0561ef9f2d8416901478fa9783b7a44774511486fcc8735b1d15b558f7ce111f53d5a27
-DIST github.com%2Fkylelemons%2Fgodebug%2F@v%2Fv1.1.0.mod 46 BLAKE2B 1989fd1b186328abc02f8dcd503bf396ee63b55630d3f37f576c7e55b4c48623f62d5f2b16d047afeaa13cd423ab014f254df5f210da52535bb8818a60b375d4 SHA512 4fcffc595708aba2673e895182e695e91d6d239f8feaaaeaf15d75fcff398112af0f0d5ebdb28506d95eae30533dcbb54112ac0b0a4034ee11d7a35b78674915
+DIST go-mtpfs-1.0.0-deps.tar.xz 2567480 BLAKE2B a98e0a5c8fb46acfe68ab6263bd75ed53fae6cbab1dc5f72f04efd2c042dfd6c460cc81bd54079178d41f3f157e6be2500fbf2b4c960effff2f83bdd35c322da SHA512 5de2244766b4d67ed1ae4403f5ed4d5600f1f4f5a0b9c95fdf8880eb63e094694c9f02ca6015485b011919ecc9af94ca2f00516ec1b14887291668c2a6eee05d
DIST go-mtpfs-1.0.0.tar.gz 44589 BLAKE2B 2c5f0c30ae16fb9ded1e2ad405de94cbb7ca598b9c9681dcb2eaf811438c1040b8989afb2102cc97402415accf8e08e76362f697f049b37ae95a718187875154 SHA512 b66d4f3179f95a7137cdc921fc171a260d23c4d003bd680b92791b6aab79484c75dd3a5ec39129d42b52822b95711f98438900033da4aedecc7c6dc5e0f6a834
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.mod 24 BLAKE2B 64a70c4594f5d3c37d962c1ed07630fba8abeaf534242f8f1509af271684499252af9a2320d5bac8e44064dba344b807535e4e9dd085fc0fb47bd9304120601a SHA512 ffe50fccf7f1d200f2ebc805b190e3f10c5a3184458a38f4590e520d7ce115e1520fbabe56651bbdc2e08da4a8db5ac86d0e88728efde3ab26c64ab4e0cd604c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20180830151530-49385e6e1522.zip 1346335 BLAKE2B e51789de19eef04b939952b15828675a0ed71c7f7639355cc529ea02e9177a2c2a9f1350567fb514d8d7d6641ccc231dff1920d72c98b1e335eb76c636b3eb67 SHA512 fdb5d6f6f46feb491048048cf76ae94af824664e9f424f5c0fa2938b64bc8bd6ec810cd33bd3b34bf1d3e03bca7e8f067fb8487bb45ce791cf56ed002dc63d1c
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190826190057-c7b8b68b1456.mod 33 BLAKE2B 8be160de26713fd50f15adfb6fd7fff2643ee587aa17de9385b1e315869d0ecf102fc567294666bf232aa677d1ab04ba8341157f3d9b66a0f53543a7a47cf148 SHA512 0c7b940d567c7685dcb55c76c69aedeaab2170f4f3bde458994c879bf344169f34fb3f3ca899b0f138a8b0b8be5031217b57a6edf5980e6066ff5cb92d1ff9ab
-DIST golang.org%2Fx%2Fsys%2F@v%2Fv0.0.0-20190826190057-c7b8b68b1456.zip 1818872 BLAKE2B f8bb456d6c12b800b7a572f686788454dc81f4f65f61d2f5f7986e936a7dcd4a57417137df2ff16d229adafe2a2daddd9622cb558454648419fbf293857a0382 SHA512 15544b523ad8b302ab9f9fffaf971decb598f3f7789296125523638d5ebb56218312ba2b0d7d43dd8e786ffb761b012d957c8f123dcdcec8c967bb28a544f84d
diff --git a/sys-fs/go-mtpfs/go-mtpfs-1.0.0.ebuild b/sys-fs/go-mtpfs/go-mtpfs-1.0.0.ebuild
index 3d539c5fa7ff..dd8c0dec16de 100644
--- a/sys-fs/go-mtpfs/go-mtpfs-1.0.0.ebuild
+++ b/sys-fs/go-mtpfs/go-mtpfs-1.0.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
@@ -7,28 +7,8 @@ inherit go-module
DESCRIPTION="a simple FUSE filesystem for mounting Android devices as a MTP device"
HOMEPAGE="https://github.com/hanwen/go-mtpfs"
-
-EGO_SUM=(
- "github.com/hanwen/go-fuse v0.0.0-20190726130028-2f298055551b"
- "github.com/hanwen/go-fuse v0.0.0-20190726130028-2f298055551b/go.mod"
- "github.com/hanwen/go-fuse v1.0.0"
- "github.com/hanwen/go-fuse v1.0.0/go.mod"
- "github.com/hanwen/go-fuse/v2 v2.0.1"
- "github.com/hanwen/go-fuse/v2 v2.0.1/go.mod"
- "github.com/hanwen/go-fuse/v2 v2.0.2"
- "github.com/hanwen/go-fuse/v2 v2.0.2/go.mod"
- "github.com/hanwen/usb v0.0.0-20141217151552-69aee4530ac7"
- "github.com/hanwen/usb v0.0.0-20141217151552-69aee4530ac7/go.mod"
- "github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod"
- "github.com/kylelemons/godebug v1.1.0/go.mod"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522"
- "golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod"
- "golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456"
- "golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod"
- )
-go-module_set_globals
-SRC_URI="https://github.com/hanwen/go-mtpfs/archive/v${PV}.tar.gz -> ${P}.tar.gz
- ${EGO_SUM_SRC_URI}"
+SRC_URI="https://github.com/hanwen/go-mtpfs/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI+=" https://dev.gentoo.org/~williamh/dist/${P}-deps.tar.xz"
LICENSE="BSD"
SLOT="0"
@@ -44,13 +24,13 @@ RDEPEND="${COMMON_DEPEND}"
RESTRICT+=" test"
src_compile() {
- go build -ldflags '-extldflags=-fno-PIC' . || die
+ ego build -ldflags '-extldflags=-fno-PIC' .
}
src_test() {
- go test -ldflags '-extldflags=-fno-PIC' fs || die
- go test -ldflags '-extldflags=-fno-PIC' usb || die
- go test -ldflags '-extldflags=-fno-PIC' mtp || die
+ ego test -ldflags '-extldflags=-fno-PIC' fs
+ ego test -ldflags '-extldflags=-fno-PIC' usb
+ ego test -ldflags '-extldflags=-fno-PIC' mtp
}
src_install() {
diff --git a/sys-fs/go-mtpfs/metadata.xml b/sys-fs/go-mtpfs/metadata.xml
index 177b4a353a50..012ef0219b21 100644
--- a/sys-fs/go-mtpfs/metadata.xml
+++ b/sys-fs/go-mtpfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>williamh@gentoo.org</email>
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/Manifest b/sys-fs/growpart/Manifest
index b87ca7bf0317..4c53d1bb646a 100644
--- a/sys-fs/growpart/Manifest
+++ b/sys-fs/growpart/Manifest
@@ -1,2 +1 @@
-DIST growpart-0.0.1.gz 7731 BLAKE2B 187a532f87a0c5caefb4877e9a629e154e75f857299cb92ecad049d54467b1181d3e2bb348bd70af86d6eb4db518ebeeca6cb7b45fb628ec5dc07e1132a7b361 SHA512 84645e68f8ee913740333d3dca097e1322d74c99020af7205f6f4c2527469a2fbb4cbc3fe69bda7e19b5758897e9e6a09b17a4d1fb1f2934bf7c45186156eae9
-DIST growpart-0.0.30.gz 7897 BLAKE2B b8f28615578c1b19a7cd2eff9cb60c37929c2d3767d9f98b07b1040f7f5d2687f41ed051b9899573119b4de9c2e04dcb91d76fc70fcff7a6e6dde0335959681f SHA512 ed6cf92149c0802c4a08427fa025ce2666dd7c32c5d1f362f4d14973f709dfd73124fd85b7eaf179daad5dfb1d126e86d7db0fb1fe7e2d496e17bf0bc1bc9c58
+DIST growpart-0.0.32.gz 9525 BLAKE2B a7c7ca27ae237eb7d6e43decb16cba2c8a26b63bcfe1b1f74f63b116a9cc23fc5e54394df846c13de6caeb8433a4ad7e76046f2f4311e6fe7cb069fce588b6e3 SHA512 baa9e59581d2d9685d4b0e7563e6582130064881f6f9b9fcd3250a4bdceb7d03bcd1ce346218ce4395f82de948f85fd59339cc30417377feb61d5b444f3dde23
diff --git a/sys-fs/growpart/growpart-0.0.1.ebuild b/sys-fs/growpart/growpart-0.0.1.ebuild
deleted file mode 100644
index 3f9e119286a4..000000000000
--- a/sys-fs/growpart/growpart-0.0.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-DESCRIPTION="A script that can grow your rootfs on first boot"
-HOMEPAGE="http://manpages.ubuntu.com/manpages/natty/man1/growpart.1.html"
-SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/${PN}/${P}.gz"
-S="${WORKDIR}"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-DEPEND=""
-RDEPEND=" sys-apps/gptfdisk"
-
-src_install() {
- exeinto /usr/sbin/
- newexe "growpart-${PV}" growpart
-}
diff --git a/sys-fs/growpart/growpart-0.0.30.ebuild b/sys-fs/growpart/growpart-0.0.32-r1.ebuild
index 2d7de159d565..a2d6df9f568d 100644
--- a/sys-fs/growpart/growpart-0.0.30.ebuild
+++ b/sys-fs/growpart/growpart-0.0.32-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# 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"
@@ -10,10 +10,8 @@ S="${WORKDIR}"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 x86"
-IUSE=""
+KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
-DEPEND=""
RDEPEND="sys-apps/gptfdisk"
src_install() {
diff --git a/sys-fs/growpart/metadata.xml b/sys-fs/growpart/metadata.xml
index 3ffdeb4af3b5..5c76f7a3fc67 100644
--- a/sys-fs/growpart/metadata.xml
+++ b/sys-fs/growpart/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>prometheanfire@gentoo.org</email>
diff --git a/sys-fs/gt5/metadata.xml b/sys-fs/gt5/metadata.xml
index 605aedfe6ddf..200564635a1a 100644
--- a/sys-fs/gt5/metadata.xml
+++ b/sys-fs/gt5/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!--maintainer-needed-->
<upstream>
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/hfsplusutils/metadata.xml b/sys-fs/hfsplusutils/metadata.xml
index 70f78a5392df..e306ca22e31b 100644
--- a/sys-fs/hfsplusutils/metadata.xml
+++ b/sys-fs/hfsplusutils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>soap@gentoo.org</email>
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-test-tcl-8.6.patch b/sys-fs/hfsutils/files/hfsutils-3.2.6-test-tcl-8.6.patch
new file mode 100644
index 000000000000..fc2a5542ce40
--- /dev/null
+++ b/sys-fs/hfsutils/files/hfsutils-3.2.6-test-tcl-8.6.patch
@@ -0,0 +1,62 @@
+Use Tcl_Free() for arguments allocated with Tcl_SplitList().
+Use Tcl_Alloc() for arguments passed to tcl to be freed by TCL_DYNAMIC.
+
+https://bugs.gentoo.org/757924
+--- a/tclhfs.c
++++ b/tclhfs.c
+@@ -1313,7 +1313,7 @@ int cmd_hfs(ClientData clientData, Tcl_Interp *interp,
+ badblocks = ALLOCX(unsigned long, listc);
+ if (listc && badblocks == 0)
+ {
+- free(listv);
++ Tcl_Free((char *) listv);
+
+ interp->result = "out of memory";
+ return TCL_ERROR;
+@@ -1324,13 +1324,13 @@ int cmd_hfs(ClientData clientData, Tcl_Interp *interp,
+ if (Tcl_ExprLong(interp, listv[i],
+ (long *) &badblocks[i]) != TCL_OK)
+ {
+- free(listv);
++ Tcl_Free((char *) listv);
+ FREE(badblocks);
+ return TCL_ERROR;
+ }
+ }
+
+- free(listv);
++ Tcl_Free((char *) listv);
+
+ if (do_format(argv[2], partno, 0, argv[4], listc, badblocks) == -1)
+ {
+--- a/tclhfs.c
++++ b/tclhfs.c
+@@ -378,7 +378,7 @@ int file_cmd(ClientData clientData, Tcl_Interp *interp,
+ return TCL_ERROR;
+ }
+
+- mem = ALLOC(char, bytes + 1);
++ mem = Tcl_Alloc(bytes + 1);
+ if (mem == 0)
+ {
+ interp->result = "out of memory";
+--- a/tclhfs.c
++++ b/tclhfs.c
+@@ -902,7 +902,7 @@ int vol_cmd(ClientData clientData, Tcl_Interp *interp,
+ }
+
+ result = Tcl_Merge(listc, listv);
+- free(listv);
++ Tcl_Free((char *)listv);
+
+ Tcl_SetResult(interp, result, TCL_DYNAMIC);
+ }
+@@ -1038,7 +1038,7 @@ int vol_cmd(ClientData clientData, Tcl_Interp *interp,
+ return TCL_ERROR;
+
+ fargv = hfs_glob(vol, listc, listv, &fargc);
+- free(listv);
++ Tcl_Free((char*)listv);
+
+ if (fargv == 0)
+ {
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 7a5d15a78c71..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,40 +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 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}"
-# 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)
@@ -54,6 +57,11 @@ src_compile() {
emake CC="$(tc-getCC)" -C hfsck
}
+src_test() {
+ # Tests reuse the same image name. Let's serialize.
+ emake -j1 check
+}
+
src_install() {
dodir /usr/bin /usr/lib /usr/share/man/man1
emake \
diff --git a/sys-fs/hfsutils/metadata.xml b/sys-fs/hfsutils/metadata.xml
index 5eb05198076b..7aa3723674ae 100644
--- a/sys-fs/hfsutils/metadata.xml
+++ b/sys-fs/hfsutils/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
-</maintainer>
+ <!-- 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 e6e64742a003..7f795aecf133 100644
--- a/sys-fs/inotify-tools/Manifest
+++ b/sys-fs/inotify-tools/Manifest
@@ -1,2 +1 @@
-DIST inotify-tools-3.20.1.tar.gz 79564 BLAKE2B 4b1235951f55ecb7c6c92b06b68dedebad8677c2265616dddd275bf627034b66b5756cf17a2f68f4201a78b043ec8a0800f115f3952c19875ae7f524b9b21382 SHA512 a97d27e6033036f0db5c0737bee3510206db9f4c843f0d18f1b2e179e838624ea33316c34fd9917c158dbb3580367908e90042fb1bfb146f150c32833b0b2ff2
-DIST inotify-tools-3.20.2.2.tar.gz 81006 BLAKE2B 7dd29985f68096fe2146a3ad84d619b3d1238b0db25eeb125f2fe9591fa678078351f00c7e09b526cf2251e4736201d5625ff0e477523cae370a307ccb667730 SHA512 72d6fdcc216d8083cd384c71c02dc8e800d3a9702613568b3c571f704aee3d42bf084c52f2141c9afb8d28e8b87ebb6391ed3d825b3d664ed51c552debeb1881
+DIST inotify-tools-4.23.9.0.tar.gz 93281 BLAKE2B eddb0e44721cd8674f2309046998de16a030ed9ad84c49bc5950b9362055db9242dc0de1c615c3bd6c1f2835c83fc55446c9f8e6da52a98870c53f4e6cfa31f9 SHA512 8f44037a482fa39978b845b4989834e8c897ad872913c6cb8c4a987e0d13f9177b05f593332b859d7adde228fdc3512fd45d66cab65368c38926f41d57e22d13
diff --git a/sys-fs/inotify-tools/files/inotify-tools-3.20.1-rm-unused-cmd-arg.patch b/sys-fs/inotify-tools/files/inotify-tools-3.20.1-rm-unused-cmd-arg.patch
deleted file mode 100644
index 8c4f6f510e2f..000000000000
--- a/sys-fs/inotify-tools/files/inotify-tools-3.20.1-rm-unused-cmd-arg.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- inotify-tools-3.20.1/src/Makefile.am
-+++ inotify-tools-3.20.1/src/Makefile.am
-@@ -2,7 +2,7 @@
- inotifywait_SOURCES = inotifywait.c common.c common.h
- inotifywatch_SOURCES = inotifywatch.c common.c common.h
-
--AM_CFLAGS = -Wall -Werror -Wpointer-arith -std=c99 -I../libinotifytools/src -L../libinotifytools/src
-+AM_CFLAGS = -Wall -Werror -Wpointer-arith -std=c99 -I../libinotifytools/src
- AM_CPPFLAGS = -I$(top_srcdir)/libinotifytools/src
- LDADD = ../libinotifytools/src/libinotifytools.la
-
diff --git a/sys-fs/inotify-tools/inotify-tools-3.20.1.ebuild b/sys-fs/inotify-tools/inotify-tools-3.20.1.ebuild
deleted file mode 100644
index 34e25a33f645..000000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.20.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="a set of command-line programs providing a simple interface to inotify"
-HOMEPAGE="https://github.com/rvoicilas/inotify-tools/wiki"
-SRC_URI="https://github.com/rvoicilas/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 hppa ~mips sparc x86"
-IUSE="doc"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-PATCHES=( "${FILESDIR}/${P}-rm-unused-cmd-arg.patch" )
-
-src_prepare() {
- default
- 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.20.2.2.ebuild b/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
deleted file mode 100644
index 391f17cbf861..000000000000
--- a/sys-fs/inotify-tools/inotify-tools-3.20.2.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2020 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"
-
-DEPEND="doc? ( app-doc/doxygen )"
-RDEPEND=""
-
-src_prepare() {
- default
- 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-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 b385aee8e3b2..5a392e4fedd5 100644
--- a/sys-fs/inotify-tools/metadata.xml
+++ b/sys-fs/inotify-tools/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/Manifest b/sys-fs/iprutils/Manifest
index a26c0a0a0d2a..99301e147982 100644
--- a/sys-fs/iprutils/Manifest
+++ b/sys-fs/iprutils/Manifest
@@ -1,3 +1 @@
-DIST iprutils-2.4.17.1.tar.gz 524770 BLAKE2B eb3864a431193ce342810449bde2ac6a4e7a9c352611077b70f93fd3b3ca69c47cbaf7a55ef45b38f99135acc27ebba34b7fbeb8d7f704587ce96e0a8e1f29bb SHA512 d9b257a1e86350ef26e6491d5030ac864a244283697a4ca588af7ee21c2518c631a2bcfc9913783f973025d186feab8ed045b1d4674621a08b401823e9c52d3d
DIST iprutils-2.4.18.1.tar.gz 524809 BLAKE2B c32b01ada70e67748653b8e346cdecae35f3ac240a7eaa8be0ff70590bc68b8be770bffe2f3131cbd6cbbe75812f12524c0817aa02674cd4643e846724be2891 SHA512 42da77c0fde0a2650368b2f0605d63762389ab394f755f4e4144704e155333a2ad8133731244b8383e9a334517aca45f62487229a27a2e90cf22a10c760aab3d
-DIST iprutils-2.4.7.tar.gz 467671 BLAKE2B 8ca3e77f927dcb3cd45b78e1b5e15d7edc67b3fbc8762383e0e9e84ebd42ce74927909aae926762d6bf0378d3b8d8f77cece65bb3ace746f889fbebb7fdcbf43 SHA512 9e6fd37cb72ce1d092b02f1cdfeb9e97962007327f92f4d9dd2a755489dab3a5d51a459d2f256d8453de74935a5cee8f25f71a820d82347ae67aa72a89043a91
diff --git a/sys-fs/iprutils/files/iprdump b/sys-fs/iprutils/files/iprdump
deleted file mode 100644
index 4bc9fdee64f4..000000000000
--- a/sys-fs/iprutils/files/iprdump
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/sbin/openrc-run
-
-depend() {
- need logger iprinit
-}
-
-start() {
- ebegin "Starting the ipr dump daemon"
- start-stop-daemon --start --quiet --exec /sbin/iprdump
-
-}
-
-stop() {
- ebegin "Stopping the ipr dump daemon"
- start-stop-daemon --stop --name iprdump
-}
diff --git a/sys-fs/iprutils/files/iprinit b/sys-fs/iprutils/files/iprinit
deleted file mode 100644
index 0b8a032c7f20..000000000000
--- a/sys-fs/iprutils/files/iprinit
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/sbin/openrc-run
-
-depend() {
- need logger
-}
-
-
-start() {
- ebegin "Starting ipr initialization daemon"
-
- if [ ! -d /sys/class/scsi_generic ] ; then
- /sbin/modprobe sg
- fi
- start-stop-daemon --start --quiet --exec /sbin/iprinit -- --daemon
-}
-
-stop() {
- ebegin "Shutting down ipr initialization daemon"
- start-stop-daemon --stop --name iprinit
-}
diff --git a/sys-fs/iprutils/files/iprupdate b/sys-fs/iprutils/files/iprupdate
deleted file mode 100644
index 3c493149dbf9..000000000000
--- a/sys-fs/iprutils/files/iprupdate
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/sbin/openrc-run
-
-depend() {
- need logger iprinit
-}
-
-start() {
- ebegin "Checking ipr microcode levels"
- /sbin/iprupdate 2>&1 > /dev/null
- eend $? "Failed to complete ipr microcode updates"
-}
diff --git a/sys-fs/iprutils/files/iprutils-2.4.7-tinfo.patch b/sys-fs/iprutils/files/iprutils-2.4.7-tinfo.patch
deleted file mode 100644
index 406f3efff2a7..000000000000
--- a/sys-fs/iprutils/files/iprutils-2.4.7-tinfo.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -30,7 +30,10 @@
- AC_CHECK_LIB([menu], [new_menu], [], [AC_ERROR("libmenu not found.")])
- AC_CHECK_LIB([panel], [show_panel], [], [AC_ERROR("libpanel not found.")])
- AC_CHECK_LIB([ncurses], [curses_version], [],
-- [AC_ERROR("libncurses not found.")])
-+ AC_CHECK_LIB([tinfo], [curses_version], [],
-+ [AC_ERROR("libncurses not found.")]))
-+AC_CHECK_LIB([ncurses], [wnoutrefresh], [],
-+ [AC_ERROR("libncurses not found.")])
-
- # Checks for header files.
- AC_CHECK_HEADERS([fcntl.h libintl.h locale.h netinet/in.h nl_types.h \
diff --git a/sys-fs/iprutils/iprutils-2.4.17.1.ebuild b/sys-fs/iprutils/iprutils-2.4.17.1.ebuild
deleted file mode 100644
index b01907f61432..000000000000
--- a/sys-fs/iprutils/iprutils-2.4.17.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit autotools bash-completion-r1 eutils ltprune toolchain-funcs
-
-DESCRIPTION="IBM's tools for support of the ipr SCSI controller"
-SRC_URI="mirror://sourceforge/iprdd/${P}.tar.gz"
-HOMEPAGE="https://sourceforge.net/projects/iprdd/"
-
-SLOT="0"
-LICENSE="IBM"
-KEYWORDS="~ppc ~ppc64"
-IUSE="static-libs"
-
-IPRUTILS_DEPEND="
- >=sys-libs/ncurses-5.4-r5:=
- >=sys-apps/pciutils-2.1.11-r1
-"
-RDEPEND="
- ${IPRUTILS_DEPEND}
- virtual/logger
- virtual/udev
-"
-DEPEND="
- ${IPRUTILS_DEPEND}
- virtual/pkgconfig
-"
-PATCHES=(
- "${FILESDIR}"/${PN}-2.4.8-tinfo.patch
- "${FILESDIR}"/${PN}-2.4.11.1-basename.patch
-)
-
-src_prepare() {
- default
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- emake DESTDIR="${D}" \
- bashcompdir=$(get_bashcompdir) install
-
- newinitd "${FILESDIR}"/iprinit-r1 iprinit
- newinitd "${FILESDIR}"/iprupdate-r1 iprupdate
- newinitd "${FILESDIR}"/iprdump-r1 iprdump
-
- prune_libtool_files
-}
diff --git a/sys-fs/iprutils/iprutils-2.4.18.1.ebuild b/sys-fs/iprutils/iprutils-2.4.18.1.ebuild
index b1595889fdb3..abd37a998769 100644
--- a/sys-fs/iprutils/iprutils-2.4.18.1.ebuild
+++ b/sys-fs/iprutils/iprutils-2.4.18.1.ebuild
@@ -1,8 +1,8 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit autotools bash-completion-r1 eutils ltprune toolchain-funcs
+EAPI=7
+inherit autotools bash-completion-r1
DESCRIPTION="IBM's tools for support of the ipr SCSI controller"
SRC_URI="mirror://sourceforge/iprdd/${P}.tar.gz"
@@ -11,7 +11,7 @@ HOMEPAGE="https://sourceforge.net/projects/iprdd/"
SLOT="0"
LICENSE="IBM"
KEYWORDS="ppc ppc64"
-IUSE="static-libs"
+IUSE=""
IPRUTILS_DEPEND="
>=sys-libs/ncurses-5.4-r5:=
@@ -27,8 +27,8 @@ DEPEND="
virtual/pkgconfig
"
PATCHES=(
- "${FILESDIR}"/${PN}-2.4.8-tinfo.patch
- "${FILESDIR}"/${PN}-2.4.11.1-basename.patch
+ "${FILESDIR}"/${PN}-2.4.8-tinfo.patch
+ "${FILESDIR}"/${PN}-2.4.11.1-basename.patch
)
src_prepare() {
@@ -37,10 +37,6 @@ src_prepare() {
eautoreconf
}
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
src_install() {
emake \
DESTDIR="${D}" \
@@ -52,6 +48,4 @@ src_install() {
newinitd "${FILESDIR}"/iprinit-r1 iprinit
newinitd "${FILESDIR}"/iprupdate-r1 iprupdate
newinitd "${FILESDIR}"/iprdump-r1 iprdump
-
- prune_libtool_files
}
diff --git a/sys-fs/iprutils/iprutils-2.4.7.ebuild b/sys-fs/iprutils/iprutils-2.4.7.ebuild
deleted file mode 100644
index 7cacccbe3a5c..000000000000
--- a/sys-fs/iprutils/iprutils-2.4.7.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit autotools eutils ltprune toolchain-funcs
-
-DESCRIPTION="IBM's tools for support of the ipr SCSI controller"
-SRC_URI="mirror://sourceforge/iprdd/${P}.tar.gz"
-HOMEPAGE="https://sourceforge.net/projects/iprdd/"
-
-SLOT="0"
-LICENSE="IBM"
-KEYWORDS="ppc ppc64"
-IUSE="static-libs"
-
-DEPEND="
- >=sys-libs/ncurses-5.4-r5
- >=sys-apps/pciutils-2.1.11-r1
- virtual/udev
-"
-RDEPEND="
- ${DEPEND}
- virtual/logger
-"
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-2.4.7-tinfo.patch
-
- eautoreconf
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
-
- newinitd "${FILESDIR}"/iprinit-r1 iprinit
- newinitd "${FILESDIR}"/iprupdate-r1 iprupdate
- newinitd "${FILESDIR}"/iprdump-r1 iprdump
-
- prune_libtool_files
-}
diff --git a/sys-fs/iprutils/metadata.xml b/sys-fs/iprutils/metadata.xml
index 80c2bd5108e9..12a8ff13a687 100644
--- a/sys-fs/iprutils/metadata.xml
+++ b/sys-fs/iprutils/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<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/jdiskreport-bin/Manifest b/sys-fs/jdiskreport-bin/Manifest
index 68871289555a..778a070476f0 100644
--- a/sys-fs/jdiskreport-bin/Manifest
+++ b/sys-fs/jdiskreport-bin/Manifest
@@ -1,3 +1 @@
-DIST jdiskreport-1_2_5.zip 613585 BLAKE2B f78ea7b0449c89b966e810dda3515a502187aff07b5cc008a5d3e110f4506aebef9cb2f2c3302d9e7e3e22e25fcbff16c381404acc0356311a8a05f72592af5c SHA512 d23641610a9fba6b7b2c5d529244229e807d89bd2b4c339e59522547f3b45a32415d6819a4ee8d5bd4a8789ea4610887428bfd5a5a4c56b11911da035a560993
-DIST jdiskreport-1_3_0.zip 650433 BLAKE2B 4edeec05f53bf10c3b1a911790a56f8f3e591b36b29b645a3378e357c6b0e835d4530753058541d712727111dd91a3dbf07664bc52c4cb1b330086fa5ae59af1 SHA512 9d57e7db810117a27c1d8d2aef40113652f25055e3512500fdf5f8806b1d68f4be8b4231e281d690108301afde3cc6b70f061c71d3fafef06689ca3228dd44ea
DIST jdiskreport-1_4_1.zip 864613 BLAKE2B 9f10a10e54f0553e9130bdaf801380b40982a48e308fff5418308a37a4e02a886961d5ff2787b9bc3d1dfa1db087409e0447b275f6419b5e775716d20843fa98 SHA512 c1e17bdaab739561ae46475d69805e18be271a0d41b555e981cde59091d6c46fe3cf6775bdd992200edbb4646b7a04003a6b67bfedc18161952a20e47b18ea38
diff --git a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild
deleted file mode 100644
index 7eefac0eba94..000000000000
--- a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.2.5-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit java-pkg-2
-
-MY_PN=${PN/-bin/}
-MY_PV=${PV//\./_}
-MY_P="${MY_PN}-${MY_PV}"
-
-DESCRIPTION="JDiskReport helps you to understand disk drive usage"
-HOMEPAGE="http://www.jgoodies.com/freeware/jdiskreport/"
-SRC_URI="http://www.jgoodies.com/download/${MY_PN}/${MY_P}.zip"
-
-LICENSE="freedist"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-RDEPEND=">=virtual/jre-1.4"
-
-S=${WORKDIR}/${MY_PN}-${PV}
-
-src_install() {
- java-pkg_newjar ${MY_PN}-${PV}.jar
- java-pkg_dolauncher ${MY_PN}
-
- dodoc README.txt RELEASE-NOTES.txt
-}
diff --git a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild
deleted file mode 100644
index 7eefac0eba94..000000000000
--- a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.3.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit java-pkg-2
-
-MY_PN=${PN/-bin/}
-MY_PV=${PV//\./_}
-MY_P="${MY_PN}-${MY_PV}"
-
-DESCRIPTION="JDiskReport helps you to understand disk drive usage"
-HOMEPAGE="http://www.jgoodies.com/freeware/jdiskreport/"
-SRC_URI="http://www.jgoodies.com/download/${MY_PN}/${MY_P}.zip"
-
-LICENSE="freedist"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-DEPEND="app-arch/unzip"
-RDEPEND=">=virtual/jre-1.4"
-
-S=${WORKDIR}/${MY_PN}-${PV}
-
-src_install() {
- java-pkg_newjar ${MY_PN}-${PV}.jar
- java-pkg_dolauncher ${MY_PN}
-
- dodoc README.txt RELEASE-NOTES.txt
-}
diff --git a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild
index 69ad393e3a39..05d9deaeb551 100644
--- a/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild
+++ b/sys-fs/jdiskreport-bin/jdiskreport-bin-1.4.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
inherit java-pkg-2
@@ -12,16 +12,14 @@ MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="JDiskReport helps you to understand disk drive usage"
HOMEPAGE="http://www.jgoodies.com/freeware/jdiskreport/"
SRC_URI="http://www.jgoodies.com/download/${MY_PN}/${MY_P}.zip"
+S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="freedist"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-DEPEND="app-arch/unzip"
RDEPEND=">=virtual/jre-1.6"
-
-S=${WORKDIR}/${MY_PN}-${PV}
+BDEPEND="app-arch/unzip"
src_install() {
java-pkg_newjar ${MY_PN}-${PV}.jar
diff --git a/sys-fs/jdiskreport-bin/metadata.xml b/sys-fs/jdiskreport-bin/metadata.xml
index 3486ef84ce48..28047156e1b6 100644
--- a/sys-fs/jdiskreport-bin/metadata.xml
+++ b/sys-fs/jdiskreport-bin/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>java@gentoo.org</email>
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 2a8654317bd8..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-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -11,7 +11,7 @@ SRC_URI="http://jfs.sourceforge.net/project/pub/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
IUSE="static"
LIB_DEPEND="sys-apps/util-linux:=[static-libs]"
@@ -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 23eb0811376e..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/jmtpfs/metadata.xml b/sys-fs/jmtpfs/metadata.xml
index f268713ff9a5..eba647e5cdc5 100644
--- a/sys-fs/jmtpfs/metadata.xml
+++ b/sys-fs/jmtpfs/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jer@gentoo.org</email>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">JasonFerrara/jmtpfs</remote-id>
</upstream>
diff --git a/sys-fs/ldapfuse/ldapfuse-1.0-r2.ebuild b/sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild
index 22f15a54b35f..2e4ec1113932 100644
--- a/sys-fs/ldapfuse/ldapfuse-1.0-r2.ebuild
+++ b/sys-fs/ldapfuse/ldapfuse-1.0-r4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2018 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"
@@ -12,12 +12,11 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="
- net-nds/openldap
+ net-nds/openldap:=
sys-fs/fuse:0
- >=sys-libs/libhx-3.12"
-
-DEPEND="
- ${RDEPEND}
+ >=sys-libs/libhx-3.12:="
+DEPEND="${RDEPEND}"
+BDEPEND="
app-arch/xz-utils
virtual/pkgconfig"
diff --git a/sys-fs/ldapfuse/metadata.xml b/sys-fs/ldapfuse/metadata.xml
index 73284e371767..38f8833961ad 100644
--- a/sys-fs/ldapfuse/metadata.xml
+++ b/sys-fs/ldapfuse/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/lde/files/lde-2.6.1-fno-common.patch b/sys-fs/lde/files/lde-2.6.1-fno-common.patch
new file mode 100644
index 000000000000..8e246aea95ac
--- /dev/null
+++ b/sys-fs/lde/files/lde-2.6.1-fno-common.patch
@@ -0,0 +1,32 @@
+--- a/src/lde.h
++++ b/src/lde.h
+@@ -211,7 +211,7 @@ struct fs_constants {
+ };
+
+ /* File system specific commands */
+-struct {
++struct _FS_cmd {
+ /* Check if inode is marked in use */
+ int (*inode_in_use)(unsigned long n);
+ /* Check if data zone/block is marked in use */
+@@ -231,7 +231,9 @@ struct {
+ unsigned long (*map_inode)(unsigned long n);
+ /* Map block number in file chain to physical block on disk */
+ int (*map_block)(unsigned long zone_index[], unsigned long blknr, unsigned long *mapped_block);
+-} FS_cmd;
++};
++
++extern struct _FS_cmd FS_cmd;
+
+ /* Flags */
+ struct _lde_flags {
+--- a/src/main_lde.c
++++ b/src/main_lde.c
+@@ -90,6 +90,7 @@ int (*mgetch)(void) = tty_mgetch;
+
+ struct _lde_typedata lde_typedata[] = LDE_ALLTYPES;
+
++struct _FS_cmd FS_cmd;
+
+ /* Check if device is mounted, return 1 if is mounted else 0 */
+ static int check_mount(char *device_name)
diff --git a/sys-fs/lde/files/lde-2.6.1-respect-ar.patch b/sys-fs/lde/files/lde-2.6.1-respect-ar.patch
new file mode 100644
index 000000000000..104aaf45b774
--- /dev/null
+++ b/sys-fs/lde/files/lde-2.6.1-respect-ar.patch
@@ -0,0 +1,11 @@
+--- a/macros/configure.in
++++ b/macros/configure.in
+@@ -30,7 +30,7 @@ AC_PROG_CC
+ AC_PROG_INSTALL
+ AC_PROG_MAKE_SET
+ AC_PATH_PROG(RM, rm, rm)
+-AC_PATH_PROG(AR, ar, ar)
++AM_PROG_AR
+
+ AC_CHECK_PROG(system,uname,`uname`,unknown)
+
diff --git a/sys-fs/lde/files/lde-2.6.1-tinfo.patch b/sys-fs/lde/files/lde-2.6.1-tinfo.patch
new file mode 100644
index 000000000000..bb4c6c2386c4
--- /dev/null
+++ b/sys-fs/lde/files/lde-2.6.1-tinfo.patch
@@ -0,0 +1,22 @@
+--- a/macros/configure.in
++++ b/macros/configure.in
+@@ -14,7 +14,6 @@ AC_SUBST(STATIC_LDFLAGS)
+ AC_DEFINE(_GNU_SOURCE)
+
+ dnl Must use builtin() as it is overridden by some AC_ macros
+-builtin(include,./curses.m4)
+ builtin(include,./misctests.m4)
+
+ dnl Search for ncurses by default
+@@ -187,7 +186,10 @@ AC_ARG_WITH(gpm,
+ dnl ------------------------------------------------------------------
+ dnl Search for some version of curses
+ dnl ------------------------------------------------------------------
+-AC_CHECK_CURSES
++has_curses=false
++AC_SUBST(CURSES_INCLUDEDIR)
++AC_SUBST(CURSES_LIBS)
++PKG_CHECK_MODULES(ncurses, ncurses, [CURSES_LIBS="$ncurses_LIBS" CURSES_INCLUDEDIR="$ncurses_CFLAGS" has_curses=true])
+ if test "$has_curses" = true
+ then
+ AC_DEFINE(LDE_CURSES)
diff --git a/sys-fs/lde/lde-2.6.1-r1.ebuild b/sys-fs/lde/lde-2.6.1-r2.ebuild
index 30c88f3438ed..615ff025c460 100644
--- a/sys-fs/lde/lde-2.6.1-r1.ebuild
+++ b/sys-fs/lde/lde-2.6.1-r2.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
+
+inherit autotools
DESCRIPTION="ext2fs and minix disk editor for linux"
HOMEPAGE="http://lde.sourceforge.net/"
@@ -12,20 +14,39 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="sys-libs/ncurses:0="
-DEPEND="
- ${RDEPEND}
- dev-util/yacc"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
S="${WORKDIR}/${PN}"
PATCHES=(
"${FILESDIR}/${P}-no-shadowing.patch"
+ "${FILESDIR}/${P}-fno-common.patch"
+ "${FILESDIR}/${P}-tinfo.patch"
+ "${FILESDIR}/${P}-respect-ar.patch"
)
DOCS=( WARNING README TODO COPYING )
RESTRICT="test"
+src_prepare() {
+ default
+
+ # Remove prebuilt lde binary (so that failures to compile are fatal!)
+ # bug #776862
+ rm lde || die
+
+ cd macros || die
+ # bug #775968 again
+ touch ar-lib install-sh || die
+ mv configure.{in,ac} || die
+ eautoreconf
+}
+
src_install() {
dosbin "${PN}"
newman "doc/${PN}.man" "${PN}.8"
diff --git a/sys-fs/lde/metadata.xml b/sys-fs/lde/metadata.xml
index bf4c7f8ac56b..b7a182227b72 100644
--- a/sys-fs/lde/metadata.xml
+++ b/sys-fs/lde/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/lessfs/lessfs-1.7.0-r1.ebuild b/sys-fs/lessfs/lessfs-1.7.0-r2.ebuild
index 7f0e7606c04a..2691c219976f 100644
--- a/sys-fs/lessfs/lessfs-1.7.0-r1.ebuild
+++ b/sys-fs/lessfs/lessfs-1.7.0-r2.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit readme.gentoo-r1
+
+inherit flag-o-matic readme.gentoo-r1
MY_PV="${PV/_/-}"
MY_P="${PN}-${MY_PV}"
@@ -17,14 +18,13 @@ KEYWORDS="amd64 x86"
IUSE="berkdb crypt debug filelog memtrace lzo snappy"
RDEPEND="
+ app-crypt/mhash
+ dev-db/tokyocabinet
+ sys-fs/fuse:0
berkdb? ( sys-libs/db:* )
crypt? ( dev-libs/openssl:0= )
lzo? ( dev-libs/lzo )
- snappy? ( app-arch/snappy )
- >=dev-db/tokyocabinet-1.4.42
- app-crypt/mhash
- >=sys-fs/fuse-2.8.0:0=
-"
+ snappy? ( app-arch/snappy )"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MY_P}"
@@ -35,15 +35,19 @@ DOC_CONTENTS="Default configuration file: /etc/${PN}.cfg.
PATCHES=(
# From PLD-Linux, bug #674422
- "${FILESDIR}/${P}-openssl11.patch"
+ "${FILESDIR}"/${P}-openssl11.patch
)
src_configure() {
+ append-flags -fcommon
econf \
- $(use_enable debug) $(use_enable debug lckdebug) \
- $(use_enable filelog) $(use_with crypt crypto) \
- $(use_with lzo) $(use_enable memtrace) \
+ $(use_enable debug) \
+ $(use_enable debug lckdebug) \
+ $(use_enable filelog) \
+ $(use_enable memtrace) \
$(use_with berkdb berkeleydb) \
+ $(use_with crypt crypto) \
+ $(use_with lzo) \
$(use_with snappy)
}
diff --git a/sys-fs/lessfs/metadata.xml b/sys-fs/lessfs/metadata.xml
index 32f99a253e86..bdbb1d194f65 100644
--- a/sys-fs/lessfs/metadata.xml
+++ b/sys-fs/lessfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<use>
@@ -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 1185b80833a3..a49dc78fce99 100644
--- a/sys-fs/libeatmydata/Manifest
+++ b/sys-fs/libeatmydata/Manifest
@@ -1 +1 @@
-DIST libeatmydata-105.tar.gz 419427 BLAKE2B 251fc4226ddddce16abc16c8a0717cd69621e8c166cf7a7dec1c8782c2a25edcf26e34f1a09bd2b6153a46eb99a6cf4b1adc334db188201b12a27b4a1562ed03 SHA512 fb2ac1400d5e3c44bfc952c72f29a4c7234edf5b756a9602ad822c57fbc9813c35d2da9492e2982abf81e0826d278da2d31ee1865e806754e0b387ad699367d4
+DIST libeatmydata-131.tar.gz 368469 BLAKE2B 1b59f80ba72caeafa40272c5996e0fb03774c69c35d7a2194d312e53c48212caca84abed56ec63a9fba2b4142efbee4aa371c3869a76f8c5674936ffe0daea5d SHA512 064417dc085cb82e4baf1d160fcde2c6e0d9fed60e5c595799630b030053c373d888853055894c127c5b384be9204e8bbb251877651811b5fc5cdca8ffd9cf42
diff --git a/sys-fs/libeatmydata/files/libeatmydata-105-undpkg.patch b/sys-fs/libeatmydata/files/libeatmydata-105-undpkg.patch
deleted file mode 100644
index 41362d1c2531..000000000000
--- a/sys-fs/libeatmydata/files/libeatmydata-105-undpkg.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Don't rely on debian's way to multilib/multiarch.
-
-https://bugs.gentoo.org/550344
---- a/eatmydata.in
-+++ b/eatmydata.in
-@@ -17,5 +17,4 @@
-
--export `dpkg-architecture|grep DEB_BUILD_MULTIARCH`
-+shlib="@libexecdir@/eatmydata.sh"
-
--shlib="/usr/lib/$DEB_BUILD_MULTIARCH/eatmydata.sh"
- if [ -f "$shlib" ]; then
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-105-r2.ebuild b/sys-fs/libeatmydata/libeatmydata-105-r2.ebuild
deleted file mode 100644
index 2b6e0ab0a184..000000000000
--- a/sys-fs/libeatmydata/libeatmydata-105-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2019 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://launchpad.net/libeatmydata/"
-SRC_URI="https://launchpad.net/${PN}/trunk/release-${PV}/+download/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-# sandbox fools LD_PRELOAD and libeatmydata does not get control
-# feature of sandbox
-#DEPEND="test? ( dev-util/strace )"
-RESTRICT=test
-
-DEPEND="sys-apps/sed"
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}"/${PN}-105-undpkg.patch
-)
-
-ECONF_SOURCE=${S}
-
-multilib_src_install_all() {
- find "${D}" -name '*.la' -type f -delete || die
-
- dodoc AUTHORS README
-}
diff --git a/sys-fs/libeatmydata/libeatmydata-131.ebuild b/sys-fs/libeatmydata/libeatmydata-131.ebuild
new file mode 100644
index 000000000000..d186e6938bf4
--- /dev/null
+++ b/sys-fs/libeatmydata/libeatmydata-131.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Multilib because "handy to inject into wine"
+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 ~loong ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-debug/strace )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-131-gnu_source.patch
+)
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" econf
+}
+
+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 "${ED}" -name '*.la' -type f -delete || die
+
+ dodoc AUTHORS README.md
+}
diff --git a/sys-fs/libeatmydata/metadata.xml b/sys-fs/libeatmydata/metadata.xml
index 77dcbe5e8b01..f23ca842d876 100644
--- a/sys-fs/libeatmydata/metadata.xml
+++ b/sys-fs/libeatmydata/metadata.xml
@@ -1,15 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
</maintainer>
<longdescription>
eatmydata: library and utilities designed to disable fsync and friends.
Used as LD_PRELOAD hack to hijack fsync() and open(O_SYNC) calls.
</longdescription>
<upstream>
- <remote-id type="launchpad">libeatmydata</remote-id>
+ <remote-id type="github">stewartsmith/libeatmydata</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/libfat/metadata.xml b/sys-fs/libfat/metadata.xml
index 7747615af765..87d55c6d1973 100644
--- a/sys-fs/libfat/metadata.xml
+++ b/sys-fs/libfat/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/loop-aes/Manifest b/sys-fs/loop-aes/Manifest
index 8799f267df66..e20f56fa0200 100644
--- a/sys-fs/loop-aes/Manifest
+++ b/sys-fs/loop-aes/Manifest
@@ -1,2 +1 @@
-DIST loop-AES-v3.7n.tar.bz2 373901 BLAKE2B 5cac9bd55f35a6cf0c056a6a2e75a48f49c1d23b7ebe1821e10dab522508e64ed23e5993dbcc19dbdeaab6c315ee4e71c8ecc17d9da41a5ad0794abc92563d7e SHA512 d190561f92a47292285e44c728bf1fcf9b7dd9c54f970ebc11a2988686f409515687a22028187756baaa4622903564e2646971a63eba13557c6ce78dc1f0bb96
-DIST loop-AES-v3.7q.tar.bz2 376027 BLAKE2B 7f3206196fcb7ecc928bda4cd127042f61cd5ac7f39e483fb91db388572be1c8e252d5c4adb653e6fd00ff6a7ba4c1406c35f2b2659e9cb38fd817f1bdb2a15f SHA512 103869695f6b18bcc765804865468db4b24fc2fcce3ec97d8468fdc0bd37c480386960730e280cd93c707026dddc5e79d8d25e2601c3678330e016835166ad20
+DIST loop-AES-v3.8b.tar.bz2 411795 BLAKE2B 51e2c4ddd25f288c5cc5cbbbe20d79951d68bc2b7ecc91fe6eddbb829b297fe6946590512f423efcf5be3c4a1c9ce450c0cf49ed44ac6ad8eb2568468570d48f SHA512 8143649cc9616735cb9a9c8cb8b5c8a709b139e8b41aec444d56c85ef7852d103f657d0d702ffb04783963f0d0e919a6fe4e10b31cd373cd326e546caad90661
diff --git a/sys-fs/loop-aes/files/loop-aes-3.7w-build-initrd_explicit-losetup.patch b/sys-fs/loop-aes/files/loop-aes-3.7w-build-initrd_explicit-losetup.patch
new file mode 100644
index 000000000000..2cf2976b71fe
--- /dev/null
+++ b/sys-fs/loop-aes/files/loop-aes-3.7w-build-initrd_explicit-losetup.patch
@@ -0,0 +1,28 @@
+--- loop-AES-v3.7v.orig/build-initrd.sh 2012-11-12 09:42:58.000000000 -0700
++++ loop-AES-v3.7v/build-initrd.sh 2022-01-05 18:27:49.410016729 -0700
+@@ -884,7 +884,8 @@
+
+ dd if=/dev/zero of=tmp-i-$$ bs=1024 count=${y}
+ /sbin/mkfs -t minix -i 32 tmp-i-$$ ${y}
+- mount -t minix tmp-i-$$ tmp-d-$$ -o loop=/dev/loop${DEVFSSLASH2}${TEMPLOOPINDEX}
++ losetup /dev/loop${DEVFSSLASH2}${TEMPLOOPINDEX} tmp-i-$$
++ mount -t minix /dev/loop${DEVFSSLASH2}${TEMPLOOPINDEX} tmp-d-$$
+ fi
+ cd tmp-d-$$
+
+@@ -978,6 +979,7 @@
+ if [ ${USEPIVOT} != 2 ] ; then
+ umount tmp-d-$$
+ rmdir tmp-d-$$
++ losetup -d /dev/loop${DEVFSSLASH2}${TEMPLOOPINDEX}
+ rm tmp-i-$$
+ else
+ rm -rf tmp-d-$$
+@@ -1002,6 +1004,7 @@
+ cd ..
+ df tmp-d-$$
+ umount tmp-d-$$
++ losetup -d /dev/loop${DEVFSSLASH2}${TEMPLOOPINDEX}
+ rmdir tmp-d-$$
+ sync ; sync ; sync
+ gzip -9 tmp-i-$$
diff --git a/sys-fs/loop-aes/loop-aes-3.7n-r1.ebuild b/sys-fs/loop-aes/loop-aes-3.7n-r1.ebuild
deleted file mode 100644
index 18a5ba1f82aa..000000000000
--- a/sys-fs/loop-aes/loop-aes-3.7n-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2020 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="mirror://sourceforge/${PN}/${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"
-
-RDEPEND="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="${BUILD_PARAMS} INTELAES=y"
- use keyscrub && BUILD_PARAMS="${BUILD_PARAMS} KEYSCRUB=y"
- use cpu_flags_x86_padlock && BUILD_PARAMS="${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="${BUILD_PARAMS} EXTRA_CIPHERS=y"
- fi
-}
-
-src_install() {
- linux-mod_src_install
-
- dodoc README
- dobin loop-aes-keygen
- doman loop-aes-keygen.1
-}
-
-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
- einfo "If you have a newer Intel processor (i5, i7), and you use AES"
- einfo "you may want to consider using the aes-ni use flag. It will"
- einfo "use your processors native AES instructions giving quite a speed"
- einfo "increase."
- einfo
-
- ewarn
- ewarn "Please consider using loop-aes-losetup package instead of"
- ewarn "util-linux[loop-aes], it will enable all loop-aes services"
- ewarn "without patching util-linux package"
- ewarn
- ewarn "In future only loop-aes-losetup will be available in portage"
- ewarn
-}
diff --git a/sys-fs/loop-aes/loop-aes-3.7q-r1.ebuild b/sys-fs/loop-aes/loop-aes-3.7q-r1.ebuild
deleted file mode 100644
index 6879462d4158..000000000000
--- a/sys-fs/loop-aes/loop-aes-3.7q-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2020 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
- 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
- einfo "If you have a newer Intel processor (i5, i7), and you use AES"
- einfo "you may want to consider using the aes-ni use flag. It will"
- einfo "use your processors native AES instructions giving quite a speed"
- einfo "increase."
- einfo
-}
diff --git a/sys-fs/loop-aes/loop-aes-3.8b.ebuild b/sys-fs/loop-aes/loop-aes-3.8b.ebuild
new file mode 100644
index 000000000000..e74a90959434
--- /dev/null
+++ b/sys-fs/loop-aes/loop-aes-3.8b.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-mod-r1
+
+MY_P="${PN/aes/AES}-v${PV}"
+
+DESCRIPTION="Linux kernel module to encrypt disk partitions with AES cipher"
+HOMEPAGE="https://sourceforge.net/projects/loop-aes/"
+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"
+
+PATCHES=( "${FILESDIR}"/loop-aes-3.7w-build-initrd_explicit-losetup.patch )
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ linux-mod-r1_pkg_setup
+
+ CONFIG_CHECK="!BLK_DEV_LOOP"
+}
+
+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
+ 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-r1_src_install
+
+ dodoc README
+ dodoc ChangeLog
+ dobin loop-aes-keygen
+ doman loop-aes-keygen.1
+
+ into /
+ dosbin build-initrd.sh
+}
+
+pkg_postinst() {
+ linux-mod-r1_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/metadata.xml b/sys-fs/loop-aes/metadata.xml
index 909b1d03e448..312c6ecea32a 100644
--- a/sys-fs/loop-aes/metadata.xml
+++ b/sys-fs/loop-aes/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>hlein@korelogic.com</email>
<name>Hank Leininger</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sys-fs/lsscsi/Manifest b/sys-fs/lsscsi/Manifest
index 813c6912b4f2..3457181875ea 100644
--- a/sys-fs/lsscsi/Manifest
+++ b/sys-fs/lsscsi/Manifest
@@ -1 +1 @@
-DIST lsscsi-0.31.tgz 191650 BLAKE2B 0bd9b72356cc8f9a7f83bf5bdebdc7d3093efa09b1c72e79b45f6e6dacedb6c80e085fce8ce734e298d03c959bc4428f7a4faeeaace3cdeaa3b2d6bfc4b547cc SHA512 e76a011b79657fb138e88d37ff38d83b6bbe2e28330fb621ca5972ba4ffb0131a5e67c8afeb0292c002eaf91e1b69c8f051d48849e5ed822e8705365092a53ba
+DIST lsscsi-0.32.tar.gz 195376 BLAKE2B 8ca0eecd5e0a0a60b9871d955daa05a92e33a8c0c799a0293c58c7882a5c0d9ba06df070ffac8bbce4183e0e5081087cd4b39a6e3c51ff30faac58d0aae67f94 SHA512 96cb87be53eae9fa3a7defa0065f4dee8ccc23805a9ed1dc93d101c5e0610b78765b61449bf6ce58c13de8aae8400e4ac6a60ad64f840d092b9d7293106c5145
diff --git a/sys-fs/lsscsi/lsscsi-0.31.ebuild b/sys-fs/lsscsi/lsscsi-0.32-r1.ebuild
index 7879201a16ed..1007c26f9bac 100644
--- a/sys-fs/lsscsi/lsscsi-0.31.ebuild
+++ b/sys-fs/lsscsi/lsscsi-0.32-r1.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
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"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
diff --git a/sys-fs/lsscsi/metadata.xml b/sys-fs/lsscsi/metadata.xml
index 56c124413057..73dda144f9ac 100644
--- a/sys-fs/lsscsi/metadata.xml
+++ b/sys-fs/lsscsi/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/lufis/lufis-0.3-r1.ebuild b/sys-fs/lufis/lufis-0.3-r1.ebuild
index 5f2f2645949e..622fb2958b75 100644
--- a/sys-fs/lufis/lufis-0.3-r1.ebuild
+++ b/sys-fs/lufis/lufis-0.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -10,7 +10,7 @@ SRC_URI="mirror://sourceforge/fuse/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="~amd64 ppc x86"
IUSE=""
RDEPEND="
diff --git a/sys-fs/lufis/lufis-0.3.ebuild b/sys-fs/lufis/lufis-0.3.ebuild
deleted file mode 100644
index df57946bde05..000000000000
--- a/sys-fs/lufis/lufis-0.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit toolchain-funcs
-
-DESCRIPTION="Wrapper to use lufs modules with fuse kernel support"
-HOMEPAGE="http://fuse.sourceforge.net/"
-SRC_URI="mirror://sourceforge/fuse/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ppc x86"
-IUSE=""
-
-DEPEND="!<sys-fs/lufs-0.9.7-r3
- >=sys-fs/fuse-1.3"
-
-PATCHES=(
- "${FILESDIR}"/lufis-allow-uid-and-gid-addon.patch
-)
-
-src_compile() {
- emake CC="$(tc-getCC)"
-}
-
-src_install() {
- dobin lufis
- dodoc README ChangeLog
-
- insinto /usr/include/lufs/
- doins fs.h proto.h
-}
diff --git a/sys-fs/lufis/metadata.xml b/sys-fs/lufis/metadata.xml
index 0bedf0370d9c..072f26cd7a28 100644
--- a/sys-fs/lufis/metadata.xml
+++ b/sys-fs/lufis/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/lufs/metadata.xml b/sys-fs/lufs/metadata.xml
index 323e5c2f3bdb..f21b9d4533a2 100644
--- a/sys-fs/lufs/metadata.xml
+++ b/sys-fs/lufs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/lvm2/Manifest b/sys-fs/lvm2/Manifest
index 8dd209d0b7ca..5e526190b713 100644
--- a/sys-fs/lvm2/Manifest
+++ b/sys-fs/lvm2/Manifest
@@ -1,2 +1,2 @@
-DIST LVM2.2.02.187.tgz 2405544 BLAKE2B be804be3c64927a8848e8ea8de228fb563b6f8c22628b785aabb33fc993629e5370788216bd814246aeb3a5546fd5446383ce24342e716579887556edf2bbed2 SHA512 3ce56f0c0d2e7dbcdae5be263199f73ee5c4c052599d53cde9b16500a326d0340893344f4671839be06b5b4225d592175d01c9974db14f2dc220d6e9a1d47e91
-DIST LVM2.2.03.10.tgz 2510568 BLAKE2B 1b4e9d09ef948b79a2e6e70fa8f8c9cd38ec8d8d1462eefb059f93020f65664538cee9bab41b81aaaf719ca428a9e824a2b181f40ebe261c5dd0fc6551ebcbb3 SHA512 8678ae2f99739ccad0250f6f4b4b8e84520f2053835985a1ea9c80196a64df31a48858aebf983170c3dfcafecea83f2c6aa630ef73fd31dd84cf1627a1b421e4
+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-dynamic-static-ldflags.patch b/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch
deleted file mode 100644
index 2b9a5dd945c5..000000000000
--- a/sys-fs/lvm2/files/lvm2-2.03.05-dynamic-static-ldflags.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 93101699f5e1190184c00c99ab7b6e9717e5019a 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
-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 1e45c0edcb..cc2625294a 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -33,6 +33,7 @@ case "$host_os" in
- CLDFLAGS="${CLDFLAGS:"$LDFLAGS"} -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"
-@@ -1758,6 +1759,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 6bd36d0325..a3c30ec1a0 100644
---- a/daemons/dmeventd/Makefile.in
-+++ b/daemons/dmeventd/Makefile.in
-@@ -66,7 +66,7 @@ dmeventd: $(LIB_SHARED) dmeventd.o
-
- dmeventd.static: $(LIB_STATIC) dmeventd.o
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L. -L$(interfacebuilddir) dmeventd.o \
- -o $@ $(DL_LIBS) $(DMEVENT_LIBS) $(LIBS) $(STATIC_LIBS)
-
- ifeq ("@PKGCONFIG@", "yes")
-diff --git a/make.tmpl.in b/make.tmpl.in
-index f3332e91c1..1489c2afad 100644
---- a/make.tmpl.in
-+++ b/make.tmpl.in
-@@ -68,6 +68,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 2620daa17c..e5fc9c4ae4 100644
---- a/tools/Makefile.in
-+++ b/tools/Makefile.in
-@@ -136,7 +136,7 @@ man-generator: man-generator.o
-
- lvm.static: $(OBJECTS) lvm-static.o $(LVMINTERNAL_LIBS)
- @echo " [CC] $@"
-- $(Q) $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
-+ $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static -L$(interfacebuilddir) -o $@ $+ \
- $(DMEVENT_LIBS) $(STATIC_LIBS) $(LVMLIBS)
-
- liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
---
-2.22.0
-
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.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.187-r2.ebuild b/sys-fs/lvm2/lvm2-2.02.187-r2.ebuild
deleted file mode 100644
index 2bc6f354e530..000000000000
--- a/sys-fs/lvm2/lvm2-2.02.187-r2.ebuild
+++ /dev/null
@@ -1,298 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools linux-info multilib systemd toolchain-funcs 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 )
- 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:=[static-libs(-)?] )"
-# /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/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-# USE 'static' currently only works with eudev, bug 520450
-DEPEND="${DEPEND_COMMON}
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=sys-fs/eudev-3.1.2[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 INSTALL_TARGETS
- INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- for inst in ${INSTALL_TARGETS[@]}; do
- emake V=1 DESTDIR="${D}" ${inst}
- done
-
- 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 [[ -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.10.ebuild b/sys-fs/lvm2/lvm2-2.03.10.ebuild
deleted file mode 100644
index c1a7dbc3b20a..000000000000
--- a/sys-fs/lvm2/lvm2-2.03.10.ebuild
+++ /dev/null
@@ -1,285 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit autotools linux-info multilib systemd toolchain-funcs 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 ~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 )
- 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:=[static-libs(-)?] )"
-# /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/openrc-0.11
- !<sys-fs/cryptsetup-1.1.2
- !!sys-fs/lvm-user
- >=sys-apps/util-linux-2.16
- lvm2create_initrd? ( sys-apps/makedev )
- thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )"
-# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check
-# USE 'static' currently only works with eudev, bug 520450
-DEPEND="${DEPEND_COMMON}
- >=sys-devel/binutils-2.20.1-r1
- static? (
- selinux? ( sys-libs/libselinux[static-libs] )
- udev? ( >=sys-fs/eudev-3.1.2[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.05-dynamic-static-ldflags.patch #332905
- "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid
- "${FILESDIR}"/${PN}-2.03.05-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.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
-)
-
-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
-
- 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 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 INSTALL_TARGETS
- INSTALL_TARGETS=( install install_tmpfiles_configuration )
- # install systemd related files only when requested, bug #522430
- use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators )
- use device-mapper-only && INSTALL_TARGETS=( install_device-mapper )
- for inst in ${INSTALL_TARGETS[@]}; do
- emake V=1 DESTDIR="${D}" ${inst}
- done
-
- 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 [[ -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 8fb1374ed335..33bafa5c0ee3 100644
--- a/sys-fs/lvm2/metadata.xml
+++ b/sys-fs/lvm2/metadata.xml
@@ -1,26 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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="person">
- <email>robbat2@gentoo.org</email>
- <name>Robin H. Johnson</name>
- </maintainer>
- <maintainer type="person">
- <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 344a876047ca..ddfde18b76ed 100644
--- a/sys-fs/lxcfs/Manifest
+++ b/sys-fs/lxcfs/Manifest
@@ -1 +1,4 @@
-DIST lxcfs-4.0.5.tar.gz 101842 BLAKE2B c916473e1b7ad42b8f69026a16810941c999d44ffcf1d456cb301411965f05e626338a5bde1e38fe99acd05f72bbcd5acbdcb2f65fa5ec183c967babcb8c70fd SHA512 5c44aa7f43071a4316cc8702928fde2c928bd5654c9ab4d540152839db0d7dd235a861f263da56f02611941d46d22eee98e0cdd52aeaeda99f3c79c754d420a1
+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.5.ebuild b/sys-fs/lxcfs/lxcfs-4.0.5.ebuild
deleted file mode 100644
index 8c7b1f79d64f..000000000000
--- a/sys-fs/lxcfs/lxcfs-4.0.5.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools systemd
-
-DESCRIPTION="FUSE filesystem for LXC"
-HOMEPAGE="https://linuxcontainers.org/lxcfs/introduction/ https://github.com/lxc/lxcfs/"
-SRC_URI="https://github.com/lxc/lxcfs/archive/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="dev-libs/glib:2
- sys-fs/fuse:0"
-DEPEND="${RDEPEND}"
-BDEPEND="sys-apps/help2man"
-
-RESTRICT="test"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- # Without the localstatedir the filesystem isn't mounted correctly
- # Without with-distro ./configure will fail when cross-compiling
- econf --localstatedir=/var --with-distro=gentoo
-}
-
-src_test() {
- cd tests/ || die
- emake 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
-}
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-6.0.0.ebuild b/sys-fs/lxcfs/lxcfs-6.0.0.ebuild
new file mode 100644
index 000000000000..c0e7a84ec0f5
--- /dev/null
+++ b/sys-fs/lxcfs/lxcfs-6.0.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 2022-2024 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
+
+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/metadata.xml b/sys-fs/lxcfs/metadata.xml
index b40dcc8519b4..358bde78668e 100644
--- a/sys-fs/lxcfs/metadata.xml
+++ b/sys-fs/lxcfs/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>stasibear@gentoo.org</email>
- <name>Erik Mackdanz</name>
+ <email>juippis@gentoo.org</email>
+ <name>Joonas Niilola</name>
</maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
@@ -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/files/mac-fdisk-0.1_p18-2tb.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch
new file mode 100644
index 000000000000..bb7c4222a4df
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-2tb.patch
@@ -0,0 +1,164 @@
+grobian@gentoo.org
+
+not sure what big_pt.patch was tested on, but partitioning a 2TB disk
+(Blocks=3907029168) won't work, with a daft warning, and no joy
+
+upgrade size storage to unsigned long long, so we can store these sizes
+tested on a PowerMac G5 with a 2TB SATA drive
+
+
+--- mac-fdisk-0.1.orig/io.c 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/io.c 2022-06-01 20:32:12.000000000 +0200
+@@ -85,7 +85,7 @@
+ //
+ // Forward declarations
+ //
+-long get_number(int first_char);
++long long get_number(int first_char);
+ char* get_string(int eos);
+ #ifndef __linux__
+ int DoTestUnitReady(UInt8 targetID);
+@@ -201,9 +205,8 @@
+ return 0;
+ }
+
+-
+ int
+-get_number_argument(char *prompt, long *number, long default_value)
++get_number_argument_long(char *prompt, long long *number, long long default_value)
+ {
+ int c;
+ int result = 0;
+@@ -237,14 +241,22 @@
+ return result;
+ }
+
++int
++get_number_argument(char *prompt, long *number, long default_value)
++{
++ long long retval = (long long)default_value;
++ int ret = get_number_argument_long(prompt, &retval, retval);
++ *number = (long)retval;
++ return ret;
++}
+
+-long
++long long
+ get_number(int first_char)
+ {
+ register int c;
+ int base;
+ int digit;
+- int ret_value;
++ long long ret_value;
+
+ if (first_char != '0') {
+ c = first_char;
+--- mac-fdisk-0.1.orig/io.h 1997-01-09 23:31:31.000000000 +0100
++++ mac-fdisk-0.1.orig/io.h 2022-06-01 20:10:20.000000000 +0200
+@@ -57,6 +57,7 @@
+ int get_command(char *prompt, int promptBeforeGet, int *command);
+ long get_multiplier(long divisor);
+ int get_number_argument(char *prompt, long *number, long default_value);
++int get_number_argument_long(char *prompt, long long *number, long long default_value);
+ int get_okay(char *prompt, int default_value);
+ int get_string_argument(char *prompt, char **string, int reprompt);
+ int getch();
+--- mac-fdisk-0.1.orig/partition_map.c 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/partition_map.c 2022-06-01 20:16:26.000000000 +0200
+@@ -90,7 +90,7 @@
+ void coerce_block0(partition_map_header *map);
+ int contains_driver(partition_map *entry);
+ void combine_entry(partition_map *entry);
+-long compute_device_size(int fd);
++unsigned long long compute_device_size(int fd);
+ DPME* create_data(const char *name, const char *dptype, u32 base, u32 length);
+ partition_map_header* create_partition_map(char *name);
+ void delete_entry(partition_map *entry);
+@@ -407,7 +407,7 @@
+ int fd;
+ partition_map_header * map;
+ DPME *data;
+- unsigned long number;
++ unsigned long long number;
+ #ifdef __linux__
+ struct stat info;
+ #endif
+@@ -435,13 +435,14 @@
+ map->maximum_in_map = -1;
+
+ number = compute_device_size(fd);
+- printf("size of 'device' is %u blocks: ", (unsigned int)number);
++ printf("size of 'device' is %llu blocks: ", number);
++ fflush(NULL);
+ flush_to_newline(0);
+- get_number_argument("what should be the size? ", (long *)&number, number);
++ get_number_argument_long("what should be the size? ", (long long *)&number, (long long)number);
+ if (number < 4) {
+ number = 4;
+ }
+- printf("new size of 'device' is %u blocks\n", (unsigned int)number);
++ printf("new size of 'device' is %llu blocks\n", number);
+ map->media_size = number;
+
+ #ifdef __linux__
+@@ -468,7 +469,7 @@
+ data->dpme_signature = DPME_SIGNATURE;
+ data->dpme_map_entries = 1;
+ data->dpme_pblock_start = 1;
+- data->dpme_pblocks = map->media_size - 1;
++ data->dpme_pblocks = (u32)(map->media_size - 1);
+ strncpy(data->dpme_name, kFreeName, DPISTRLEN);
+ strncpy(data->dpme_type, kFreeType, DPISTRLEN);
+ data->dpme_lblock_start = 0;
+@@ -506,7 +507,7 @@
+ if (p->sbSig != BLOCK0_SIGNATURE) {
+ p->sbSig = BLOCK0_SIGNATURE;
+ p->sbBlkSize = 512;
+- p->sbBlkCount = map->media_size;
++ p->sbBlkCount = (u32)map->media_size;
+ p->sbDevType = 0;
+ p->sbDevId = 0;
+ p->sbData = 0;
+@@ -573,7 +574,7 @@
+ }
+ // if the map will overflow then punt
+ if (map->maximum_in_map < 0) {
+- limit = map->media_size;
++ limit = (int)map->media_size;
+ } else {
+ limit = map->maximum_in_map;
+ }
+@@ -661,7 +662,7 @@
+ }
+
+
+-long
++unsigned long long
+ compute_device_size(int fd)
+ {
+ #ifdef TEST_COMPUTE
+@@ -753,11 +754,7 @@
+ free(data);
+ }
+
+- // Add a warning just in case...
+- if(x > 0x80000000)
+- printf("Warning: Large disks may not work with this tool!\n");
+-
+- return (unsigned long) x;
++ return x;
+ }
+
+
+--- mac-fdisk-0.1.orig/partition_map.h 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/partition_map.h 2022-06-01 19:37:49.000000000 +0200
+@@ -47,7 +47,7 @@
+ int regular_file;
+ int blocks_in_map;
+ int maximum_in_map;
+- unsigned long media_size;
++ unsigned long long media_size;
+ };
+ typedef struct partition_map_header partition_map_header;
+
diff --git a/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch
new file mode 100644
index 000000000000..e99d6f5941d6
--- /dev/null
+++ b/sys-fs/mac-fdisk/files/mac-fdisk-0.1_p18-musl.patch
@@ -0,0 +1,68 @@
+grobian@gentoo.org
+
+auto-flush on stdio is really a glibc feature AFAICT, so in order for
+musl to get prompts (and make the tool more bearable) just flush right
+after writing half a line
+
+--- mac-fdisk-0.1.orig/io.c 2022-06-01 19:37:08.000000000 +0200
++++ mac-fdisk-0.1.orig/io.c 2022-06-01 20:32:12.000000000 +0200
+@@ -151,7 +151,8 @@
+ int c;
+
+ flush_to_newline(0);
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+
+ for (;;) {
+ c = getch();
+@@ -169,7 +170,8 @@
+ return 0;
+ } else {
+ flush_to_newline(0);
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ }
+ }
+ return -1;
+@@ -182,7 +184,8 @@
+ int c;
+
+ if (promptBeforeGet) {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ }
+ for (;;) {
+ c = getch();
+@@ -192,7 +195,8 @@
+ } else if (c == ' ' || c == '\t') {
+ // skip blanks and tabs
+ } else if (c == '\n') {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ } else {
+ *command = c;
+ return 1;
+@@ -217,7 +220,8 @@
+ // skip blanks and tabs
+ } else if (c == '\n') {
+ if (default_value < 0) {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ } else {
+ ungetch(c);
+ *number = default_value;
+@@ -295,7 +307,8 @@
+ // skip blanks and tabs
+ } else if (c == '\n') {
+ if (reprompt) {
+- printf(prompt);
++ printf("%s", prompt);
++ fflush(NULL);
+ } else {
+ ungetch(c);
+ *string = NULL;
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
new file mode 100644
index 000000000000..3bb5d3a486c7
--- /dev/null
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit toolchain-funcs flag-o-matic
+
+DESCRIPTION="Mac/PowerMac disk partitioning utility"
+HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/"
+SRC_URI="
+ mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}.orig.tar.gz
+ mirror://debian/pool/main/m/mac-fdisk/${PN}_${PV/_p*}-${PV/*_p}.diff.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 -loong ~ppc ~ppc64 -riscv ~x86"
+
+S=${WORKDIR}/${P/_p*}.orig
+PATCHES=(
+ "${WORKDIR}"/${PN}_${PV/_p*}-${PV/*_p}.diff
+ "${FILESDIR}"/largerthan2gb.patch
+ "${FILESDIR}"/${PN}-0.1-headers.patch
+ # Patch for bug #142737
+ "${FILESDIR}"/${PN}-0.1_p16-ppc64.patch
+ ### Patch for building on amd64
+ "${FILESDIR}"/${PN}-amd64.patch
+ # Patch for large (>550GB disks)
+ # Note that >=2TB disks may not work due to limitations of the Mac
+ # Partition Table structure, this needs to be investigated
+ "${FILESDIR}"/big_pt.patch
+ "${FILESDIR}"/${PN}-0.1_p16-ppc-inline.patch
+ "${FILESDIR}"/${PN}-0.1_p18-lseek64.patch
+ # add support for partitioning 2TB drives
+ "${FILESDIR}"/${PN}-0.1_p18-2tb.patch
+ "${FILESDIR}"/${PN}-0.1_p18-musl.patch
+)
+
+src_compile() {
+ use elibc_musl && append-cppflags -Dloff_t=off_t
+ emake CC="$(tc-getCC)"
+}
+
+src_install() {
+ into /
+ newsbin pdisk mac-fdisk
+ newsbin fdisk pmac-fdisk
+
+ into /usr
+ newman mac-fdisk.8.in mac-fdisk.8
+ newman pmac-fdisk.8.in pmac-fdisk.8
+
+ dodoc debian/changelog README HISTORY
+}
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 263a986f35e1..f8647b5e8f3d 100644
--- a/sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild
+++ b/sys-fs/mac-fdisk/mac-fdisk-0.1_p18.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit toolchain-funcs
+inherit toolchain-funcs flag-o-matic
DESCRIPTION="Mac/PowerMac disk partitioning utility"
HOMEPAGE="ftp://ftp.mklinux.apple.com/pub/Other_Tools/"
@@ -13,7 +13,7 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
+KEYWORDS="amd64 -loong ppc ppc64 -riscv x86"
S=${WORKDIR}/${P/_p*}.orig
PATCHES=(
@@ -33,6 +33,7 @@ PATCHES=(
)
src_compile() {
+ use elibc_musl && append-cppflags -Dloff_t=off_t
emake CC="$(tc-getCC)"
}
diff --git a/sys-fs/mac-fdisk/metadata.xml b/sys-fs/mac-fdisk/metadata.xml
index 5eb05198076b..3d1a383e5d9d 100644
--- a/sys-fs/mac-fdisk/metadata.xml
+++ b/sys-fs/mac-fdisk/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>ppc@gentoo.org</email>
- <name>Gentoo Linux PowerPC Development</name>
-</maintainer>
+ <maintainer type="person">
+ <email>grobian@gentoo.org</email>
+ <name>Fabian Groffen</name>
+ </maintainer>
</pkgmetadata>
diff --git a/sys-fs/mdadm/Manifest b/sys-fs/mdadm/Manifest
index 7ee62a3b9b6d..51cfc9e15326 100644
--- a/sys-fs/mdadm/Manifest
+++ b/sys-fs/mdadm/Manifest
@@ -1,2 +1,4 @@
-DIST mdadm-4.1.tar.xz 440756 BLAKE2B df0506d937c2aa309d7c68804f66f7dcd51783288594bf746832311c64b8cf82004af4af5f246c5f9753f1de324ff7d49b5ee752d6a00ec03864f7885389706e SHA512 0859c5d3e786345d93ff2c3b291ca8866ba60f1375479e5b4d343124f6824140a8268d42b8ae603b069edba761aa30aaf20d49e9ec54dfcbad34bad3bea0e433
-DIST mdadm_4.1-3.debian.tar.xz 89640 BLAKE2B 3cb5e42dcbd218a71e55127cecda6f2594a1b1691e17c05f52a8cd0ba05b556d2812772e53d78de025738d7c2de059df3f878b8290ba3906b3d75ef435bfb698 SHA512 e9b04abf195d7bda9fb0197eb926c01a69b879ef82c72af6497116cea9be8f0823408dddbe5c6c033f5fae554a8fec17299e361fa48045e033c87dcee1a0bb63
+DIST mdadm-4.2.tar.xz 453624 BLAKE2B de7c4318dc5479de41378233869ab84ca2cd0e8a42310157b1acb969e7152af61556fbbe6f17bf6af4dfaf5543e49b1c982d2baeedf1c39b000032f4db7f5502 SHA512 57897a2b7fb8b0b88bece50501099872bb45ddb076cfc323d563588096d2b66b1ecba3724534943f651ace2bfe591482570700616500dc3398552e4f9ff0c37d
+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-in_initrd-collision.patch b/sys-fs/mdadm/files/mdadm-4.2-in_initrd-collision.patch
new file mode 100644
index 000000000000..689e7d698788
--- /dev/null
+++ b/sys-fs/mdadm/files/mdadm-4.2-in_initrd-collision.patch
@@ -0,0 +1,36 @@
+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
+@@ -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.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.1.ebuild b/sys-fs/mdadm/mdadm-4.2-r2.ebuild
index 515775501e94..99bbc83b039d 100644
--- a/sys-fs/mdadm/mdadm-4.1.ebuild
+++ b/sys-fs/mdadm/mdadm-4.2-r2.ebuild
@@ -1,49 +1,68 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-inherit flag-o-matic multilib systemd toolchain-funcs udev
+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.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 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 )"
-DEPEND="virtual/pkgconfig
- app-arch/xz-utils"
-RDEPEND=">=sys-apps/util-linux-2.16"
+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
)
mdadm_emake() {
# We should probably make corosync & libdlm into USE flags. #573782
- emake \
- PKG_CONFIG="$(tc-getPKG_CONFIG)" \
- CC="$(tc-getCC)" \
- CWFLAGS="-Wall" \
- CXFLAGS="${CFLAGS}" \
- UDEVDIR="$(get_udevdir)" \
- SYSTEMD_DIR="$(systemd_get_systemunitdir)" \
- COROSYNC="-DNO_COROSYNC" \
- DLM="-DNO_DLM" \
+ local args=(
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ CC="$(tc-getCC)"
+ CWFLAGS="-Wall"
+ CXFLAGS="${CFLAGS}"
+ UDEVDIR="$(get_udevdir)"
+ SYSTEMD_DIR="$(systemd_get_systemunitdir)"
+ 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
}
diff --git a/sys-fs/mdadm/mdadm-4.2-r3.ebuild b/sys-fs/mdadm/mdadm-4.2-r3.ebuild
new file mode 100644
index 000000000000..271f26fff8bc
--- /dev/null
+++ b/sys-fs/mdadm/mdadm-4.2-r3.ebuild
@@ -0,0 +1,112 @@
+# 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.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 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="static systemd +udev"
+
+REQUIRED_USE="static? ( !udev )"
+
+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}"-4.2-in_initrd-collision.patch #830461
+ "${FILESDIR}/${PN}"-4.2-mdadm_env.patch #628968
+)
+
+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}"
+ UDEVDIR="$(get_udevdir)"
+ SYSTEMD_DIR="$(systemd_get_systemunitdir)"
+ 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-*
+
+ 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/README.checkarray
+ dosbin "${WORKDIR}"/debian/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/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 6923416f0f69..1ce6bb33ddd3 100644
--- a/sys-fs/mdadm/metadata.xml
+++ b/sys-fs/mdadm/metadata.xml
@@ -1,10 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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>
+<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
new file mode 100644
index 000000000000..55f1350cb41b
--- /dev/null
+++ b/sys-fs/mergerfs-tools/Manifest
@@ -0,0 +1 @@
+DIST mergerfs-tools-0_p20210502.gh.tar.gz 15575 BLAKE2B 0b111c8a37c7679cb5a331d942f11ad8315eb58d0e686a53ddf6ce9262fb04cde69654d6d8c597d94fba48914b5b7fc4fc35d0b6413bd817e587e1d8e70ad1b6 SHA512 8f0fefe65b277d01aa893bd8af3dad5618b403126817982740a59c7997af33480ee858158b430775d63f0aa5ade854a71d88ab99ee0d7eac8cc4cb95933204f2
diff --git a/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild
new file mode 100644
index 000000000000..023b7d11f5f5
--- /dev/null
+++ b/sys-fs/mergerfs-tools/mergerfs-tools-0_p20210502-r4.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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://github.com/trapexit/${PN}/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+
+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
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}"/usr install
+}
diff --git a/sys-fs/mergerfs-tools/metadata.xml b/sys-fs/mergerfs-tools/metadata.xml
new file mode 100644
index 000000000000..c0d1a84a3646
--- /dev/null
+++ b/sys-fs/mergerfs-tools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">trapexit/mergerfs-tools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/mergerfs/Manifest b/sys-fs/mergerfs/Manifest
index c11a9c9ff41d..fd6aec328be2 100644
--- a/sys-fs/mergerfs/Manifest
+++ b/sys-fs/mergerfs/Manifest
@@ -1,3 +1,2 @@
-DIST mergerfs-2.28.3.tar.gz 294065 BLAKE2B 2e59e00726aec53438d5a5df143ca204069794d68c663a130139102a19e118a54fede1c8eca99199a3e634ffa92cb21c25c30718ea0842826de8a64e876b2819 SHA512 5469b3515464680aa72fc393c218fb038bed31194a933e6736eec478d87a110979323308b642d7f100a5c506534ca75badf4a87a050007cdc77cd2a641217929
-DIST mergerfs-2.29.0.tar.gz 302391 BLAKE2B a7d051c63b12a95af2868d8b3be9b32aa1be3d9c4cc4e359914b07e18ed30dadece80861ad559d5cdd85b375f565b9e70dac9ad3e34b98c054dd54822897c1a6 SHA512 2c21dedffc2f261c6c8427af59cffcacacc9b67bce7bb9989bd5946aa645c68bac0f56250ec19710e586a00892f7198853390bea3ff5981035d5a492ae4569a2
-DIST mergerfs-2.30.0.tar.gz 316560 BLAKE2B 7e6be39cfa5f085aabbc928e1da9c0bf1f6442be1de4ccef1868832c852d138901071129cf7feff19b13dd5939c5fff56520c5292473b92c71a85430818ab25c SHA512 6914c5efa783d66293ebcce0a6a493267eedfa45ac058cd24b2024aea15a866b997f4474363e4ababa4af59d302466c5f8c6b9f07ee42f7661b335d4701315b4
+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/files/mergerfs-makefiles-fixes-ar-cflags-cxxflags-ldflags.patch b/sys-fs/mergerfs/files/mergerfs-makefiles-fixes-ar-cflags-cxxflags-ldflags.patch
deleted file mode 100644
index 05166bacd874..000000000000
--- a/sys-fs/mergerfs/files/mergerfs-makefiles-fixes-ar-cflags-cxxflags-ldflags.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 6c38066..d98021c 100644
---- a/Makefile
-+++ b/Makefile
-@@ -61,13 +61,14 @@ SRC = $(wildcard src/*.cpp)
- OBJS = $(SRC:src/%.cpp=build/%.o)
- DEPS = $(SRC:src/%.cpp=build/%.d)
- MANPAGE = mergerfs.1
--CXXFLAGS = \
-+CXXFLAGS ?= ${OPT_FLAGS}
-+CXXFLAGS := \
-+ ${CXXFLAGS} \
- -std=c++0x \
-- $(OPT_FLAGS) \
- $(STATIC_FLAGS) \
- $(LTO_FLAGS) \
- -Wall \
-- -Wno-unused-result \
-+ -Wno-unused-result \
- -MMD
- FUSE_FLAGS = \
- -Ilibfuse/include \
-@@ -76,9 +77,11 @@ FUSE_FLAGS = \
- MFS_FLAGS = \
- -DUSE_XATTR=$(USE_XATTR) \
- -DUGID_USE_RWLOCK=$(UGID_USE_RWLOCK)
--LDFLAGS = \
-- -pthread \
-- -lrt
-+
-+LDFLAGS := \
-+ ${LDFLAGS} \
-+ -pthread \
-+ -lrt
-
- DESTDIR =
- PREFIX = /usr/local
-diff --git a/libfuse/Makefile b/libfuse/Makefile
-index e3001aa..2bbc45a 100644
---- a/libfuse/Makefile
-+++ b/libfuse/Makefile
-@@ -29,6 +29,8 @@ INSTALLBINDIR = $(DESTDIR)$(BINDIR)
- INSTALLSBINDIR = $(DESTDIR)$(SBINDIR)
- INSTALLMAN1DIR = $(DESTDIR)$(MAN1DIR)
-
-+AR ?= ar
-+
- SRC = \
- lib/buffer.c \
- lib/cuse_lowlevel.c \
-@@ -46,9 +48,10 @@ SRC = \
- lib/mount.c
- OBJS = $(SRC:lib/%.c=build/%.o)
- DEPS = $(SRC:lib/%.c=build/%.d)
--
--CFLAGS = \
-- $(OPT_FLAGS) \
-+CFLAGS ?= \
-+ $(OPT_FLAGS)
-+CFLAGS := \
-+ ${CFLAGS} \
- -Wall \
- -pipe \
- -MMD
-@@ -61,7 +64,8 @@ FUSE_FLAGS = \
- -DFUSE_USE_VERSION=29 \
- -DPACKAGE_VERSION=\"$(VERSION)\" \
- -DFUSERMOUNT_DIR=\"$(FUSERMOUNT_DIR)\"
--LDFLAGS = \
-+LDFLAGS := \
-+ ${LDFLAGS} \
- -lrt \
- -pthread
-
-@@ -78,7 +82,7 @@ objects: build/config.h
- $(MAKE) $(OBJS)
-
- build/libfuse.a: objects
-- ar rcs build/libfuse.a $(OBJS)
-+ ${AR} rcs build/libfuse.a $(OBJS)
-
- utils: mergerfs-fusermount mount.mergerfs
-
diff --git a/sys-fs/mergerfs/mergerfs-2.29.0.ebuild b/sys-fs/mergerfs/mergerfs-2.29.0.ebuild
deleted file mode 100644
index 97325c3ba210..000000000000
--- a/sys-fs/mergerfs/mergerfs-2.29.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=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"
-
-# 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_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.30.0.ebuild b/sys-fs/mergerfs/mergerfs-2.35.1.ebuild
index e18bed548895..a534d6068490 100644
--- a/sys-fs/mergerfs/mergerfs-2.30.0.ebuild
+++ b/sys-fs/mergerfs/mergerfs-2.35.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 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"
@@ -24,10 +24,6 @@ RDEPEND="${DEPEND}"
BDEPEND="sys-devel/gettext"
-PATCHES=(
- "${FILESDIR}"/mergerfs-makefiles-fixes-ar-cflags-cxxflags-ldflags.patch
-)
-
src_prepare() {
default
@@ -43,7 +39,7 @@ src_prepare() {
src_compile() {
# https://bugs.gentoo.org/725978
- tc-export AR
+ tc-export AR CC CXX
default
}
diff --git a/sys-fs/mergerfs/mergerfs-2.28.3-r1.ebuild b/sys-fs/mergerfs/mergerfs-2.36.0.ebuild
index 101fdf4ffc72..a534d6068490 100644
--- a/sys-fs/mergerfs/mergerfs-2.28.3-r1.ebuild
+++ b/sys-fs/mergerfs/mergerfs-2.36.0.ebuild
@@ -1,13 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 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"
+KEYWORDS="amd64 ~riscv x86"
# Vendorized libfuse that's bundled is under LGPL-2.1.
LICENSE="ISC LGPL-2.1"
@@ -25,9 +27,6 @@ BDEPEND="sys-devel/gettext"
src_prepare() {
default
- # drop -O2 from those handmade Makefiles.
- sed -r '/^OPTS[ \t]*=/d' -i Makefile || die
-
# Hand made build system at it's finest.
echo -e "#!/bin/sh\ntrue" >tools/update-version || die
echo "#pragma once" >src/version.hpp || die
@@ -38,6 +37,13 @@ src_prepare() {
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
diff --git a/sys-fs/mergerfs/metadata.xml b/sys-fs/mergerfs/metadata.xml
index 964e6eaa3390..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/metadata.xml b/sys-fs/metadata.xml
index 0760ba105602..00aeab521e58 100644
--- a/sys-fs/metadata.xml
+++ b/sys-fs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<catmetadata>
<longdescription lang="en">
The sys-fs category contains filesystem tools and utilities.
@@ -29,4 +29,3 @@
systemami plików.
</longdescription>
</catmetadata>
-
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/files/mhddfs-0.1.39-segfault-fix.patch b/sys-fs/mhddfs/files/mhddfs-0.1.39-segfault-fix.patch
index 493a78396190..74132c158dc0 100644
--- a/sys-fs/mhddfs/files/mhddfs-0.1.39-segfault-fix.patch
+++ b/sys-fs/mhddfs/files/mhddfs-0.1.39-segfault-fix.patch
@@ -178,23 +178,6 @@ Thanks to Gabor Kovari <gabor.kovari@gmail.com>
" mhddfs dir1,dir2.. mountpoint [ -o OPTIONS ]\n"
--- a/Makefile 2016-01-05 16:45:10.184105001 +0100
+++ b/Makefile 2015-12-21 16:32:29.000000000 +0100
-@@ -22,13 +22,13 @@
-
- TARGET = mhddfs
-
--CFLAGS += -Wall $(shell pkg-config fuse --cflags) \
-- -DFUSE_USE_VERSION=26 -MMD
-+CFLAGS = -Wall $(shell pkg-config fuse glib-2.0 --cflags) \
-+ -DFUSE_USE_VERSION=26 -MMD -g -rdynamic -O0
- ifdef WITHOUT_XATTR
- CFLAGS += -DWITHOUT_XATTR
- endif
-
--LIBS = $(shell pkg-config fuse --libs)
-+LDFLAGS = $(shell pkg-config fuse glib-2.0 --libs)
-
- FORTAR = src COPYING LICENSE README Makefile \
- README.ru.UTF-8 ChangeLog mhddfs.1 \
@@ -53,7 +53,7 @@
ifeq ($(DEBVERSION), $(VERSION))
all: $(TARGET)
diff --git a/sys-fs/mhddfs/files/mhddfs-respect-compiler-vars.patch b/sys-fs/mhddfs/files/mhddfs-respect-compiler-vars.patch
index 0c6f24f4d1a7..5a3dc51c1431 100644
--- a/sys-fs/mhddfs/files/mhddfs-respect-compiler-vars.patch
+++ b/sys-fs/mhddfs/files/mhddfs-respect-compiler-vars.patch
@@ -1,18 +1,19 @@
---- a/Makefile 2012-11-19 15:25:21.665692111 +0400
-+++ b/Makefile 2012-11-19 15:27:08.406691288 +0400
+--- a/Makefile
++++ b/Makefile
@@ -22,13 +22,13 @@
TARGET = mhddfs
-CFLAGS = -Wall $(shell pkg-config fuse --cflags) \
-+CFLAGS += -Wall $(shell pkg-config fuse --cflags) \
- -DFUSE_USE_VERSION=26 -MMD
+- -DFUSE_USE_VERSION=26 -MMD
++CFLAGS += -Wall $(shell ${PKG_CONFIG} fuse glib-2.0 --cflags) \
++ -DFUSE_USE_VERSION=26 -MMD -rdynamic
ifdef WITHOUT_XATTR
CFLAGS += -DWITHOUT_XATTR
endif
-LDFLAGS = $(shell pkg-config fuse --libs)
-+LIBS = $(shell pkg-config fuse --libs)
++LIBS = $(shell pkg-config fuse glib-2.0 --libs)
FORTAR = src COPYING LICENSE README Makefile \
README.ru.UTF-8 ChangeLog mhddfs.1 \
diff --git a/sys-fs/mhddfs/metadata.xml b/sys-fs/mhddfs/metadata.xml
index 5b159fbcadd1..a3862b8ec2fc 100644
--- a/sys-fs/mhddfs/metadata.xml
+++ b/sys-fs/mhddfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>pinkbyte@gentoo.org</email>
diff --git a/sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild b/sys-fs/mhddfs/mhddfs-0.1.39-r2.ebuild
index 78ca180e4bb5..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-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,15 +22,19 @@ RDEPEND="
sys-fs/fuse:0
"
DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
DOCS=( ChangeLog README )
PATCHES=(
"${FILESDIR}/${PN}-respect-compiler-vars.patch"
"${FILESDIR}/${P}-segfault-fix.patch"
"${FILESDIR}/${P}-xattr.patch"
+ "${FILESDIR}/${P}-parallel-build.patch"
)
src_compile() {
+ tc-export PKG_CONFIG
+
emake CC="$(tc-getCC)"
}
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 0b723a88d1c4..80b6203c4ccd 100644
--- a/sys-fs/mp3fs/Manifest
+++ b/sys-fs/mp3fs/Manifest
@@ -1 +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/metadata.xml b/sys-fs/mp3fs/metadata.xml
index 4b14ee188a9a..7441425e8bc8 100644
--- a/sys-fs/mp3fs/metadata.xml
+++ b/sys-fs/mp3fs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>tamiko@gentoo.org</email>
diff --git a/sys-fs/mp3fs/mp3fs-0.91-r1.ebuild b/sys-fs/mp3fs/mp3fs-0.91-r1.ebuild
deleted file mode 100644
index 76e7779cab45..000000000000
--- a/sys-fs/mp3fs/mp3fs-0.91-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2019 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"
-IUSE=""
-
-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 e714b58a58c1..4719fe93cf9b 100644
--- a/sys-fs/mtd-utils/Manifest
+++ b/sys-fs/mtd-utils/Manifest
@@ -1,3 +1 @@
-DIST mtd-utils-1.5.2.tar.gz 343843 BLAKE2B 7f6612c4b9185583e9bbc785f7f96b08b7897c4af0c442a6206a446dc25f3c2aae9670c9344fba09606f73b87c73a96150f77bd974c96abe475d204ba5c28068 SHA512 81eb5cf27814234af65409fe93798ec50d9f733978dc606bd33e63d98eb99afb3f988df47dc66a9368a11baee0a35fa1d0d6677af8c23428919e34bd11a25697
-DIST mtd-utils-2.0.2.tar.gz 355964 BLAKE2B 9a795ddac1287c7c44f52215faa4b6295cf5ac3917392a407c7824f8715f4a180feab95621e6b1aa738fba38950c8e12b722b7c518c3362227e6da25deecd3fb SHA512 e61f4bb24d3b96d39fe262f73e01b7bf3e15a9258fd5766657ef0d807d7b5bb0b489ade9dc45068b2a25bcf378ca2877177df3915398b367f50ff1ef9bc5be7a
-DIST mtd-utils-2.1.2.tar.gz 380333 BLAKE2B 46cccf9cbe870f3415237deaa00a3ff57fbaacc019d4adc69e1ed516e752e58776ed5f53be0d46baef69dff8a0d90e1df5ca32a80ecbb620dd4bb0231f8c94dd SHA512 bd2d61d81f367a1d9f5345fa3985f5403e37fad1c1f811e2ab291b64339170514aa1fbceb89b78ba7a357f8cc3d7ade99796e9318c9624a40e2266fa0b3a9921
+DIST mtd-utils-2.1.6.tar.bz2 458333 BLAKE2B 799c19fbee1a690fa695edfa7e2ab1691e37fccb3f83685065e93b5ceea96e550eecdba4576b7d1a58a1b0ce06e3e551ee635fe9ed16521952fc85986f74ae6f SHA512 470902475b9e583d3a12801c1cab5492c671ec3ccf853cc3336c4e2b8771eac489d67b1414b9f1e827c42ebdba0fe2cdc681297477d67a796af04d81160442bd
diff --git a/sys-fs/mtd-utils/files/mtd-utils-1.5.2-sysmacros.patch b/sys-fs/mtd-utils/files/mtd-utils-1.5.2-sysmacros.patch
deleted file mode 100644
index 5fc055d07da9..000000000000
--- a/sys-fs/mtd-utils/files/mtd-utils-1.5.2-sysmacros.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://bugs.gentoo.org/580206
-
-From 9a06f45ec71116d76ee4b268ebe1b33d45b06fc0 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 16 Apr 2016 22:10:43 -0400
-Subject: [PATCH mtd-utils] include sys/sysmacros.h for major/minor/makedev
-
-These functions have always been defined in sys/sysmacros.h under
-Linux C libraries. For some, including sys/types.h implicitly
-includes that as well, but glibc wants to deprecate that, and some
-others already have. Include the header explicitly for the funcs.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- include/common.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/include/common.h b/include/common.h
-index fb0ca83..8cb3142 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -28,6 +28,7 @@
- #include <errno.h>
- #include <features.h>
- #include <inttypes.h>
-+#include <sys/sysmacros.h>
- #include "version.h"
-
- #ifndef PROGRAM_NAME
---
-2.7.4
-
diff --git a/sys-fs/mtd-utils/metadata.xml b/sys-fs/mtd-utils/metadata.xml
index 9075500ddb8b..85989de1c9ac 100644
--- a/sys-fs/mtd-utils/metadata.xml
+++ b/sys-fs/mtd-utils/metadata.xml
@@ -1,14 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>robbat2@gentoo.org</email>
-</maintainer>
-<maintainer type="project">
- <email>embedded@gentoo.org</email>
- <name>Embedded Gentoo</name>
-</maintainer>
-<upstream>
- <remote-id type="cpe">cpe:/a:mtd-utils_project:mtd-utils</remote-id>
-</upstream>
+ <maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+ <name>Robin H. Johnson</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>embedded@gentoo.org</email>
+ <name>Embedded Gentoo</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="cpe">cpe:/a:mtd-utils_project:mtd-utils</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sys-fs/mtd-utils/mtd-utils-1.5.2.ebuild b/sys-fs/mtd-utils/mtd-utils-1.5.2.ebuild
deleted file mode 100644
index d319387dee4d..000000000000
--- a/sys-fs/mtd-utils/mtd-utils-1.5.2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils vcs-snapshot toolchain-funcs
-
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="git://git.infradead.org/mtd-utils.git"
-
- inherit git-2
- SRC_URI=""
- #KEYWORDS=""
-else
- if [[ ${PV} == *.*.* ]] ; then
- MY_PV="${PV}-*"
- SRC_URI="http://git.infradead.org/mtd-utils.git/snapshot/v${PV}.tar.gz -> ${P}.tar.gz"
- else
- MY_PV="${PV}-02ae0aac87576d07202a62d11294ea55b56f450b"
- SRC_URI="mirror://gentoo/${PN}-snapshot-${MY_PV}.tar.xz"
- fi
- KEYWORDS="amd64 arm ~mips ppc x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="MTD userspace tools (NFTL, JFFS2, NAND, FTL, UBI)"
-HOMEPAGE="http://git.infradead.org/?p=mtd-utils.git;a=summary"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="xattr"
-
-# We need libuuid
-RDEPEND="!sys-fs/mtd
- dev-libs/lzo
- sys-libs/zlib
- >=sys-apps/util-linux-2.16"
-# ACL is only required for the <sys/acl.h> header file to build mkfs.jffs2
-# And ACL brings in Attr as well.
-DEPEND="${RDEPEND}
- xattr? ( sys-apps/acl )"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-sysmacros.patch #580206
-}
-
-makeopts() {
- # These affect build output, so keep it common between compile & install.
- echo CROSS=${CHOST}- V=1
- use xattr || echo WITHOUT_XATTR=1
-}
-
-src_compile() {
- tc-export AR CC RANLIB
- local compileopts=(
- AR="${AR}" CC="${CC}" RANLIB="${RANLIB}"
- )
- emake $(makeopts) "${compileopts[@]}"
-}
-
-src_install() {
- emake $(makeopts) install DESTDIR="${ED}"
- dodoc *.txt
- newdoc mkfs.ubifs/README README.mkfs.ubifs
- # TODO: check ubi-utils for docs+scripts
-}
diff --git a/sys-fs/mtd-utils/mtd-utils-2.0.2.ebuild b/sys-fs/mtd-utils/mtd-utils-2.0.2.ebuild
deleted file mode 100644
index 0fe8a0ccf747..000000000000
--- a/sys-fs/mtd-utils/mtd-utils-2.0.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils vcs-snapshot
-
-if [[ ${PV} == "99999999" ]] ; then
- EGIT_REPO_URI="git://git.infradead.org/mtd-utils.git"
-
- inherit git-2
- SRC_URI=""
- #KEYWORDS=""
-else
- if [[ ${PV} == *.*.* ]] ; then
- MY_PV="${PV}-*"
- SRC_URI="http://git.infradead.org/mtd-utils.git/snapshot/v${PV}.tar.gz -> ${P}.tar.gz"
- else
- MY_PV="${PV}-02ae0aac87576d07202a62d11294ea55b56f450b"
- SRC_URI="mirror://gentoo/${PN}-snapshot-${MY_PV}.tar.xz"
- fi
- KEYWORDS="amd64 arm ~mips ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-fi
-
-DESCRIPTION="MTD userspace tools (NFTL, JFFS2, NAND, FTL, UBI)"
-HOMEPAGE="http://git.infradead.org/?p=mtd-utils.git;a=summary"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="xattr"
-
-# We need libuuid
-RDEPEND="!sys-fs/mtd
- dev-libs/lzo
- sys-libs/zlib
- >=sys-apps/util-linux-2.16"
-# ACL is only required for the <sys/acl.h> header file to build mkfs.jffs2
-# And ACL brings in Attr as well.
-DEPEND="${RDEPEND}
- xattr? ( sys-apps/acl )
- sys-devel/libtool"
-
-src_prepare() {
- default
- ./autogen.sh || die
-}
-
-src_configure() {
- econf \
- $(use_with xattr)
-}
-
-src_install() {
- default
- dodoc jffsX-utils/device_table.txt
- newdoc ubifs-utils/mkfs.ubifs/README README.mkfs.ubifs
- doman \
- jffsX-utils/mkfs.jffs2.1 \
- ubi-utils/ubinize.8
-}
diff --git a/sys-fs/mtd-utils/mtd-utils-2.1.2.ebuild b/sys-fs/mtd-utils/mtd-utils-2.1.2.ebuild
deleted file mode 100644
index 9e4be5334a33..000000000000
--- a/sys-fs/mtd-utils/mtd-utils-2.1.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DESCRIPTION="MTD userspace tools (NFTL, JFFS2, NAND, FTL, UBI)"
-HOMEPAGE="http://git.infradead.org/?p=mtd-utils.git;a=summary"
-SRC_URI="https://github.com/sigma-star/mtd-utils/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+lzo xattr +zstd"
-
-DEPEND="!sys-fs/mtd
- >=sys-apps/util-linux-2.16
- sys-libs/zlib
- lzo? ( dev-libs/lzo )
- xattr? ( sys-apps/acl )
- zstd? ( app-arch/zstd )"
-RDEPEND="${DEPEND}"
-BDEPEND="sys-devel/libtool"
-
-DOCS=( jffsX-utils/device_table.txt ubifs-utils/mkfs.ubifs/README )
-
-src_prepare() {
- default
- ./autogen.sh || die
-}
-
-src_configure() {
- econf \
- $(use_with lzo) \
- $(use_with xattr) \
- $(use_with zstd)
-}
-
-src_install() {
- default
- doman \
- jffsX-utils/mkfs.jffs2.1 \
- ubi-utils/ubinize.8
-}
diff --git a/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild b/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
new file mode 100644
index 000000000000..437ded5330bf
--- /dev/null
+++ b/sys-fs/mtd-utils/mtd-utils-2.1.6-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+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
+ econf \
+ --enable-tests \
+ $(use_enable test unit-tests) \
+ $(use_with lzo) \
+ $(use_with ssl ubifs ) \
+ $(use_with xattr) \
+ $(use_with zstd)
+}
+
+src_install() {
+ default
+ doman \
+ jffsX-utils/mkfs.jffs2.1 \
+ ubi-utils/ubinize.8
+}
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 5126286357c7..66233d9589c3 100644
--- a/sys-fs/mtools/Manifest
+++ b/sys-fs/mtools/Manifest
@@ -1,3 +1,2 @@
-DIST mtools-4.0.18.tar.bz2 420190 BLAKE2B 92fdf8b054287e3cb4eddb40c98f5ac4229a38473b633c25ab74a07a8a72d38c2767ae648a35cf0dac9dedfa2f7789afc4904a50e1328e2baa0a289d93b094fb SHA512 3981a4727aa4e2ec5c931201b236f52fcd1c9d55f888cb2fbdc5c4172402e2b229ede9a5005b972ffdad59bcb861e2fcc01404845e521116419079ae78239090
-DIST mtools-4.0.23.tar.bz2 418592 BLAKE2B 442f552087a5d53ef0ead6161cdad7997dc45a3e210c2cb442a8b2ba42866152f93e4a1f5b58df8d68316168374ea034b390bcf4c607ac3a1c477c4ec5e7842c SHA512 c8c48adedc3f3e4eeafead27ce80172c9cb9690b575618842001ed16aa0011dcd2bc517882ea4bf01a73810ba151aa4b86f8ce2f97d6e8a0177d09be71a6d1ed
-DIST mtools-4.0.24.tar.bz2 418178 BLAKE2B 96ccbde0e5ed5e304c73c7faaeb495751c43ae37970e5c2329299e0f7bf90f3a810f4ca95faea10a00e5af110be579a3b083043314e980bb0128226caffb5608 SHA512 b74becc4f696315cfabc016d1746e744b43e366de73bf1bffeec4fbab1e4815967594de8acb4af01f89d36a925f93672efbac205b89540161bd53ab7edebcf04
+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/files/mtools-4.0.18-attr.patch b/sys-fs/mtools/files/mtools-4.0.18-attr.patch
deleted file mode 100644
index 3cd770be8bde..000000000000
--- a/sys-fs/mtools/files/mtools-4.0.18-attr.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e8437f906ca86fd5b1cac20d240a0e114c5df7a9 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 9 Mar 2017 16:06:54 -0800
-Subject: [PATCH] fix unused attribute in func definition
-
-UNUSED is for wrapping variable decls, not for variables in a function
-definition. It will insert a semi-colon into the mix which makes clang
-upset:
-x86_64-cros-linux-gnu-clang -DHAVE_CONFIG_H -DSYSCONFDIR=\"/etc/mtools\" \
- -DCPU_x86_64 -DVENDOR_cros -DOS_linux_gnu -O2 -pipe -O2 -pipe \
- -march=x86-64 -msse3 -g -fno-exceptions -fno-unwind-tables \
- -fno-asynchronous-unwind-tables -clang-syntax -Wall \
- -fno-strict-aliasing -I. -I. -c mainloop.c
-mainloop.c:89:15: error: expected ')'
-int unix_loop(UNUSED(Stream_t *Stream), MainParam_t *mp, char *arg,
- ^
-./sysincludes.h:106:47: note: expanded from macro 'UNUSED'
- ^
-
-Arguably this should fail on gcc too, but it doesn't today.
-
-URL: https://crbug.com/644387
----
- mainloop.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mainloop.c b/mainloop.c
-index f5f8349f1472..69af9a80c3e4 100644
---- a/mainloop.c
-+++ b/mainloop.c
-@@ -86,7 +86,7 @@ static const char *fix_mcwd(char *ans)
- }
-
- int unix_dir_loop(Stream_t *Stream, MainParam_t *mp);
--int unix_loop(UNUSED(Stream_t *Stream), MainParam_t *mp, char *arg,
-+int unix_loop(Stream_t *Stream UNUSEDP, MainParam_t *mp, char *arg,
- int follow_dir_link);
-
- static int _unix_loop(Stream_t *Dir, MainParam_t *mp,
-@@ -95,7 +95,7 @@ static int _unix_loop(Stream_t *Dir, MainParam_t *mp,
- return unix_dir_loop(Dir, mp);
- }
-
--int unix_loop(UNUSED(Stream_t *Stream), MainParam_t *mp,
-+int unix_loop(Stream_t *Stream UNUSEDP, MainParam_t *mp,
- char *arg, int follow_dir_link)
- {
- int ret;
---
-2.12.0
-
diff --git a/sys-fs/mtools/files/mtools-4.0.18-locking.patch b/sys-fs/mtools/files/mtools-4.0.18-locking.patch
deleted file mode 100644
index 3b53c73c645c..000000000000
--- a/sys-fs/mtools/files/mtools-4.0.18-locking.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-https://crbug.com/508713
-https://lists.gnu.org/archive/html/info-mtools/2016-11/msg00000.html
-
-From 04df65ed797e47da5b423c7f9aec99d82dfde400 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@chromium.org>
-Date: Wed, 7 Sep 2016 12:33:42 -0400
-Subject: [PATCH] add support for retrying device locking
-
-When running syslinux's install phase, it will run a bunch of mtools
-commands in quick succession. If you're on a fast enough machine, it
-can often fail with errors like:
-plain floppy: device "/proc/2908/fd/3" busy (Resource temporarily unavailable):
-Cannot initialize 'S:'
-Bad target s:/ldlinux.sys
-syslinux: failed to create ldlinux.sys
-
-The issue is that after some of the mtools calls, the kernel notices
-that the fs image has changed, so it notifies userspace. This wakes
-up udev which grabs a lock on the device to rescan it for changes
-(e.g. updated fs metadata like UUID). The udev phase does not finish
-before syslinux fires off another mtools call which means mtools now
-fails with a locking error.
-
-You can recreate this with a simple test:
-- loop mount a fat fs image
-- open the loop device for writing
-- generate a mtools.conf pointing the file to /proc/$pid/fd/$fd
-- run mattrib && mcopy
-- see udev open/lock the loop device after mattrib runs to probe it
-- see mcopy fail because udev is still holding the lock
-
-To fix things, we teach mtools to retry its locking calls temporarily.
-If it still fails after a timeout, we abort like normal. We also make
-this behavior configurable by adding a new global timeout option.
----
- config.c | 2 ++
- mtools.h | 1 +
- mtools.texi | 7 +++++++
- mtools.tmpl.5 | 4 ++++
- plain_io.c | 10 ++++++++++
- xdf_io.c | 11 +++++++++++
- 6 files changed, 35 insertions(+)
-
-diff --git a/config.c b/config.c
-index f08688399d1d..ea4178452f6a 100644
---- a/config.c
-+++ b/config.c
-@@ -63,6 +63,7 @@ unsigned int mtools_no_vfat=0;
- unsigned int mtools_numeric_tail=1;
- unsigned int mtools_dotted_dir=0;
- unsigned int mtools_twenty_four_hour_clock=1;
-+unsigned int mtools_lock_timeout=30;
- unsigned int mtools_default_codepage=850;
- const char *mtools_date_string="yyyy-mm-dd";
- char *country_string=0;
-@@ -90,6 +91,7 @@ static switches_t global_switches[] = {
- (caddr_t) &mtools_twenty_four_hour_clock, T_UINT },
- { "MTOOLS_DATE_STRING",
- (caddr_t) &mtools_date_string, T_STRING },
-+ { "MTOOLS_LOCK_TIMEOUT", (caddr_t) &mtools_lock_timeout, T_UINT },
- { "DEFAULT_CODEPAGE", (caddr_t) &mtools_default_codepage, T_UINT }
- };
-
-diff --git a/mtools.h b/mtools.h
-index ef98e942ee2c..fa8c1bdc8a1b 100644
---- a/mtools.h
-+++ b/mtools.h
-@@ -188,6 +188,7 @@ extern unsigned int mtools_ignore_short_case;
- extern unsigned int mtools_no_vfat;
- extern unsigned int mtools_numeric_tail;
- extern unsigned int mtools_dotted_dir;
-+extern unsigned int mtools_lock_timeout;
- extern unsigned int mtools_twenty_four_hour_clock;
- extern const char *mtools_date_string;
- extern unsigned int mtools_rate_0, mtools_rate_any;
-diff --git a/mtools.texi b/mtools.texi
-index 1085789c1cb6..1c7ad94d40f9 100644
---- a/mtools.texi
-+++ b/mtools.texi
-@@ -658,6 +658,10 @@ DOSEMU image files.
- @vindex MTOOLS_FAT_COMPATIBILITY
- @vindex MTOOLS_LOWER_CASE
- @vindex MTOOLS_NO_VFAT
-+@vindex MTOOLS_DOTTED_DIR
-+@vindex MTOOLS_NAME_NUMERIC_TAIL
-+@vindex MTOOLS_TWENTY_FOUR_HOUR_CLOCK
-+@vindex MTOOLS_LOCK_TIMEOUT
- @cindex FreeDOS
-
- Global flags may be set to 1 or to 0.
-@@ -692,6 +696,9 @@ clash would have happened.
- @item MTOOLS_TWENTY_FOUR_HOUR_CLOCK
- If 1, uses the European notation for times (twenty four hour clock),
- else uses the UK/US notation (am/pm)
-+@item MTOOLS_LOCK_TIMEOUT
-+How long, in seconds, to wait for a locked device to become free.
-+Defaults to 30.
- @end table
-
- Example:
-diff --git a/mtools.tmpl.5 b/mtools.tmpl.5
-index 565fdd7513aa..8cdaaf2ba929 100644
---- a/mtools.tmpl.5
-+++ b/mtools.tmpl.5
-@@ -106,6 +106,10 @@ clash would have happened.
- \&\fR\&\f(CWMTOOLS_TWENTY_FOUR_HOUR_CLOCK\fR\
- If 1, uses the European notation for times (twenty four hour clock),
- else uses the UK/US notation (am/pm)
-+.TP
-+\&\fR\&\f(CWMTOOLS_LOCK_TIMEOUT\fR\
-+How long, in seconds, to wait for a locked device to become free.
-+Defaults to 30.
- .PP
- Example:
- Inserting the following line into your configuration file instructs
-diff --git a/plain_io.c b/plain_io.c
-index c9d8418b8b4d..3dc035c9ce92 100644
---- a/plain_io.c
-+++ b/plain_io.c
-@@ -632,7 +632,17 @@ APIRET rc;
- #ifndef __CYGWIN__
- #ifndef OS_mingw32msvc
- /* lock the device on writes */
-+ retry:
- if (locked && lock_dev(This->fd, mode == O_RDWR, dev)) {
-+ /* retry the lock in case another system process (e.g. udev)
-+ * has temporarily locked the device. this happens when you
-+ * run multiple mtools commands at once which triggers the
-+ * system to lock/rescan/unlock. */
-+ static int retries = 0;
-+ if (errno == EAGAIN && retries++ < mtools_lock_timeout * 10) {
-+ usleep(100);
-+ goto retry;
-+ }
- if(errmsg)
- #ifdef HAVE_SNPRINTF
- snprintf(errmsg,199,
-diff --git a/xdf_io.c b/xdf_io.c
-index f0db3b3d9f38..8f64f6348f0c 100644
---- a/xdf_io.c
-+++ b/xdf_io.c
-@@ -638,7 +638,18 @@ Stream_t *XdfOpen(struct device *dev, char *name,
- goto exit_2;
-
- /* lock the device on writes */
-+ retry:
- if (lock_dev(This->fd, mode == O_RDWR, dev)) {
-+ /* retry the lock in case another system process (e.g. udev)
-+ * has temporarily locked the device. this happens when you
-+ * run multiple mtools commands at once which triggers the
-+ * system to lock/rescan/unlock. */
-+ static int retries = 0;
-+ if (errno == EAGAIN && retries++ < mtools_lock_timeout * 10) {
-+ usleep(100);
-+ goto retry;
-+ }
-+
- #ifdef HAVE_SNPRINTF
- snprintf(errmsg,199,"xdf floppy: device \"%s\" busy:",
- dev->name);
---
-2.9.0
-
diff --git a/sys-fs/mtools/files/mtools-4.0.18-memset.patch b/sys-fs/mtools/files/mtools-4.0.18-memset.patch
deleted file mode 100644
index cf8d724406df..000000000000
--- a/sys-fs/mtools/files/mtools-4.0.18-memset.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bafeabbc474a98314e8cecf42c8339e1da21fea2 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Thu, 9 Mar 2017 16:23:19 -0800
-Subject: [PATCH] fix typo in scsi_cmd setup
-
-The memset call ends up referring to the function scsi_cmd and
-clearing its memory instead of the local my_scsi_cmd variable.
----
- scsi.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scsi.c b/scsi.c
-index 7510edcefe95..85ff3bc3dc55 100644
---- a/scsi.c
-+++ b/scsi.c
-@@ -170,7 +170,7 @@ int scsi_cmd(int fd, unsigned char *cdb, int cmdlen, scsi_io_mode_t mode,
- /*
- ** Init the command
- */
-- memset(&scsi_cmd,0,sizeof(scsi_cmd));
-+ memset(&my_scsi_cmd,0,sizeof(my_scsi_cmd));
- my_scsi_cmd.interface_id = 'S';
- my_scsi_cmd.dxfer_direction = (mode == SCSI_IO_READ)?(SG_DXFER_FROM_DEV):(SG_DXFER_TO_DEV);
- my_scsi_cmd.cmd_len = cmdlen;
---
-2.12.0
-
diff --git a/sys-fs/mtools/metadata.xml b/sys-fs/mtools/metadata.xml
index dd09ab641ca1..bffaeaa4d768 100644
--- a/sys-fs/mtools/metadata.xml
+++ b/sys-fs/mtools/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
@@ -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.18-r2.ebuild b/sys-fs/mtools/mtools-4.0.18-r2.ebuild
deleted file mode 100644
index 92c1a95bfe13..000000000000
--- a/sys-fs/mtools/mtools-4.0.18-r2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit flag-o-matic eutils
-
-DESCRIPTION="utilities to access MS-DOS disks from Unix without mounting them"
-HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 sparc x86 ~x64-macos ~x64-solaris"
-IUSE="X elibc_glibc"
-
-RDEPEND="
- !elibc_glibc? ( virtual/libiconv )
- X? (
- x11-libs/libICE
- x11-libs/libXau
- x11-libs/libSM
- x11-libs/libX11
- x11-libs/libXt
- )"
-DEPEND="${RDEPEND}
- sys-apps/texinfo"
-# texinfo is required because we patch mtools.texi
-# drop it when mtools-4.0.18-locking.patch is no longer applied
-
-src_prepare() {
- # Don't throw errors on existing directories
- sed -i -e "s:mkdir:mkdir -p:" mkinstalldirs || die
-
- epatch "${FILESDIR}"/${P}-locking.patch # https://crbug.com/508713
- epatch "${FILESDIR}"/${P}-attr.patch # https://crbug.com/644387
- epatch "${FILESDIR}"/${P}-memset.patch
-}
-
-src_configure() {
- # 447688
- use !elibc_glibc && use !elibc_musl && append-libs "-liconv"
- econf \
- --sysconfdir="${EPREFIX}"/etc/mtools \
- $(use_with X x)
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc README* Release.notes
-
- insinto /etc/mtools
- doins mtools.conf
- # default is fine
- sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED}"/etc/mtools/mtools.conf || die
-}
diff --git a/sys-fs/mtools/mtools-4.0.24.ebuild b/sys-fs/mtools/mtools-4.0.42.ebuild
index 163ada6df317..affe33edeb48 100644
--- a/sys-fs/mtools/mtools-4.0.24.ebuild
+++ b/sys-fs/mtools/mtools-4.0.42.ebuild
@@ -1,47 +1,53 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic
-DESCRIPTION="utilities to access MS-DOS disks from Unix without mounting them"
+DESCRIPTION="Utilities to access MS-DOS disks from Unix without mounting them"
HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools"
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86 ~x64-macos ~x64-solaris"
-IUSE="X elibc_glibc"
+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? (
+ virtual/libiconv
+ gui? (
x11-libs/libICE
x11-libs/libXau
x11-libs/libSM
x11-libs/libX11
x11-libs/libXt
- )"
+ )
+"
DEPEND="${RDEPEND}"
src_configure() {
- # 447688
- use !elibc_glibc && use !elibc_musl && append-libs "-liconv"
+ if ! use elibc_glibc && ! use elibc_musl ; then
+ # bug #447688
+ append-libs "-liconv"
+ fi
+
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/mtools
- $(use_with X x)
+ $(use_with gui x)
)
+
econf "${myeconfargs[@]}"
}
src_install() {
local -a DOCS=( README* Release.notes )
+
default
insinto /etc/mtools
doins mtools.conf
- # default is fine
+ # Default is fine
sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED}"/etc/mtools/mtools.conf || die
}
diff --git a/sys-fs/mtools/mtools-4.0.23.ebuild b/sys-fs/mtools/mtools-4.0.43.ebuild
index 03496c70b5bc..1ed92576168b 100644
--- a/sys-fs/mtools/mtools-4.0.23.ebuild
+++ b/sys-fs/mtools/mtools-4.0.43.ebuild
@@ -1,54 +1,53 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
+EAPI=8
inherit flag-o-matic
-DESCRIPTION="utilities to access MS-DOS disks from Unix without mounting them"
+DESCRIPTION="Utilities to access MS-DOS disks from Unix without mounting them"
HOMEPAGE="https://www.gnu.org/software/mtools/ https://savannah.gnu.org/projects/mtools"
SRC_URI="mirror://gnu/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 ~sparc x86 ~x64-macos ~x64-solaris"
-IUSE="X elibc_glibc"
+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? (
+ virtual/libiconv
+ gui? (
x11-libs/libICE
x11-libs/libXau
x11-libs/libSM
x11-libs/libX11
x11-libs/libXt
- )"
+ )
+"
DEPEND="${RDEPEND}"
-src_prepare() {
- default
-
- # Don't throw errors on existing directories
- sed -i -e "s:mkdir:mkdir -p:" mkinstalldirs || die
-}
-
src_configure() {
- # 447688
- use !elibc_glibc && use !elibc_musl && append-libs "-liconv"
+ if ! use elibc_glibc && ! use elibc_musl ; then
+ # bug #447688
+ append-libs "-liconv"
+ fi
+
local myeconfargs=(
--sysconfdir="${EPREFIX}"/etc/mtools
- $(use_with X x)
+ $(use_with gui x)
)
+
econf "${myeconfargs[@]}"
}
src_install() {
local -a DOCS=( README* Release.notes )
+
default
insinto /etc/mtools
doins mtools.conf
- # default is fine
- sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED%/}"/etc/mtools/mtools.conf || die
+ # Default is fine
+ sed -i -e '/^SAMPLE FILE$/s:^:#:' "${ED}"/etc/mtools/mtools.conf || die
}
diff --git a/sys-fs/mtpfs/files/mtpfs-1.1-deprecated_lock_init.patch b/sys-fs/mtpfs/files/mtpfs-1.1-deprecated_lock_init.patch
new file mode 100644
index 000000000000..d369ebfe1f2a
--- /dev/null
+++ b/sys-fs/mtpfs/files/mtpfs-1.1-deprecated_lock_init.patch
@@ -0,0 +1,24 @@
+diff -Naur mtpfs-1.1.orig/mtpfs.c mtpfs-1.1/mtpfs.c
+--- mtpfs-1.1.orig/mtpfs.c 2021-10-01 00:15:15.763423589 +0200
++++ mtpfs-1.1/mtpfs.c 2021-10-01 00:16:07.626486888 +0200
+@@ -1371,6 +1371,8 @@
+ extern int optind;
+ extern char *optarg;
+
++ g_mutex_init(&device_lock);
++
+ //while ((opt = getopt(argc, argv, "d")) != -1 ) {
+ //switch (opt) {
+ //case 'd':
+diff -Naur mtpfs-1.1.orig/mtpfs.h mtpfs-1.1/mtpfs.h
+--- mtpfs-1.1.orig/mtpfs.h 2021-10-01 00:15:15.779423609 +0200
++++ mtpfs-1.1/mtpfs.h 2021-10-01 00:16:20.322502337 +0200
+@@ -77,7 +77,7 @@
+ static GSList *myfiles = NULL;
+ static LIBMTP_playlist_t *playlists = NULL;
+ static gboolean playlists_changed = FALSE;
+-static GMutex device_lock = G_STATIC_MUTEX_INIT;
++static GMutex device_lock;
+
+
+ #endif /* _MTPFS_H_ */
diff --git a/sys-fs/mtpfs/metadata.xml b/sys-fs/mtpfs/metadata.xml
index cc200ab69553..82652302f069 100644
--- a/sys-fs/mtpfs/metadata.xml
+++ b/sys-fs/mtpfs/metadata.xml
@@ -1,15 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
<name>Bernard Cafarelli</name>
</maintainer>
- <maintainer type="person">
- <email>slyfox@gentoo.org</email>
- <name>Sergei Trofimovich</name>
- </maintainer>
-
<longdescription>
MTPfs is a FUSE filesystem that supports reading and writing from any
MTP device, as supported by libmtp. MTPfs includes extra features such
diff --git a/sys-fs/mtpfs/mtpfs-1.1-r5.ebuild b/sys-fs/mtpfs/mtpfs-1.1-r6.ebuild
index 4230a9048a14..04dd5b86b903 100644
--- a/sys-fs/mtpfs/mtpfs-1.1-r5.ebuild
+++ b/sys-fs/mtpfs/mtpfs-1.1-r6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,10 +13,10 @@ KEYWORDS="amd64 x86"
IUSE="debug mad"
RDEPEND="dev-libs/glib:2
- >=media-libs/libmtp-1.1.2
+ >=media-libs/libmtp-1.1.2:=
<sys-fs/fuse-3:0=
mad? (
- media-libs/libid3tag
+ media-libs/libid3tag:=
media-libs/libmad
)"
DEPEND="${RDEPEND}"
@@ -27,7 +27,8 @@ DOCS=(AUTHORS NEWS README)
PATCHES=( "${FILESDIR}"/${P}-fix-mutex-crash.patch
"${FILESDIR}"/${P}-unitialized-variable.patch
"${FILESDIR}"/${P}-wking-patches/
- "${FILESDIR}"/${P}-g_printf.patch )
+ "${FILESDIR}"/${P}-g_printf.patch
+ "${FILESDIR}"/${P}-deprecated_lock_init.patch )
src_prepare() {
default
diff --git a/sys-fs/multipath-tools/Manifest b/sys-fs/multipath-tools/Manifest
index dd78e5e9f42d..4be7fb5a794c 100644
--- a/sys-fs/multipath-tools/Manifest
+++ b/sys-fs/multipath-tools/Manifest
@@ -1,2 +1,2 @@
-DIST multipath-tools-0.8.3.tar.gz 465248 BLAKE2B 21a7a18c70150b4422bdd0ae02f26f491845eb06928ab74e631df8c6b3c110d10f43f75b9f8289a7134826c923b7ba58ce54c40497c3b7e6211e53902c8a1b5f SHA512 d9fdc2763f5a1efa15ee07c5d863008c9694623935f62a0e0b56f941df4e0d0ca3f86056fefc9b5ca828b47782127e3d55f2f925b1ed957e02b675bef36f4cae
-DIST multipath-tools-0.8.4.tar.gz 480994 BLAKE2B be8368df049218e2eaa1749e7b1c7a930da15f0311ab549b1bbba9c019dcfe39f90a05fd621e0703301ef1d55c98ac8cc74231d82950d9066f19d8764421704b SHA512 720823188c053c1c50269a30e34a9d69099098495bfd607076bcfa2c079565e3f0580c91783f19d42ed82290c0db98e4e19ef620eca4ee5ec7885c49c72d2307
+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.7.5-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.7.5-respect-flags.patch
deleted file mode 100644
index fef55ce31e91..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.7.5-respect-flags.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- multipath-tools-0.7.5/Makefile.inc
-+++ multipath-tools-0.7.5/Makefile.inc
-@@ -91,12 +91,13 @@
- -Wp,-D_FORTIFY_SOURCE=2 $(STACKPROT) \
- --param=ssp-buffer-size=4
-
--CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-- -MMD -MP $(CFLAGS)
-+CFLAGS ?= $(OPTFLAGS)
-+CFLAGS += -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-+ -MMD -MP
- BIN_CFLAGS = -fPIE -DPIE
- LIB_CFLAGS = -fPIC
- SHARED_FLAGS = -shared
--LDFLAGS = -Wl,-z,relro -Wl,-z,now
-+LDFLAGS += -Wl,-z,relro -Wl,-z,now
- BIN_LDFLAGS = -pie
-
- # Check whether a function with name $1 has been declared in header file $2.
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.3-fix-gcc-10-compatibility.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.3-fix-gcc-10-compatibility.patch
deleted file mode 100644
index 18ed8d65e0f9..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.3-fix-gcc-10-compatibility.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libmultipath/structs.h
-+++ b/libmultipath/structs.h
-@@ -106,7 +106,7 @@ enum yes_no_undef_states {
- * _FIND_MULTIPATHS_F must have the same value as YNU_YES.
- * Generate a compile time error if that isn't the case.
- */
--char ___error1___[-(_FIND_MULTIPATHS_F != YNU_YES)];
-+extern char ___error1___[-(_FIND_MULTIPATHS_F != YNU_YES)];
-
- #define find_multipaths_on(conf) \
- (!!((conf)->find_multipaths & _FIND_MULTIPATHS_F))
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.3-json-c-0.14.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.3-json-c-0.14.patch
deleted file mode 100644
index 34d02f7b5d7f..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.3-json-c-0.14.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8438a9cd8d7ed88645fa8e6a8f19c0fd9ae872a7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
-Date: Mon, 13 Apr 2020 19:22:02 +0200
-Subject: [PATCH] Add support for upcoming json-c 0.14.0.
-
-TRUE/FALSE are not defined anymore. 1 and 0 are used instead.
-This is backwards compatible, as earlier versions of json-c are
-using the same integer values in their present definitions.
----
- libdmmp/libdmmp_private.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libdmmp/libdmmp_private.h b/libdmmp/libdmmp_private.h
-index ac85b63f..4378962b 100644
---- a/libdmmp/libdmmp_private.h
-+++ b/libdmmp/libdmmp_private.h
-@@ -82,7 +82,7 @@ static out_type func_name(struct dmmp_context *ctx, const char *var_name) { \
- do { \
- json_type j_type = json_type_null; \
- json_object *j_obj_tmp = NULL; \
-- if (json_object_object_get_ex(j_obj, key, &j_obj_tmp) != TRUE) { \
-+ if (json_object_object_get_ex(j_obj, key, &j_obj_tmp) != 1) { \
- _error(ctx, "Invalid JSON output from multipathd IPC: " \
- "key '%s' not found", key); \
- rc = DMMP_ERR_IPC_ERROR; \
---
-2.26.0
-
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.3-no-gziped-docs.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.3-no-gziped-docs.patch
deleted file mode 100644
index 534a8d33df82..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.3-no-gziped-docs.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-Do not gzip docs
-
---- a/kpartx/Makefile
-+++ b/kpartx/Makefile
-@@ -21,7 +21,6 @@ all: $(EXEC)
-
- $(EXEC): $(OBJS)
- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-
- install: $(EXEC) $(EXEC).8
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
-@@ -33,11 +32,11 @@ install: $(EXEC) $(EXEC).8
- $(INSTALL_PROGRAM) -m 644 kpartx.rules $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
- $(INSTALL_PROGRAM) -m 644 del-part-nodes.rules $(DESTDIR)$(libudevdir)/rules.d/68-del-part-nodes.rules
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
- $(RM) $(DESTDIR)$(libudevdir)/kpartx_id
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/11-dm-parts.rules
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/66-kpartx.rules
---- a/libdmmp/Makefile
-+++ b/libdmmp/Makefile
-@@ -40,7 +40,7 @@ install:
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
- perl -i -pe 's|__INCLUDEDIR__|$(includedir)|g' \
- $(DESTDIR)$(pkgconfdir)/$(PKGFILE)
-- @for file in docs/man/*.3.gz; do \
-+ @for file in docs/man/*.3; do \
- $(INSTALL_PROGRAM) -m 644 -D \
- $$file \
- $(DESTDIR)$(man3dir)/ || exit $?; \
-@@ -69,11 +69,11 @@ check: all
- speed_test: all
- $(MAKE) -C test speed_test
-
--doc: docs/man/$(EXTRA_MAN_FILES).gz
-+doc: docs/man/$(EXTRA_MAN_FILES)
-
- TEMPFILE := $(shell mktemp)
-
--docs/man/$(EXTRA_MAN_FILES).gz: $(HEADERS)
-+docs/man/$(EXTRA_MAN_FILES): $(HEADERS)
- @for file in $(EXTRA_MAN_FILES); do \
- $(INSTALL_PROGRAM) -v -m 644 -D docs/$$file docs/man/$$file; \
- done
-@@ -82,10 +82,7 @@ docs/man/$(EXTRA_MAN_FILES).gz: $(HEADERS)
- perl docs/kernel-doc -man "$(TEMPFILE)" | \
- perl docs/split-man.pl docs/man
- -rm -f "$(TEMPFILE)"
-- @for file in docs/man/*.3; do \
-- gzip -f $$file; \
-- done
-- find docs/man -type f -name \*[0-9].gz
-+ find docs/man -type f -name \*.[0-9]
-
- dep_clean:
- $(RM) $(OBJS:.o=.d)
---- a/libmpathpersist/Makefile
-+++ b/libmpathpersist/Makefile
-@@ -16,8 +16,6 @@ all: $(LIBS)
- $(LIBS): $(OBJS)
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) $(LIBDEPS) -Wl,-soname=$@ -o $@ $(OBJS)
- $(LN) $(LIBS) $(DEVLIB)
-- $(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz
-- $(GZIP) mpath_persistent_reserve_out.3 > mpath_persistent_reserve_out.3.gz
-
- install: $(LIBS)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
-@@ -26,14 +24,14 @@ install: $(LIBS)
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(man3dir)
- $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(includedir)
- $(LN) $(LIBS) $(DESTDIR)$(syslibdir)/$(DEVLIB)
-- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3.gz $(DESTDIR)$(man3dir)
-- $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3.gz $(DESTDIR)$(man3dir)
-+ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_in.3 $(DESTDIR)$(man3dir)
-+ $(INSTALL_PROGRAM) -m 644 mpath_persistent_reserve_out.3 $(DESTDIR)$(man3dir)
- $(INSTALL_PROGRAM) -m 644 mpath_persist.h $(DESTDIR)$(includedir)
-
- uninstall:
- $(RM) $(DESTDIR)$(syslibdir)/$(LIBS)
-- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3.gz
-- $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3.gz
-+ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_in.3
-+ $(RM) $(DESTDIR)$(man3dir)/mpath_persistent_reserve_out.3
- $(RM) $(DESTDIR)$(includedir)/mpath_persist.h
- $(RM) $(DESTDIR)$(syslibdir)/$(DEVLIB)
-
---- a/mpathpersist/Makefile
-+++ b/mpathpersist/Makefile
-@@ -14,13 +14,12 @@ all: $(EXEC)
-
- $(EXEC): $(OBJS)
- $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS) $(CFLAGS) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-
- install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
- $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
-
- clean: dep_clean
- $(RM) core *.o $(EXEC) *.gz
-@@ -29,7 +28,7 @@ include $(wildcard $(OBJS:.o=.d))
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
-
- dep_clean:
- $(RM) $(OBJS:.o=.d)
---- a/multipath/Makefile
-+++ b/multipath/Makefile
-@@ -16,8 +16,6 @@ all: $(EXEC)
-
- $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
- $(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-- $(GZIP) $(EXEC).conf.5 > $(EXEC).conf.5.gz
-
- install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
-@@ -26,16 +24,16 @@ install:
- $(INSTALL_PROGRAM) -m 644 11-dm-mpath.rules $(DESTDIR)$(udevrulesdir)
- $(INSTALL_PROGRAM) -m 644 $(EXEC).rules $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man5dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5 $(DESTDIR)$(man5dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
- $(RM) $(DESTDIR)$(udevrulesdir)/11-dm-mpath.rules
- $(RM) $(DESTDIR)$(libudevdir)/rules.d/56-multipath.rules
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-- $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
-+ $(RM) $(DESTDIR)$(man5dir)/$(EXEC).conf.5
-
- clean: dep_clean
- $(RM) core *.o $(EXEC) *.gz
---- a/multipathd/Makefile
-+++ b/multipathd/Makefile
-@@ -34,7 +34,6 @@ all : $(EXEC)
-
- $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
- $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXEC) $(LIBDEPS)
-- $(GZIP) $(EXEC).8 > $(EXEC).8.gz
-
- install:
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
-@@ -45,11 +44,11 @@ ifdef SYSTEMD
- $(INSTALL_PROGRAM) -m 644 $(EXEC).socket $(DESTDIR)$(unitdir)
- endif
- $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
-- $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
-+ $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
-
- uninstall:
- $(RM) $(DESTDIR)$(bindir)/$(EXEC)
-- $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
-+ $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
- $(RM) $(DESTDIR)$(unitdir)/$(EXEC).service
- $(RM) $(DESTDIR)$(unitdir)/$(EXEC).socket
-
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch
deleted file mode 100644
index 651cd04f59fd..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.4-parallel_make_fix.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 041472afebd1e621be1143f2bfb4c5650df171cc Mon Sep 17 00:00:00 2001
-From: Lars Wendler <polynomial-c@gentoo.org>
-Date: Mon, 11 May 2020 11:49:58 +0200
-Subject: [PATCH] multipath-tools: Fix parallel make issues
-
-build is broken like this (tested with -j16):
-
- x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -shared -lpthread -ldevmapper -ldl -L../libmultipath -lmultipath -L../libmpathcmd -lmpathcmd -Wl,-soname=libmpathpersist.so.0 -o libmpathpersist.so.0 mpath_persist.o mpath_updatepr.o mpath_pr_ioctl.o
- building defaults.o because of defaults.c
- ...
- /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lmultipath
- collect2: error: ld returned 1 exit status
- make[1]: *** [Makefile:17: libmpathpersist.so.0] Error 1
- make: *** [Makefile:29: libmpathpersist] Error 2
- make: *** Waiting for unfinished jobs....
-
-install is broken like this:
-
- install -m 755 libprio*.so /var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath
- install -m 755 libcheckcciss_tur.so libcheckreadsector0.so libchecktur.so libcheckdirectio.so libcheckemc_clariion.so libcheckhp_sw.so libcheckrdac.so /var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath
- ...
- /usr/bin/install: target '/var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath' is not a directory
- /usr/bin/install: target '/var/tmp/portage/sys-fs/multipath-tools-0.8.4/image/lib64/multipath' is not a directory
- make[1]: *** [Makefile:28: install] Error 1
- make[1]: *** [Makefile:38: install] Error 1
----
- Makefile | 3 ++-
- libmultipath/checkers/Makefile | 1 +
- libmultipath/foreign/Makefile | 1 +
- libmultipath/prioritizers/Makefile | 1 +
- 4 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 1dee3680..a9ade94f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -29,7 +29,8 @@ $(BUILDDIRS):
- $(MAKE) -C $@
-
- multipath multipathd mpathpersist: libmultipath
--mpathpersist: libmpathpersist
-+libmpathpersist: libmultipath
-+mpathpersist: libmultipath libmpathpersist
-
- $(BUILDDIRS.clean):
- $(MAKE) -C ${@:.clean=} clean
-diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile
-index 02caea64..f201ca4c 100644
---- a/libmultipath/checkers/Makefile
-+++ b/libmultipath/checkers/Makefile
-@@ -24,6 +24,7 @@ libcheck%.so: libsg.o %.o
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^
-
- install:
-+ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir)
- $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(libdir)
-
- uninstall:
-diff --git a/libmultipath/foreign/Makefile b/libmultipath/foreign/Makefile
-index fae58a0d..567deebd 100644
---- a/libmultipath/foreign/Makefile
-+++ b/libmultipath/foreign/Makefile
-@@ -14,6 +14,7 @@ libforeign-%.so: %.o
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^
-
- install:
-+ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir)
- $(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(libdir)
-
- uninstall:
-diff --git a/libmultipath/prioritizers/Makefile b/libmultipath/prioritizers/Makefile
-index 9d0fe03c..b0b0b522 100644
---- a/libmultipath/prioritizers/Makefile
-+++ b/libmultipath/prioritizers/Makefile
-@@ -35,6 +35,7 @@ libprio%.so: %.o
- $(CC) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $^
-
- install: $(LIBS)
-+ $(INSTALL_PROGRAM) -m 755 -d $(DESTDIR)$(libdir)
- $(INSTALL_PROGRAM) -m 755 libprio*.so $(DESTDIR)$(libdir)
-
- uninstall:
---
-2.26.2
-
diff --git a/sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch b/sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch
deleted file mode 100644
index 5e5258405b4f..000000000000
--- a/sys-fs/multipath-tools/files/multipath-tools-0.8.4-respect-flags.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- multipath-tools-0.8.4-d491591/Makefile.inc
-+++ multipath-tools-0.8.4-d491591/Makefile.inc
-@@ -99,12 +99,13 @@
- -Werror=cast-qual $(ERROR_DISCARDED_QUALIFIERS) \
- $(STACKPROT) --param=ssp-buffer-size=4
- CPPFLAGS := -Wp,-D_FORTIFY_SOURCE=2
--CFLAGS := $(OPTFLAGS) -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-- -MMD -MP $(CFLAGS)
-+CFLAGS ?= $(OPTFLAGS)
-+CFLAGS += -DBIN_DIR=\"$(bindir)\" -DLIB_STRING=\"${LIB}\" -DRUN_DIR=\"${RUN}\" \
-+ -MMD -MP
- BIN_CFLAGS = -fPIE -DPIE
- LIB_CFLAGS = -fPIC
- SHARED_FLAGS = -shared
--LDFLAGS = -Wl,-z,relro -Wl,-z,now
-+LDFLAGS += -Wl,-z,relro -Wl,-z,now
- BIN_LDFLAGS = -pie
-
- # Check whether a function with name $1 has been declared in header file $2.
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 9a20c9e5bc2b..019e77364d43 100644
--- a/sys-fs/multipath-tools/metadata.xml
+++ b/sys-fs/multipath-tools/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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>
- <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>
</pkgmetadata>
diff --git a/sys-fs/multipath-tools/multipath-tools-0.8.3-r2.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.3-r2.ebuild
deleted file mode 100644
index ab5b8e5272a9..000000000000
--- a/sys-fs/multipath-tools/multipath-tools-0.8.3-r2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit linux-info systemd toolchain-funcs udev vcs-snapshot toolchain-funcs
-
-DESCRIPTION="Device mapper target autoconfig"
-HOMEPAGE="http://christophe.varoqui.free.fr/"
-SRC_URI="https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${PV};sf=tgz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ppc64 x86"
-IUSE="systemd rbd"
-
-BDEPEND="virtual/pkgconfig"
-
-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}"
-
-CONFIG_CHECK="~DM_MULTIPATH"
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.7.5-respect-flags.patch
- "${FILESDIR}"/${PN}-0.8.3-no-gziped-docs.patch
- "${FILESDIR}"/${PN}-0.8.3-json-c-0.14.patch
- "${FILESDIR}"/${PN}-0.8.3-fix-gcc-10-compatibility.patch
-)
-
-get_systemd_pv() {
- use systemd && \
- $(tc-getPKG_CONFIG) --modversion systemd
-}
-
-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() {
- # LIBDM_API_FLUSH involves grepping files in /usr/include,
- # so force the test to go the way we want #411337.
- emake \
- CC="$(tc-getCC)" \
- LIBDM_API_FLUSH=1 SYSTEMD="$(get_systemd_pv)"
-}
-
-src_install() {
- dodir /sbin /usr/share/man/man{5,8}
- emake \
- DESTDIR="${D}" \
- RUN=run \
- SYSTEMD=$(get_systemd_pv) \
- 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
-}
-
-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.8.4.ebuild b/sys-fs/multipath-tools/multipath-tools-0.8.4.ebuild
deleted file mode 100644
index ab4f6f9cd3c8..000000000000
--- a/sys-fs/multipath-tools/multipath-tools-0.8.4.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-inherit linux-info systemd toolchain-funcs udev vcs-snapshot toolchain-funcs
-
-DESCRIPTION="Device mapper target autoconfig"
-HOMEPAGE="http://christophe.varoqui.free.fr/"
-SRC_URI="https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=${PV};sf=tgz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
-IUSE="systemd rbd"
-
-BDEPEND="virtual/pkgconfig"
-
-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}"
-
-CONFIG_CHECK="~DM_MULTIPATH"
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.4-respect-flags.patch
- "${FILESDIR}"/${PN}-0.8.3-no-gziped-docs.patch
- "${FILESDIR}"/${PN}-0.8.3-json-c-0.14.patch
- "${FILESDIR}"/${PN}-0.8.4-parallel_make_fix.patch
-)
-
-get_systemd_pv() {
- use systemd && \
- $(tc-getPKG_CONFIG) --modversion systemd
-}
-
-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() {
- # LIBDM_API_FLUSH involves grepping files in /usr/include,
- # so force the test to go the way we want #411337.
- emake \
- CC="$(tc-getCC)" \
- LIBDM_API_FLUSH=1 SYSTEMD="$(get_systemd_pv)"
-}
-
-src_install() {
- dodir /sbin /usr/share/man/man{3,5,8}
- emake \
- DESTDIR="${D}" \
- RUN=run \
- SYSTEMD=$(get_systemd_pv) \
- 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
-}
-
-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 ceeab08c96c0..5b8655517bde 100644
--- a/sys-fs/ncdu/Manifest
+++ b/sys-fs/ncdu/Manifest
@@ -1,3 +1,4 @@
-DIST ncdu-1.14.2.tar.gz 145376 BLAKE2B f13f1286ae4e9f16f53a50b8e2ff5caa9cc0bb184a38e6e6025c2a8d396efc0fd453391813b712e358cf1607df29097b0330731b3dcc5688a72690352cee38e4 SHA512 d7398448e0e13354a0be1606c3e3f6f29e2dbb742fd56f7cd9c598e974c359429966527ef8fce6a0e3afb0ea3cad9a95169b880600e44d62273b937309fa0e59
-DIST ncdu-1.15.1.tar.gz 148242 BLAKE2B c49fc706c852f081256437bcb566d0dd4cc34682693186dd84321f4c6831ac982206d59b15f3afa7a2cb25d4affcce7ff84fcc0bf922558241df1ac13212ec7a SHA512 572379264b9bd0d782151bd2f79add0e7a6d092029a041ff8f9288e928a4b6a6733467bca7c1702cbb44c3861279da1bc3d4278df6fba1814fe1dc909f2d8087
-DIST ncdu-1.15.tar.gz 147989 BLAKE2B 7ea8f46c81e4a8ae5e99a14ef561b768097152c95fe8ca46afc1aa4b5d37186917655972a8092b4050f89885a246a9b839ea02337711c441b7d1a66fee9fb676 SHA512 02bea12e45c984db2a758ec97e60f510c365c51a417a340edced13a9ab9d237cd004ed37b940359ddc4bed81295e9748d3370ad209dacd7ff1f406e434d205f0
+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 a257e66514e6..8a13f5d95ce3 100644
--- a/sys-fs/ncdu/metadata.xml
+++ b/sys-fs/ncdu/metadata.xml
@@ -1,14 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>whissi@gentoo.org</email>
- <name>Thomas Deutschmann</name>
+ <email>jsmolic@gentoo.org</email>
+ <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.14.2.ebuild b/sys-fs/ncdu/ncdu-1.14.2.ebuild
deleted file mode 100644
index b0e05454504a..000000000000
--- a/sys-fs/ncdu/ncdu-1.14.2.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-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 x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- sys-libs/ncurses:0=[unicode]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
diff --git a/sys-fs/ncdu/ncdu-1.15.1.ebuild b/sys-fs/ncdu/ncdu-1.15.1.ebuild
deleted file mode 100644
index a63123a3d82a..000000000000
--- a/sys-fs/ncdu/ncdu-1.15.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-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 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- sys-libs/ncurses:0=[unicode]
-"
-DEPEND="
- ${RDEPEND}
- virtual/pkgconfig
-"
diff --git a/sys-fs/ncdu/ncdu-1.15.ebuild b/sys-fs/ncdu/ncdu-1.15.ebuild
deleted file mode 100644
index a63123a3d82a..000000000000
--- a/sys-fs/ncdu/ncdu-1.15.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-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 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- sys-libs/ncurses:0=[unicode]
-"
-DEPEND="
- ${RDEPEND}
- 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.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 c03420010090..7a0e45923d4c 100644
--- a/sys-fs/nilfs-utils/Manifest
+++ b/sys-fs/nilfs-utils/Manifest
@@ -1,3 +1 @@
-DIST nilfs-utils-2.1.5.tar.bz2 389552 BLAKE2B 38de1d2eb2943ec1e4564deb44f8d9c13dd3a99184acb1523cbc61daae7575d0ca9397d0f5fae864616c38a93afe2bc15809dcc0c9f6a175b5bd37e2034921d6 SHA512 a9c0cf6d9df524b9cdb3379bcb8e0c1427aa6e1a792cc649f366a68416374cfc7c9f0db3dd78f3c3165be05a9e8eefb0db30c394ad04c8e3e89ee6ebcbfa42c0
-DIST nilfs-utils-2.1.6.tar.bz2 391303 BLAKE2B 95fd6a1f6ae8af5e8dcbd678170e41e35af2006b5244e09e8f3f7cb810f4ee7145a6c6887fb5268d9439970367a574c4eab6b3277d52e487fd5a7833679ed1ab SHA512 ce0cbaccd6cbf4f7f45cbf0d94cb253c77dafbedac4b71229002ed6c772ad6bb8af598c1e933614f9837901f85b217462ed0dbd5a577b4fbb50528a732a60f83
-DIST nilfs-utils-2.2.2.tar.bz2 424097 BLAKE2B d38b40e9b70a17bc957a89f5d1551bcc0eaaf396ac5126d47dc2dd0a9e311033beb1164a916fb369b51794d38cb63793ede7917be2d76b8df02a32de11b0a4fc SHA512 2ac0f1f25472d8900732db9f31e6b824e7e591bf306aa18d8b55c5d93807f4f7ceb65ba7e49540a39c7f285ad63c5f4ab795d34b2a04398d91cd2beb5fc6edce
+DIST nilfs-utils-2.2.9.tar.bz2 439514 BLAKE2B 0908e0180a2af074e97be99fa0a390e926e934fea79a40d792fc0dc1ef820c4a4ecee3696ddaf0d8f8d5c434daed77ea66f37591b05f7a6437e9a3c1a12f5758 SHA512 dd8ab20ee0d6750a6d81f86fe4d1ad94a8a71aa53ee7cd38550ea32fffcc9527db1c75d34f732f0f8f6379a808249f8eec2619e54c595566a3fc434a87d9e66d
diff --git a/sys-fs/nilfs-utils/metadata.xml b/sys-fs/nilfs-utils/metadata.xml
index d4bf2596a29c..ef33436c0029 100644
--- a/sys-fs/nilfs-utils/metadata.xml
+++ b/sys-fs/nilfs-utils/metadata.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>naota@gentoo.org</email>
+ <name>Naohiro Aota</name>
</maintainer>
<longdescription lang="en">
NILFS is a new implementation of a log-structured file system for the
diff --git a/sys-fs/nilfs-utils/nilfs-utils-2.1.5-r1.ebuild b/sys-fs/nilfs-utils/nilfs-utils-2.1.5-r1.ebuild
deleted file mode 100644
index 9f9ebcde1558..000000000000
--- a/sys-fs/nilfs-utils/nilfs-utils-2.1.5-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib 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-libs/e2fsprogs-libs
- sys-apps/util-linux"
-DEPEND="${RDEPEND}
- sys-kernel/linux-headers"
-
-CONFIG_CHECK="~POSIX_MQUEUE"
-
-DOCS=( AUTHORS ChangeLog NEWS README )
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --libdir=/$(get_libdir) \
- --enable-libmount
-}
-
-src_install() {
- default
- rm -f "${ED}"/$(get_libdir)/*.la || die
-}
diff --git a/sys-fs/nilfs-utils/nilfs-utils-2.1.6.ebuild b/sys-fs/nilfs-utils/nilfs-utils-2.1.6.ebuild
deleted file mode 100644
index 67c33efec1d8..000000000000
--- a/sys-fs/nilfs-utils/nilfs-utils-2.1.6.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib 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-libs/e2fsprogs-libs
- sys-apps/util-linux"
-DEPEND="${RDEPEND}
- sys-kernel/linux-headers"
-
-CONFIG_CHECK="~POSIX_MQUEUE"
-
-DOCS=( AUTHORS ChangeLog NEWS README )
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --libdir=/$(get_libdir) \
- --enable-libmount
-}
-
-src_install() {
- default
- rm -f "${ED}"/$(get_libdir)/*.la || die
-}
diff --git a/sys-fs/nilfs-utils/nilfs-utils-2.2.2.ebuild b/sys-fs/nilfs-utils/nilfs-utils-2.2.2.ebuild
deleted file mode 100644
index 67c33efec1d8..000000000000
--- a/sys-fs/nilfs-utils/nilfs-utils-2.2.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-
-inherit multilib 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-libs/e2fsprogs-libs
- sys-apps/util-linux"
-DEPEND="${RDEPEND}
- sys-kernel/linux-headers"
-
-CONFIG_CHECK="~POSIX_MQUEUE"
-
-DOCS=( AUTHORS ChangeLog NEWS README )
-
-src_configure() {
- econf \
- $(use_enable static-libs static) \
- --libdir=/$(get_libdir) \
- --enable-libmount
-}
-
-src_install() {
- default
- rm -f "${ED}"/$(get_libdir)/*.la || die
-}
diff --git a/sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild b/sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild
new file mode 100644
index 000000000000..ed1cb42de5ec
--- /dev/null
+++ b/sys-fs/nilfs-utils/nilfs-utils-2.2.9.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info usr-ldscript
+
+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() {
+ # Always build static libs as nilfs_cleanerd need them
+ # Bug 669804
+ econf \
+ --enable-static=yes \
+ --libdir="${EPREFIX}"/$(get_libdir) \
+ --with-libmount
+}
+
+src_install() {
+ default
+
+ if use static-libs; then
+ local libdir=$(get_libdir)
+ dodir /usr/${libdir}
+ mv "${ED}"/${libdir}/*.a "${ED}"/usr/${libdir} || die
+ gen_usr_ldscript libnilfs.so libnilfscleaner.so libnilfsgc.so
+ else
+ find "${ED}" -name '*.a' -delete || die
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sys-fs/ntfs3g/Manifest b/sys-fs/ntfs3g/Manifest
index c7ad50e61576..4ac6b358c845 100644
--- a/sys-fs/ntfs3g/Manifest
+++ b/sys-fs/ntfs3g/Manifest
@@ -1,2 +1 @@
-DIST ntfs-3g_ntfsprogs-2017.3.23.tgz 1259054 BLAKE2B 4f12a6061ef0c116f26225eb3fb5cb84e469b63710115fbfb54fa3802ea94192afa973a553742818ff6849b72919069ec92aca2d4d6f58d8cabca1b0fefa3abe SHA512 3a607f0d7be35204c992d8931de0404fbc52032c13b4240d2c5e6f285c318a28eb2a385d7cf5ac4cd445876aee5baa5753bb636ada0d870d84a9d3fdbce794ef
-DIST ntfs-3g_ntfsprogs-2017.3.23AR.5.tgz 1278315 BLAKE2B d4f84bf744b12fec7faff82bd3d3048282a3cbcde2ca75e5d3a295206585c4cee68e25dff5fb20b034f516a3f2cd95c489105d9df810f8a9378024ef065b67d3 SHA512 8534970ba9f07999c5ff433144ad3a59640fb9a28fb30b37b5d736101e19f9fec1c222152338be382c894f972fce2b2a83680b85a28cf147cb5500b40a0a25cc
+DIST ntfs-3g_ntfsprogs-2022.10.3.tgz 1324320 BLAKE2B 36a64af0c050bb42af69e14834883324d6201f70d5e45c175e0703980c045b038bdbfca0375edd42db3a3827240f63cf73c9f17a51805799129257b95fef7676 SHA512 891589483954423b19bef6e8a174fb4311ad92b6397a0db80f77c72b746bf18c2fa12457a571947f92755637a6bc784188920d4f017ae12a420819ab0d74af59
diff --git a/sys-fs/ntfs3g/files/CVE-2019-9755.patch b/sys-fs/ntfs3g/files/CVE-2019-9755.patch
deleted file mode 100644
index caa079d607ba..000000000000
--- a/sys-fs/ntfs3g/files/CVE-2019-9755.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 85c1634a26faa572d3c558d4cf8aaaca5202d4e9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jean-Pierre=20Andr=C3=A9?= <jean-pierre.andre@wanadoo.fr>
-Date: Wed, 19 Dec 2018 15:57:50 +0100
-Subject: [PATCH] Fixed reporting an error when failed to build the mountpoint
-
-The size check was inefficient because getcwd() uses an unsigned int
-argument.
----
- src/lowntfs-3g.c | 6 +++++-
- src/ntfs-3g.c | 6 +++++-
- 2 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/src/lowntfs-3g.c b/src/lowntfs-3g.c
-index 993867fa..0660439b 100644
---- a/src/lowntfs-3g.c
-+++ b/src/lowntfs-3g.c
-@@ -4411,7 +4411,8 @@ int main(int argc, char *argv[])
- else {
- ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
- if (ctx->abs_mnt_point) {
-- if (getcwd(ctx->abs_mnt_point,
-+ if ((strlen(opts.mnt_point) < PATH_MAX)
-+ && getcwd(ctx->abs_mnt_point,
- PATH_MAX - strlen(opts.mnt_point) - 1)) {
- strcat(ctx->abs_mnt_point, "/");
- strcat(ctx->abs_mnt_point, opts.mnt_point);
-@@ -4419,6 +4420,9 @@ int main(int argc, char *argv[])
- /* Solaris also wants the absolute mount point */
- opts.mnt_point = ctx->abs_mnt_point;
- #endif /* defined(__sun) && defined (__SVR4) */
-+ } else {
-+ free(ctx->abs_mnt_point);
-+ ctx->abs_mnt_point = (char*)NULL;
- }
- }
- }
-diff --git a/src/ntfs-3g.c b/src/ntfs-3g.c
-index 6ce89fef..4e0912ae 100644
---- a/src/ntfs-3g.c
-+++ b/src/ntfs-3g.c
-@@ -4148,7 +4148,8 @@ int main(int argc, char *argv[])
- else {
- ctx->abs_mnt_point = (char*)ntfs_malloc(PATH_MAX);
- if (ctx->abs_mnt_point) {
-- if (getcwd(ctx->abs_mnt_point,
-+ if ((strlen(opts.mnt_point) < PATH_MAX)
-+ && getcwd(ctx->abs_mnt_point,
- PATH_MAX - strlen(opts.mnt_point) - 1)) {
- strcat(ctx->abs_mnt_point, "/");
- strcat(ctx->abs_mnt_point, opts.mnt_point);
-@@ -4156,6 +4157,9 @@ int main(int argc, char *argv[])
- /* Solaris also wants the absolute mount point */
- opts.mnt_point = ctx->abs_mnt_point;
- #endif /* defined(__sun) && defined (__SVR4) */
-+ } else {
-+ free(ctx->abs_mnt_point);
-+ ctx->abs_mnt_point = (char*)NULL;
- }
- }
- }
---
-2.26.1
-
diff --git a/sys-fs/ntfs3g/files/ntfs3g-2014.2.15-no-split-usr.patch b/sys-fs/ntfs3g/files/ntfs3g-2014.2.15-no-split-usr.patch
deleted file mode 100644
index 0228bfec330b..000000000000
--- a/sys-fs/ntfs3g/files/ntfs3g-2014.2.15-no-split-usr.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-we handle split /usr logic ourselves. this ends up breaking when building
-for an abi that doesn't exist in / (like cross-compiling) as the tests fail.
-
---- a/libntfs-3g/Makefile.in
-+++ b/libntfs-3g/Makefile.in
-@@ -912,19 +912,6 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-local \
- uninstall-rootlibLTLIBRARIES
-
-
--# We may need to move .so files to root
--# And create ldscript or symbolic link from /usr
--install-exec-hook: install-rootlibLTLIBRARIES
--@INSTALL_LIBRARY_TRUE@ if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
--@INSTALL_LIBRARY_TRUE@ $(MV) -f "$(DESTDIR)/$(libdir)"/libntfs-3g.so* "$(DESTDIR)/$(rootlibdir)"; \
--@INSTALL_LIBRARY_TRUE@ fi
--@GENERATE_LDSCRIPT_TRUE@@INSTALL_LIBRARY_TRUE@ if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
--@GENERATE_LDSCRIPT_TRUE@@INSTALL_LIBRARY_TRUE@ $(install_sh_PROGRAM) "libntfs-3g.script.so" "$(DESTDIR)/$(libdir)/libntfs-3g.so"; \
--@GENERATE_LDSCRIPT_TRUE@@INSTALL_LIBRARY_TRUE@ fi
--@GENERATE_LDSCRIPT_FALSE@@INSTALL_LIBRARY_TRUE@ if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
--@GENERATE_LDSCRIPT_FALSE@@INSTALL_LIBRARY_TRUE@ $(LN_S) "$(rootlibdir)/libntfs-3g.so" "$(DESTDIR)/$(libdir)/libntfs-3g.so"; \
--@GENERATE_LDSCRIPT_FALSE@@INSTALL_LIBRARY_TRUE@ fi
--
- uninstall-local:
- @INSTALL_LIBRARY_TRUE@ $(RM) -f "$(DESTDIR)/$(rootlibdir)"/libntfs-3g.so*
-
diff --git a/sys-fs/ntfs3g/files/ntfs3g-2016.2.22-sysmacros.patch b/sys-fs/ntfs3g/files/ntfs3g-2016.2.22-sysmacros.patch
deleted file mode 100644
index 2fa1f2b34c88..000000000000
--- a/sys-fs/ntfs3g/files/ntfs3g-2016.2.22-sysmacros.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-include the headers that define major/minor/makedev in more places
-
-https://bugs.gentoo.org/580136
-
---- a/libntfs-3g/ioctl.c
-+++ b/libntfs-3g/ioctl.c
-@@ -57,6 +57,12 @@
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
-+#ifdef HAVE_SYS_MKDEV_H
-+#include <sys/mkdev.h>
-+#endif
-+#ifdef HAVE_SYS_SYSMACROS_H
-+#include <sys/sysmacros.h>
-+#endif
-
- #ifdef HAVE_SYS_STAT_H
- #include <sys/stat.h>
---- a/src/lowntfs-3g.c
-+++ b/src/lowntfs-3g.c
-@@ -76,6 +76,9 @@
- #ifdef HAVE_SYS_MKDEV_H
- #include <sys/mkdev.h>
- #endif
-+#ifdef HAVE_SYS_SYSMACROS_H
-+#include <sys/sysmacros.h>
-+#endif
-
- #if defined(__APPLE__) || defined(__DARWIN__)
- #include <sys/dirent.h>
---- a/src/ntfs-3g.c
-+++ b/src/ntfs-3g.c
-@@ -75,6 +75,9 @@
- #ifdef HAVE_SYS_MKDEV_H
- #include <sys/mkdev.h>
- #endif
-+#ifdef HAVE_SYS_SYSMACROS_H
-+#include <sys/sysmacros.h>
-+#endif
-
- #if defined(__APPLE__) || defined(__DARWIN__)
- #include <sys/dirent.h>
diff --git a/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-big-sectors.patch b/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-big-sectors.patch
deleted file mode 100644
index 1cb8bb6c46c0..000000000000
--- a/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-big-sectors.patch
+++ /dev/null
@@ -1,379 +0,0 @@
---- a/libntfs-3g/bootsect.c.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/libntfs-3g/bootsect.c 2018-05-07 09:11:13.004710800 +0200
-@@ -38,6 +38,7 @@
- #include <errno.h>
- #endif
-
-+#include "param.h"
- #include "compat.h"
- #include "bootsect.h"
- #include "debug.h"
-@@ -61,6 +62,7 @@
- {
- u32 i;
- BOOL ret = FALSE;
-+ u16 sectors_per_cluster;
-
- ntfs_log_debug("Beginning bootsector check.\n");
-
-@@ -83,15 +85,27 @@
- case 1: case 2: case 4: case 8: case 16: case 32: case 64: case 128:
- break;
- default:
-- ntfs_log_error("Unexpected sectors per cluster value (%d).\n",
-- b->bpb.sectors_per_cluster);
-- goto not_ntfs;
-+ if ((b->bpb.sectors_per_cluster < 240)
-+ || (b->bpb.sectors_per_cluster > 249)) {
-+ if (b->bpb.sectors_per_cluster > 128)
-+ ntfs_log_error("Unexpected sectors"
-+ " per cluster value (code 0x%x)\n",
-+ b->bpb.sectors_per_cluster);
-+ else
-+ ntfs_log_error("Unexpected sectors"
-+ " per cluster value (%d).\n",
-+ b->bpb.sectors_per_cluster);
-+ goto not_ntfs;
-+ }
- }
-
- ntfs_log_debug("Checking cluster size.\n");
-- i = (u32)le16_to_cpu(b->bpb.bytes_per_sector) *
-- b->bpb.sectors_per_cluster;
-- if (i > 65536) {
-+ if (b->bpb.sectors_per_cluster > 128)
-+ sectors_per_cluster = 1 << (256 - b->bpb.sectors_per_cluster);
-+ else
-+ sectors_per_cluster = b->bpb.sectors_per_cluster;
-+ i = (u32)le16_to_cpu(b->bpb.bytes_per_sector) * sectors_per_cluster;
-+ if (i > NTFS_MAX_CLUSTER_SIZE) {
- ntfs_log_error("Unexpected cluster size (%d).\n", i);
- goto not_ntfs;
- }
-@@ -171,7 +185,7 @@
- int ntfs_boot_sector_parse(ntfs_volume *vol, const NTFS_BOOT_SECTOR *bs)
- {
- s64 sectors;
-- u8 sectors_per_cluster;
-+ u16 sectors_per_cluster;
- s8 c;
-
- /* We return -1 with errno = EINVAL on error. */
-@@ -186,7 +200,10 @@
- * below or equal the number_of_clusters) really belong in the
- * ntfs_boot_sector_is_ntfs but in this way we can just do this once.
- */
-- sectors_per_cluster = bs->bpb.sectors_per_cluster;
-+ if (bs->bpb.sectors_per_cluster > 128)
-+ sectors_per_cluster = 1 << (256 - bs->bpb.sectors_per_cluster);
-+ else
-+ sectors_per_cluster = bs->bpb.sectors_per_cluster;
- ntfs_log_debug("SectorsPerCluster = 0x%x\n", sectors_per_cluster);
- if (sectors_per_cluster & (sectors_per_cluster - 1)) {
- ntfs_log_error("sectors_per_cluster (%d) is not a power of 2."
---- a/ntfsprogs/mkntfs.8.in.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/ntfsprogs/mkntfs.8.in 2018-05-07 09:11:13.014132400 +0200
-@@ -132,7 +132,7 @@
- .TP
- \fB\-c\fR, \fB\-\-cluster\-size\fR BYTES
- Specify the size of clusters in bytes. Valid cluster size values are powers of
--two, with at least 256, and at most 65536 bytes per cluster. If omitted,
-+two, with at least 256, and at most 2097152 bytes (2MB) per cluster. If omitted,
- .B mkntfs
- uses 4096 bytes as the default cluster size.
- .sp
---- a/ntfsprogs/mkntfs.c.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/ntfsprogs/mkntfs.c 2018-05-07 09:11:13.035522300 +0200
-@@ -6,7 +6,7 @@
- * Copyright (c) 2002-2006 Szabolcs Szakacsits
- * Copyright (c) 2005 Erik Sornes
- * Copyright (c) 2007 Yura Pakhuchiy
-- * Copyright (c) 2010-2014 Jean-Pierre Andre
-+ * Copyright (c) 2010-2018 Jean-Pierre Andre
- *
- * This utility will create an NTFS 1.2 or 3.1 volume on a user
- * specified (block) device.
-@@ -119,6 +119,7 @@
- # endif
- #endif
-
-+#include "param.h"
- #include "security.h"
- #include "types.h"
- #include "attrib.h"
-@@ -287,7 +288,7 @@
- ntfs_log_info("Copyright (c) 2002-2006 Szabolcs Szakacsits\n");
- ntfs_log_info("Copyright (c) 2005 Erik Sornes\n");
- ntfs_log_info("Copyright (c) 2007 Yura Pakhuchiy\n");
-- ntfs_log_info("Copyright (c) 2010-2014 Jean-Pierre Andre\n");
-+ ntfs_log_info("Copyright (c) 2010-2018 Jean-Pierre Andre\n");
- ntfs_log_info("\n%s\n%s%s\n", ntfs_gpl, ntfs_bugs, ntfs_home);
- }
-
-@@ -3719,11 +3720,11 @@
- /*
- * For huge volumes, grow the cluster size until the number of
- * clusters fits into 32 bits or the cluster size exceeds the
-- * maximum limit of 64kiB.
-+ * maximum limit of NTFS_MAX_CLUSTER_SIZE.
- */
- while (volume_size >> (ffs(vol->cluster_size) - 1 + 32)) {
- vol->cluster_size <<= 1;
-- if (vol->cluster_size > 65535) {
-+ if (vol->cluster_size >= NTFS_MAX_CLUSTER_SIZE) {
- ntfs_log_error("Device is too large to hold an "
- "NTFS volume (maximum size is "
- "256TiB).\n");
-@@ -3744,15 +3745,18 @@
- "to, or larger than, the sector size.\n");
- return FALSE;
- }
-- if (vol->cluster_size > 128 * (u32)opts.sector_size) {
-+ /* Before Windows 10 Creators, the limit was 128 */
-+ if (vol->cluster_size > 4096 * (u32)opts.sector_size) {
- ntfs_log_error("The cluster size is invalid. It cannot be "
-- "more that 128 times the size of the sector "
-+ "more that 4096 times the size of the sector "
- "size.\n");
- return FALSE;
- }
-- if (vol->cluster_size > 65536) {
-+ if (vol->cluster_size > NTFS_MAX_CLUSTER_SIZE) {
- ntfs_log_error("The cluster size is invalid. The maximum "
-- "cluster size is 65536 bytes (64kiB).\n");
-+ "cluster size is %lu bytes (%lukiB).\n",
-+ (unsigned long)NTFS_MAX_CLUSTER_SIZE,
-+ (unsigned long)(NTFS_MAX_CLUSTER_SIZE >> 10));
- return FALSE;
- }
- vol->cluster_size_bits = ffs(vol->cluster_size) - 1;
-@@ -4387,6 +4391,7 @@
- u8 *sd;
- FILE_ATTR_FLAGS extend_flags;
- VOLUME_FLAGS volume_flags = const_cpu_to_le16(0);
-+ int sectors_per_cluster;
- int nr_sysfiles;
- int buf_sds_first_size;
- char *buf_sds;
-@@ -4639,8 +4644,11 @@
- * already inserted, so no need to worry about these things.
- */
- bs->bpb.bytes_per_sector = cpu_to_le16(opts.sector_size);
-- bs->bpb.sectors_per_cluster = (u8)(g_vol->cluster_size /
-- opts.sector_size);
-+ sectors_per_cluster = g_vol->cluster_size / opts.sector_size;
-+ if (sectors_per_cluster > 128)
-+ bs->bpb.sectors_per_cluster = 257 - ffs(sectors_per_cluster);
-+ else
-+ bs->bpb.sectors_per_cluster = sectors_per_cluster;
- bs->bpb.media_type = 0xf8; /* hard disk */
- bs->bpb.sectors_per_track = cpu_to_le16(opts.sectors_per_track);
- ntfs_log_debug("sectors per track = %ld (0x%lx)\n",
---- a/ntfsprogs/ntfsclone.c.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/ntfsprogs/ntfsclone.c 2018-05-07 09:11:38.245007100 +0200
-@@ -3,7 +3,7 @@
- *
- * Copyright (c) 2003-2006 Szabolcs Szakacsits
- * Copyright (c) 2004-2006 Anton Altaparmakov
-- * Copyright (c) 2010-2016 Jean-Pierre Andre
-+ * Copyright (c) 2010-2018 Jean-Pierre Andre
- * Special image format support copyright (c) 2004 Per Olofsson
- *
- * Clone NTFS data and/or metadata to a sparse file, image, device or stdout.
-@@ -71,6 +71,7 @@
- */
- #define NTFS_DO_NOT_CHECK_ENDIANS
-
-+#include "param.h"
- #include "debug.h"
- #include "types.h"
- #include "support.h"
-@@ -270,7 +271,6 @@
-
- #define LAST_METADATA_INODE 11
-
--#define NTFS_MAX_CLUSTER_SIZE 65536
- #define NTFS_SECTOR_SIZE 512
-
- #define rounded_up_division(a, b) (((a) + (b - 1)) / (b))
-@@ -393,7 +393,7 @@
- "Efficiently clone, image, restore or rescue an NTFS Volume.\n\n"
- "Copyright (c) 2003-2006 Szabolcs Szakacsits\n"
- "Copyright (c) 2004-2006 Anton Altaparmakov\n"
-- "Copyright (c) 2010-2016 Jean-Pierre Andre\n\n");
-+ "Copyright (c) 2010-2018 Jean-Pierre Andre\n\n");
- fprintf(stderr, "%s\n%s%s", ntfs_gpl, ntfs_bugs, ntfs_home);
- exit(0);
- }
-@@ -756,7 +756,7 @@
-
- static void copy_cluster(int rescue, u64 rescue_lcn, u64 lcn)
- {
-- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
-+ char *buff;
- /* vol is NULL if opt.restore_image is set */
- s32 csize = le32_to_cpu(image_hdr.cluster_size);
- BOOL backup_bootsector;
-@@ -783,6 +783,10 @@
- }
- }
-
-+ buff = (char*)ntfs_malloc(csize);
-+ if (!buff)
-+ err_exit("Not enough memory");
-+
- // need reading when not about to write ?
- if (read_all(fd, buff, csize) == -1) {
-
-@@ -858,6 +862,7 @@
- perr_printf("Write failed");
- #endif
- }
-+ free(buff);
- }
-
- static s64 lseek_out(int fd, s64 pos, int mode)
-@@ -995,7 +1000,11 @@
- struct progress_bar *progress, u64 *p_counter)
- {
- s64 i;
-- char buff[NTFS_MAX_CLUSTER_SIZE];
-+ char *buff;
-+
-+ buff = (char*)ntfs_malloc(csize);
-+ if (!buff)
-+ err_exit("Not enough memory");
-
- memset(buff, 0, csize);
-
-@@ -1004,6 +1013,7 @@
- perr_exit("write_all");
- progress_update(progress, ++(*p_counter));
- }
-+ free(buff);
- }
-
- static void restore_image(void)
-@@ -1492,7 +1502,7 @@
-
- static void copy_wipe_mft(ntfs_walk_clusters_ctx *image, runlist *rl)
- {
-- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
-+ char *buff;
- void *fd;
- s64 mft_no;
- u32 mft_record_size;
-@@ -1522,6 +1532,10 @@
- clusters_per_set = mft_record_size/csize;
- records_per_set = 1;
- }
-+ buff = (char*)ntfs_malloc(mft_record_size);
-+ if (!buff)
-+ err_exit("Not enough memory");
-+
- mft_no = 0;
- ri = rj = 0;
- wi = wj = 0;
-@@ -1554,6 +1568,7 @@
- }
- }
- image->current_lcn = current_lcn;
-+ free(buff);
- }
-
- /*
-@@ -1566,7 +1581,7 @@
-
- static void copy_wipe_i30(ntfs_walk_clusters_ctx *image, runlist *rl)
- {
-- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
-+ char *buff;
- void *fd;
- u32 indx_record_size;
- u32 csize;
-@@ -1595,6 +1610,10 @@
- clusters_per_set = indx_record_size/csize;
- records_per_set = 1;
- }
-+ buff = (char*)ntfs_malloc(indx_record_size);
-+ if (!buff)
-+ err_exit("Not enough memory");
-+
- ri = rj = 0;
- wi = wj = 0;
- if (rl[ri].length)
-@@ -1627,6 +1646,7 @@
- }
- }
- image->current_lcn = current_lcn;
-+ free(buff);
- }
-
- static void dump_clusters(ntfs_walk_clusters_ctx *image, runlist *rl)
---- a/ntfsprogs/ntfsresize.c.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/ntfsprogs/ntfsresize.c 2018-05-07 09:11:13.076883400 +0200
-@@ -59,6 +59,7 @@
- #include <fcntl.h>
- #endif
-
-+#include "param.h"
- #include "debug.h"
- #include "types.h"
- #include "support.h"
-@@ -243,8 +244,6 @@
- #define DIRTY_INODE (1)
- #define DIRTY_ATTRIB (2)
-
--#define NTFS_MAX_CLUSTER_SIZE (65536)
--
- static s64 rounded_up_division(s64 numer, s64 denom)
- {
- return (numer + (denom - 1)) / denom;
-@@ -404,7 +403,7 @@
- printf("Copyright (c) 2002-2005 Anton Altaparmakov\n");
- printf("Copyright (c) 2002-2003 Richard Russon\n");
- printf("Copyright (c) 2007 Yura Pakhuchiy\n");
-- printf("Copyright (c) 2011-2016 Jean-Pierre Andre\n");
-+ printf("Copyright (c) 2011-2018 Jean-Pierre Andre\n");
- printf("\n%s\n%s%s", ntfs_gpl, ntfs_bugs, ntfs_home);
- }
-
-@@ -1849,9 +1848,13 @@
- static void copy_clusters(ntfs_resize_t *resize, s64 dest, s64 src, s64 len)
- {
- s64 i;
-- char buff[NTFS_MAX_CLUSTER_SIZE]; /* overflow checked at mount time */
-+ char *buff;
- ntfs_volume *vol = resize->vol;
-
-+ buff = (char*)ntfs_malloc(vol->cluster_size);
-+ if (!buff)
-+ perr_exit("ntfs_malloc");
-+
- for (i = 0; i < len; i++) {
-
- lseek_to_cluster(vol, src + i);
-@@ -1875,6 +1878,7 @@
- resize->relocations++;
- progress_update(&resize->progress, resize->relocations);
- }
-+ free(buff);
- }
-
- static void relocate_clusters(ntfs_resize_t *r, runlist *dest_rl, s64 src_lcn)
---- a/include/ntfs-3g/param.h.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/include/ntfs-3g/param.h 2018-05-07 09:11:13.088302600 +0200
-@@ -40,6 +40,13 @@
- };
-
- /*
-+ * Parameters for formatting
-+ */
-+
-+ /* Up to Windows 10, the cluster size was limited to 64K */
-+#define NTFS_MAX_CLUSTER_SIZE 2097152 /* Windows 10 Creators allows 2MB */
-+
-+/*
- * Parameters for compression
- */
-
diff --git a/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-check-mftmirr.patch b/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-check-mftmirr.patch
deleted file mode 100644
index f56eadc882f9..000000000000
--- a/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-check-mftmirr.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/libntfs-3g/volume.c.ref 2017-03-23 10:42:44.000000000 +0100
-+++ b/libntfs-3g/volume.c 2017-12-20 08:11:51.842424300 +0100
-@@ -959,7 +959,8 @@
- vol->mftmirr_size = l;
- }
- ntfs_log_debug("Comparing $MFTMirr to $MFT...\n");
-- for (i = 0; i < vol->mftmirr_size; ++i) {
-+ /* Windows 10 does not update the full $MFTMirr any more */
-+ for (i = 0; (i < vol->mftmirr_size) && (i < FILE_first_user); ++i) {
- MFT_RECORD *mrec, *mrec2;
- const char *ESTR[12] = { "$MFT", "$MFTMirr", "$LogFile",
- "$Volume", "$AttrDef", "root directory", "$Bitmap",
diff --git a/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-full-clusters.patch b/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-full-clusters.patch
deleted file mode 100644
index 7d2496d372d5..000000000000
--- a/sys-fs/ntfs3g/files/ntfs3g-2017.3.23-full-clusters.patch
+++ /dev/null
@@ -1,81 +0,0 @@
---- a/ntfsprogs/ntfsclone.c 2018-05-16 18:46:47.114964000 +0200
-+++ b/ntfsprogs/ntfsclone.c 2018-07-16 14:03:20.273809100 +0200
-@@ -776,6 +776,10 @@
-
- /* possible partial cluster holding the backup boot sector */
- backup_bootsector = (lcn + 1)*csize >= full_device_size;
-+ buff = (char*)ntfs_malloc(csize);
-+ if (!buff)
-+ err_exit("Not enough memory");
-+
- if (backup_bootsector) {
- csize = full_device_size - lcn*csize;
- if (csize < 0) {
-@@ -783,10 +787,6 @@
- }
- }
-
-- buff = (char*)ntfs_malloc(csize);
-- if (!buff)
-- err_exit("Not enough memory");
--
- // need reading when not about to write ?
- if (read_all(fd, buff, csize) == -1) {
-
-@@ -1507,6 +1507,7 @@
- s64 mft_no;
- u32 mft_record_size;
- u32 csize;
-+ u32 buff_size;
- u32 bytes_per_sector;
- u32 records_per_set;
- u32 clusters_per_set;
-@@ -1524,15 +1525,18 @@
- /*
- * Depending on the sizes, there may be several records
- * per cluster, or several clusters per record.
-+ * Anyway, full clusters are needed for rescuing bad ones.
- */
- if (csize >= mft_record_size) {
- records_per_set = csize/mft_record_size;
- clusters_per_set = 1;
-+ buff_size = csize;
- } else {
- clusters_per_set = mft_record_size/csize;
- records_per_set = 1;
-+ buff_size = mft_record_size;
- }
-- buff = (char*)ntfs_malloc(mft_record_size);
-+ buff = (char*)ntfs_malloc(buff_size);
- if (!buff)
- err_exit("Not enough memory");
-
-@@ -1585,6 +1589,7 @@
- void *fd;
- u32 indx_record_size;
- u32 csize;
-+ u32 buff_size;
- u32 bytes_per_sector;
- u32 records_per_set;
- u32 clusters_per_set;
-@@ -1601,16 +1606,19 @@
- /*
- * Depending on the sizes, there may be several records
- * per cluster, or several clusters per record.
-+ * Anyway, full clusters are needed for rescuing bad ones.
- */
- indx_record_size = image->ni->vol->indx_record_size;
- if (csize >= indx_record_size) {
- records_per_set = csize/indx_record_size;
- clusters_per_set = 1;
-+ buff_size = csize;
- } else {
- clusters_per_set = indx_record_size/csize;
- records_per_set = 1;
-+ buff_size = indx_record_size;
- }
-- buff = (char*)ntfs_malloc(indx_record_size);
-+ buff = (char*)ntfs_malloc(buff_size);
- if (!buff)
- err_exit("Not enough memory");
-
diff --git a/sys-fs/ntfs3g/metadata.xml b/sys-fs/ntfs3g/metadata.xml
index 20cef377f9b7..34b4fc4eb13f 100644
--- a/sys-fs/ntfs3g/metadata.xml
+++ b/sys-fs/ntfs3g/metadata.xml
@@ -1,31 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="person">
- <email>chutzpah@gentoo.org</email>
-</maintainer>
-<maintainer type="project">
- <email>base-system@gentoo.org</email>
- <name>Gentoo Base System</name>
-</maintainer>
-<longdescription lang="en">
-The ntfs-3g driver is an open source, GPL licensed, third generation Linux
-NTFS driver for 32-bit, little-endian architectures which was implemented
-by the Linux-NTFS project. It provides full read-write access to NTFS,
-excluding access to encrypted files, writing compressed files, changing
-file ownership, access right.
-</longdescription>
-<use>
- <flag name="external-fuse">
- Use external FUSE library instead of internal one. Must be disabled
- for unprivileged mounting to work.
- </flag>
- <flag name="ntfsdecrypt">Build and install the ntfsdecrypt application.</flag>
- <flag name="ntfsprogs">Include internal version of ntfsprogs.</flag>
-</use>
-<upstream>
- <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>
-</upstream>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ </maintainer>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+ <longdescription lang="en">
+ The ntfs-3g driver is an open source, GPL licensed, third generation Linux
+ NTFS driver for 32-bit, little-endian architectures which was implemented
+ by the Linux-NTFS project. It provides full read-write access to NTFS,
+ excluding access to encrypted files, writing compressed files, changing
+ file ownership, access right.
+ </longdescription>
+ <use>
+ <flag name="fuse">Enable ntfs-3g FUSE driver</flag>
+ <flag name="mount-ntfs">Install mount.ntfs symlink</flag>
+ <flag name="ntfsdecrypt">Build and install the ntfsdecrypt application.</flag>
+ <flag name="ntfsprogs">Enable ntfsprogs</flag>
+ </use>
+ <upstream>
+ <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-2017.3.23-r3.ebuild b/sys-fs/ntfs3g/ntfs3g-2017.3.23-r3.ebuild
deleted file mode 100644
index 2915df67727f..000000000000
--- a/sys-fs/ntfs3g/ntfs3g-2017.3.23-r3.ebuild
+++ /dev/null
@@ -1,106 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit linux-info udev toolchain-funcs libtool
-
-MY_PN=${PN/3g/-3g}
-MY_P=${MY_PN}_ntfsprogs-${PV}
-
-DESCRIPTION="Open source read-write NTFS driver that runs under FUSE"
-HOMEPAGE="http://www.tuxera.com/community/ntfs-3g-download/"
-SRC_URI="http://tuxera.com/opensource/${MY_P}.tgz"
-
-LICENSE="GPL-2"
-# The subslot matches the SONAME major #.
-SLOT="0/88"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="acl debug +external-fuse ntfsdecrypt +ntfsprogs static-libs suid xattr"
-
-RDEPEND="
- ntfsdecrypt? (
- >=dev-libs/libgcrypt-1.2.2:0
- >=net-libs/gnutls-1.4.4
- )
- external-fuse? (
- >=sys-fs/fuse-2.8.0:0
- )
-"
-DEPEND="${RDEPEND}
- sys-apps/attr
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${MY_P}"
-
-DOCS="AUTHORS ChangeLog CREDITS README"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2014.2.15-no-split-usr.patch
- "${FILESDIR}"/${PN}-2016.2.22-sysmacros.patch #580136
- # Fedora fixes
- "${FILESDIR}"/${PN}-2017.3.23-check-mftmirr.patch
- "${FILESDIR}"/${PN}-2017.3.23-big-sectors.patch
- "${FILESDIR}"/${PN}-2017.3.23-full-clusters.patch
- "${FILESDIR}"/CVE-2019-9755.patch
-)
-
-pkg_setup() {
- if use external-fuse && use kernel_linux; then
- if kernel_is lt 2 6 9; then
- die "Your kernel is too old."
- fi
- CONFIG_CHECK="~FUSE_FS"
- FUSE_FS_WARNING="You need to have FUSE module built to use ntfs-3g"
- linux-info_pkg_setup
- fi
-}
-
-src_prepare() {
- default
- # Keep the symlinks in the same place we put the main binaries.
- # Having them in / when all the progs are in /usr is pointless.
- sed -i \
- -e 's:/sbin:$(sbindir):g' \
- {ntfsprogs,src}/Makefile.in || die #578336
- # Note: patches apply to Makefile.in, so don't run autotools here.
- elibtoolize
-}
-
-src_configure() {
- # disable hd library until we have the right library in the tree and
- # don't links to hwinfo one causing issues like bug #602360
- tc-ld-disable-gold
- # passing --exec-prefix is needed as the build system is trying to be clever
- # and install itself into / instead of /usr in order to be compatible with
- # separate-/usr setups (which we don't support without an initrd).
- econf \
- --exec-prefix="${EPREFIX}"/usr \
- $(use_enable debug) \
- --enable-ldscript \
- --disable-ldconfig \
- $(use_enable acl posix-acls) \
- $(use_enable xattr xattr-mappings) \
- $(use_enable ntfsdecrypt crypto) \
- $(use_enable ntfsprogs) \
- $(use_enable ntfsprogs quarantined) \
- --without-uuid \
- --without-hd \
- --enable-extras \
- $(use_enable static-libs static) \
- --with-fuse=$(usex external-fuse external internal)
-}
-
-src_install() {
- default
-
- use suid && fperms u+s /usr/bin/ntfs-3g
- # Not needed with the link of mount.ntfs being created, causes
- # issues like bug #635080
-# udev_dorules "${FILESDIR}"/99-ntfs3g.rules
- dosym mount.ntfs-3g /usr/sbin/mount.ntfs #374197
-
- find "${D}" -name '*.la' -type f -delete || die
-}
diff --git a/sys-fs/ntfs3g/ntfs3g-2017.3.23.5.ebuild b/sys-fs/ntfs3g/ntfs3g-2022.10.3.ebuild
index 83e5a1f4f9ce..684524892382 100644
--- a/sys-fs/ntfs3g/ntfs3g-2017.3.23.5.ebuild
+++ b/sys-fs/ntfs3g/ntfs3g-2022.10.3.ebuild
@@ -1,22 +1,21 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 2006-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit linux-info udev toolchain-funcs libtool
+EAPI=8
-MY_P="ntfs-3g_ntfsprogs-${PV%.*}AR.${PV##*.}"
+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"
-SRC_URI="https://jp-andre.pagesperso-orange.fr/${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 #.
-SLOT="0/885"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="acl debug ntfsdecrypt +ntfsprogs static-libs suid xattr"
+SLOT="0/89"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+IUSE="acl debug +fuse +mount-ntfs ntfsdecrypt +ntfsprogs static-libs suid xattr"
RDEPEND="
sys-apps/util-linux:0=
@@ -34,12 +33,6 @@ BDEPEND="
S="${WORKDIR}/${MY_P}"
-pkg_setup() {
- CONFIG_CHECK="~FUSE_FS"
- FUSE_FS_WARNING="You need to have FUSE module built to use ntfs-3g"
- linux-info_pkg_setup
-}
-
src_configure() {
tc-ld-disable-gold
@@ -52,11 +45,11 @@ src_configure() {
--disable-ldconfig
--enable-extras
$(use_enable debug)
+ $(use_enable fuse ntfs-3g)
$(use_enable acl posix-acls)
$(use_enable xattr xattr-mappings)
$(use_enable ntfsdecrypt crypto)
$(use_enable ntfsprogs)
- $(use_enable ntfsprogs quarantined)
$(use_enable static-libs static)
--with-uuid
@@ -64,14 +57,28 @@ src_configure() {
# disable hd library until we have the right library in the tree and
# don't links to hwinfo one causing issues like bug #602360
--without-hd
+
+ # Needed for suid
+ # https://bugs.gentoo.org/822024
+ --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() {
default
- use suid && fperms u+s /usr/bin/ntfs-3g
- dosym mount.ntfs-3g /sbin/mount.ntfs
- find "${D}" -name '*.la' -type f -delete || die
+ if use fuse; then
+ # Plugins directory
+ keepdir "/usr/$(get_libdir)/ntfs-3g"
+ if use suid; then
+ fperms u+s /usr/bin/ntfs-3g
+ fi
+ if use mount-ntfs; then
+ dosym mount.ntfs-3g /sbin/mount.ntfs
+ fi
+ fi
+ find "${ED}" -name '*.la' -type f -delete || die
}
diff --git a/sys-fs/owfs/Manifest b/sys-fs/owfs/Manifest
deleted file mode 100644
index ead7f89981fa..000000000000
--- a/sys-fs/owfs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST owfs-3.2p2.tar.gz 1491195 BLAKE2B 3e56b954fc61e097d6e39345d689d3ba5386f2ed4383bb7755da6a867d802fe56b9e920fe9b4f24cdd639543bad79a6d13bd549e7ce81afb8eab52372864565a SHA512 d64078639ce4c1c5c42735c720cfa6741a34b91297500d6a7cff6e48a0a87b6391e43fc0c5f6bf44cec27feffb9a2f9b5510e085c602666a5adf803bb8ba3338
diff --git a/sys-fs/owfs/files/owfs-3.1-vendordir.patch b/sys-fs/owfs/files/owfs-3.1-vendordir.patch
deleted file mode 100644
index 2592e8ad0fd7..000000000000
--- a/sys-fs/owfs/files/owfs-3.1-vendordir.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/module/ownet/perl5/Makefile.am b/module/ownet/perl5/Makefile.am
-index 5823f4b..cebe1e6 100644
---- a/module/ownet/perl5/Makefile.am
-+++ b/module/ownet/perl5/Makefile.am
-@@ -8,7 +8,7 @@ OWNet/Makefile: OWNet/Makefile.PL
- if HAVE_DEBIAN
- cd OWNet; $(PERL) Makefile.PL INSTALLDIRS=vendor
- else
-- cd OWNet; $(PERL) Makefile.PL
-+ cd OWNet; $(PERL) Makefile.PL INSTALLDIRS=vendor
- endif
-
- install-data-local: OWNet/Makefile
-diff --git a/module/swig/perl5/Makefile.am b/module/swig/perl5/Makefile.am
-index 8e5f583..49cd252 100644
---- a/module/swig/perl5/Makefile.am
-+++ b/module/swig/perl5/Makefile.am
-@@ -19,7 +19,7 @@ else
- if HAVE_DEBIAN
- ( cd OW; $(PERL) Makefile.PL INSTALLDIRS=vendor )
- else
-- ( cd OW; $(PERL) Makefile.PL )
-+ ( cd OW; $(PERL) Makefile.PL INSTALLDIRS=vendor )
- if HAVE_FREEBSD
- $(PERL) -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' OW/Makefile
-
diff --git a/sys-fs/owfs/files/owfs-3.1p4-sysmacros.patch b/sys-fs/owfs/files/owfs-3.1p4-sysmacros.patch
deleted file mode 100644
index dcb67a6d19c7..000000000000
--- a/sys-fs/owfs/files/owfs-3.1p4-sysmacros.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 6565314e775232cf1682b35720b8b1b207a16f3e Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Wed, 21 Sep 2016 15:38:52 +0200
-Subject: [PATCH] configure: Add AC_HEADER_MAJOR to find where major() is
- defined
-
-glibc currently pulls sys/sysmacros.h into sys/types.h, but this may
-change in a future release.
-
-https://sourceware.org/ml/libc-alpha/2015-11/msg00253.html
-
-Gentoo-Bug: https://bugs.gentoo.org/580922
----
- configure.ac | 4 +++-
- module/owlib/src/include/ow.h | 7 +++++--
- module/ownet/c/src/include/ow.h | 8 ++++++--
- 3 files changed, 14 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index c1e3d77..3b32fbe 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -180,10 +180,12 @@ m4_include([src/scripts/m4/acx_pthread.m4])
- # Checks for header files.
- AC_HEADER_DIRENT
- AC_HEADER_STDC
--AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/mkdev.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
-+AC_CHECK_HEADERS([asm/types.h arpa/inet.h sys/ioctl.h sys/socket.h sys/time.h sys/times.h sys/types.h sys/param.h sys/uio.h feature_tests.h fcntl.h netinet/in.h stdlib.h string.h strings.h sys/file.h syslog.h termios.h unistd.h limits.h stdint.h features.h getopt.h resolv.h semaphore.h])
- AC_CHECK_HEADERS([linux/limits.h linux/types.h netdb.h dlfcn.h])
- AC_CHECK_HEADERS(sys/event.h sys/inotify.h)
-
-+AC_HEADER_MAJOR
-+
- # Test if debugging out enabled
- ENABLE_DEBUG="true"
- AC_MSG_CHECKING([if debug-output is enabled])
-diff --git a/module/owlib/src/include/ow.h b/module/owlib/src/include/ow.h
-index 9dbec5f..2a6050d 100644
---- a/module/owlib/src/include/ow.h
-+++ b/module/owlib/src/include/ow.h
-@@ -188,9 +188,12 @@
- #include <netdb.h> /* for getaddrinfo */
- #endif /* HAVE_NETDB_H */
-
--#ifdef HAVE_SYS_MKDEV_H
-+#ifdef MAJOR_IN_MKDEV
- #include <sys/mkdev.h> /* for major() */
--#endif /* HAVE_SYS_MKDEV_H */
-+#endif /* MAJOR_IN_MKDEV */
-+#ifdef MAJOR_IN_SYSMACROS
-+#include <sys/sysmacros.h> /* for major() */
-+#endif /* MAJOR_IN_MKDEV */
-
- #include <stddef.h> // for offsetof()
-
-diff --git a/module/ownet/c/src/include/ow.h b/module/ownet/c/src/include/ow.h
-index c157a7c..aeeba8e 100644
---- a/module/ownet/c/src/include/ow.h
-+++ b/module/ownet/c/src/include/ow.h
-@@ -118,9 +118,13 @@
-
- #include <netdb.h> /* addrinfo */
-
--#ifdef HAVE_SYS_MKDEV_H
-+#ifdef MAJOR_IN_MKDEV
- #include <sys/mkdev.h> /* for major() */
--#endif /* HAVE_SYS_MKDEV_H */
-+#endif /* MAJOR_IN_MKDEV */
-+#ifdef MAJOR_IN_SYSMACROS
-+#include <sys/sysmacros.h> /* for major() */
-+#endif /* MAJOR_IN_MKDEV */
-+
-
- /* Can't include search.h when compiling owperl on Fedora Core 1. */
- #ifndef SKIP_SEARCH_H
---
-2.10.0
-
diff --git a/sys-fs/owfs/files/owfs.confd b/sys-fs/owfs/files/owfs.confd
deleted file mode 100644
index f85d25e74f22..000000000000
--- a/sys-fs/owfs/files/owfs.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# owfs configuration
-OWFS_OPTS="-m /var/lib/owfs/mnt --allow_other -s 127.0.0.1:4304"
diff --git a/sys-fs/owfs/files/owfs.initd-r1 b/sys-fs/owfs/files/owfs.initd-r1
deleted file mode 100644
index fce0f5e52d4a..000000000000
--- a/sys-fs/owfs/files/owfs.initd-r1
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or later
-
-INSTANCE=${SVCNAME#*.}
-PROGRAM=${SVCNAME%%.*}
-PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid}
-OWUID=${OWUID:-owfs}
-OWGID=${OWGID:-owfs}
-
-depend() {
- need owserver
- use logger
-}
-
-start_pre() {
- checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})"
-}
-
-start() {
- ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \
- --pid-file ${PIDFILE} \
- --background --error_print 1 \
- ${OWFS_OPTS:--m /var/lib/owfs/mnt --allow_other -s 127.0.0.1:4304}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} -u ${OWUID}
- eend $?
-}
diff --git a/sys-fs/owfs/files/owftpd.confd b/sys-fs/owfs/files/owftpd.confd
deleted file mode 100644
index fc93d2fd7195..000000000000
--- a/sys-fs/owfs/files/owftpd.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# owfs owftpd configuration
-OWFTPD_OPTS="--nozero -p 127.0.0.1:4381 -s 127.0.0.1:4304 --max_clients 5 --timeout_ftp 600"
diff --git a/sys-fs/owfs/files/owftpd.initd-r1 b/sys-fs/owfs/files/owftpd.initd-r1
deleted file mode 100644
index 8bbf93b49dc8..000000000000
--- a/sys-fs/owfs/files/owftpd.initd-r1
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or later
-
-INSTANCE=${SVCNAME#*.}
-PROGRAM=${SVCNAME%%.*}
-PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid}
-OWUID=${OWUID:-owfs}
-OWGID=${OWGID:-owfs}
-
-depend() {
- need owserver
- use logger
-}
-
-start_pre() {
- checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})"
-}
-
-start() {
- ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \
- --pid-file ${PIDFILE} \
- --background --error_print 1 \
- ${OWFTPD_OPTS:---nozero -p 127.0.0.1:4381 -s 127.0.0.1:4304 --max_clients 5 --timeout_ftp 600}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} -u ${OWUID}
- eend $?
-}
diff --git a/sys-fs/owfs/files/owhttpd.confd b/sys-fs/owfs/files/owhttpd.confd
deleted file mode 100644
index 2a5200c31118..000000000000
--- a/sys-fs/owfs/files/owhttpd.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# owfs owhttpd configuration
-OWHTTPD_OPTS="--nozero -p 127.0.0.1:4380 -s 127.0.0.1:4304"
diff --git a/sys-fs/owfs/files/owhttpd.initd-r1 b/sys-fs/owfs/files/owhttpd.initd-r1
deleted file mode 100644
index cf3af54f50e9..000000000000
--- a/sys-fs/owfs/files/owhttpd.initd-r1
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or later
-
-INSTANCE=${SVCNAME#*.}
-PROGRAM=${SVCNAME%%.*}
-PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid}
-OWUID=${OWUID:-owfs}
-OWGID=${OWGID:-owfs}
-
-depend() {
- need owserver
- use logger
-}
-
-start_pre() {
- checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})"
-}
-
-start() {
- ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \
- --pid-file ${PIDFILE} \
- --background --error_print 1 \
- ${OWHTTPD_OPTS:---nozero -p 127.0.0.1:4380 -s 127.0.0.1:4304}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} -u ${OWUID}
- eend $?
-}
diff --git a/sys-fs/owfs/files/owserver.confd b/sys-fs/owfs/files/owserver.confd
deleted file mode 100644
index e764e2df10ec..000000000000
--- a/sys-fs/owfs/files/owserver.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# owfs owserver configuration
-OWSERVER_OPTS="--nozero -p 127.0.0.1:4304 -d /dev/ttyS0 --timeout_volatile 5"
diff --git a/sys-fs/owfs/files/owserver.initd-r1 b/sys-fs/owfs/files/owserver.initd-r1
deleted file mode 100644
index 88b9790882f5..000000000000
--- a/sys-fs/owfs/files/owserver.initd-r1
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License, v2 or later
-
-INSTANCE=${SVCNAME#*.}
-PROGRAM=${SVCNAME%%.*}
-PIDFILE=${PIDFILE:-/run/owfs/${PROGRAM}.pid}
-OWUID=${OWUID:-owfs}
-OWGID=${OWGID:-owfs}
-
-depend() {
- use logger
-}
-
-start_pre() {
- checkpath -d -m 0750 -o ${OWUID}:${OWGID} "$(dirname ${PIDFILE})"
-}
-
-start() {
- ebegin "Starting ${SVCNAME}"
- start-stop-daemon --start --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} --user ${OWUID}:${OWGID} -- \
- --pid-file ${PIDFILE} \
- --background --error_print 1 \
- ${OWSERVER_OPTS:---nozero -p 127.0.0.1:4304 -d /dev/ttyS0}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${SVCNAME}"
- start-stop-daemon --stop --exec /usr/bin/${PROGRAM} \
- --pidfile ${PIDFILE} -u ${OWUID}
- eend $?
-}
diff --git a/sys-fs/owfs/metadata.xml b/sys-fs/owfs/metadata.xml
deleted file mode 100644
index 3643be9f41d1..000000000000
--- a/sys-fs/owfs/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- OWFS (One Wire File System) is an easy way to use the powerful 1-wire system
- of Dallas/Maxim. A simple and flexible program to monitor and control the
- physical environment. You can write scripts to read temperature, flash
- lights, write to an LCD, log and graph, ...
- </longdescription>
- <slots>
- <subslots>Reflect ABI of libow.so.</subslots>
- </slots>
- <upstream>
- <remote-id type="sourceforge">owfs</remote-id>
- </upstream>
- <use>
- <flag name="ftdi">Enable support for USB FTDI chips via <pkg>dev-embedded/libftdi</pkg></flag>
- <flag name="ftpd">Enable building the OWFS FTP server (owftpd)</flag>
- <flag name="fuse">Enable building the FUSE-based OWFS client (owfs)</flag>
- <flag name="httpd">Enable building the OWFS web server (owhttpd)</flag>
- <flag name="parport">Enable support for the DS1410E parallel port adapter</flag>
- <flag name="zeroconf">Enables support for zero-configuration networking via <pkg>net-dns/avahi</pkg></flag>
- </use>
-</pkgmetadata>
diff --git a/sys-fs/owfs/owfs-3.2_p2-r2.ebuild b/sys-fs/owfs/owfs-3.2_p2-r2.ebuild
deleted file mode 100644
index 49482396596b..000000000000
--- a/sys-fs/owfs/owfs-3.2_p2-r2.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-DISTUTILS_OPTIONAL=1
-
-inherit autotools distutils-r1 linux-info perl-functions systemd user
-
-MY_P="${P/_/}"
-
-DESCRIPTION="Access 1-Wire devices like a filesystem"
-SRC_URI="mirror://sourceforge/owfs/${MY_P}.tar.gz"
-HOMEPAGE="https://owfs.org/ https://sourceforge.net/projects/owfs/"
-KEYWORDS="amd64 arm x86"
-
-# Upstream uses crazy SONAME, https://github.com/owfs/owfs/commit/c696fa9b9b44f49c96b9f1c2b3159d277e0c1273
-SLOT="0/${PV}"
-LICENSE="GPL-2"
-
-IUSE="debug ftdi ftpd fuse httpd parport perl python tcl usb zeroconf"
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- ftdi? ( dev-embedded/libftdi:0 )
- fuse? ( sys-fs/fuse:0= )
- perl? ( dev-lang/perl:= )
- parport? ( sys-kernel/linux-headers )
- python? ( ${PYTHON_DEPS} )
- tcl? ( dev-lang/tcl:0= )
- usb? ( virtual/libusb:0 )
- zeroconf? ( net-dns/avahi[mdnsresponder-compat] )
-"
-
-DEPEND="${RDEPEND}
- perl? ( dev-lang/swig )
- python? ( dev-lang/swig )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.1-vendordir.patch
- "${FILESDIR}"/${PN}-3.1p4-sysmacros.patch
-)
-
-S="${WORKDIR}/${MY_P}"
-
-OWUID="${OWUID:-owfs}"
-OWGID="${OWGID:-owfs}"
-
-pkg_setup() {
- if use kernel_linux; then
- linux-info_pkg_setup
-
- if linux_config_exists; then
- if ! linux_chkconfig_present W1; then
- ewarn "CONFIG_W1 isn't set. You will not be able to use 1-wire bus on this system!"
- fi
- else
- elog "Cannot find a linux kernel configuration. Continuing anyway."
- fi
- fi
-
- use perl && perl_set_version
-
- enewgroup ${OWGID} 150
- enewuser ${OWUID} 150 -1 -1 ${OWGID}
-}
-
-src_prepare() {
- default
-
- # Support user's CFLAGS and LDFLAGS.
- sed -i "s/@CPPFLAGS@/@CPPFLAGS@ ${CFLAGS}/" \
- module/swig/perl5/OW/Makefile.linux.in || die
- sed -i "s/@LIBS@/@LIBS@ ${LDFLAGS}/" \
- module/swig/perl5/OW/Makefile.linux.in || die
-
- eautoreconf
-}
-
-src_configure() {
- # disable owpython since we can build python anyway
- # and without it, we don't have to fix the build ;)
- # disable owphp because it is not compatible with PHP-7, bug #651106
- local myeconf=(
- $(use_enable debug)
- $(use_enable fuse owfs)
- $(use_enable ftdi)
- $(use_enable ftpd owftpd)
- $(use_enable httpd owhttpd)
- $(use_enable parport)
- $(use_enable perl owperl)
- --disable-owphp
- --disable-owpython
- $(use_enable tcl owtcl)
- $(use_enable zeroconf avahi)
- $(use_enable zeroconf zero)
- $(use_enable usb)
- --with-systemdsystemunitdir=$(systemd_get_systemunitdir)
- )
-
- if use httpd || use ftpd || use fuse; then
- myeconf+=( --enable-owserver )
- else
- myeconf+=( --disable-owserver )
- fi
-
- econf ${myeconf[@]}
-}
-
-src_compile() {
- default
-
- if use python; then
- local CFLAGS="${CFLAGS} -fno-strict-aliasing"
-
- pushd module/ownet/python > /dev/null || die
- distutils-r1_src_compile
- popd > /dev/null || die
-
- pushd module/swig/python > /dev/null || die
- emake ow_wrap.c
- distutils-r1_src_compile
- popd > /dev/null || die
- fi
-}
-
-src_test() { :; }
-
-src_install() {
- default
-
- if use httpd || use ftpd || use fuse; then
- newinitd "${FILESDIR}"/owserver.initd-r1 owserver
- newconfd "${FILESDIR}"/owserver.confd owserver
-
- for i in httpd ftpd; do
- if use ${i}; then
- newinitd "${FILESDIR}"/ow${i}.initd-r1 ow${i}
- newconfd "${FILESDIR}"/ow${i}.confd ow${i}
- fi
- done
-
- if use fuse; then
- dodir /var/lib/owfs
- dodir /var/lib/owfs/mnt
- newinitd "${FILESDIR}"/owfs.initd-r1 owfs
- newconfd "${FILESDIR}"/owfs.confd owfs
- fi
- fi
-
- use perl && perl_delete_localpod
-
- if use python; then
- pushd module/ownet/python > /dev/null || die
- distutils-r1_src_install
- popd > /dev/null || die
-
- pushd module/swig/python > /dev/null || die
- distutils-r1_src_install
- popd > /dev/null || die
- fi
-
- find "${D}" -name '*.la' -delete || die
-}
-
-pkg_postinst() {
- if use httpd || use ftpd || use fuse; then
- echo
- if [[ ${OWUID} != root ]]; then
- ewarn
- ewarn "In order to allow the OWFS daemon user '${OWUID}' to read"
- ewarn "from and/or write to a 1 wire bus controller device, make"
- ewarn "sure the user has appropriate permission to access the"
- ewarn "corresponding device node/path (e.g. /dev/ttyS0), for example"
- ewarn "by adding the user to the group 'uucp' (for serial devices)"
- ewarn "or 'usb' (for USB devices accessed via usbfs on /proc/bus/usb),"
- ewarn "or install an appropriate UDEV rules (see http://owfs.org/index.php?page=udev-and-usb"
- ewarn "for more information)."
- ewarn
- if use fuse; then
- ewarn "In order to allow regular users to read from and/or write to"
- ewarn "1 wire bus devices accessible via the owfs FUSE filesystem"
- ewarn "client and its filesystem mountpoint, make sure the user is"
- ewarn "a member of the group '${OWGID}'."
- ewarn
- fi
- echo
- fi
- fi
-}
diff --git a/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-autotools.patch b/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-autotools.patch
index 4a0753f4f09b..dfb1b27af787 100644
--- a/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-autotools.patch
+++ b/sys-fs/progsreiserfs/files/progsreiserfs-0.3.1_rc8-autotools.patch
@@ -1,7 +1,7 @@
http://bugs.gentoo.org/442226
---- progsreiserfs.m4
-+++ progsreiserfs.m4
+--- a/progsreiserfs.m4
++++ b/progsreiserfs.m4
@@ -10,7 +10,7 @@
dnl Adds the required libraries to $REISERFS_LIBS and does an
dnl AC_SUBST(REISERFS_LIBS)
diff --git a/sys-fs/progsreiserfs/metadata.xml b/sys-fs/progsreiserfs/metadata.xml
index 4dea6b2cb795..f7526419ec8c 100644
--- a/sys-fs/progsreiserfs/metadata.xml
+++ b/sys-fs/progsreiserfs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild b/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild
index 4d7551d17106..50a1759d6ee0 100644
--- a/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild
+++ b/sys-fs/progsreiserfs/progsreiserfs-0.3.1_rc8.ebuild
@@ -1,30 +1,36 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit eutils flag-o-matic libtool ltprune
+inherit flag-o-matic libtool
MY_P=${PN}-${PV/_/-}
DESCRIPTION="Library for accessing and manipulating reiserfs partitions"
HOMEPAGE="http://reiserfs.linux.kiev.ua/"
SRC_URI="http://reiserfs.linux.kiev.ua/snapshots/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ppc ~ppc64 ~sparc x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~sparc x86"
IUSE="debug examples nls static-libs"
-RDEPEND=""
-DEPEND="${RDEPEND}
+DEPEND="
sys-apps/util-linux
- nls? ( sys-devel/gettext )"
+ nls? (
+ sys-devel/gettext
+ virtual/libintl
+ )
+"
-S=${WORKDIR}/${MY_P}
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+)
src_prepare() {
- epatch "${FILESDIR}"/${P}-autotools.patch
+ default
elibtoolize
}
@@ -47,8 +53,9 @@ src_install() {
dodoc demos/*.c
fi
+ find "${ED}" -name '*.la' -delete || die
+
rm -r "${ED}"/usr/{sbin,share/man} || die
- prune_libtool_files
}
pkg_postinst() {
diff --git a/sys-fs/quota/Manifest b/sys-fs/quota/Manifest
index 43911e834b7e..de8eeb05f7a9 100644
--- a/sys-fs/quota/Manifest
+++ b/sys-fs/quota/Manifest
@@ -1,2 +1 @@
-DIST quota-4.04.tar.gz 577303 BLAKE2B 8ee1e8f99b70f626ec051e4e9afe53c788b625a29f26afbe075039cf88dde9f6641c39e0ccfdbfcc6981fabe35e8fd15e7203989e9bbbdd1f1772949566531f6 SHA512 adc33863d2a966b4c46983fa3926e6b6ba75e260ed21bdff646584237840e6beb0dcfbfd2f655969aa5675c3c398ac2e483afb933f03f983756ebb3352d0eaad
-DIST quota-4.05.tar.gz 577313 BLAKE2B ab0adc04a2bee46f5b4f528c3a1b7f1dfbfc93cc153aebef91cf563e0b03344479b4d465f7d91cfee60c533052f27ce54f24a937c0c1ec312a5fff763cb82bd1 SHA512 a13ca93fb6fad032cb032874dda2f5d792e619b41e89b481e6aaa4f06ac5774e2728b09dd625addfbe22efccb1d85892b093736084c72f75675a60df168b92f2
+DIST quota-4.09.tar.gz 523191 BLAKE2B 30b3828a45dcd7d99ff053f362917c138b1f0bcbde5f6fd3dfc1b48cb12615e5673d852f9276f2b370f9c799a2103e220d91ddf6a770aaaf8944cfb5c1131a74 SHA512 003d45f33543d4c87446e6547079cdae293b8dade01c58cf3626623721a1400ee07681395ad656c23a9ea2a62ab27c6ad24ad55600890e6e25334aba27ab1ad5
diff --git a/sys-fs/quota/files/quota-4.04-Listen-on-a-TCP-socket.patch b/sys-fs/quota/files/quota-4.04-Listen-on-a-TCP-socket.patch
deleted file mode 100644
index cf1bd4aad32f..000000000000
--- a/sys-fs/quota/files/quota-4.04-Listen-on-a-TCP-socket.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 31ecd29b3b3f51145fd78f63087c10e9fcadf999 Mon Sep 17 00:00:00 2001
-From: Steve Dickson <steved@redhat.com>
-Date: Tue, 22 May 2018 12:41:59 +0200
-Subject: [PATCH] Listen on a TCP socket
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-rpc.rquotad spins in libtirpc's rendezvous_request() on accepting TCP
-connections because the polled TCP socket is not listening:
-
-poll([{fd=4, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=5,
- events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=6,
- events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=7,
- events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}], 4, -1) = 2 ([{fd=5,
- revents=POLLHUP}, {fd=7, revents=POLLHUP}])
-accept(5, 0x7ffe61698700, [128]) = -1 EINVAL (Invalid argument)
-accept(7, 0x7ffe61698700, [128]) = -1 EINVAL (Invalid argument)
-
-The polled descriptors are:
-
-rpc.rquot 21981 root 4u IPv4 80449159 0t0 UDP *:rquotad
-rpc.rquot 21981 root 5u sock 0,9 0t0 80449162 protocol: TCP
-rpc.rquot 21981 root 6u IPv6 80449165 0t0 UDP *:rquotad
-rpc.rquot 21981 root 7u sock 0,9 0t0 80449168 protocol: TCPv6
-
-That results into a high CPU usage just after staring rpc.rquotad
-process.
-
-This patch adds a listen() call to svc_create_sock()
-routine which is needed with libtirpc version of svc_tli_create()
-as well as a needed IPv6 setsockopt().
-
-Signed-off-by: Petr Písař <ppisar@redhat.com>
----
- svc_socket.c | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
-
-diff --git a/svc_socket.c b/svc_socket.c
-index 8a44604..d2e3abf 100644
---- a/svc_socket.c
-+++ b/svc_socket.c
-@@ -118,6 +118,15 @@ static int svc_create_sock(struct addrinfo *ai)
- return -1;
- }
-
-+ if (ai->ai_family == AF_INET6) {
-+ if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY,
-+ &optval, sizeof(optval)) < 0) {
-+ errstr(_("Cannot set IPv6 socket options: %s\n"), strerror(errno));
-+ close(fd);
-+ return -1;
-+ }
-+ }
-+
- if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) < 0) {
- errstr(_("Cannot set socket options: %s\n"), strerror(errno));
- close(fd);
-@@ -129,6 +138,15 @@ static int svc_create_sock(struct addrinfo *ai)
- close(fd);
- return -1;
- }
-+
-+ if (ai->ai_protocol == IPPROTO_TCP) {
-+ if (listen(fd, SOMAXCONN) < 0) {
-+ errstr(_("Cannot listen to address: %s\n"), strerror(errno));
-+ close(fd);
-+ return -1;
-+ }
-+ }
-+
- return fd;
- }
-
---
-2.14.3
-
diff --git a/sys-fs/quota/files/quota-4.04-glibc226.patch b/sys-fs/quota/files/quota-4.04-glibc226.patch
deleted file mode 100644
index 5f63cde7d426..000000000000
--- a/sys-fs/quota/files/quota-4.04-glibc226.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From bbb8819fc0f6ed379a05d635a61bcf9c8986079f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andreas=20K=2E=20H=C3=BCttel?= <dilfridge@gentoo.org>
-Date: Sat, 16 Sep 2017 13:09:43 +0200
-Subject: [PATCH] Add $(TIRPC_CFLAGS) globally to CFLAGS for RPC support,
- needed for libc 2.26
-
----
- Makefile.am | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 8d80bee..278290a 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -51,6 +51,8 @@ EXTRA_DIST = \
- noinst_LIBRARIES = libquota.a
-
- if WITH_RPC
-+CFLAGS += $(TIRPC_CFLAGS)
-+
- rpcsvcdir = $(includedir)/rpcsvc
- rpcsvc_DATA = \
- rquota.h \
-@@ -100,8 +102,6 @@ libquota_a_SOURCES = \
- mntopt.h \
- pot.c \
- pot.h
--libquota_a_CFLAGS = \
-- $(TIRPC_CFLAGS)
- libquota_a_LIBADD = \
- $(RPCLIBS)
-
-@@ -235,7 +235,6 @@ rpc_rquotad_SOURCES = \
- rquota_server.c \
- rquota_svc.c \
- svc_socket.c
--rpc_rquotad_CFLAGS = $(TIRPC_CFLAGS)
- rpc_rquotad_LDADD = \
- libquota.a \
- $(WRAP_LIBS) \
---
-2.14.1
-
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/metadata.xml b/sys-fs/quota/metadata.xml
index 3787c4c41e98..0ba12bb30b2d 100644
--- a/sys-fs/quota/metadata.xml
+++ b/sys-fs/quota/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/quota/quota-4.05-r1.ebuild b/sys-fs/quota/quota-4.05-r1.ebuild
deleted file mode 100644
index 6751a1a13189..000000000000
--- a/sys-fs/quota/quota-4.05-r1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Linux quota tools"
-HOMEPAGE="https://sourceforge.net/projects/linuxquota/"
-SRC_URI="mirror://sourceforge/linuxquota/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="ldap netlink nls rpc tcpd"
-
-RDEPEND="
- sys-fs/e2fsprogs
- ldap? ( >=net-nds/openldap-2.3.35 )
- netlink? (
- sys-apps/dbus
- dev-libs/libnl:3
- )
- rpc? (
- elibc_glibc? ( sys-libs/glibc[-rpc(-)] )
- net-libs/libtirpc
- net-libs/rpcsvc-proto
- )
- tcpd? ( sys-apps/tcp-wrappers )
-"
-DEPEND="
- ${RDEPEND}
- nls? ( sys-devel/gettext )
-"
-PDEPEND="
- rpc? ( net-nds/rpcbind )
-"
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- local myeconfargs=(
- --enable-ext2direct
- $(use_enable nls)
- $(use_enable ldap ldapmail)
- $(use_enable netlink)
- $(use_enable rpc)
- $(use_enable rpc rpcsetquota)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc doc/* README.* Changelog
-
- insinto /etc
- insopts -m0644
- doins warnquota.conf quotatab
-
- newinitd "${FILESDIR}"/quota.rc7 quota
- newconfd "${FILESDIR}"/quota.confd quota
-
- if use rpc ; then
- newinitd "${FILESDIR}"/rpc.rquotad.initd rpc.rquotad
- fi
-
- if use ldap ; then
- insinto /etc/openldap/schema
- insopts -m0644
- doins "${FILESDIR}"/ldap-scripts/quota.schema
-
- exeinto /usr/share/quota/ldap-scripts
- doexe "${FILESDIR}"/ldap-scripts/*.pl
- doexe "${FILESDIR}"/ldap-scripts/edquota_editor
- fi
-}
diff --git a/sys-fs/quota/quota-4.04-r3.ebuild b/sys-fs/quota/quota-4.09.ebuild
index 9a208fb2b9a6..8bf802bd6d36 100644
--- a/sys-fs/quota/quota-4.04-r3.ebuild
+++ b/sys-fs/quota/quota-4.09.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit autotools
@@ -11,38 +11,37 @@ SRC_URI="mirror://sourceforge/linuxquota/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="ldap netlink nls rpc tcpd"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="ldap netlink nls rpc selinux tcpd"
RDEPEND="
sys-fs/e2fsprogs
- ldap? ( >=net-nds/openldap-2.3.35 )
+ ldap? ( >=net-nds/openldap-2.3.35:= )
netlink? (
sys-apps/dbus
dev-libs/libnl:3
)
rpc? (
elibc_glibc? ( sys-libs/glibc[-rpc(-)] )
- net-libs/libtirpc
+ net-libs/libtirpc:=
net-libs/rpcsvc-proto
)
tcpd? ( sys-apps/tcp-wrappers )
"
-DEPEND="
- ${RDEPEND}
- nls? ( sys-devel/gettext )
-"
-PDEPEND="
- rpc? ( net-nds/rpcbind )
-"
+DEPEND="${RDEPEND}"
+BDEPEND="nls? ( sys-devel/gettext )"
+PDEPEND="rpc? ( net-nds/rpcbind )"
+RDEPEND+=" selinux? ( sec-policy/selinux-quota )"
PATCHES=(
- "${FILESDIR}/${P}-glibc226.patch"
- "${FILESDIR}/${P}-Listen-on-a-TCP-socket.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
}
@@ -55,6 +54,7 @@ src_configure() {
$(use_enable rpc)
$(use_enable rpc rpcsetquota)
)
+
econf "${myeconfargs[@]}"
}
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 56c124413057..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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.2.ebuild
deleted file mode 100644
index 1704f4c5ba47..000000000000
--- a/sys-fs/quotatool/quotatool-1.6.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2020 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="http://quotatool.ekenberg.se/"
-SRC_URI="http://quotatool.ekenberg.se/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 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/quotatool/quotatool-1.6.3.ebuild b/sys-fs/quotatool/quotatool-1.6.3.ebuild
new file mode 100644
index 000000000000..6f1e6a22bd08
--- /dev/null
+++ b/sys-fs/quotatool/quotatool-1.6.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Command-line utility for filesystem quotas"
+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"
+KEYWORDS="amd64 ~arm ~arm64 ppc x86"
+
+RDEPEND="sys-fs/quota"
+
+src_configure() {
+ tc-export CC
+ default
+}
diff --git a/sys-fs/rar2fs/Manifest b/sys-fs/rar2fs/Manifest
index 54c7f396fa59..0f66c4942f49 100644
--- a/sys-fs/rar2fs/Manifest
+++ b/sys-fs/rar2fs/Manifest
@@ -1,3 +1 @@
-DIST rar2fs-1.27.2.tar.gz 259516 BLAKE2B ffa34fa5e38e22c0055c6a98442ad29a1ee62e215ff5e8fcc88a254a7de2d6c2842608adfeb22edece748dbc7173bba0574132cf8a9e735c5b84c53b0eb1b163 SHA512 7316198e1812cb88822e14c115d9dc0d98addeae3c6587888210197139046fb936ad3f1d599c45714c3d127535cf819311d314301249be78b91d66ebfc0fa453
-DIST rar2fs-1.28.0.tar.gz 264753 BLAKE2B 7f1462fae6e869e64a8c75d85c50df2794f4bfd0b057e5c213eb28a8aa48da53961026c5b9fb752090052c25a02ef9bb2a90bc57cfd8c4097b4c3136f20e7fb1 SHA512 e50313d1dae57387f60520ed3ff1d610f4c8448fcff101a9735a4ac1471dc5aa6ac67d0ba5200310caf439cf60ab1e1b8328a7048904970c292f35f700ef5c03
-DIST rar2fs-1.29.0.tar.gz 267351 BLAKE2B cc71c038b32fcc5584234df60dae829486885485e78702bacf6e6da21377b399b65a8b4986a076e84915c65f4f03ff0084678854188b6cef261a66547d8417c1 SHA512 199767cf22a11a7afd53318d471138ed1d82b92dc6d4e0d20094262a2f2d8f9c03ac6b47ceff8318923e01228b33f12684b1664e4b1c28bf43fb0d81f3d044c5
+DIST rar2fs-1.29.6.tar.gz 269026 BLAKE2B df2b33561898b8e23bd54481f275058442be7b8616d7107614f98e6cc478c400ad764fff35ccab29f4a907ba9ac2afbb58f3093976e5b191b1e844f28a64f6a0 SHA512 c046f51c7047c3d04c3e9d1b69c72c019c32c70f83776f8179b608e8c21a7a3edfd4229434285a4234fd65ad48ffd5cbae3b2fa2d285cecf1a84a3a30ab3c256
diff --git a/sys-fs/rar2fs/metadata.xml b/sys-fs/rar2fs/metadata.xml
index f9faf2cdd051..0d9bf81a3545 100644
--- a/sys-fs/rar2fs/metadata.xml
+++ b/sys-fs/rar2fs/metadata.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>fdegros@chromium.org</email>
<name>François Degros</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sys-fs/rar2fs/rar2fs-1.27.2-r1.ebuild b/sys-fs/rar2fs/rar2fs-1.27.2-r1.ebuild
deleted file mode 100644
index d7d5e5f041b8..000000000000
--- a/sys-fs/rar2fs/rar2fs-1.27.2-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
-SRC_URI="https://github.com/hasse69/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug"
-
-# Note that upstream unrar sometimes breaks ABI without updating the SONAME
-# version so try rebuilding rar2fs if it doesn't work following an unrar
-# upgrade.
-RDEPEND=">=app-arch/unrar-5:=
- sys-fs/fuse:0"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- export USER_CFLAGS="${CFLAGS}"
-
- econf \
- --with-unrar="${ESYSROOT}"/usr/include/libunrar \
- --disable-static-unrar \
- $(use_enable debug)
-}
diff --git a/sys-fs/rar2fs/rar2fs-1.29.0.ebuild b/sys-fs/rar2fs/rar2fs-1.29.0.ebuild
deleted file mode 100644
index e7b7be74efd1..000000000000
--- a/sys-fs/rar2fs/rar2fs-1.29.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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"
-SRC_URI="https://github.com/hasse69/${PN}/releases/download/v${PV}/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="debug"
-
-# Note that upstream unrar sometimes breaks ABI without updating the SONAME
-# version so try rebuilding rar2fs if it doesn't work following an unrar
-# upgrade.
-RDEPEND=">=app-arch/unrar-5:=
- sys-fs/fuse:0"
-DEPEND="${RDEPEND}"
-
-src_configure() {
- export USER_CFLAGS="${CFLAGS}"
-
- econf \
- --with-unrar="${ESYSROOT}"/usr/include/libunrar \
- --disable-static-unrar \
- $(use_enable debug)
-}
diff --git a/sys-fs/rar2fs/rar2fs-1.28.0.ebuild b/sys-fs/rar2fs/rar2fs-1.29.6.ebuild
index d7d5e5f041b8..de854a230aa7 100644
--- a/sys-fs/rar2fs/rar2fs-1.28.0.ebuild
+++ b/sys-fs/rar2fs/rar2fs-1.29.6.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+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"
diff --git a/sys-fs/reiser4progs/Manifest b/sys-fs/reiser4progs/Manifest
index e169494bd077..e0c527b6cabe 100644
--- a/sys-fs/reiser4progs/Manifest
+++ b/sys-fs/reiser4progs/Manifest
@@ -1,3 +1 @@
-DIST reiser4progs-1.2.1.tar.gz 980203 BLAKE2B 8c9cb77458c083c50f34c17bddf4747b755b52b911a63835152ad584494c2738a5317c28e5b3f1e6bfdc49416f3715ca4fbbd9c8a428b5b484b54f8f4a861a58 SHA512 2caac5a98d672d68910c6df3e694a42365fa6273ae367c26126778c1fbe956aa502dac236d36c3302a5bf109468ad3447e645a6eab89c83f122dd1afe2aeda21
-DIST reiser4progs-2.0.2.tar.gz 994469 BLAKE2B ac680b901807c22b246ea5601b89d51fdd8ea12636bdacbddcdb191455c4ede50b116edd0d8d7398f99d6fb26ea9f44c5ffc561296ab3ee1c3ae0b5eade2e1ec SHA512 b7473c6ab4e3f3249b60081ac31e92c267a1408c32f82dc6d27e92297ac4e90263c129ef748891ca4c7cf31035ac723867f9bed649bae9ea1b73525278fdfdb3
-DIST reiser4progs-2.0.3.tar.gz 995921 BLAKE2B fa38c8998603ca0c26a17c75240d07afec6c46da1b437e5a733ce3a5a865329591d4343b52d7fd5dc56bb6afe34f4f7685e7dc258ed075dfe4a70a7ad420324a SHA512 59bcd6d73a220fd0e71cc4213489801f45597ebfcf0be55f150e929ef391e0a461a94ab99ee9698e1fb1eb58840497277ece6a2ea57e88d54573347a8854da87
+DIST reiser4progs-2.0.5.tar.gz 997516 BLAKE2B 38799bd2161ac3ad631b3f11f4f01f647fa8210786fa4aeb290a84dac95080cdf979be1cb4526abf08567e88f25aad54a3d776be85900e702a7325e674ddd0e1 SHA512 1e1f263828bd5f44837bcbdde072a94b2cc5a099dbf52d3e0f7f6851812fb2e8b77a3edcf5448f678304e23240c63919547a9671d36b816f97f989b17b494d27
diff --git a/sys-fs/reiser4progs/metadata.xml b/sys-fs/reiser4progs/metadata.xml
index beb7d59cfa8e..b350297aa2ec 100644
--- a/sys-fs/reiser4progs/metadata.xml
+++ b/sys-fs/reiser4progs/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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-needed -->
<upstream>
<remote-id type="sourceforge">reiser4</remote-id>
</upstream>
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 77fd55138b22..000000000000
--- a/sys-fs/reiser4progs/reiser4progs-1.2.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit multilib eutils 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/reiser4progs/reiser4progs-2.0.3.ebuild b/sys-fs/reiser4progs/reiser4progs-2.0.3.ebuild
deleted file mode 100644
index fa83088da8fb..000000000000
--- a/sys-fs/reiser4progs/reiser4progs-2.0.3.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-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.7:=[static-libs(+)]
- readline? ( sys-libs/readline:0=[static-libs(+)] )"
-RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
- static-libs? ( >=sys-libs/libaal-1.0.7:=[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
- find "${ED}" -type f -name "*.la" -delete || die
-}
diff --git a/sys-fs/reiser4progs/reiser4progs-2.0.2.ebuild b/sys-fs/reiser4progs/reiser4progs-2.0.5.ebuild
index fa83088da8fb..88d7ce5023c9 100644
--- a/sys-fs/reiser4progs/reiser4progs-2.0.2.ebuild
+++ b/sys-fs/reiser4progs/reiser4progs-2.0.5.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="mirror://sourceforge/reiser4/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 -sparc ~x86"
+KEYWORDS="amd64 arm ~arm64 ~loong ppc ppc64 -sparc x86"
IUSE="debug readline static static-libs"
LIB_DEPEND=">=sys-libs/libaal-1.0.7:=[static-libs(+)]
diff --git a/sys-fs/reiserfs-defrag/metadata.xml b/sys-fs/reiserfs-defrag/metadata.xml
index 2d4ce2895ae8..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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 fa199ec1c407..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,9 +1,9 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
-inherit cmake-utils
+inherit cmake
DESCRIPTION="Small defragmentation tool for reiserfs"
HOMEPAGE="https://github.com/i-rinat/reiserfs-defrag"
@@ -12,10 +12,6 @@ SRC_URI="https://github.com/i-rinat/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="debug"
-
-DEPEND=""
-RDEPEND="${DEPEND}"
DOCS=( ChangeLog README.md )
diff --git a/sys-fs/reiserfsprogs/Manifest b/sys-fs/reiserfsprogs/Manifest
index 560d7271c9f3..29d210555400 100644
--- a/sys-fs/reiserfsprogs/Manifest
+++ b/sys-fs/reiserfsprogs/Manifest
@@ -1,2 +1 @@
-DIST reiserfsprogs-3.6.25.tar.xz 448984 BLAKE2B d9f032e51f70497cf84f5877172b68e8acacf8fecb3fee7d7c3d82c98cbd5c70f870baa96471b02f092345a86bb02501bd53156cc8e7e3230660a7a6865c2421 SHA512 247ca392d227680fb24e94cd490319e77e82d00d7d357516690d2cab6f0bbe8b35879f8a25ed5046bd3a7a3e1f2b140a8a82404043aa0e7f6f60f57d069857ae
DIST reiserfsprogs-3.6.27.tar.xz 449176 BLAKE2B cd22120faa4d6d11ab545349fde5304f41cf3ca88b2c988255b7ca0e87961c9ccaa3095cad086e479a2b50627ad9bf3e90b2af46ddda64abc119e2a6755b8341 SHA512 bc524aa1ad7f8502238761fd185bfb8473048947bd579e2803c73371928c6b245e0d90bd9d458f4bebcbf163892dbc9f4bae65aec68ebbaa436be7451c13f50c
diff --git a/sys-fs/reiserfsprogs/metadata.xml b/sys-fs/reiserfsprogs/metadata.xml
index 56c124413057..73dda144f9ac 100644
--- a/sys-fs/reiserfsprogs/metadata.xml
+++ b/sys-fs/reiserfsprogs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/reiserfsprogs/reiserfsprogs-3.6.25.ebuild b/sys-fs/reiserfsprogs/reiserfsprogs-3.6.25.ebuild
deleted file mode 100644
index 5df0b1836175..000000000000
--- a/sys-fs/reiserfsprogs/reiserfsprogs-3.6.25.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils flag-o-matic usr-ldscript
-
-DESCRIPTION="Reiserfs Utilities"
-HOMEPAGE="https://www.kernel.org/pub/linux/utils/fs/reiserfs/"
-SRC_URI="https://www.kernel.org/pub/linux/utils/fs/reiserfs/${P}.tar.xz
- https://www.kernel.org/pub/linux/kernel/people/jeffm/${PN}/v${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 -sparc x86 ~amd64-linux ~x86-linux"
-IUSE="static-libs"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.6.25-no_acl.patch"
-)
-
-src_prepare() {
- epatch "${PATCHES[@]}"
-}
-
-src_configure() {
- append-flags -std=gnu89 #427300
- local myeconfargs=(
- --bindir="${EPREFIX}/bin"
- --libdir="${EPREFIX}/$(get_libdir)"
- --sbindir="${EPREFIX}/sbin"
- $(use_enable static-libs static)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- default
- dodir /usr/$(get_libdir)
- mv "${D}"/$(get_libdir)/pkgconfig "${D}"/usr/$(get_libdir) || die
-
- if use static-libs ; then
- mv "${D}"/$(get_libdir)/*a "${D}"/usr/$(get_libdir) || die
- gen_usr_ldscript libreiserfscore.so
- else
- find "${D}" -type f \( -name "*.a" -o -name "*.la" \) -delete
- fi
-}
diff --git a/sys-fs/reiserfsprogs/reiserfsprogs-3.6.27.ebuild b/sys-fs/reiserfsprogs/reiserfsprogs-3.6.27-r1.ebuild
index d4e1b9ebc88d..1dee26cee9b8 100644
--- a/sys-fs/reiserfsprogs/reiserfsprogs-3.6.27.ebuild
+++ b/sys-fs/reiserfsprogs/reiserfsprogs-3.6.27-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit autotools flag-o-matic usr-ldscript
@@ -12,7 +12,7 @@ SRC_URI="https://www.kernel.org/pub/linux/utils/fs/reiserfs/${P}.tar.xz
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~mips ppc ppc64 ~riscv -sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv -sparc x86 ~amd64-linux ~x86-linux"
IUSE="static-libs"
PATCHES=(
@@ -20,6 +20,10 @@ PATCHES=(
"${FILESDIR}/${PN}-3.6.27-loff_t.patch"
)
+# Needed for libuuid
+RDEPEND="sys-apps/util-linux"
+DEPEND="${RDEPEND}"
+
src_prepare() {
default
eautoreconf
@@ -27,17 +31,20 @@ src_prepare() {
src_configure() {
append-flags -std=gnu89 #427300
+
local myeconfargs=(
--bindir="${EPREFIX}/bin"
--libdir="${EPREFIX}/$(get_libdir)"
--sbindir="${EPREFIX}/sbin"
$(use_enable static-libs static)
)
+
econf "${myeconfargs[@]}"
}
src_install() {
default
+
dodir /usr/$(get_libdir)
mv "${ED}"/$(get_libdir)/pkgconfig "${ED}"/usr/$(get_libdir) || die
@@ -45,6 +52,6 @@ src_install() {
mv "${ED}"/$(get_libdir)/*a "${ED}"/usr/$(get_libdir) || die
gen_usr_ldscript libreiserfscore.so
else
- find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
fi
}
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/metadata.xml b/sys-fs/safecopy/metadata.xml
index dd9abd576583..1f87af4c93c8 100644
--- a/sys-fs/safecopy/metadata.xml
+++ b/sys-fs/safecopy/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>chewi@gentoo.org</email>
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/Manifest b/sys-fs/sandboxfs/Manifest
index c92b80d52a4f..6df2ec8f2ecb 100644
--- a/sys-fs/sandboxfs/Manifest
+++ b/sys-fs/sandboxfs/Manifest
@@ -1,12 +1,9 @@
DIST aho-corasick-0.7.10.crate 111039 BLAKE2B 69f984dbe528ece5ce4345bc0f39c122507a88e781d7c2d5c9175d1788aeef8d21e0487c7c449e28fbbdaae8203fe68627d23ac0a58d30dc70befd26ac9af32f SHA512 e8a1cb252015435009883662ca23408f1491d8f01461f3a81082feabeeff72ec61beb4f1f3271fc8a87f1379899ecfc38036ac208dca17889f70ddaca2406a9b
-DIST arc-swap-0.4.5.crate 48047 BLAKE2B 154e078e1513107f997c05262c83fd5cd23404bcc1d7ac5ab89f4452e41998524ebff80eeacacf640fb9b7fafd449fdfa10fe845e15283cc4a1056966b400983 SHA512 e9643dd1aec2974e718c5eb19da1b1d8c6ba7c610ffbfb49a1bb3a0e937fe9b67ae4dc9247fbf75b2e9791113c877cd1dd2e5ad5972ade2d7365428a3b895131
DIST arc-swap-0.4.6.crate 48658 BLAKE2B dfd3bc53d96ce508b4e7b500d412b106920551e2f75938c6425fb5d17dd248ba7e809c66dd6ba7158c764f0522cfb618a4d4117e9ce7b96f44eee99074edc39f SHA512 bc26f55054c4bd0a5d49a1ab3c00d84c6309604824b16b36d5323f5db06e0797ed0f1ad6fa4774472338e82a8d2f8c16d782b7ca32cf4ec6f38324998d772cbf
DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
DIST backtrace-0.3.46.crate 68107 BLAKE2B 9fbca6a008b9e27366b918e9e6ce103ace3ebeb8f94e2c73839408f16a2f079f4dc59cef56a449786f7feffa5f9284dd6125be6b27f2c197dd71c6c0e171507c SHA512 bf0e58e50a1dbb621803fafceee9a2b8c3ab8970cbdf1396b3091142474cb57be541ed94983b87f2d955480ea37a0ef29e9e4a6a0df47f5e33bf88ae88edbd4e
-DIST backtrace-sys-0.1.35.crate 635446 BLAKE2B 70e941fe855985d7ca7d83b57d28bfcb877ef9846ee904d11622d7f23d26d4848c0d9c8a5532dc64c4dd7ff85a2b04cc46cfd05675a089b00ba3f73eed6d1bfb SHA512 b83b17b9969165fa3ee98cce3ce7ca4fe45ed4f5d86d55b041a49ed33d02f726ad7e579106c61a19646a3d5c82b95f1f1ff1dfa4fd5a73a2488077e575cf188b
DIST backtrace-sys-0.1.37.crate 635202 BLAKE2B 13829d28f5b20bb35cf57f0eeef087bfc3fa475b1fec339ccc6ecee7d01cd99517d27bcafc9338044eefa051b178cc6dd582851a2a6742c66cad90e5b990fc58 SHA512 894aebe85ce49e93f389db5ba23ecc15e7c0c43d1065e9911392b844ccbe7bb42fdb08ede3b252137dee9e0555a42acd42bcc61c6845a1eb39a2f259c09ac366
DIST bitflags-1.2.1.crate 16745 BLAKE2B 0fa6d3ce44aad7616d5cd02aad8c1d0b0fed4022650eb43067c4a72e6fc88da05442674fa51826e4858a47c9de233e1ba2229820af094197cd11bb416ceffb2b SHA512 ad89b3798845e23737a620bba581c2ff1ff3e15bac12555c765e201d2c0b90ecea0cdbc5b5b1a3fa9858c385e8e041f8226f5acfae5bbbe9925643fff2bf3f0b
-DIST cc-1.0.50.crate 49792 BLAKE2B 25ec14fd42536c381babcf697cf96fe8be61417a61ba5875a2461bb40bf3ffd9c9d03e1d9df83e2dabfc9472de3db97b08fdffb710e89b868a5e115d0463a9cd SHA512 34a721d9352f8b59cffb8cc0b9c520b972b65d6c23e83d9c6f6e88d6a6845c53ec89350a4aacd0444a5d6b03b867b97aedaf418b483afead209a7ae6d3885f5d
DIST cc-1.0.52.crate 51006 BLAKE2B a19083042845bc1fcead482b1e644ce09701fc97aad60afc0750d7ee191e26257e5c926fb5a70bef8cc5a37a694581e6098a29c56e63868d67302bb270a8f8f8 SHA512 50558f9b76748298568a1e010ab85b0a0e1cf47d6f8589de718aac0afc130158b092e1be11b73bb1ff51d3a281c5e6ad72ecad5bce9dbff90b4c330c8d95dd90
DIST cfg-if-0.1.10.crate 7933 BLAKE2B 063a96ed176f34f788666b40adc483d147fc011dee941ab60569ddd0e57502b5dd06ed71090f4e14ce005d06e240500a286f74652615e9d068fba649610d8cf8 SHA512 9d22616bfb4a75770a828a0a3cddac6787297a5fdc53eb17e25811cc94de717f2de8bd66d53c5d65ba1c83d8892aefee5ae758cf56a1ef0a0c3120f70b244339
DIST cpuprofiler-0.0.4.crate 97586 BLAKE2B a1bdbcd35a65e7f26236cf773dfbbb8cd429c4139c7cf8a9279f9529beb3eabf61e58e1f154d059f6af978062f1f36b5d7c8c756373ee1d81b1c33b122734431 SHA512 20d1cb071a54dc90863d9d93f1c3084718923a2413c111b4eb6f5738ae19e548dd24f640bd2ca3d9191a3322303e0f72b1c5af914f96d83f60612d9545719530
@@ -17,12 +14,10 @@ DIST failure_derive-0.1.7.crate 4902 BLAKE2B bf069077cfa8de60e745b53ca83bb39de5b
DIST fuse-0.3.1.crate 25001 BLAKE2B a8a0b2933f31308736fc13acaefe094a1aa010feb65c9ea8c0a13374533b43e9e5fee306ee1085640c2da9df528d6c50418ae571793621ee05baa503b5afe7c5 SHA512 bffebbffd400f417911f7c7b271abf9091cfa53e0562c08dcc9b7c7132fde4be57615cd79ece1b7978382b7f62c75ac38f08a8e0e7ff513e2b1183b846c48655
DIST getopts-0.2.21.crate 18457 BLAKE2B 10651e947e49acc768d99ae56ca5a7f37c1f61bbd1674e2ca58e3ae563fd64f3563d53ccdd0ae7a878710a39e13a99ac8c274974157db2c691f8c222de14992d SHA512 5515ae6ccb0f03efb783683f46cfd1755342c4e83bb673ff8914c7f9dea0dae333f8d9703865e992659a359067df0e8b0e2253de0d4b0c7707cbe7d73401bb1f
DIST getrandom-0.1.14.crate 24698 BLAKE2B 8139227951eb65cc2bb7bba29291c0e8ff0b8d9a8e2d7eabb01682d1683c989c44b6195952ec7d087c338538c1d6858c45514822625266e0996829e8c50f3d17 SHA512 b5cb78ae81f31fffd7d720f9ea2b5917b4eac103711faf656a3a3fdd24ae5a2e671016d39309cdd11f902de919187311401dd8fe9e6ed68c29b83987de77c957
-DIST hermit-abi-0.1.10.crate 9127 BLAKE2B 59582bd4f7ec1dc38b3df7df0ce77c6161a24666df6d913037f310bb159928b715d338e6938af677b0520c7185f839e04472915e18dc9eefc1775bd293c6ea6b SHA512 daae9d78f2657b4d7754b1f95144be8c23c4b607058e53fd2f5d81d5fb13ba7c55dfd9839765ea90141277e0844120110708ec4913d224dd29de957009d65194
DIST hermit-abi-0.1.12.crate 9217 BLAKE2B aecc8c743241596ef4dceaa61b4ac36ee0a2501e97eac976c733638cbc8a3c4926b9e231404a67a3687aae03049ad8ebb10fdba2d8c72002c0c08a2f8f76e3ec SHA512 7c2c7950f2b70dc64ef7c111b7790d7128b49c91aba9c063e11a3e09070b28171de6b77d1f31b4ca0c1642e61bf4b9d50e41d72b9c9228bdd1749347eb753df2
DIST humantime-1.3.0.crate 17020 BLAKE2B 37efaacedac293197ff7acc8b0446a73243a2d90ed8dbdcecd9cb0af6e901f135e1d92aa1a642460f531a6811a5f08075f8aabaa9941e96eddef301e205fdbe1 SHA512 2589bfdac96108951882b7ee497528b9084ddd344a67914810ea9961a1e319167d5cab959c66cbb26e398e75ca50d488a251694fff35f3c2f69a88b6f22844da
DIST itoa-0.4.5.crate 11194 BLAKE2B d8f0e2aaf62152c187e0987ab4b0cf842ac13255262a9ccbf8484d730ea5397572791c023d2363d0562c18c8efd2418680583e99a1f5d14450b3f0184dce69ca SHA512 79ff8774524130a4729d5e708a4a4a837b3e5052384a12c22db4ae3e208dc4391ee185365f685137a8ba55ea7dc3499f8cddddb2fd98b84177ab292c264034d3
DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.68.crate 468882 BLAKE2B c313ba0ed94de22abf2a764edaf1ca5dc4b86e98e004c3c23d53c7684996d68a4c5499fecd0afdabc4af3e1308e5e089a66cbac81d243f432ec1a9ca5b1856a2 SHA512 3f501182e814a2e4eef3a574bf5830a9ba633018164acdac115e7d8d809bc4308b08e657869206d4e5cc73d4ec4944ea98504b708201802b1b021f854a36159c
DIST libc-0.2.69.crate 472393 BLAKE2B 41a9cd242ccc994c69da10f091061b2c31ed6a9c52cadb8e82fc7c5b7b5dd61c81ded5cfded098721500c87b021d5d79766571a7dd6fcde319c826e2e4244d38 SHA512 2addfd505e0904e18a600caa4e695536d2f95292af25906925066616bd588de9ea9abaae45bc8427bc6857c3b9fb6c4288e4cb48e3f1ba69ee1d7be8f3b3bcb6
DIST log-0.3.9.crate 16686 BLAKE2B 543a8a2425c88bd3cf00d4cd2b4790ef344f9743b61776d65f1d8aaaa1ee1069933e33aec114a2dcaada5cf698bbd983fb22354aa50bca58b161a36b2f1efc47 SHA512 1d49a0dcff0a17c1238aba6a6cbc485a61986e8c4768805ded912c5014d0fba6ca38c9bd038f3f53900a6309d41fc0216682f137362e63715878195453d2de6f
DIST log-0.4.8.crate 31297 BLAKE2B 31037fdc2fc94f4ab8a6e89a251b0bc29975027dc7efb7cc86a8e848dfc8e2ae50acdb177b7ba9f7c1f20ec01e50798f89abb772d67a33f1b060ac617cf9a8ab SHA512 0b71f97d5964134b5eea1332347e177806b2f171d0be5c410c0ff1539470b242ba9f0933fafd853e4171a43b5e373a150af18918924be431c7216022553a8a3b
@@ -31,36 +26,26 @@ DIST nix-0.12.1.crate 173207 BLAKE2B 23502a802d6ab83929db6cd5fdd8909ef78a3671d73
DIST num_cpus-1.13.0.crate 14704 BLAKE2B e7a26e597ad5e45309393a9500b031ba64a77831320cbb96d7861139a2f7a453b7ba06a3255439b43ac1e2e36269b0a350d514020d3cd82c2513b57934b3ebbc SHA512 e75ec298fa682be84bf4efb6cf40126da9233ef25f07e887c2fa7421ee78790204564e6406c8219466651f47421e27f69eca690bb9cdfc982b644d78cc10de3f
DIST pkg-config-0.3.17.crate 14533 BLAKE2B 729b15209bbbee8a6d3854e30a89b3e6041ca3cf7b1460ff6008e37866e326d9ec8b4ac582c125676e31eefa048b143beda33432b95f00a8f51cc7fa33ee4986 SHA512 42be78556adc07dffa8933ab1436d5d6a776018898377d58dfdc9f961981f9f21397301b41536c55d8a3772bf74a38069899d1a5cddce5c24a032017137044bc
DIST ppv-lite86-0.2.6.crate 20522 BLAKE2B 6e1e4f3d0daa02148df390be19d3575626e66f6a78dbf27c1275f097c4307b80d8182f7795a270aa2c34d8c31c8c3eecc88e9507a6c9def0e91af11233aba90b SHA512 b9764a841364eb89157c828a183fdf6aeeb63d1d35e4f5dcba79e5d8e20eee8f22c845636c5c7bc980da1d141d838528d5f190546b23aa5e4e51e626a0ddce3d
-DIST proc-macro2-1.0.10.crate 35622 BLAKE2B ebd141862796e8f0660608ef884ace446fa5158ed1a3f3491f5e5d4ab6b866f19652fe6ccce4432b3bcdbe5467d0a59af688c00fb97249045bf5a2bb5511f2f6 SHA512 a40e6422c26cb8171e5f2d9d7d3b4b2d99a444ff650a8dd8e22bbc7103bf3f9247fc2b2b57ff7da4ce65fb1d293f55c5ef56a5f60ecb5122991d9d2002395eef
DIST proc-macro2-1.0.12.crate 35819 BLAKE2B b4207a6e1baa1a5bccbe61e898eb97f7ff874fa4db13cd4657def82d6120f65c151ffc4accc7036204dd32bbf4d065ebfc8b37675d99647b7b6782612656338d SHA512 4918cf60005aa322ad7afcdf2f6352f95414f5652a85742334bfd8f246a9f5438b5e4a1ae8d7f04fd07d2a1ac3eb18e118fc49367a91183778c74814704d5715
DIST quick-error-1.2.3.crate 15066 BLAKE2B 1c61525d383f3588c1c5017f016f60b484bbf2035e7f63c553bd9a49b638ab0c6106ac3676a41072b24da4e13dde78706e0f99fd1ec9ee329d5be81d45a85866 SHA512 f8aaf9024d20ccd42b706c756eed8320aee339f8776392b47a41cc82ca06b03df1a5b1f00854cea96689c5af261b4d8c5d2b1a242d10f2755e7e33dc41be35b9
-DIST quote-1.0.3.crate 22939 BLAKE2B c50e47b647fe1ac1930544d20b2b78ad98e6398a32c98460701d93f93fa1437c6d12c632386ab9eb733cbe64cad57e02dd201686885d0a951cb013fc10a95a9c SHA512 b4867554b86d119251db67f9d0949bf8c3cd7c64f006c76531398ebb7478cb93805b9bcafe159d921ba1a32e92773853b56685cff0e1ebdc6aadaefd3b932ef3
DIST quote-1.0.4.crate 22965 BLAKE2B 6cb3471e1024134e70044195f1c776be1835e0a5bb17a8428d5c4aab41013ee173fb8f4b3ad22de020a30e61185e966116079b9f14db177281b0515299a09c08 SHA512 cf729bdf4eabc81d92529394c6bb9e7a3d05a449d3a306c1e536e0ec9bee789d0bf0c0d3158c58b7a995a7f3c1044cd746bac84efc087cf8fd740a98a25a97be
DIST rand-0.7.3.crate 112246 BLAKE2B ecc7c1bd70ac874c03bd8b7faa3016bb2d5ee5c19603280a12a45a81598f706e445971ee081e6ca410ab6f0f5f7a06d9315848cd556a2d8522a82024f6ff91e4 SHA512 f9b68ef9446f1ca2c8092c50990f15c1b4cb5529eeeac4df8d69755e0b7253c663c587775e7cb0a7298c31edb444975dda34926759306541f6d43d0d3cf57b7e
DIST rand_chacha-0.2.2.crate 13267 BLAKE2B 7908867ceac98243ade22e1b38f1903fe0249324484d91c948a5058a1e099e5213f325c5ba3400898c8319158ed69f4ed064164f235470856a8191bd990d5a10 SHA512 1e2117442e4ffdd834dcbf0ea1829e73202c0ff9041d5969d81a59330242145f2753f2a56de2fdbff65f26cf0d227c7d08b2094ab2f946b764aef88106a6ac84
DIST rand_core-0.5.1.crate 21116 BLAKE2B e74791f941a79971f2741172d489d546373c9abcb0dfbffcb7b97b858ec800b2e0c97df4ac636f3aa1b8dd6c14685edf317336d577f31b5c6cb7d89a157e547a SHA512 4f7500b35e165e6c817fdd67a50745d5497d24e554bb554705097e37258751e8755c4d6b8a69fcb5e1977708ba78620bc35d640e4e018fcd4e88d9dbdbebdcbf
DIST rand_hc-0.2.0.crate 11670 BLAKE2B 55fd048f2524cecd4f0e17927a81111e3070a8cc6a5b0234a46445400ad5527194edf8c91fb5ad6538f4958d53044ab02424f61a38adb2931e2cb7568c458ee8 SHA512 bca185612bed5cee4da76fb68fe854105da276f5bf2da464e596d586b925df798cc692ed881e276ab77c36b4b0551930966c93656be122ad05899d87853533b0
DIST redox_syscall-0.1.56.crate 17117 BLAKE2B 57b1b01ef3cbc6f55def6c9a0dcde16bd98e83badcef993e26ae3ce849abcd1b1c10f4da931c605970d77f92471734764a537e7329291a221343fde23f3591eb SHA512 17a3044327aa733c830dd74e210d6bda32622617d1c5af9d70d7647232d8569ad0b04ccb14042cbabb5d97ad98e3f1f5a9968a75387354ffb4d175e9577115a1
-DIST regex-1.3.6.crate 235465 BLAKE2B 18c6fa529f82fc9ea874605bdfb8d0306a22c88bd74a2473f3cf71b8df46b63133a0a9d3f7401b53a85ceecb6f3eda1d5d37ce5982d7d8e8b6cfa1c6206cfc5a SHA512 05dbc0f355bd1f3ee659a8ff888b37242f780500b76d153a100c21c12278db2429ccdd47f8dc182c708dd70d47fcfd5acd6eefb397c03e08cbdff701f6346628
DIST regex-1.3.7.crate 235600 BLAKE2B 15370ec0cc9f37c6a7092eaf78a731740aae3d79ec6d385244f4568395cac8947860828ff585aba9f35ccae684bb19e214120f39e7f4998350ff2890a43f2466 SHA512 59090515860c26551ce08e8b37cf1227712944844148b79dcc7348f430e5c3c70767c20807cb1affb242686e7e8f885224c4c9fb9ae890b57f766fec96e2aa69
DIST regex-syntax-0.6.17.crate 294004 BLAKE2B 3d203b06b8b1a5bdb42d50d395ce117ad92e41a7d36e5cb5194014eb7af1b17f944ae493041b7e9a2a9ea929381b4c1cb513c895747beff97aafef524ea2ced5 SHA512 bd9a165bcac207ec3bb87a81ae644be98d9b5ea0053b3bcc69efb334e3ebfeb85021aa372bafc3575758200640cbaaa67d372950fbb3ab210d8ec62b336d147f
DIST remove_dir_all-0.5.2.crate 8907 BLAKE2B 585f49f83db3ace90dd0b4fc77aab7525844194c82d36cc33ab8999aaa6226d24a130c30f55e2c46a08273cc554d9d4c8bc51958aa7dbf1045085b2e22639e4e SHA512 d19a45398a93adbcef9f233f6b3eaf4a63ae95f5bbae00c880b40c5edd34449e7f798ebcd4d11843c68ddfa15e11bed21d434b224e4a175dcb64ae011c13c8cd
DIST rustc-demangle-0.1.16.crate 19137 BLAKE2B 04226ff97786b81c90130b48cf6542ea448661af9ea7afed179e71d04abf52cfd3c53fab26d4d35bdf2c1d5a735882da7703527aa48ba7b77f337599c2324150 SHA512 36a63a28a72c710d08524adbb7d11def37db23fe123fb6ea848623b4207c7f80d8415bbbe951488ceccfb8f4f1cdb66a8edfc4c0eecdaa62c87df9e032f4c063
-DIST ryu-1.0.3.crate 41983 BLAKE2B 32f2b9e8b7aacee3fb86acf405efc86b44c564b4da4310567a0e1b22d09fa51e5ed8278f6b2c38c220ba235de39c596b15db8958aa413ff822c0876ebed56515 SHA512 53ee61ef116594829849b417feb02d415305783b08d3e45656a467aaf272899e4ed46ac0415cefdf3102f61faa666f21f3237244b2711ad10b528a3773aa8414
DIST ryu-1.0.4.crate 42039 BLAKE2B a1cd38c85ff105a0aea5e0cf09aa2be15d07e5344fb4a52b00bcbee6c6f966276aed1163b480b2acf669276368f04217eb7c0a6c279140f34bb54b1802e1ca06 SHA512 a1b28c07b32374757019f93eae30f82ae00682d5e9838f50864dd4ca898b8220b9bdb0f5df55d23d6bfc7386a3ac93697a18c82215f2e946e06c079962123703
-DIST sandboxfs-0.1.1.tar.gz 100397 BLAKE2B 6ce7ba20923946cdd83629b9be9ef645e4e580181129a68fb3fcfa037842921651335073a1a270adc9192062b6b58e8f2e07cc3bdaa7e519bafdb658e95997b6 SHA512 63d97383359c2c1f5fe1066dbed97bb86c6c9a5b047b479b3e0b9ea63fd970998ddeb5036fe2fed83a72bdcb9083a9fa2655c472c0baa53d943a47e8d6d1e66b
DIST sandboxfs-0.2.0.crate 122326 BLAKE2B 85d3b70f0b09cdebc7d9c968b1c0dcd9377b8084e55329798320c82779f6a90c21d5d8031c445f494672ee3024f0f00daa089320efd6b3124deb9e1b4aedb408 SHA512 75361bc82c44b41228633be7bf53f7e64680a7ad1982ff2faac98b5c0de973708dff40df7d2a2a00b2c7395746f025bfb79955fca59e8f81134d546d94cb831c
DIST sandboxfs-0.2.0.tar.gz 118702 BLAKE2B f9d9a37f35bb6b229f7a951dcbce23a7a2973fae862e3d3ea9d2e92176d335816a6e8298cfd781936b335c0b43b1b2980cd182b760200a688f731f00359fba83 SHA512 db9f18e687e38a0383238c4e382d2deaae83efc8f49f81a25e0f64d8c425e3ab19085b5555b1643359d192fe670a6099d5efb761e9d32544eafde3ea726bac86
-DIST serde-1.0.105.crate 73358 BLAKE2B ef75efaa654a5980648e8418553af18508f95b29fa1441f0804c78d9f8fe91764a3565ee1138c96c9245c28ed2ed8082d08c50f8ff36b9d40b12456a758ee289 SHA512 e8b471769b696b0c7f3b673879dfd056279fb49dad0228bc2ec459a2aa8bd26073d40ac1809a42c0b5ab3e9abfd32252f812c6493d17979c10796e7ab78a795f
DIST serde-1.0.106.crate 73343 BLAKE2B f2d8478f457e4416971bb0daa405a3b9c9d3176c314d512ff810f61b3baf80fd0966ea14194dd093ab9bf61d1d2cc860bb8fed753e1532ca74d028734f27705f SHA512 4d60918d9ed0d4d4706b0d0a9257583aa8f150b846b0603ebfa5bf70e02b728dbe1a1ebb08220a6996f764f6461f8cbdd85f74633f2223fbcc0722f0c3175313
-DIST serde_derive-1.0.105.crate 49700 BLAKE2B bbbb3a54b7eb4ca87b667c75dab007745a1e163b90c793258aa9f78b9bacd067262e3443d27c4d941b6c4ae0ad217779a4fe5ff79aaa84bb30fbac06252c5289 SHA512 1a39820708a609b3941ce6ff669068f67d65d446e208c904ffc59808ff7bb1d82148357515056fd4856e10cfdb2cfffbd968dbfba870ed23fddf1076e3f6e543
DIST serde_derive-1.0.106.crate 49719 BLAKE2B ae97ada2d0f6f101fb6b901af36763fee1877a53023a21ef4d7f8deeb25d7cfdda33deca34c12735fc109640fe1ed0efba56b007b98e6b9d2c5b291af0d85e3f SHA512 7ac2a3336f1d1d3c37a345cafc66995926edbb3532784589a54b755b601b8948ffea22bf9d860a97e5c2c7a1fd6700995ccfb0ff348bdfff4e80a13daa79e03e
-DIST serde_json-1.0.50.crate 72229 BLAKE2B dcf9ea24386a103f5b5ccc3e9eb3f0c3a083cb46f795b2ffc2da1fcc1d965c56885a417a64c3ad15c58aa79225f4f89895b90b56048cb9e1ee22bac15c296e84 SHA512 e1ca850d059a357ea9de29fed42b3945701b2b130a6b40e708b926088501652c8426e272ff754534f972f68dbb8845583df7e0887de139304245aefecce7388d
DIST serde_json-1.0.52.crate 73135 BLAKE2B 58d6150e0a198089e532445f5e78e16c322acd344b1e883f119ac1256490eb90da570f82b334b2e3daedcb6ef9a35fd3d057a307fdb0dde9a8400ec9db3a0bae SHA512 70bf27a8328cd57f0e995a57db97135610cd025c654555e51314309ad2f1b8968c559fa1bb5ca590df138429d0362c6a70a61e17e3aac3c4d7fd02ae4aca4558
-DIST signal-hook-0.1.13.crate 26045 BLAKE2B 00911ff57f4aa2374b5f6e8711fe788348eded0ec989b569525e8b3e0b794a4b70780dff82a9995b2a85d2465f9721adbeda3e6715e0590d1bf2ed03351e7a3f SHA512 68e3fe068aaf962df3692472b6dcc44f1c2fa6eabfa35d3b510c2b2f3c1e8a8e10913022ede964a83682203d5e1cebe5e68851f597ba4b479efb6984096df68d
DIST signal-hook-0.1.14.crate 26880 BLAKE2B 833d4835c4c8698a2b3354e0f1d03df7732d220b3c8a94030f91ddfc5734d419f9554abaf3553fb2b5e1fa71d28b78c88e70357966d5c395d02c11f81d0cfb68 SHA512 873279e2d5b20f07e789520ae1b9fc8d910540fd3e85fa1ec0ffbc516c6165a72209d48a12cf7237b9806509a2477181ecec13db4d71f9d4ea648a3ef0b980d7
DIST signal-hook-registry-1.2.0.crate 14490 BLAKE2B 52c56376f5572787d78d4691201d51d219c623d2eedf912625128d6da8fb01f6930dbecbc5e5c021de098fb0a194fd6b35a9452f92a484095e9606ce96fac135 SHA512 f4552fbeb50f66a2ee1d9826fd74a8ecb3e6d242913c20ca7099d165afb55ecd359a44427b8c3eb73bfc4e3c887d972853b49a842472389454988060dd4aaa07
-DIST syn-1.0.17.crate 198158 BLAKE2B 7093cc8aab4ae2f435aa70a54c8c2b8e4f6928ea76186059942bf5c74e2ad25d73608f469cb0f1d97071a5dc2e3d048a155084bbc28647ca39032f06bcd5a3a3 SHA512 5acf5bafb32f780e08495e1e0782c170eae54baabd72c45a1d350aa41aa4ff2e5fa84b23d088fbb8522f430526e938c459087f89e3372690bde7bd0cb8c4750f
DIST syn-1.0.18.crate 198434 BLAKE2B 3fd86539b73fbc7564bfd5640ec6a2dbb4bb3156b7233919b7d20b4de0711dc32ebb9af19b3e0f9d0ddb72cb9797fefc63fc3332343c18baecc2d8ec442464fd SHA512 1169614a2d75b70ebdf455c827a9bdc4dbc18e85a1ab1b82e76e15ae1ea94b06d464390341534ca0ad03adf206e19656bfa31604d048891c4ce6c47fcb4c67a2
DIST synstructure-0.12.3.crate 17788 BLAKE2B cd122d9c374b59501efb3b38da1f867b86a41d5c7d3f2e854100297ebf193ecd3fb4a64a74f0fe186645de2ad2c95fbf6e96b4872b76f6140400307ab69d1196 SHA512 919f908c679439cb9c2e60ee8672484504f03781412fd13f5cbd745a86ed794691665bcd7ea995667e89344d0eab725125fb0027c60f240290b300d04be26a59
DIST tempfile-3.1.0.crate 25823 BLAKE2B a34721369923771d5f9a2fc64adaff2bff41da97a0ce79e01aaedb8d6670867220c671c0d23f7a8a9c71b09c0559efe4e7c9bab1f7f9d890866be1de1ce050a9 SHA512 a87ee51c36a81a8a8eb8f091eb57926682f38b707f7f641332d8752170e6c139a656ae49c6861f51e07c2fab5c86cc9b2ac158f5d89c6bff15d18934dd4e7ba5
@@ -68,7 +53,6 @@ DIST termcolor-1.1.0.crate 17193 BLAKE2B c3a1a80269195f6bc92d141fce0885413c03198
DIST thread-scoped-1.0.2.crate 4321 BLAKE2B 5eb578dfb6c7ca839774886cacee33a790061b4c8e72bb960fa39ee53c03d2094ed12563c500e523b7fef63979da355745bc25d1aecf7b6ee28c2a13dc923771 SHA512 bc478838e9192b81e66f45024a6f80db360fc32cb508a9d6b44f77e2964789f097635fba06d13cf4353f138d38494013bfae9b0b9f51045958587bb56ec71172
DIST thread_local-1.0.1.crate 12609 BLAKE2B 34206b5232262cda9cc0fb970e20f154d43ff1c4477a5ad5ff9200e6d874a6c7b2bcd99a2dae75a984b54574281e049ad35307ace0dd188f44c9a95fa93139cf SHA512 f2bfca4eee32a8fc88a01ff5bf24518c12142228d95916d13aae35ed6addd0b7da2235359f15220049ef197555344ac31a8833775e7a5bd49144db9c54b3165b
DIST threadpool-1.8.0.crate 14424 BLAKE2B f5f0c334a95fffb4540da1bf11fd03e1c68bce465d9629bfb462af41d31c147563c852ec300da74e8fdd504655e55026a7356bcf946a96f4db54d99a8413e389 SHA512 82d7e9b847103533da47695b668125b9c4133e408e4a2776a8b3f48b5c80981a185c0ad2ab8a53e97192b4c094702fd9face0c84f39c53af30124801f384817a
-DIST time-0.1.42.crate 30005 BLAKE2B 6d85ae2e56612b5c6955921b671ac62ad10c174fa9fd382e2d76018fc2789253836397b980f8e6d0db4f1b19da244c64d3bffb4fa6c25ac0b66e7ba9876590d4 SHA512 4df662212377093b0fd8fcd88ddc30b20a8af7d989c2e100c0cf64f9741e88eea6e858e1aa4220be6b76b0cf8b62c8116b492010d74d1ebef197c66aa130aa83
DIST time-0.1.43.crate 28653 BLAKE2B 95fe69647e8d52784be1fd3457578896aa38279d00f51f1070eadab111d39450583c63854c73d4384f2e4349b0250f1c9bff9901529b776c596846c057c93335 SHA512 c3e0c68cab1ed2f33f41955f83e632c51924e4d3c1d22dd0c4ae98499e03f3cafde8b0c2d9e69b67a78d6e4055e464ee00d1ed6af5eb9fa75052405b43e24a25
DIST unicode-width-0.1.7.crate 16644 BLAKE2B 8cc5ee2dfeeda8ffe3405a0d4f1576d2b3b8ede1a42cbefb0ba3bd0d71b53a92ceade86c4a06e9d5b31382955dc6e1152ae5cd279dc26dbc51f478dad1d0f64d SHA512 39b8a539c9009d0421f54ae68b139f21456c9cb03d743b58535a977f98bc9655cf42eaacfadbcff796c187a6f315ae16259ee22be9c2da5aa042172c6b464d84
DIST unicode-xid-0.2.0.crate 14994 BLAKE2B e66b4255798f0ef1c81fb852613fee396a042d780d2158a171dbb5e7dedad0b3d2522f5401ae5d215f89ab8be4f5c371b046e4845693a65554c2a6eedc5d1e28 SHA512 590f727d8d8354023062ae5fe7ac5bed1bcf79d86b883effd7f33b3ea3b1c8922998a63d621ca6962a969e890fa6edd009871f21cd57b1969264f41ba3f78359
@@ -78,7 +62,6 @@ DIST void-1.0.2.crate 2356 BLAKE2B 41578fb5507f94e7d135f9595cec107ed00a926f4968d
DIST wasi-0.9.0+wasi-snapshot-preview1.crate 31521 BLAKE2B 716bdd2ec46d0bc9911c5e5e29fc783840559931b2563d8619675fc11da9527ddbe653a0f1ce0b782ee0c5f7a3131aba2b0867d415f003aa9c2389357569e7dc SHA512 dbe641f796ee3a5daafcaafc911ecc6dff170340f477c2df7a61fb4858a85aefc2637c9e61973ecce66a987aa8e08a736273a4aad3ef47eaf61ed4268dbf9c47
DIST winapi-0.3.8.crate 1128308 BLAKE2B e0e8ef6121f222b0500525192ebb69b26b71cc16f9ba92186f8ad6acc9de4cb8cc7c738f9c31f5bd223d2e34c93c496e8448c973d69797776004670c70abf69c SHA512 5a899ee5f09f30d742b8b8eba78da05cd9f4c664408fdeb9370373f8756a962a23e3f1c07619e745b3270138606c9a369076c02c3f5353f657df09d203d9a736
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
-DIST winapi-util-0.1.4.crate 10089 BLAKE2B 5dfae5588233a6fa10ec000b3c5de17679e7636bcfb70cbbc1b2b1340543334125b413d53583459823be253a32b90279eba5a3a8debb404390d0328ed6377352 SHA512 2a90921a30ca021b6178b175b780e4803f40ac87f35bcb63bb09fbc9c79f8f991dd94fa3a0fa525c2e38354d9f6dee780a6cc5ea0a24bff49356d052f6bb8231
DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
DIST xattr-0.2.2.crate 11750 BLAKE2B a5fc393d16935411a89e152e7afe9622f5b78cc207c1f3980c65f26adbe177efaa6c93e0c6ecac4ee0687609a932c957efb11678c9176d44010eebee651fc84c SHA512 a89d34313c35ab02d6ea25675c99f9c9650dee40a76223d62941edda43b3d2db83ed223bada129625b3cf8487c293646ce9980afc6dba8888fa078d5aa035cab
diff --git a/sys-fs/sandboxfs/metadata.xml b/sys-fs/sandboxfs/metadata.xml
index 3a4f1b8564d1..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<!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/sandboxfs/sandboxfs-0.1.1.ebuild b/sys-fs/sandboxfs/sandboxfs-0.1.1.ebuild
deleted file mode 100644
index 4b0b892d2d28..000000000000
--- a/sys-fs/sandboxfs/sandboxfs-0.1.1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-CRATES="
-aho-corasick-0.7.10
-arc-swap-0.4.5
-atty-0.2.14
-backtrace-0.3.46
-backtrace-sys-0.1.35
-bitflags-1.2.1
-cc-1.0.50
-cfg-if-0.1.10
-cpuprofiler-0.0.4
-env_logger-0.5.13
-error-chain-0.12.2
-failure-0.1.7
-failure_derive-0.1.7
-fuse-0.3.1
-getopts-0.2.21
-getrandom-0.1.14
-hermit-abi-0.1.10
-humantime-1.3.0
-itoa-0.4.5
-lazy_static-1.4.0
-libc-0.2.68
-log-0.3.9
-log-0.4.8
-memchr-2.3.3
-nix-0.12.1
-pkg-config-0.3.17
-ppv-lite86-0.2.6
-proc-macro2-1.0.10
-quick-error-1.2.3
-quote-1.0.3
-rand-0.7.3
-rand_chacha-0.2.2
-rand_core-0.5.1
-rand_hc-0.2.0
-redox_syscall-0.1.56
-regex-1.3.6
-regex-syntax-0.6.17
-remove_dir_all-0.5.2
-rustc-demangle-0.1.16
-ryu-1.0.3
-serde-1.0.105
-serde_derive-1.0.105
-serde_json-1.0.50
-signal-hook-0.1.13
-signal-hook-registry-1.2.0
-syn-1.0.17
-synstructure-0.12.3
-tempfile-3.1.0
-termcolor-1.1.0
-thread_local-1.0.1
-thread-scoped-1.0.2
-time-0.1.42
-unicode-width-0.1.7
-unicode-xid-0.2.0
-users-0.9.1
-version_check-0.9.1
-void-1.0.2
-wasi-0.9.0+wasi-snapshot-preview1
-winapi-0.3.8
-winapi-i686-pc-windows-gnu-0.4.0
-winapi-util-0.1.4
-winapi-x86_64-pc-windows-gnu-0.4.0
-"
-
-inherit cargo
-
-DESCRIPTION="A virtual file system for sandboxing"
-HOMEPAGE="https://github.com/bazelbuild/sandboxfs"
-SRC_URI="https://github.com/bazelbuild/sandboxfs/archive/${P}.tar.gz
- $(cargo_crate_uris ${CRATES})"
-
-LICENSE="Apache-2.0 Apache-2.0-with-LLVM-exceptions Boost-1.0 MIT Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-IUSE="profile"
-
-DEPEND="
- sys-fs/fuse:0
- profile? ( dev-util/google-perftools )
-"
-
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-QA_FLAGS_IGNORED="/usr/bin/sandboxfs"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_configure() {
- myfeatures=(
- $(usex profile profiling '')
- )
-}
-
-src_compile() {
- cargo_src_compile ${myfeatures:+--features "${myfeatures[*]}"}
-}
-
-src_install() {
- mv man _man || die
- cargo_src_install ${myfeatures:+--features "${myfeatures[*]}"}
- doman _man/"${PN}.1"
- einstalldocs
-}
diff --git a/sys-fs/sandboxfs/sandboxfs-0.2.0.ebuild b/sys-fs/sandboxfs/sandboxfs-0.2.0.ebuild
index 969d88adb8c2..4f84031cfe03 100644
--- a/sys-fs/sandboxfs/sandboxfs-0.2.0.ebuild
+++ b/sys-fs/sandboxfs/sandboxfs-0.2.0.ebuild
@@ -97,18 +97,13 @@ QA_FLAGS_IGNORED="/usr/bin/sandboxfs"
S="${WORKDIR}/${PN}-${P}"
src_configure() {
- myfeatures=(
- $(usex profile profiling '')
- )
-}
-
-src_compile() {
- cargo_src_compile ${myfeatures:+--features "${myfeatures[*]}"}
+ local myfeatures=( $(usex profile profiling '') )
+ cargo_src_configure
}
src_install() {
mv man _man || die
- cargo_src_install ${myfeatures:+--features "${myfeatures[*]}"}
+ cargo_src_install
doman _man/"${PN}.1"
einstalldocs
}
diff --git a/sys-fs/shake/metadata.xml b/sys-fs/shake/metadata.xml
index 7e9e9a1984aa..7ae96df60914 100644
--- a/sys-fs/shake/metadata.xml
+++ b/sys-fs/shake/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>voyageur@gentoo.org</email>
diff --git a/sys-fs/shake/shake-1.0.ebuild b/sys-fs/shake/shake-1.0.ebuild
index 86e302269c32..bf47738b8c16 100644
--- a/sys-fs/shake/shake-1.0.ebuild
+++ b/sys-fs/shake/shake-1.0.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit cmake-utils
+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"
SLOT="0"
-KEYWORDS="amd64 ppc x86"
+KEYWORDS="amd64 ~arm ~arm64 ppc x86"
IUSE=""
RDEPEND="sys-apps/attr"
diff --git a/sys-fs/simple-mtpfs/Manifest b/sys-fs/simple-mtpfs/Manifest
index a275e2b91998..9af367f572fa 100644
--- a/sys-fs/simple-mtpfs/Manifest
+++ b/sys-fs/simple-mtpfs/Manifest
@@ -1,2 +1 @@
-DIST simple-mtpfs-0.3.0.tar.gz 36655 BLAKE2B 3e3e625268fac9454f512ce592d84fde3b3e6d190f123b82bede13bc4119ad4c0cefb4ca3e5d8a81ddf9a020dc375be389853410b0147b419a255b6c0af6047b SHA512 7d2da152708c01ddd2a39c1b56cba6470bfd320b92507530cdd8fc4f25f9500ff817eac6a5d19c775f31029ae6a0baef693987c59453c60c688b84934378f772
DIST simple-mtpfs-0.4.0.tar.gz 36234 BLAKE2B ec5739625286b63dc6285fb83a4c71f5ed9bb8ed757eab111e543e15efbc45a5fc3a2609382f01cf18d4c6160258800963c349b6d64b2648257cde99f9359432 SHA512 6f213f9df792f33cd3842357aecf444cdc8030c89e4abc19b56a2c60f58213b5545b3d7857b0d46cdd237d0c24d5d6eb3cbe59ba9fc3c32f91396c5724ac86d7
diff --git a/sys-fs/simple-mtpfs/metadata.xml b/sys-fs/simple-mtpfs/metadata.xml
index 775fec66c3ba..1651a8377b7c 100644
--- a/sys-fs/simple-mtpfs/metadata.xml
+++ b/sys-fs/simple-mtpfs/metadata.xml
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>jakov.smolic@sartura.hr</email>
- <name>Jakov Smolic</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<longdescription lang="en">
SIMPLE-MTPFS (Simple Media Transfer Protocol FileSystem) is a file system for
diff --git a/sys-fs/simple-mtpfs/simple-mtpfs-0.3.0.ebuild b/sys-fs/simple-mtpfs/simple-mtpfs-0.3.0.ebuild
deleted file mode 100644
index a6b4baa1e071..000000000000
--- a/sys-fs/simple-mtpfs/simple-mtpfs-0.3.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="Simple MTP fuse filesystem driver"
-HOMEPAGE="https://github.com/phatina/simple-mtpfs"
-SRC_URI="https://github.com/phatina/simple-mtpfs/archive/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="media-libs/libmtp
- sys-fs/fuse:0"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-S="${WORKDIR}/${PN}-${P}"
-
-src_prepare() {
- default
-
- # The tarball doesn't contain ./configure, only configure.ac and
- # autogen.sh.
- eautoreconf
-}
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 a84aa51dbee4..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
@@ -11,14 +11,14 @@ SRC_URI="https://github.com/phatina/simple-mtpfs/archive/v${PV}.tar.gz -> ${P}.t
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
media-libs/libmtp
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 e97438f71fa0..680283467886 100644
--- a/sys-fs/snapraid/Manifest
+++ b/sys-fs/snapraid/Manifest
@@ -1,2 +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 d15eab15b5ea..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 "http://www.gentoo.org/dtd/metadata.dtd">
+<?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.4.ebuild b/sys-fs/snapraid/snapraid-11.6.ebuild
index d9c8f45f3452..d9c8f45f3452 100644
--- a/sys-fs/snapraid/snapraid-11.4.ebuild
+++ b/sys-fs/snapraid/snapraid-11.6.ebuild
diff --git a/sys-fs/snapraid/snapraid-11.5.ebuild b/sys-fs/snapraid/snapraid-12.2.ebuild
index d9c8f45f3452..d9c8f45f3452 100644
--- a/sys-fs/snapraid/snapraid-11.5.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 3c4ad20a1774..ef74757014f2 100644
--- a/sys-fs/squashfs-tools-ng/Manifest
+++ b/sys-fs/squashfs-tools-ng/Manifest
@@ -1 +1,2 @@
-DIST squashfs-tools-ng-1.0.1.tar.xz 1079720 BLAKE2B efc4d715c65d42876d5ac51364d195267c6bc6c2219fea5746231bc4efbd9adac3fa23ea58f837da8610179f3d96ec9422efebe4ae231f4ab243cf948e64fa9b SHA512 3b597b7bf654c6897e04dc6c18cec6034a8f0c0fe070c8d6eb3c8f4a06f4ab2ea8c970ac18c12f05ccb3015cf911790e945798a34361fdb7d1a442a1ca646a04
+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/metadata.xml b/sys-fs/squashfs-tools-ng/metadata.xml
index 9d2517015161..cca9452d2e43 100644
--- a/sys-fs/squashfs-tools-ng/metadata.xml
+++ b/sys-fs/squashfs-tools-ng/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mattst88@gentoo.org</email>
@@ -7,7 +7,6 @@
</maintainer>
<use>
<flag name="tools">Build the gensquashfs, rdsquashfs, sqfs2tar, sqfsdiff, and tar2sqfs tools</flag>
- <flag name="xz">Enable support for XZ ("LZMA2") compression using <pkg>app-arch/xz-utils</pkg></flag>
</use>
<upstream>
<remote-id type="github">AgentD/squashfs-tools-ng</remote-id>
diff --git a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.0.1.ebuild b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild
index 79c567828ddc..dc4fd0581812 100644
--- a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.0.1.ebuild
+++ b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.2.0.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2019-2020 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 lzo selinux +tools +xz zstd"
+IUSE="lz4 +lzma lzo selinux +tools zstd"
DEPEND="
+ app-arch/bzip2:=
sys-libs/zlib:=
lz4? ( app-arch/lz4:= )
- lzo? ( dev-libs/lzo:= )
- xz? ( app-arch/xz-utils:= )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo:2 )
selinux? ( sys-libs/libselinux:= )
zstd? ( app-arch/zstd:= )
"
@@ -39,7 +40,7 @@ src_configure() {
$(use_with lzo)
$(use_with selinux)
$(use_with tools)
- $(use_with xz)
+ $(use_with lzma xz)
$(use_with zstd)
)
econf "${myconf[@]}"
diff --git a/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild
new file mode 100644
index 000000000000..161eca8ce48e
--- /dev/null
+++ b/sys-fs/squashfs-tools-ng/squashfs-tools-ng-1.3.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A new set of tools for working with SquashFS images"
+HOMEPAGE="https://github.com/AgentD/squashfs-tools-ng"
+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 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ SRC_URI="https://infraroot.at/pub/squashfs/${P}.tar.xz"
+fi
+
+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:2 )
+ selinux? ( sys-libs/libselinux:= )
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+ [[ ${PV} == "9999" ]] && eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ --disable-static
+ $(use_with lz4)
+ $(use_with lzo)
+ $(use_with selinux)
+ $(use_with tools)
+ $(use_with lzma xz)
+ $(use_with zstd)
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+ find "${D}" -name "*.la" -delete || die
+}
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 22a2dbc93b62..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 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 lzo selinux +tools +xz zstd"
+IUSE="lz4 +lzma lzo selinux +tools zstd"
DEPEND="
+ app-arch/bzip2:=
sys-libs/zlib:=
lz4? ( app-arch/lz4:= )
- lzo? ( dev-libs/lzo:= )
- xz? ( app-arch/xz-utils:= )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo:2 )
selinux? ( sys-libs/libselinux:= )
zstd? ( app-arch/zstd:= )
"
@@ -39,7 +40,7 @@ src_configure() {
$(use_with lzo)
$(use_with selinux)
$(use_with tools)
- $(use_with xz)
+ $(use_with lzma xz)
$(use_with zstd)
)
econf "${myconf[@]}"
diff --git a/sys-fs/squashfs-tools/Manifest b/sys-fs/squashfs-tools/Manifest
index 2893f2020861..d945ad94f2db 100644
--- a/sys-fs/squashfs-tools/Manifest
+++ b/sys-fs/squashfs-tools/Manifest
@@ -1 +1,3 @@
-DIST squashfs-tools-4.4.tar.gz 241842 BLAKE2B 006e2d340bcf6e20873221fb51fa30e0808c4a4d9e1838ca71c11ddbff3bf472dffe730e9edf07c34f535650e6486a8a80a88f82d6c9ef7a7c19aa22098e9197 SHA512 133ce437fb8c929933d52cff710b61dd9181f6f8be58250b0d6a59a7bb79a2b350f68f456b06a0e17c469409a71272d586802d570248273ddcd5dad088c00308
+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/files/squashfs-tools-4.4-fno-common.patch b/sys-fs/squashfs-tools/files/squashfs-tools-4.4-fno-common.patch
deleted file mode 100644
index dfbf42abb34b..000000000000
--- a/sys-fs/squashfs-tools/files/squashfs-tools-4.4-fno-common.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/squashfs-tools/mksquashfs.h
-+++ b/squashfs-tools/mksquashfs.h
-@@ -143,7 +143,7 @@ struct append_file {
- #endif
-
- extern struct cache *reader_buffer, *fragment_buffer, *reserve_cache;
--struct cache *bwriter_buffer, *fwriter_buffer;
-+extern struct cache *bwriter_buffer, *fwriter_buffer;
- extern struct queue *to_reader, *to_deflate, *to_writer, *from_writer,
- *to_frag, *locked_fragment, *to_process_frag;
- extern struct append_file **file_mapping;
diff --git a/sys-fs/squashfs-tools/metadata.xml b/sys-fs/squashfs-tools/metadata.xml
index bf36ab7e6bbe..dd7ab2781e15 100644
--- a/sys-fs/squashfs-tools/metadata.xml
+++ b/sys-fs/squashfs-tools/metadata.xml
@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
-<email>livecd@gentoo.org</email>
-<name>Gentoo LiveCD Project</name>
-</maintainer>
-<use>
-<flag name="xz">Enable support for XZ ("LZMA2") compression using <pkg>app-arch/xz-utils</pkg></flag>
-</use>
-<upstream>
-<remote-id type="sourceforge">squashfs</remote-id>
-</upstream>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <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.4.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.4.ebuild
deleted file mode 100644
index 26923c4c78e9..000000000000
--- a/sys-fs/squashfs-tools/squashfs-tools-4.4.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-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 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86"
-IUSE="debug lz4 lzma lzo static xattr +xz zstd"
-
-LIB_DEPEND="
- sys-libs/zlib[static-libs(+)]
- !xz? ( !lzo? ( sys-libs/zlib[static-libs(+)] ) )
- lz4? ( app-arch/lz4[static-libs(+)] )
- lzma? ( app-arch/xz-utils[static-libs(+)] )
- lzo? ( dev-libs/lzo[static-libs(+)] )
- xattr? ( sys-apps/attr[static-libs(+)] )
- xz? ( app-arch/xz-utils[static-libs(+)] )
- zstd? ( app-arch/zstd[static-libs(+)] )
-"
-RDEPEND="
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
-"
-DEPEND="
- ${RDEPEND}
- static? ( ${LIB_DEPEND} )
-"
-PATCHES=(
- "${FILESDIR}"/${PN}-4.4-fno-common.patch
-)
-
-use10() { usex $1 1 0 ; }
-
-src_configure() {
- # restore GNU89 inline semantics to
- # emit function symbols, bug 595290
- append-cflags -std=gnu89
-
- # set up make command line variables in EMAKE_SQUASHFS_CONF
- EMAKE_SQUASHFS_CONF=(
- LZMA_XZ_SUPPORT=$(use10 lzma)
- LZO_SUPPORT=$(use10 lzo)
- LZ4_SUPPORT=$(use10 lz4)
- XATTR_SUPPORT=$(use10 xattr)
- XZ_SUPPORT=$(use10 xz)
- ZSTD_SUPPORT=$(use10 zstd)
- )
-
- tc-export CC
- use debug && append-cppflags -DSQUASHFS_TRACE
- use static && append-ldflags -static
-}
-
-src_compile() {
- emake "${EMAKE_SQUASHFS_CONF[@]}" -C ${PN}
-}
-
-src_install() {
- dobin ${PN}/{mksquashfs,unsquashfs}
- dodoc ACKNOWLEDGEMENTS CHANGES README*
- dodoc -r RELEASE-READMEs
-}
diff --git a/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild
new file mode 100644
index 000000000000..9badfed28888
--- /dev/null
+++ b/sys-fs/squashfs-tools/squashfs-tools-4.5.1-r1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2022 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"
+
+RDEPEND="
+ sys-libs/zlib
+ lz4? ( app-arch/lz4 )
+ lzma? ( app-arch/xz-utils )
+ lzo? ( dev-libs/lzo )
+ xattr? ( sys-apps/attr )
+ zstd? ( app-arch/zstd )
+"
+DEPEND=${RDEPEND}
+
+use10() { usex "${1}" 1 0; }
+
+src_configure() {
+ # set up make command line variables in EMAKE_SQUASHFS_CONF
+ EMAKE_SQUASHFS_CONF=(
+ 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
+}
+
+src_compile() {
+ emake "${EMAKE_SQUASHFS_CONF[@]}" -C squashfs-tools
+}
+
+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/squashfs-tools/squashfs-tools-9999.ebuild b/sys-fs/squashfs-tools/squashfs-tools-9999.ebuild
deleted file mode 100644
index cb91a13dd1ef..000000000000
--- a/sys-fs/squashfs-tools/squashfs-tools-9999.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit flag-o-matic git-r3 toolchain-funcs
-
-DESCRIPTION="tools to create and extract Squashfs filesystems"
-HOMEPAGE="
- http://squashfs.sourceforge.net
- https://github.com/plougher/squashfs-tools
-"
-EGIT_REPO_URI="https://github.com/plougher/${PN}"
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="debug lz4 lzma lzo static xattr +xz zstd"
-KEYWORDS=""
-
-LIB_DEPEND="
- !xz? ( !lzo? ( sys-libs/zlib[static-libs(+)] ) )
- lz4? ( app-arch/lz4[static-libs(+)] )
- lzma? ( app-arch/xz-utils[static-libs(+)] )
- lzo? ( dev-libs/lzo[static-libs(+)] )
- sys-libs/zlib[static-libs(+)]
- xattr? ( sys-apps/attr[static-libs(+)] )
- xz? ( app-arch/xz-utils[static-libs(+)] )
- zstd? ( app-arch/zstd[static-libs(+)] )
-"
-RDEPEND="
- !static? ( ${LIB_DEPEND//\[static-libs(+)]} )
-"
-DEPEND="
- ${RDEPEND}
- static? ( ${LIB_DEPEND} )
-"
-use10() { usex $1 1 0 ; }
-
-src_configure() {
-
- # set up make command line variables in EMAKE_SQUASHFS_CONF
- EMAKE_SQUASHFS_CONF=(
- LZ4_SUPPORT=$(use10 lz4)
- LZMA_XZ_SUPPORT=$(use10 lzma)
- LZO_SUPPORT=$(use10 lzo)
- XATTR_SUPPORT=$(use10 xattr)
- XZ_SUPPORT=$(use10 xz)
- ZSTD_SUPPORT=$(use10 zstd)
- )
-
- tc-export CC
- use debug && append-cppflags -DSQUASHFS_TRACE
- use static && append-ldflags -static
-}
-
-src_compile() {
- emake "${EMAKE_SQUASHFS_CONF[@]}" -C ${PN}
-}
-
-src_install() {
- dobin ${PN}/{mksquashfs,unsquashfs}
- dodoc CHANGES README RELEASE-READMEs/*
-}
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/metadata.xml b/sys-fs/squashfuse/metadata.xml
index cdbecb75705a..2a53b80b1713 100644
--- a/sys-fs/squashfuse/metadata.xml
+++ b/sys-fs/squashfuse/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<bugs-to>mailto:dave@vasilevsky.ca</bugs-to>
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/metadata.xml b/sys-fs/static-dev/metadata.xml
index 56c124413057..73dda144f9ac 100644
--- a/sys-fs/static-dev/metadata.xml
+++ b/sys-fs/static-dev/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/static-dev/static-dev-0.1.ebuild b/sys-fs/static-dev/static-dev-0.1-r2.ebuild
index 7a72fe7ad5e1..c915e4e6bc45 100644
--- a/sys-fs/static-dev/static-dev-0.1.ebuild
+++ b/sys-fs/static-dev/static-dev-0.1-r2.ebuild
@@ -1,28 +1,24 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="5"
+EAPI=7
DESCRIPTION="A skeleton, statically managed /dev"
HOMEPAGE="https://bugs.gentoo.org/107875"
-SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
-IUSE=""
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86"
RDEPEND="sys-apps/makedev"
-DEPEND="${RDEPEND}"
-
-abort() {
- echo
- 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."
-}
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
@@ -30,12 +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 [[ ${ROOT} == "/" ]] && \
+ 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/Manifest b/sys-fs/sysfsutils/Manifest
index e8dea278f89f..d37b179a0372 100644
--- a/sys-fs/sysfsutils/Manifest
+++ b/sys-fs/sysfsutils/Manifest
@@ -1 +1 @@
-DIST sysfsutils-2.1.0.tar.gz 788885 BLAKE2B faaeba9d156e48b98ecc50c28711205dd7b99da4966206493f2b63d8a7a3e730b6564a1dac9304c8af56c516e5a13d6d9cf1ebd8773563617c3acc2387059a09 SHA512 485902d98b41a69343cb037883d0c0a1de8a1a4aed657cd4528fe10bc845ac51629657dff01deef042e57c9bd9243095e23fc931d06d74db31b03c5f0a18cf07
+DIST sysfsutils-2.1.1.tar.gz 78823 BLAKE2B 2249a9b7b95bd63be14d60fc3f38d569ee40624885d04391e1fd1d3927abc0695977f456d76214efacaa5149fd860ae1bf4ed0de8d33ea2aa047b446904195bd SHA512 7e1c8535be3c29dec8e23e8b6e8d3ec794bbdc696f161fa38731844c82cc1d37ff04f94c8b0ec0cf8da7147fc696dad0086262641984fa67378ffd2f162dc358
diff --git a/sys-fs/sysfsutils/metadata.xml b/sys-fs/sysfsutils/metadata.xml
index 4c9d4670a07a..b3fc6c6d5d96 100644
--- a/sys-fs/sysfsutils/metadata.xml
+++ b/sys-fs/sysfsutils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
@@ -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.0.ebuild b/sys-fs/sysfsutils/sysfsutils-2.1.0.ebuild
deleted file mode 100644
index ad1fbe589d59..000000000000
--- a/sys-fs/sysfsutils/sysfsutils-2.1.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=5
-inherit autotools toolchain-funcs usr-ldscript
-
-DESCRIPTION="System Utilities Based on Sysfs"
-HOMEPAGE="http://linux-diag.sourceforge.net/Sysfsutils.html"
-SRC_URI="mirror://sourceforge/linux-diag/${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"
-IUSE="static-libs"
-
-src_prepare() {
- sed -i 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' configure.ac || die #467642
-
- # workaround maintainer mode
- AT_M4DIR=m4 eautoreconf
-
- # with eautoreconf you get "Useless epunt_cxx usage"
- # without you don't
-# epunt_cxx
-}
-
-src_configure() {
- econf $(use_enable static-libs static)
-}
-
-src_install() {
- default
- dodoc docs/libsysfs.txt
- gen_usr_ldscript -a sysfs
-
- # We do not distribute this
- rm -f "${ED}"/usr/bin/dlist_test "${ED}"/usr/lib*/libsysfs.la || die
-}
diff --git a/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild b/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild
new file mode 100644
index 000000000000..8d76371cff85
--- /dev/null
+++ b/sys-fs/sysfsutils/sysfsutils-2.1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools usr-ldscript
+
+DESCRIPTION="System Utilities Based on Sysfs"
+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 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+src_prepare() {
+ default
+
+ # Workaround maintainer mode
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_configure() {
+ econf $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ dodoc docs/libsysfs.txt
+ gen_usr_ldscript -a sysfs
+
+ # We do not distribute this
+ rm -f "${ED}"/usr/bin/dlist_test "${ED}"/usr/lib*/libsysfs.la || die
+}
diff --git a/sys-fs/tmsu/Manifest b/sys-fs/tmsu/Manifest
deleted file mode 100644
index f42899694094..000000000000
--- a/sys-fs/tmsu/Manifest
+++ /dev/null
@@ -1,3 +0,0 @@
-DIST tmsu-0.6.1.tar.gz 92874 BLAKE2B 492145376c1e96dfab5be2692ae98d5171e6a3797bd132151ecf34db27c223be429fb7ca675f6724f875884b30e2887e0c357f9ed0020de7a2fda6718280dd5d SHA512 53bc9d880f9138e9d88b25a151f72a5a3110418002c2a1a6101d2794c0b6fd854ebd52e589f3b1ffa18f1b5c2f2298550246fc6cb1bfebbfd0131692c2fa5512
-DIST tmsu-0.7.0.tar.gz 98108 BLAKE2B 560d7a241d6e6ca3a0e3cde4a446af458bebf83ae8449d043789756bca56c1cbe03453d23dbc397ae205df68c38e14e9ffff7ebfec107b45a7fc4671a527dbb5 SHA512 c3f719f4962291a9701d2438381aeb65ea470b896ab6acf5a0871b1984bbb2758380a73ddc94c2b37ea2a45477fb66eb1a2afcae3f1e7ca3e469913f7562bd66
-DIST tmsu-0.7.4.tar.gz 98631 BLAKE2B 4af013de08f43b6ee337259b394aafce0862d3f0811174b196785d6e05d520a188ef6a1ce6f320dddcff6b2ab47cae8c248201a27d79bdd09d80b91e12161abd SHA512 28af79a03c774d8c08651cfac794d14a3363d3b5f6b037de1a74968b22053da45e6290ec9c5159950539e1e6577d01c06c62a05eb2b4f01ad5635d98e52b4e20
diff --git a/sys-fs/tmsu/metadata.xml b/sys-fs/tmsu/metadata.xml
deleted file mode 100644
index bdcfa508c7d3..000000000000
--- a/sys-fs/tmsu/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>chr@chymera.eu</email>
- <name>Horea Christian</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription lang="en">
- TMSU is a tool for tagging your files. It provides a simple
- command-line utility for applying tags and a virtual
- filesystem to give you a tag-based view of your files from
- any other program.
- </longdescription>
- <upstream>
- <remote-id type="github">oniony/TMSU</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sys-fs/tmsu/tmsu-0.6.1.ebuild b/sys-fs/tmsu/tmsu-0.6.1.ebuild
deleted file mode 100644
index 425fb4cc2359..000000000000
--- a/sys-fs/tmsu/tmsu-0.6.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit golang-build
-
-EGO_PN="github.com/oniony/TMSU/"
-DESCRIPTION="Files tagger and virtual tag-based filesystem"
-HOMEPAGE="https://github.com/oniony/TMSU/wiki"
-SRC_URI="https://github.com/oniony/TMSU/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test zsh-completion"
-RESTRICT+=" !test? ( test )"
-
-RDEPEND="
- zsh-completion? ( app-shells/zsh )
-"
-DEPEND="
- dev-go/go-sqlite3
- dev-lang/go
- dev-libs/go-fuse
-"
-
-src_unpack() {
- default
- mv TMSU-${PV} ${P} || die "Failed to move sorce directory."
-}
-
-src_install() {
- dobin misc/bin/*
- doman misc/man/tmsu.*
- newbin TMSU tmsu
-
- if use zsh-completion ; then
- insinto /usr/share/zsh/site-functions
- doins misc/zsh/_tmsu
- fi
-}
diff --git a/sys-fs/tmsu/tmsu-0.7.0.ebuild b/sys-fs/tmsu/tmsu-0.7.0.ebuild
deleted file mode 100644
index 425fb4cc2359..000000000000
--- a/sys-fs/tmsu/tmsu-0.7.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit golang-build
-
-EGO_PN="github.com/oniony/TMSU/"
-DESCRIPTION="Files tagger and virtual tag-based filesystem"
-HOMEPAGE="https://github.com/oniony/TMSU/wiki"
-SRC_URI="https://github.com/oniony/TMSU/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test zsh-completion"
-RESTRICT+=" !test? ( test )"
-
-RDEPEND="
- zsh-completion? ( app-shells/zsh )
-"
-DEPEND="
- dev-go/go-sqlite3
- dev-lang/go
- dev-libs/go-fuse
-"
-
-src_unpack() {
- default
- mv TMSU-${PV} ${P} || die "Failed to move sorce directory."
-}
-
-src_install() {
- dobin misc/bin/*
- doman misc/man/tmsu.*
- newbin TMSU tmsu
-
- if use zsh-completion ; then
- insinto /usr/share/zsh/site-functions
- doins misc/zsh/_tmsu
- fi
-}
diff --git a/sys-fs/tmsu/tmsu-0.7.4.ebuild b/sys-fs/tmsu/tmsu-0.7.4.ebuild
deleted file mode 100644
index 7483ecb0b7d6..000000000000
--- a/sys-fs/tmsu/tmsu-0.7.4.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit golang-build
-
-EGO_PN="github.com/oniony/TMSU/"
-DESCRIPTION="Files tagger and virtual tag-based filesystem"
-HOMEPAGE="https://github.com/oniony/TMSU/wiki"
-SRC_URI="https://github.com/oniony/TMSU/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="AGPL-3 AGPL-3+ BSD-4 GPL-3+ MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="sys-fs/fuse:0"
-DEPEND="
- dev-go/go-sqlite3
- dev-lang/go
- dev-libs/go-fuse
- test? ( ${RDEPEND} )
-"
-
-src_unpack() {
- default
- mv TMSU-${PV} ${P} || die "Failed to move sorce directory."
-}
-
-src_install() {
- dobin misc/bin/*
- doman misc/man/tmsu.*
- newbin TMSU tmsu
-
- insinto /usr/share/zsh/site-functions
- doins misc/zsh/_tmsu
-}
-
-src_test() {
- cd tests || die
- ./runall || die
-}
diff --git a/sys-fs/treesize/metadata.xml b/sys-fs/treesize/metadata.xml
index 696c2fdd2975..58bdb818f54c 100644
--- a/sys-fs/treesize/metadata.xml
+++ b/sys-fs/treesize/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
diff --git a/sys-fs/treesize/treesize-0.54.1-r1.ebuild b/sys-fs/treesize/treesize-0.54.1-r1.ebuild
index 90940c262473..16fa356e1b88 100644
--- a/sys-fs/treesize/treesize-0.54.1-r1.ebuild
+++ b/sys-fs/treesize/treesize-0.54.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -23,5 +23,10 @@ PATCHES=(
src_prepare() {
default
+
+ # Bogus shipped symlinks to a fixed version of automake
+ # bug #760498
+ rm config.{guess,sub} || die
+
eautoreconf
}
diff --git a/sys-fs/ubi_reader/Manifest b/sys-fs/ubi_reader/Manifest
new file mode 100644
index 000000000000..a0655a824d49
--- /dev/null
+++ b/sys-fs/ubi_reader/Manifest
@@ -0,0 +1 @@
+DIST ubi_reader-0.8.5.tar.gz 43237 BLAKE2B c55bc689af0a32a0e65aa6f860617131654d11ad5e6f7f1e37b4e048718c061f352965f9793595dc16162df0c08ce32d4db2d6bfaee9366110028f7fe61a5c98 SHA512 14e02c8b8c5fe0fe6316f0dabea21dbb6ef6a865ef2b176fc6e26f36bd54a981cb89fccee2ac476b042909cdd5946b1325f792ac159d7e6bd2c5a6f7f4b14062
diff --git a/sys-fs/ubi_reader/metadata.xml b/sys-fs/ubi_reader/metadata.xml
new file mode 100644
index 000000000000..8c2cd705bbe0
--- /dev/null
+++ b/sys-fs/ubi_reader/metadata.xml
@@ -0,0 +1,13 @@
+<?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>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jrspruitt/ubi_reader</remote-id>
+ <remote-id type="pypi">ubi-reader</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild b/sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild
new file mode 100644
index 000000000000..ea7eb78871bb
--- /dev/null
+++ b/sys-fs/ubi_reader/ubi_reader-0.8.5-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2021-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..11} )
+inherit distutils-r1
+
+MY_PN="${PN/_/-}"
+DESCRIPTION="Collection of Python scripts for extracting data from UBI and UBIFS images"
+HOMEPAGE="https://github.com/jrspruitt/ubi_reader"
+SRC_URI="https://github.com/jrspruitt/ubi_reader/archive/refs/tags/v${PV}-master.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}-master"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-python/python-lzo[${PYTHON_USEDEP}]"
diff --git a/sys-fs/udev-init-scripts/Manifest b/sys-fs/udev-init-scripts/Manifest
index 2c8c7c596fde..037e60fce89f 100644
--- a/sys-fs/udev-init-scripts/Manifest
+++ b/sys-fs/udev-init-scripts/Manifest
@@ -1,2 +1 @@
-DIST udev-init-scripts-33.tar.gz 3698 BLAKE2B fc79b3f6984131180324919f7be4309715976309ee582147662634bb020b8162b293e7fd0e675a9cc7a3b1630ce0fc49b29c899e393c7748d47cf924b1ca2809 SHA512 2119aace937da02f47a5adc9af720587d25c2852cf70a9bcb04138e3ee511308c8f30cf0301fbec58cf0432b7fd6672ae6a02d1740c774703959197b3511fbcc
-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/metadata.xml b/sys-fs/udev-init-scripts/metadata.xml
index 47a9d608646f..31123d01cb4d 100644
--- a/sys-fs/udev-init-scripts/metadata.xml
+++ b/sys-fs/udev-init-scripts/metadata.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>udev-bugs@gentoo.org</email>
+ <email>systemd@gentoo.org</email>
</maintainer>
</pkgmetadata>
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 0fa826de5d68..000000000000
--- a/sys-fs/udev-init-scripts/udev-init-scripts-34.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2020 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-33.ebuild b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
index 4dc6675505f4..8ec6bbae2c4f 100644
--- a/sys-fs/udev-init-scripts/udev-init-scripts-33.ebuild
+++ b/sys-fs/udev-init-scripts/udev-init-scripts-35.ebuild
@@ -1,17 +1,17 @@
-# 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
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"
+ 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 ~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 6086fa54d5fe..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,17 +1,17 @@
-# 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
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"
+ 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 ~m68k ~mips ~ppc ~ppc64 ~riscv s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
DESCRIPTION="udev startup scripts for openrc"
diff --git a/sys-fs/udev/Manifest b/sys-fs/udev/Manifest
deleted file mode 100644
index 299515c5f114..000000000000
--- a/sys-fs/udev/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-DIST systemd-242.tar.gz 7831435 BLAKE2B 288e65d0a8e133ef5885689eb16118a83d93c730e342da63115cea0892fc999104c3a4856c83f3e7ef909ba2f3311146730b05ee02d84cc0400851ccbdcd54cd SHA512 578f68a3c8f2d454198fc04ff8d943abcfb390531d57f9603d185857f7afa7f4dc641dafecf49ce50fe22f5837b252b181400891e8efd4459fd4f69bb4283cb4
-DIST systemd-243.tar.gz 8242522 BLAKE2B 89e3ebbea5a99061329f7c78220a66c1e075d5ba90dfdf5ee8d0d9b762ef4600dc82d8ca2054632e5e343b6272cd8046c92f7f99dcfa8287c5ef2b42fb96d4cb SHA512 56b52a297aa5ac04d9667eb3afb1598725b197de73ff72baa1aabbc2844e36fba7b7fccdf6d214ae8b5b926616b2b7e15772763aaa80ec938d74333ff9c8673e
-DIST systemd-246.tar.gz 9534036 BLAKE2B 71b72abcd4d066d35d45d9835d41bec8faa9a7eddc80b48fe7073223f07d32f78a8442c52dc0800940f9750d9c5502123a633738981d797cf610d85df2035bf0 SHA512 7103f7da53f7ced3b5543c238f23bd11c82af8e37166c1720a90576b6b431b4329320c78726166c65a9f5e101dd465c0a86dd13c586c4e55e608a6273d8f324f
-DIST systemd-stable-245.5.tar.gz 9020836 BLAKE2B 7753eecceffa86c9208c3e71df2037b58b445f9090b73c6ff499b4170b94488a1fd1cabcd17cbb98506a692875a3eef07a40a54d23e09c331a01319f8d03d13d SHA512 47de4a59980643002f325c499eeb4dd76fa9f1d1267686e7564f103690487bf85974590d7cb3e3641409e5bfba567fe2a66efa80320e7e8adc48af4461e2e172
diff --git a/sys-fs/udev/files/242-gcc-9.patch b/sys-fs/udev/files/242-gcc-9.patch
deleted file mode 100644
index e9f690a65be5..000000000000
--- a/sys-fs/udev/files/242-gcc-9.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From c98b3545008d8e984ab456dcf79787418fcbfe13 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
-Date: Tue, 7 May 2019 13:46:55 +0200
-Subject: [PATCH] network: remove redunant link name in message
-
-Fixes #12454.
-
-gcc was complaining that the link->ifname argument is NULL. Adding
-assert(link->ifname) right before the call has no effect. It seems that
-gcc is confused by the fact that log_link_warning_errno() internally
-calls log_object(), with link->ifname passed as the object. log_object()
-is also a macro and is does a check whether the passed object is NULL.
-So we have a check if something is NULL right next an unconditional use
-of it where it cannot be NULL. I think it's a bug in gcc.
-
-Anyway, we don't need to use link->ifname here. log_object() already prepends
-the object name to the message.
----
- src/network/networkd-link.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
-index 533193ac932..6fc82940033 100644
---- a/src/network/networkd-link.c
-+++ b/src/network/networkd-link.c
-@@ -338,8 +338,7 @@ static int link_enable_ipv6(Link *link) {
-
- r = sysctl_write_ip_property_boolean(AF_INET6, link->ifname, "disable_ipv6", disabled);
- if (r < 0)
-- log_link_warning_errno(link, r, "Cannot %s IPv6 for interface %s: %m",
-- enable_disable(!disabled), link->ifname);
-+ log_link_warning_errno(link, r, "Cannot %s IPv6: %m", enable_disable(!disabled));
- else
- log_link_info(link, "IPv6 successfully %sd", enable_disable(!disabled));
-
-From bcb846f30f9ca8f42e79d109706aee9f2032261b Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Wed, 22 May 2019 10:31:01 -0400
-Subject: [PATCH] shared/machine-image: avoid passing NULL to log_debug_errno
-
-Fixes: https://github.com/systemd/systemd/issues/12534
----
- src/shared/machine-image.c | 11 ++++++++---
- 1 file changed, 8 insertions(+), 3 deletions(-)
-
-diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c
-index 6b9d8fb97a6..6a6d952b424 100644
---- a/src/shared/machine-image.c
-+++ b/src/shared/machine-image.c
-@@ -201,11 +201,13 @@ static int image_make(
- Image **ret) {
-
- _cleanup_free_ char *pretty_buffer = NULL;
-+ _cleanup_free_ char *cwd = NULL;
- struct stat stbuf;
- bool read_only;
- int r;
-
- assert(dfd >= 0 || dfd == AT_FDCWD);
-+ assert(path || dfd == AT_FDCWD);
- assert(filename);
-
- /* We explicitly *do* follow symlinks here, since we want to allow symlinking trees, raw files and block
-@@ -221,6 +223,9 @@ static int image_make(
- st = &stbuf;
- }
-
-+ if (!path)
-+ safe_getcwd(&cwd);
-+
- read_only =
- (path && path_startswith(path, "/usr")) ||
- (faccessat(dfd, filename, W_OK, AT_EACCESS) < 0 && errno == EROFS);
-@@ -359,7 +364,7 @@ static int image_make(
-
- block_fd = openat(dfd, filename, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
- if (block_fd < 0)
-- log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path, filename);
-+ log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
- else {
- /* Refresh stat data after opening the node */
- if (fstat(block_fd, &stbuf) < 0)
-@@ -373,13 +378,13 @@ static int image_make(
- int state = 0;
-
- if (ioctl(block_fd, BLKROGET, &state) < 0)
-- log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path, filename);
-+ log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
- else if (state)
- read_only = true;
- }
-
- if (ioctl(block_fd, BLKGETSIZE64, &size) < 0)
-- log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path, filename);
-+ log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-
- block_fd = safe_close(block_fd);
- }
-From 2570578d908a8e010828fa1f88826b1c45d534ff Mon Sep 17 00:00:00 2001
-From: Lennart Poettering <lennart@poettering.net>
-Date: Fri, 24 May 2019 10:54:09 +0200
-Subject: [PATCH] machine-image: openat() doesn't operate on the cwd if the
- first argument is specified
-
-A fix-up for bcb846f30f9ca8f42e79d109706aee9f2032261b.
----
- src/shared/machine-image.c | 17 ++++++++++-------
- 1 file changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/src/shared/machine-image.c b/src/shared/machine-image.c
-index 6a6d952b424..55e5f08f91e 100644
---- a/src/shared/machine-image.c
-+++ b/src/shared/machine-image.c
-@@ -200,8 +200,7 @@ static int image_make(
- const struct stat *st,
- Image **ret) {
-
-- _cleanup_free_ char *pretty_buffer = NULL;
-- _cleanup_free_ char *cwd = NULL;
-+ _cleanup_free_ char *pretty_buffer = NULL, *parent = NULL;
- struct stat stbuf;
- bool read_only;
- int r;
-@@ -223,8 +222,12 @@ static int image_make(
- st = &stbuf;
- }
-
-- if (!path)
-- safe_getcwd(&cwd);
-+ if (!path) {
-+ if (dfd == AT_FDCWD)
-+ (void) safe_getcwd(&parent);
-+ else
-+ (void) fd_get_path(dfd, &parent);
-+ }
-
- read_only =
- (path && path_startswith(path, "/usr")) ||
-@@ -364,7 +367,7 @@ static int image_make(
-
- block_fd = openat(dfd, filename, O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_NOCTTY);
- if (block_fd < 0)
-- log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-+ log_debug_errno(errno, "Failed to open block device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
- else {
- /* Refresh stat data after opening the node */
- if (fstat(block_fd, &stbuf) < 0)
-@@ -378,13 +381,13 @@ static int image_make(
- int state = 0;
-
- if (ioctl(block_fd, BLKROGET, &state) < 0)
-- log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-+ log_debug_errno(errno, "Failed to issue BLKROGET on device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
- else if (state)
- read_only = true;
- }
-
- if (ioctl(block_fd, BLKGETSIZE64, &size) < 0)
-- log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(cwd), filename);
-+ log_debug_errno(errno, "Failed to issue BLKGETSIZE64 on device %s/%s, ignoring: %m", path ?: strnull(parent), filename);
-
- block_fd = safe_close(block_fd);
- }
diff --git a/sys-fs/udev/metadata.xml b/sys-fs/udev/metadata.xml
deleted file mode 100644
index 39f61746d0df..000000000000
--- a/sys-fs/udev/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>udev-bugs@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-242.ebuild b/sys-fs/udev/udev-242.ebuild
deleted file mode 100644
index 6c9973b9a66d..000000000000
--- a/sys-fs/udev/udev-242.ebuild
+++ /dev/null
@@ -1,333 +0,0 @@
-# Copyright 2003-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- MY_PV=${PV/_/-}
- MY_P=systemd-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 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"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-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/tape
- acct-group/video
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- "${FILESDIR}"/242-gcc-9.patch
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- into /
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.rules
-
- 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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/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 "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # 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
-}
diff --git a/sys-fs/udev/udev-243-r2.ebuild b/sys-fs/udev/udev-243-r2.ebuild
deleted file mode 100644
index 34e919e5c634..000000000000
--- a/sys-fs/udev/udev-243-r2.ebuild
+++ /dev/null
@@ -1,335 +0,0 @@
-# Copyright 2003-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal toolchain-funcs udev usr-ldscript
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/systemd/systemd.git"
- inherit git-r3
-else
- MY_PV=${PV/_/-}
- MY_P=systemd-${MY_PV}
- S=${WORKDIR}/${MY_P}
- SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 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 static-libs"
-
-RESTRICT="test"
-
-COMMON_DEPEND=">=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap[${MULTILIB_USEDEP}]
- acl? ( sys-apps/acl )
- kmod? ( >=sys-apps/kmod-16 )
- selinux? ( >=sys-libs/libselinux-2.1.9 )
- !<sys-libs/glibc-2.11
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd"
-DEPEND="${COMMON_DEPEND}
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=dev-util/meson-0.40.0
- dev-util/ninja
- >=sys-apps/coreutils-8.16
- virtual/os-headers
- virtual/pkgconfig
- >=sys-kernel/linux-headers-3.9
- app-text/docbook-xml-dtd:4.2
- app-text/docbook-xml-dtd:4.5
- app-text/docbook-xsl-stylesheets
- dev-libs/libxslt"
-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/tape
- acct-group/video
- !<sys-fs/lvm2-2.02.103
- !<sec-policy/selinux-base-2.20120725-r10"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- -Dstatic-libudev=$(usex static-libs true false)
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if use static-libs; then
- targets+=( src/udev/libudev.a )
- fi
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
- use static-libs && dolib.a src/udev/libudev.a
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules/*.rules
-
- 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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-pkg_postinst() {
- mkdir -p "${ROOT%/}"/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 "${ROOT%/}"/dev/loop 2>/dev/null
- if [[ -d ${ROOT%/}/dev/loop ]]; then
- ewarn "Please make sure your remove /dev/loop,"
- ewarn "else losetup may be confused when looking for unused devices."
- fi
-
- local fstab="${ROOT%/}"/etc/fstab dev path fstype rest
- while read -r dev path fstype rest; do
- if [[ ${path} == /dev && ${fstype} != devtmpfs ]]; then
- ewarn "You need to edit your /dev line in ${fstab} to have devtmpfs"
- ewarn "filesystem. Otherwise udev won't be able to boot."
- ewarn "See, https://bugs.gentoo.org/453186"
- fi
- done < "${fstab}"
-
- if [[ -d ${ROOT%/}/usr/lib/udev ]]; then
- ewarn
- ewarn "Please re-emerge all packages on your system which install"
- ewarn "rules and helpers in /usr/lib/udev. They should now be in"
- ewarn "/lib/udev."
- ewarn
- ewarn "One way to do this is to run the following command:"
- ewarn "emerge -av1 \$(qfile -q -S -C /usr/lib/udev)"
- ewarn "Note that qfile can be found in app-portage/portage-utils"
- fi
-
- local old_cd_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-cd.rules
- local old_net_rules="${ROOT%/}"/etc/udev/rules.d/70-persistent-net.rules
- for old_rules in "${old_cd_rules}" "${old_net_rules}"; do
- if [[ -f ${old_rules} ]]; then
- ewarn
- ewarn "File ${old_rules} is from old udev installation but if you still use it,"
- ewarn "rename it to something else starting with 70- to silence this deprecation"
- ewarn "warning."
- fi
- done
-
- elog
- elog "Starting from version >= 197 the new predictable network interface names are"
- elog "used by default, see:"
- elog "https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames"
- elog "https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c"
- elog
- elog "Example command to get the information for the new interface name before booting"
- elog "(replace <ifname> with, for example, eth0):"
- elog "# udevadm test-builtin net_id /sys/class/net/<ifname> 2> /dev/null"
- elog
- elog "You can use either kernel parameter \"net.ifnames=0\", create empty"
- elog "file /etc/systemd/network/99-default.link, or symlink it to /dev/null"
- elog "to disable the feature."
-
- if has_version 'sys-apps/biosdevname'; then
- ewarn
- ewarn "You can replace the functionality of sys-apps/biosdevname which has been"
- ewarn "detected to be installed with the new predictable network interface names."
- fi
-
- ewarn
- ewarn "You need to restart udev as soon as possible to make the upgrade go"
- ewarn "into effect."
- ewarn "The method you use to do this depends on your init system."
- if has_version 'sys-apps/openrc'; then
- ewarn "For sys-apps/openrc users it is:"
- ewarn "# /etc/init.d/udev --nodeps restart"
- fi
-
- elog
- elog "For more information on udev on Gentoo, upgrading, writing udev rules, and"
- elog "fixing known issues visit:"
- elog "https://wiki.gentoo.org/wiki/Udev"
- elog "https://wiki.gentoo.org/wiki/Udev/upgrade"
-
- # If user has disabled 80-net-name-slot.rules using a empty file or a symlink to /dev/null,
- # do the same for 80-net-setup-link.rules to keep the old behavior
- local net_move=no
- local net_name_slot_sym=no
- local net_rules_path="${ROOT%/}"/etc/udev/rules.d
- local net_name_slot="${net_rules_path}"/80-net-name-slot.rules
- local net_setup_link="${net_rules_path}"/80-net-setup-link.rules
- if [[ ! -e ${net_setup_link} ]]; then
- [[ -f ${net_name_slot} && $(sed -e "/^#/d" -e "/^\W*$/d" ${net_name_slot} | wc -l) == 0 ]] && net_move=yes
- if [[ -L ${net_name_slot} && $(readlink ${net_name_slot}) == /dev/null ]]; then
- net_move=yes
- net_name_slot_sym=yes
- fi
- fi
- if [[ ${net_move} == yes ]]; then
- ebegin "Copying ${net_name_slot} to ${net_setup_link}"
-
- if [[ ${net_name_slot_sym} == yes ]]; then
- ln -nfs /dev/null "${net_setup_link}"
- else
- cp "${net_name_slot}" "${net_setup_link}"
- fi
- eend $?
- fi
-
- # 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
-}
diff --git a/sys-fs/udev/udev-245.5-r1.ebuild b/sys-fs/udev/udev-245.5-r1.ebuild
deleted file mode 100644
index b5b2acbecf9a..000000000000
--- a/sys-fs/udev/udev-245.5-r1.ebuild
+++ /dev/null
@@ -1,243 +0,0 @@
-# Copyright 2003-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal 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"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~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 static-libs"
-
-RESTRICT="test"
-
-BDEPEND="
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=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
-"
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${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/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
-"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-26"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- -Dstatic-libudev=$(usex static-libs true false)
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if use static-libs; then
- targets+=( src/udev/libudev.a )
- fi
- if multilib_is_native_abi; then
- targets+=(
- systemd-udevd
- udevadm
- src/udev/ata_id
- src/udev/cdrom_id
- src/udev/fido_id
- src/udev/mtd_probe
- src/udev/scsi_id
- 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
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
- use static-libs && dolib.a src/udev/libudev.a
-
- insinto "/usr/$(get_libdir)/pkgconfig"
- doins src/libudev/libudev.pc
-
- if multilib_is_native_abi; then
- into /
- dobin udevadm
-
- exeinto /lib/systemd
- doexe systemd-udevd
-
- exeinto /lib/udev
- doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
-
- rm rules.d/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
-
- 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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules.d/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-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
-}
diff --git a/sys-fs/udev/udev-246-r1.ebuild b/sys-fs/udev/udev-246-r1.ebuild
deleted file mode 100644
index cb14882292b2..000000000000
--- a/sys-fs/udev/udev-246-r1.ebuild
+++ /dev/null
@@ -1,241 +0,0 @@
-# Copyright 2003-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal 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"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~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 static-libs"
-
-RESTRICT="test"
-
-BDEPEND="
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=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
-"
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${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/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
-"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-34"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- -Dstatic-libudev=$(usex static-libs true false)
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if use static-libs; then
- targets+=( src/udev/libudev.a )
- fi
- 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/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
- use static-libs && dolib.a src/udev/libudev.a
-
- 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}
-
- rm rules.d/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
-
- 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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules.d/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-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
-}
diff --git a/sys-fs/udev/udev-9999.ebuild b/sys-fs/udev/udev-9999.ebuild
deleted file mode 100644
index cb14882292b2..000000000000
--- a/sys-fs/udev/udev-9999.ebuild
+++ /dev/null
@@ -1,241 +0,0 @@
-# Copyright 2003-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 linux-info meson ninja-utils multilib-minimal 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"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~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 static-libs"
-
-RESTRICT="test"
-
-BDEPEND="
- dev-util/gperf
- >=dev-util/intltool-0.50
- >=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
-"
-COMMON_DEPEND="
- >=sys-apps/util-linux-2.30[${MULTILIB_USEDEP}]
- sys-libs/libcap:0=[${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/tape
- acct-group/video
- !sys-apps/gentoo-systemd-integration
- !sys-apps/systemd
-"
-PDEPEND=">=sys-apps/hwids-20140304[udev]
- >=sys-fs/udev-init-scripts-34"
-
-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() {
- cat <<-EOF > "${T}"/40-gentoo.rules
- # Gentoo specific floppy and usb groups
- ACTION=="add", SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
- ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="usb"
- EOF
-
- if [[ -d "${WORKDIR}/patches" ]]; then
- eapply "${WORKDIR}/patches"
- fi
-
- local PATCHES=(
- )
-
- default
-}
-
-meson_multilib_native_use() {
- if multilib_is_native_abi && use "$1"; then
- echo true
- else
- echo false
- fi
-}
-
-multilib_src_configure() {
- local emesonargs=(
- -Dacl=$(meson_multilib_native_use acl)
- -Defi=false
- -Dkmod=$(meson_multilib_native_use kmod)
- -Dselinux=$(meson_multilib_native_use selinux)
- -Dlink-udev-shared=false
- -Dsplit-usr=true
- -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
- -Dstatic-libudev=$(usex static-libs true false)
-
- # Prevent automagic deps
- -Dgcrypt=false
- -Dlibcryptsetup=false
- -Dlibidn=false
- -Dlibidn2=false
- -Dlibiptc=false
- -Dseccomp=false
- -Dlz4=false
- -Dxz=false
- )
- meson_src_configure
-}
-
-src_configure() {
- # Prevent conflicts with i686 cross toolchain, bug 559726
- tc-export AR CC NM OBJCOPY RANLIB
- multilib-minimal_src_configure
-}
-
-multilib_src_compile() {
- # meson creates this link
- local libudev=$(readlink src/udev/libudev.so.1)
-
- local targets=(
- src/udev/${libudev}
- )
- if use static-libs; then
- targets+=( src/udev/libudev.a )
- fi
- 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/v4l_id
- man/udev.conf.5
- man/systemd.link.5
- man/hwdb.7
- man/udev.7
- man/systemd-udevd.service.8
- man/udevadm.8
- )
- fi
- eninja "${targets[@]}"
-}
-
-multilib_src_install() {
- local libudev=$(readlink src/udev/libudev.so.1)
-
- dolib.so src/udev/{${libudev},libudev.so.1,libudev.so}
- gen_usr_ldscript -a udev
- use static-libs && dolib.a src/udev/libudev.a
-
- 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}
-
- rm rules.d/99-systemd.rules || die
- insinto /lib/udev/rules.d
- doins rules.d/*.rules
-
- 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
-
- # see src_prepare() for content of 40-gentoo.rules
- insinto /lib/udev/rules.d
- doins "${T}"/40-gentoo.rules
- doins "${S}"/rules.d/*.rules
-
- dobashcomp shell-completion/bash/udevadm
-
- insinto /usr/share/zsh/site-functions
- doins shell-completion/zsh/_udevadm
-
- einstalldocs
-}
-
-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
-}
diff --git a/sys-fs/udftools/Manifest b/sys-fs/udftools/Manifest
index f6be76d5f32f..cdb759988b24 100644
--- a/sys-fs/udftools/Manifest
+++ b/sys-fs/udftools/Manifest
@@ -1,2 +1 @@
-DIST udftools-2.1.tar.gz 555440 BLAKE2B 09ed67d67a5194aff1611ca40907465cf5d9b83a6a9c1771118c80599be29e8d68fc48c10b38d33a4aed4fa6e7e6dbf0399b5d04bd103153f42a705e17edcf6c SHA512 0bdb3f2e0595200dadb771af4f31ba513d0bf6a0fbd30bc3a1f8aba4ab5f487f61635e65dc155926d2f566cb6e2b2f3a57938071616058cf703692d529971a64
-DIST udftools-2.2.tar.gz 543515 BLAKE2B 8702959e9840415201668255272a7f5bb3b88d1e11a20ea6818c9c031d602ceba25a4892965f77961e265d55a687c6574a9aa7c657610d85e56549550a978d58 SHA512 1d6f7b725053ab8c2092ca07bce07fb075168ba48f7d2580076ee84b2652af3898622746c5a2f0bdb8c0d1d0e09d1f4a3cbaae4f998924652a56561b84690e2b
+DIST udftools-2.3.tar.gz 581756 BLAKE2B 48b3681509c755249cfabd29fae9a622bcf104aead15e03196acaaa64ad8cab77b928fec7c08be7b9f5753594e1de1c21c9a9c3e863bcf5388d6e2090d04e9a9 SHA512 17304264388ae53e348d6aa870f0d23c29477344fee848236b46886c086221941872073974f804c0735eafd0cf9f7acdac7988132f03c0a87dba37467b5bda95
diff --git a/sys-fs/udftools/metadata.xml b/sys-fs/udftools/metadata.xml
index 67407dddd9c6..0aca9bf114c0 100644
--- a/sys-fs/udftools/metadata.xml
+++ b/sys-fs/udftools/metadata.xml
@@ -1,5 +1,5 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<?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>
diff --git a/sys-fs/udftools/udftools-2.1.ebuild b/sys-fs/udftools/udftools-2.1.ebuild
deleted file mode 100644
index eae01557ddb6..000000000000
--- a/sys-fs/udftools/udftools-2.1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit flag-o-matic
-
-DESCRIPTION="Ben Fennema's tools for packet writing and the UDF filesystem"
-HOMEPAGE="https://github.com/pali/udftools/ https://sourceforge.net/projects/linux-udf/"
-SRC_URI="https://github.com/pali/udftools/releases/download/${PV}/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-IUSE=""
-
-RDEPEND="sys-libs/readline:0="
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
diff --git a/sys-fs/udftools/udftools-2.2.ebuild b/sys-fs/udftools/udftools-2.3.ebuild
index 03a562512736..e3ffa7b9458f 100644
--- a/sys-fs/udftools/udftools-2.2.ebuild
+++ b/sys-fs/udftools/udftools-2.3.ebuild
@@ -1,18 +1,15 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit flag-o-matic
-
DESCRIPTION="Ben Fennema's tools for packet writing and the UDF filesystem"
HOMEPAGE="https://github.com/pali/udftools/ https://sourceforge.net/projects/linux-udf/"
SRC_URI="https://github.com/pali/udftools/releases/download/${PV}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE=""
+KEYWORDS="amd64 ~arm ~arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="sys-libs/readline:0="
DEPEND="${RDEPEND}"
diff --git a/sys-fs/udiskie/Manifest b/sys-fs/udiskie/Manifest
index ea280fce1bac..30187d41e734 100644
--- a/sys-fs/udiskie/Manifest
+++ b/sys-fs/udiskie/Manifest
@@ -1,3 +1,4 @@
-DIST udiskie-2.1.0.tar.gz 86339 BLAKE2B e92c61ac61aaab81bb91874ed1ed0c8bab60524fe79c9432053968418767b6ebc5c15c33abc74f37471fcc5a799152a50d88528a4b7bbd91e015d448fb36d0cb SHA512 704bdf8226dd2eeb6b13c5a4facca76d9f5fa7119cef7b5af08d0d399f9e65318ed5a921638cd9b7db3acbadcff1029f2e7698a942350f31b8f94f5032c25663
-DIST udiskie-2.1.1.tar.gz 87216 BLAKE2B 4860e8ae7310c89d3292fe7fadcd49f6c92f05628ea0c398f0e7f77183b93c5e34c4119f0ae4b4e031109cc8bc6ea23ddc14c9478709cdce594bfea3b39a1af8 SHA512 bad0f024c64a7d2c48dd6c3bc59f5bc223789bec9a8201f763cabf97096312bbdc9779711d15a9f7f8f9545a7088042b159f856c9a9db12413e9bea41b215ef4
-DIST udiskie-2.2.0.tar.gz 88232 BLAKE2B ba037b0828b7bf42b00be481ecec807bc9ed591ad3990cb6b6f0db21b4894c184ff2fcb5410272a55f3f78caae999458cb159cd450ede540606138e5e9dab1af SHA512 7c6c096eeb52458a2e30415c1489a640ca679489a34729f5502ae35f178f810476111a17f082a092d61d6d08022cfd208cb1f71ab34d6b88ea7f1f4e4a1ae49c
+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/metadata.xml b/sys-fs/udiskie/metadata.xml
index 4edf040a09c6..8df2c2c87264 100644
--- a/sys-fs/udiskie/metadata.xml
+++ b/sys-fs/udiskie/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>bkohler@gentoo.org</email>
diff --git a/sys-fs/udiskie/udiskie-2.1.0.ebuild b/sys-fs/udiskie/udiskie-2.4.2-r2.ebuild
index 182cb3d80118..fd9626a54410 100644
--- a/sys-fs/udiskie/udiskie-2.1.0.ebuild
+++ b/sys-fs/udiskie/udiskie-2.4.2-r2.ebuild
@@ -1,30 +1,32 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit distutils-r1 gnome2-utils
+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"
-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/pyxdg[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
sys-fs/udisks:2
- $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' 'python3_6')"
+ libnotify? ( x11-libs/libnotify[introspection] )"
DEPEND="app-text/asciidoc
- dev-python/setuptools[${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
@@ -41,9 +43,9 @@ src_install() {
}
pkg_postinst() {
- gnome2_icon_cache_update
+ xdg_icon_cache_update
}
pkg_postrm() {
- gnome2_icon_cache_update
+ xdg_icon_cache_update
}
diff --git a/sys-fs/udiskie/udiskie-2.1.1.ebuild b/sys-fs/udiskie/udiskie-2.5.0-r1.ebuild
index 391ac1d6d382..127a7ed4850d 100644
--- a/sys-fs/udiskie/udiskie-2.1.1.ebuild
+++ b/sys-fs/udiskie/udiskie-2.5.0-r1.ebuild
@@ -1,29 +1,32 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit distutils-r1 gnome2-utils
+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"
-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
- $(python_gen_cond_dep 'dev-python/importlib_resources[${PYTHON_USEDEP}]' 'python3_6')"
+ libnotify? ( x11-libs/libnotify[introspection] )"
DEPEND="app-text/asciidoc
- dev-python/setuptools[${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
@@ -40,9 +43,9 @@ src_install() {
}
pkg_postinst() {
- gnome2_icon_cache_update
+ xdg_icon_cache_update
}
pkg_postrm() {
- gnome2_icon_cache_update
+ xdg_icon_cache_update
}
diff --git a/sys-fs/udiskie/udiskie-2.2.0.ebuild b/sys-fs/udiskie/udiskie-2.5.1.ebuild
index ee36f9185a25..127a7ed4850d 100644
--- a/sys-fs/udiskie/udiskie-2.2.0.ebuild
+++ b/sys-fs/udiskie/udiskie-2.5.1.ebuild
@@ -1,29 +1,32 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
-PYTHON_COMPAT=( python3_{7,8} )
-DISTUTILS_USE_SETUPTOOLS=rdepend
-inherit distutils-r1 gnome2-utils
+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"
-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/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
@@ -40,9 +43,9 @@ src_install() {
}
pkg_postinst() {
- gnome2_icon_cache_update
+ xdg_icon_cache_update
}
pkg_postrm() {
- gnome2_icon_cache_update
+ xdg_icon_cache_update
}
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 0d9dc9b4ef34..5ab345ba851b 100644
--- a/sys-fs/udisks/Manifest
+++ b/sys-fs/udisks/Manifest
@@ -1,2 +1,3 @@
-DIST udisks-2.9.0.tar.bz2 1671841 BLAKE2B 5f0f26b203a4a54736875211d8299c1b81a4e2722561028f802200b3a0916fb70baa923b2f7f5474580ccf14581d4e3cf203bf9e864cf01613275d3f1b1935db SHA512 314355c9b0cc562b2359ea77137b3f2189c48e642c67cc9d9ed07048176967b67e78dfb3190dd160db2f92e8143a4f005bf2cc1aa814388a79201705e5297d0c
-DIST udisks-2.9.1.tar.bz2 1680327 BLAKE2B 6573dd91decfaece6668a9848fc5ff276190c0d2be272e2d0fa550274a3e20df4038a87dd5fbb7b1b6a33a4c94f5668d01297d583da7df7027353353ef3936f4 SHA512 a360cafc65375153c5de65f817eecbc65d56a9d9167222e1adbc8f57568d15ccf7ed317e8e0b567340f250ca9247196de104442191bd069510f72dfc5ed65eb3
+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/files/udisks-2.9.4-undefined.patch b/sys-fs/udisks/files/udisks-2.9.4-undefined.patch
new file mode 100644
index 000000000000..271a5271e3c9
--- /dev/null
+++ b/sys-fs/udisks/files/udisks-2.9.4-undefined.patch
@@ -0,0 +1,143 @@
+Upstream-PR: https://github.com/storaged-project/udisks/pull/978
+Upstream-PR: https://github.com/storaged-project/udisks/pull/979
+Upstream-Commit: 362cc8f1613193f8e68d13a416421bb36fd7f713
+Upstream-Commit: 6cbce6602ce447127cb4f77706870b6706bf1c5f
+Upstream-Commit: 97bb17425e52ee6b2f11b13b3764d0dd6e8cfc97
+From 362cc8f1613193f8e68d13a416421bb36fd7f713 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Tue, 10 May 2022 09:29:10 -0700
+Subject: [PATCH 1/3] modules/btrfs: Add missing dependency
+
+When building udisks with --enable-btrfs using slibtool instead of GNU
+libtool the build will fail with undefined references.
+
+This is because of a missing dependency for libudisks2_btrfs_la_LIBADD
+and GNU libtool will hide this issue by silently ignoring -no-undefined
+while slibtool does not.
+
+Gentoo Bug: https://bugs.gentoo.org/782061
+---
+ modules/btrfs/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/btrfs/Makefile.am b/modules/btrfs/Makefile.am
+index ac8c941849..f96cd16186 100644
+--- a/modules/btrfs/Makefile.am
++++ b/modules/btrfs/Makefile.am
+@@ -73,6 +73,7 @@ libudisks2_btrfs_la_LDFLAGS = \
+ $(NULL)
+
+ libudisks2_btrfs_la_LIBADD = \
++ $(top_builddir)/src/libudisks-daemon.la \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(GUDEV_LIBS) \
+
+From 6cbce6602ce447127cb4f77706870b6706bf1c5f Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 11 May 2022 07:55:13 -0700
+Subject: [PATCH 2/3] modules/bcache: Add missing dependency
+
+---
+ modules/bcache/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/bcache/Makefile.am b/modules/bcache/Makefile.am
+index 571541a6d4..7509205ba2 100644
+--- a/modules/bcache/Makefile.am
++++ b/modules/bcache/Makefile.am
+@@ -71,6 +71,7 @@ libudisks2_bcache_la_LDFLAGS = \
+ $(NULL)
+
+ libudisks2_bcache_la_LIBADD = \
++ $(top_builddir)/src/libudisks-daemon.la \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(GUDEV_LIBS) \
+
+From 97bb17425e52ee6b2f11b13b3764d0dd6e8cfc97 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Wed, 11 May 2022 07:55:25 -0700
+Subject: [PATCH 3/3] modules/lvm2: Add missing dependency
+
+---
+ modules/lvm2/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/lvm2/Makefile.am b/modules/lvm2/Makefile.am
+index 3342ad8e9b..67b8aa6b3f 100644
+--- a/modules/lvm2/Makefile.am
++++ b/modules/lvm2/Makefile.am
+@@ -76,6 +76,7 @@ libudisks2_lvm2_la_LDFLAGS = \
+ $(NULL)
+
+ libudisks2_lvm2_la_LIBADD = \
++ $(top_builddir)/src/libudisks-daemon.la \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(GUDEV_LIBS) \
+From 663f8194eeac75ec26fbfbd8855c5873315c495c Mon Sep 17 00:00:00 2001
+From: Tomas Bzatek <tbzatek@redhat.com>
+Date: Fri, 13 May 2022 17:04:52 +0200
+Subject: [PATCH 1/3] modules/iscsi: Add missing linker dependency
+
+---
+ modules/iscsi/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/iscsi/Makefile.am b/modules/iscsi/Makefile.am
+index 05af5ece29..2cecc300e9 100644
+--- a/modules/iscsi/Makefile.am
++++ b/modules/iscsi/Makefile.am
+@@ -77,6 +77,7 @@ libudisks2_iscsi_la_LDFLAGS = \
+ $(NULL)
+
+ libudisks2_iscsi_la_LIBADD = \
++ $(top_builddir)/src/libudisks-daemon.la \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(GUDEV_LIBS) \
+
+From 8ff2214d740f9819d6ede02534d7d0f23d6a3818 Mon Sep 17 00:00:00 2001
+From: Tomas Bzatek <tbzatek@redhat.com>
+Date: Fri, 13 May 2022 17:05:26 +0200
+Subject: [PATCH 2/3] modules/lsm: Add missing linker dependency
+
+---
+ modules/lsm/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/lsm/Makefile.am b/modules/lsm/Makefile.am
+index 2193115417..b77a9013fa 100644
+--- a/modules/lsm/Makefile.am
++++ b/modules/lsm/Makefile.am
+@@ -71,6 +71,7 @@ libudisks2_lsm_la_LDFLAGS = \
+ $(NULL)
+
+ libudisks2_lsm_la_LIBADD = \
++ $(top_builddir)/src/libudisks-daemon.la \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(GUDEV_LIBS) \
+
+From 4f59e7fd5b9ad94091230713c28f6a818269d48c Mon Sep 17 00:00:00 2001
+From: Tomas Bzatek <tbzatek@redhat.com>
+Date: Fri, 13 May 2022 17:05:43 +0200
+Subject: [PATCH 3/3] modules/zram: Add missing linker dependency
+
+---
+ modules/zram/Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/zram/Makefile.am b/modules/zram/Makefile.am
+index 9e5e9a6315..40f929583d 100644
+--- a/modules/zram/Makefile.am
++++ b/modules/zram/Makefile.am
+@@ -78,6 +78,7 @@ libudisks2_zram_la_LDFLAGS = \
+ $(NULL)
+
+ libudisks2_zram_la_LIBADD = \
++ $(top_builddir)/src/libudisks-daemon.la \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(GUDEV_LIBS) \
diff --git a/sys-fs/udisks/metadata.xml b/sys-fs/udisks/metadata.xml
index fbdc7a76f53c..8e19b03530bb 100644
--- a/sys-fs/udisks/metadata.xml
+++ b/sys-fs/udisks/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>freedesktop-bugs@gentoo.org</email>
@@ -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.9.0.ebuild b/sys-fs/udisks/udisks-2.10.0.ebuild
index e86b1253b377..b7ec7275b635 100644
--- a/sys-fs/udisks/udisks-2.9.0.ebuild
+++ b/sys-fs/udisks/udisks-2.10.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit bash-completion-r1 linux-info systemd udev xdg-utils
+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"
@@ -10,8 +10,8 @@ SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.
LICENSE="LGPL-2+ GPL-2+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd vdo"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86"
+IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd"
REQUIRED_USE="
?? ( elogind systemd )
@@ -19,13 +19,16 @@ REQUIRED_USE="
systemd? ( daemon )
"
+# See configure.ac file for the required min version
+BLOCKDEV_MIN_VER="3.0"
+
COMMON_DEPEND="
- >=sys-auth/polkit-0.110
- >=sys-libs/libblockdev-2.24[cryptsetup,lvm?,vdo?]
+ >=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.50:2
+ >=dev-libs/glib-2.68:2
>=dev-libs/libatasmart-0.19
>=dev-libs/libgudev-165:=
)
@@ -37,8 +40,7 @@ COMMON_DEPEND="
# util-linux -> mount, umount, swapon, swapoff (see also #403073)
RDEPEND="${COMMON_DEPEND}
>=sys-block/parted-3
- virtual/eject
- daemon? ( >=sys-apps/util-linux-2.30 )
+ >=sys-apps/util-linux-2.30
selinux? ( sec-policy/selinux-devicekit )
"
DEPEND="${COMMON_DEPEND}
@@ -47,13 +49,15 @@ 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 )
+ 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
-# sys-devel/autoconf-archive
+# dev-build/autoconf-archive
DOCS=( AUTHORS HACKING NEWS README.md )
@@ -75,6 +79,9 @@ src_prepare() {
if ! use systemd ; then
sed -i -e 's:libsystemd-login:&disable:' configure || die
fi
+
+ # Added for bug # 782061
+ eautoreconf
}
src_configure() {
@@ -86,16 +93,14 @@ 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)
$(use_enable introspection)
$(use_enable lvm lvm2)
- $(use_enable lvm lvmcache)
$(use_enable nls)
- $(use_enable vdo)
)
econf "${myeconfargs[@]}"
}
@@ -117,7 +122,12 @@ pkg_preinst() {
}
pkg_postinst() {
- mkdir -p "${EROOT}"/run #415987
+ 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
@@ -125,3 +135,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/udisks/udisks-2.9.1.ebuild b/sys-fs/udisks/udisks-2.10.1.ebuild
index a85f499c4a42..11bf7f211661 100644
--- a/sys-fs/udisks/udisks-2.9.1.ebuild
+++ b/sys-fs/udisks/udisks-2.10.1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-inherit bash-completion-r1 linux-info systemd udev xdg-utils
+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"
@@ -10,23 +10,25 @@ SRC_URI="https://github.com/storaged-project/udisks/releases/download/${P}/${P}.
LICENSE="LGPL-2+ GPL-2+"
SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
-IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd vdo zram"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc64 ~riscv x86"
+IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd"
REQUIRED_USE="
?? ( elogind systemd )
elogind? ( daemon )
systemd? ( daemon )
- zram? ( systemd )
"
+# See configure.ac file for the required min version
+BLOCKDEV_MIN_VER="3.0"
+
COMMON_DEPEND="
- >=sys-auth/polkit-0.110
- >=sys-libs/libblockdev-2.24[cryptsetup,lvm?,vdo?]
+ >=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.50:2
+ >=dev-libs/glib-2.68:2
>=dev-libs/libatasmart-0.19
>=dev-libs/libgudev-165:=
)
@@ -34,13 +36,11 @@ COMMON_DEPEND="
introspection? ( >=dev-libs/gobject-introspection-1.30:= )
lvm? ( sys-fs/lvm2 )
systemd? ( >=sys-apps/systemd-209 )
- zram? ( >=sys-libs/libblockdev-2.24[kbd] )
"
# util-linux -> mount, umount, swapon, swapoff (see also #403073)
RDEPEND="${COMMON_DEPEND}
>=sys-block/parted-3
- virtual/eject
- daemon? ( >=sys-apps/util-linux-2.30 )
+ >=sys-apps/util-linux-2.30
selinux? ( sec-policy/selinux-devicekit )
"
DEPEND="${COMMON_DEPEND}
@@ -49,13 +49,15 @@ 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 )
+ 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
-# sys-devel/autoconf-archive
+# dev-build/autoconf-archive
DOCS=( AUTHORS HACKING NEWS README.md )
@@ -77,6 +79,9 @@ src_prepare() {
if ! use systemd ; then
sed -i -e 's:libsystemd-login:&disable:' configure || die
fi
+
+ # Added for bug # 782061
+ eautoreconf
}
src_configure() {
@@ -88,17 +93,14 @@ 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)
$(use_enable introspection)
$(use_enable lvm lvm2)
- $(use_enable lvm lvmcache)
$(use_enable nls)
- $(use_enable vdo)
- $(use_enable zram)
)
econf "${myeconfargs[@]}"
}
@@ -120,7 +122,12 @@ pkg_preinst() {
}
pkg_postinst() {
- mkdir -p "${EROOT}"/run #415987
+ 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
@@ -128,3 +135,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/udisks/udisks-2.9.4-r3.ebuild b/sys-fs/udisks/udisks-2.9.4-r3.ebuild
new file mode 100644
index 000000000000..a33ed2e0ecce
--- /dev/null
+++ b/sys-fs/udisks/udisks-2.9.4-r3.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+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 sparc x86"
+IUSE="acl +daemon debug elogind +introspection lvm nls selinux systemd vdo zram"
+
+REQUIRED_USE="
+ ?? ( elogind systemd )
+ elogind? ( daemon )
+ systemd? ( daemon )
+ zram? ( systemd )
+"
+
+# 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-3[cryptsetup,lvm?,vdo(-)?]
+ virtual/udev
+ acl? ( virtual/acl )
+ daemon? (
+ >=dev-libs/glib-2.50: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 )
+ zram? ( >=sys-libs/libblockdev-${BLOCKDEV_MIN_VER}[kbd(-)] )
+"
+# 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 )
+"
+# 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 )
+
+PATCHES=(
+ "${FILESDIR}/${P}-undefined.patch" # 782061
+)
+
+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 lvm lvmcache)
+ $(use_enable nls)
+ $(use_enable vdo)
+ $(use_enable zram)
+ )
+ 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/ufsutils/Manifest b/sys-fs/ufsutils/Manifest
deleted file mode 100644
index 5f05c51b7182..000000000000
--- a/sys-fs/ufsutils/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST ufsutils_8.2-3.debian.tar.gz 23469 BLAKE2B 9afdef3af0f71ec1a75d9e7c3426fd62dd109cf2f5231bf910bb7cf7a55e800b11b4ec5319e6cff9b211259f46fd9730225c96f2f74067ade2b793eccedda04a SHA512 7bc925e742eaf4e1837ca4b46afa7966490234492eeb40ad8fabf71550a79890f3294780c2dbdf3593a82fc8e0708cf4c72baba81f4fec9a884cfa545c8895c8
-DIST ufsutils_8.2.orig.tar.gz 463499 BLAKE2B 94a02de50724e4a1f59a889dbb696a62c8bbbf0935537cff92cd0edb1c5a0e790be45bc1a9aa0a27a9443efe33ec081e5cb26465a3eeb5dbb7b176c91d3c66cc SHA512 f378372c2493c16fe8cb3977f4ed2d104e747895e97d7642d21b5e87a2a03ac696bbac093e534e13c2f1dc4638741edcbbb0ddec5abcbfa6b4f7401efbf7cf14
diff --git a/sys-fs/ufsutils/metadata.xml b/sys-fs/ufsutils/metadata.xml
deleted file mode 100644
index 6f49eba8f496..000000000000
--- a/sys-fs/ufsutils/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/sys-fs/ufsutils/ufsutils-8.2_p3.ebuild b/sys-fs/ufsutils/ufsutils-8.2_p3.ebuild
deleted file mode 100644
index 92d1b917e8d8..000000000000
--- a/sys-fs/ufsutils/ufsutils-8.2_p3.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils flag-o-matic toolchain-funcs
-
-DESCRIPTION="FFS/UFS/UFS2 filesystem utilities from FreeBSD"
-HOMEPAGE="http://packages.debian.org/source/sid/ufsutils"
-
-SRC_URI="mirror://debian/pool/main/u/${PN}/${PN}_${PV%_*}.orig.tar.gz
- mirror://debian/pool/main/u/${PN}/${PN}_${PV%_*}-${PV##*_p}.debian.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="dev-libs/libbsd
- dev-libs/libedit
- sys-libs/ncurses"
-
-S="${WORKDIR}/${P%_*}"
-
-src_prepare() {
- EPATCH_SOURCE="${WORKDIR}/debian/patches" EPATCH_SUFFIX="patch" \
- EPATCH_OPTS="-p1" EPATCH_FORCE="yes" epatch
-
- sed -i '1i#include <sys/sysmacros.h>' sbin/fsdb/fsdbutil.c || die #580292
-
- # growfs is not properly ported
- sed -e "s:sbin/growfs::" -i Makefile
-
- sed -e "s:^\(prefix = \)\(.*\):\1${EPREFIX}usr:" \
- -e "s:^\(libdir = \$(exec_prefix)\/\)\(.*\):\1$(get_libdir):" \
- -e "/ar rcs/s:ar:\$(AR):" \
- -i Makefile.common
-}
-
-src_configure() {
- # globals are defined in header files and reused in multiple final
- # binaries. bug #706696
- append-cflags -fcommon
-
- tc-export AR CC
-}
-
-src_compile() {
- emake -j1
-}
-
-src_install() {
- dodir /usr/$(get_libdir)
- dodir /usr/sbin
- dodir /usr/share/man/man8
- emake DESTDIR="${ED}" install
-}
diff --git a/sys-fs/unionfs-fuse/Manifest b/sys-fs/unionfs-fuse/Manifest
index 0b0a749a3fb7..9ae3bf58e1f9 100644
--- a/sys-fs/unionfs-fuse/Manifest
+++ b/sys-fs/unionfs-fuse/Manifest
@@ -1,3 +1 @@
-DIST unionfs-fuse-1.0.tar.gz 48149 BLAKE2B d1ef74980158f4710f5b545c3e98abd27eb4eb610cbe141fa1befaa2a0efc3cce3cead1a405ecdea7dd0f02fab2d2f030d96a7b1d5068a1cd5de4e2f5bfe3aec SHA512 805151acaeae8526fba430701a1690f6eb0ad8331a9e730095ee538dc2b148d02fe996a63e8a7f6471d1ef622cc5c03d82bd2b2faad1ebe3b614ec343c2f55de
-DIST unionfs-fuse-2.0.tar.gz 46537 BLAKE2B 2f5a0da5adb15c408e7b9d0c3658e389a1aea4a9a5f2f3809fc724af43cf2a4b309e4220e46647e3f3fc9b19d48c8d62692e190cf8536182abfe551bfacfcc24 SHA512 5b60204632f498931fff7671cc9f40b1800d34cb8c0d0de0773626e2653eb0a36647566c92c1d0cf79543e01b934602ef5603a06508407f352e48ef27a7ee758
-DIST unionfs-fuse-2.1.tar.gz 47917 BLAKE2B c76edbcbff98db28092f61facbdf443eda12ea97770126feac3d590e0f85e51df84308d0eeeebd96e5bafd126b472b0ded6a2ead72cac0fab3614e3cc04730dd SHA512 851e378f8c189d8a84d2a0cf47ce8f1e9cdda5e789a8c0c97aac6e0757c2f6480ca4d931a525bb94cec4af11789073ccda44ad01d7ed02de1c29ded72f578aa0
+DIST unionfs-fuse-3.4.tar.gz 54122 BLAKE2B 8d578a1bd88814acf5e2d437b06a5f400f38e61ea7c998fe38bb7ca536c9092f07872c4b4ccffc9db834eb8430f3e98c543a66920afab2b2371451c17c247d2c SHA512 fb719c8548ab1fa43f236d5c3207d7e8e7a7dc45efed453e447e29452a7c4d03483c84b00fd615bac115781b333c8171d811b87a0227172010a2ab34224150f7
diff --git a/sys-fs/unionfs-fuse/metadata.xml b/sys-fs/unionfs-fuse/metadata.xml
index 791003b9d26f..bfacacde1208 100644
--- a/sys-fs/unionfs-fuse/metadata.xml
+++ b/sys-fs/unionfs-fuse/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>sping@gentoo.org</email>
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild
deleted file mode 100644
index 1dd309e439f7..000000000000
--- a/sys-fs/unionfs-fuse/unionfs-fuse-1.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-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=""
-
-DEPEND="sys-fs/fuse:0"
-RDEPEND="${DEPEND}"
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-}
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild
deleted file mode 100644
index bf4a922ce675..000000000000
--- a/sys-fs/unionfs-fuse/unionfs-fuse-2.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-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=""
-
-DEPEND="sys-fs/fuse:0"
-RDEPEND="${DEPEND}"
-
-src_install() {
- emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
-}
diff --git a/sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-3.4-r1.ebuild
index 480634c6bacb..d0d835614d1d 100644
--- a/sys-fs/unionfs-fuse/unionfs-fuse-2.1.ebuild
+++ b/sys-fs/unionfs-fuse/unionfs-fuse-3.4-r1.ebuild
@@ -1,9 +1,9 @@
-# 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"
-PYTHON_COMPAT=( python3_{6,7,8} )
+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() {
@@ -41,6 +42,7 @@ src_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-9999.ebuild b/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
index b935d86f2bc3..8a6b2c8190a1 100644
--- a/sys-fs/unionfs-fuse/unionfs-fuse-9999.ebuild
+++ b/sys-fs/unionfs-fuse/unionfs-fuse-9999.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"
-PYTHON_COMPAT=( python3_{6,7,8} )
-inherit python-any-r1 toolchain-funcs git-r3
+PYTHON_COMPAT=( python3_{9..12} )
+inherit git-r3 python-any-r1 toolchain-funcs
DESCRIPTION="Self-syncing tree-merging file system based on FUSE"
HOMEPAGE="https://github.com/rpodgorny/unionfs-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() {
@@ -41,6 +41,7 @@ src_install() {
}
src_test() {
+ [[ -e /dev/fuse ]] || return 0
addwrite /dev/fuse
pytest -vv || die "Tests fail with ${EPYTHON}"
}
diff --git a/sys-fs/vhba/Manifest b/sys-fs/vhba/Manifest
index 692d6e2df570..7323586a6b60 100644
--- a/sys-fs/vhba/Manifest
+++ b/sys-fs/vhba/Manifest
@@ -1 +1 @@
-DIST vhba-module-20200106.tar.bz2 15632 BLAKE2B 9b2db6cab2388fb5b84f2735d41a093af212434de2784f112d212cfc6193b1267ccf0afb222765bc32b0fc455d16bd1f0e98ddf60212735473853ec29ab27b97 SHA512 fc320e1f8f05247b7c2feded1335dce0fcc9a1257127d8d4086db48bd1e082d81b8a88089c04d0b8624ae584f1c0d049544f6f0018ec7dcea20ccfb136cd1bf0
+DIST vhba-module-20240202.tar.xz 16168 BLAKE2B 7974f60b73c634528afdd44e94c6da34bdc481d874f19845efc0464435a7e560494dd703b0fb1df34c96fce5f1afb300a1e6e2b3b9730e91c956816905eb2f44 SHA512 fdb9b79feb870bb22ed2182216103c8b87d1b5a471d02def24bdf5782cc2bee2333f1d78e1428b042c3df5a33ff8e07b1d61cbe11414a27db18034f3fbbe2612
diff --git a/sys-fs/vhba/metadata.xml b/sys-fs/vhba/metadata.xml
index be81b6000604..503cdce610da 100644
--- a/sys-fs/vhba/metadata.xml
+++ b/sys-fs/vhba/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
diff --git a/sys-fs/vhba/vhba-20200106-r1.ebuild b/sys-fs/vhba/vhba-20240202.ebuild
index 72b25e972731..43655a531637 100644
--- a/sys-fs/vhba/vhba-20200106-r1.ebuild
+++ b/sys-fs/vhba/vhba-20240202.ebuild
@@ -1,45 +1,44 @@
-# 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 eutils 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"
-HOMEPAGE="https://cdemu.sourceforge.io"
-SRC_URI="https://download.sourceforge.net/cdemu/vhba-module/${MY_P}.tar.bz2"
+HOMEPAGE="https://cdemu.sourceforge.io/"
+SRC_URI="https://download.sourceforge.net/cdemu/vhba-module/${MY_P}.tar.xz"
+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}
+"
-S=${WORKDIR}/${MY_P}
-MODULE_NAMES="vhba(block:${S})"
-BUILD_TARGETS=modules
-
-pkg_setup() {
- CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
- check_extra_config
- BUILD_PARAMS="KDIR=${KV_OUT_DIR}"
- linux-mod_pkg_setup
+CONFIG_CHECK="~BLK_DEV_SR ~CHR_DEV_SG"
+
+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/vzquota/metadata.xml b/sys-fs/vzquota/metadata.xml
index 7a38bb900964..115e9d64a669 100644
--- a/sys-fs/vzquota/metadata.xml
+++ b/sys-fs/vzquota/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
</pkgmetadata>
diff --git a/sys-fs/vzquota/vzquota-3.1.ebuild b/sys-fs/vzquota/vzquota-3.1.ebuild
index 342d9e6b24ef..cddea014503f 100644
--- a/sys-fs/vzquota/vzquota-3.1.ebuild
+++ b/sys-fs/vzquota/vzquota-3.1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
+EAPI=7
inherit toolchain-funcs
@@ -12,19 +12,22 @@ SRC_URI="http://download.openvz.org/utils/${PN}/${PV}/src/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ia64 ~ppc64 ~sparc x86"
-IUSE=""
src_prepare() {
+ default
+
sed -e 's,$(INSTALL) -s -m,$(INSTALL) -m,' \
-e 's:$(CC) $(CFLAGS) -o:$(CC) $(CFLAGS) $(LDFLAGS) -o:' \
-e 's:-Werror ::' \
- -i "${S}/src/Makefile" || die 'sed on src/Makefile failed'
+ -i "${S}/src/Makefile" || die "sed on src/Makefile failed"
+
tc-export CC
}
src_install() {
emake DESTDIR="${ED}" INSTALL="${EPREFIX}/usr/bin/install" install
keepdir /var/vzquota
+
# remove accidentally created man8 dir
- rm -r "${ED}/man8" || die 'remove man8 directory failed'
+ rm -r "${ED}/man8" || die "remove man8 directory failed"
}
diff --git a/sys-fs/xfsdump/Manifest b/sys-fs/xfsdump/Manifest
index d3f7b8bfbb0c..36ae26c8d448 100644
--- a/sys-fs/xfsdump/Manifest
+++ b/sys-fs/xfsdump/Manifest
@@ -1,2 +1 @@
-DIST xfsdump-3.1.8.tar.xz 603304 BLAKE2B 8f923ca267f648e88e4e964bcafcfd3bfde0fdb4e6753a9c21bbb8a1ae0f63e868cdad3da4eed5e95ffda861278eaaad49758701384681f3b0a19b93e07a232d SHA512 84720c83627647c75b42c59d180bb31cbb6e064568bef18b73641cf821fa7d39e6f7e0df4a6c7ffd36fba63296ab88cb83f0effdb1f6aa98f4b593ca0e658e0b
-DIST xfsdump-3.1.9.tar.xz 600348 BLAKE2B 9e833acaacd3ad581b4f23731d7d613fcffa3d518f43638cddbc7da7015e582cb9415e00616e5e8586836831b6d5877fa83e8a5fd931fd454731bf2af7072095 SHA512 e8f9811d16fc06ab49fe2c109de0546c989575eca6e68b579c6d219a745f935952020069f58b357c5c87b944c5097ca2894466d328d09f06beb8a55880142351
+DIST xfsdump-3.1.12.tar.xz 609500 BLAKE2B 2cd39e9f66459d75e9a254c3409279fecb95883468fc933d4d8326d00e89422ce433472c98073aa2aef8c6c4a3a1ed7e5ef94584993eb4087b2a4667187c6aee SHA512 803a3b639aef35ec882f40faeaabf381973ba2636ce0c9d06568361f5398c3c6842ffe184fc01441bf51bb1ed1b9e40b012715c09c8cc942484cc031a8eb1757
diff --git a/sys-fs/xfsdump/files/xfsdump-3.0.4-no-symlink.patch b/sys-fs/xfsdump/files/xfsdump-3.0.4-no-symlink.patch
deleted file mode 100644
index 014ca33d2154..000000000000
--- a/sys-fs/xfsdump/files/xfsdump-3.0.4-no-symlink.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-http://bugs.gentoo.org/311881
-
---- xfsdump-3.0.4/dump/Makefile
-+++ xfsdump-3.0.4/dump/Makefile
-@@ -102,7 +102,6 @@
- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
- $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
-- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
- install-dev:
-
- $(COMMINCL) $(COMMON):
---- xfsdump-3.0.4/restore/Makefile
-+++ xfsdump-3.0.4/restore/Makefile
-@@ -114,7 +114,6 @@
- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
- $(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
-- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
- install-dev:
-
- $(COMMINCL) $(COMMON):
diff --git a/sys-fs/xfsdump/files/xfsdump-3.0.5-prompt-overflow.patch b/sys-fs/xfsdump/files/xfsdump-3.0.5-prompt-overflow.patch
deleted file mode 100644
index bd7fb3f44520..000000000000
--- a/sys-fs/xfsdump/files/xfsdump-3.0.5-prompt-overflow.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-http://oss.sgi.com/bugzilla/show_bug.cgi?id=876
-https://bugs.gentoo.org/335115
-
---- a/dump/content.c
-+++ b/dump/content.c
-@@ -6460,7 +6460,7 @@
- Media_prompt_erase( drive_t *drivep )
- {
- fold_t fold;
-- char question[ 100 ];
-+ char question[ 200 ];
- char *preamblestr[ PREAMBLEMAX ];
- size_t preamblecnt;
- char *querystr[ QUERYMAX ];
diff --git a/sys-fs/xfsdump/metadata.xml b/sys-fs/xfsdump/metadata.xml
index 56c124413057..73dda144f9ac 100644
--- a/sys-fs/xfsdump/metadata.xml
+++ b/sys-fs/xfsdump/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/xfsdump/xfsdump-3.1.9.ebuild b/sys-fs/xfsdump/xfsdump-3.1.12.ebuild
index 228afe7cf7c6..ee232e086c78 100644
--- a/sys-fs/xfsdump/xfsdump-3.1.9.ebuild
+++ b/sys-fs/xfsdump/xfsdump-3.1.12.ebuild
@@ -1,37 +1,40 @@
-# 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 multilib flag-o-matic 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"
SLOT="0"
-KEYWORDS="~alpha amd64 hppa ~ia64 ~mips ppc ppc64 -sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~sparc x86"
IUSE="ncurses nls"
RDEPEND="
>=sys-apps/attr-2.4.19
- sys-apps/dmapi
sys-apps/util-linux
sys-fs/e2fsprogs
>=sys-fs/xfsprogs-3.2.0
- ncurses? ( sys-libs/ncurses:0= )
+ ncurses? ( sys-libs/ncurses:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ncurses? ( virtual/pkgconfig )
+ nls? ( sys-devel/gettext )
"
-DEPEND="${RDEPEND}
- nls? (
- sys-devel/gettext
- elibc_uclibc? ( dev-libs/libintl )
- )"
PATCHES=(
- "${FILESDIR}"/${PN}-3.1.9-prompt-overflow.patch #335115
- "${FILESDIR}"/${PN}-3.1.9-no-symlink.patch #311881
- "${FILESDIR}"/${PN}-3.1.6-linguas.patch #561664
+ # bug #335115
+ "${FILESDIR}"/${PN}-3.1.9-prompt-overflow.patch
+ # bug #311881
+ "${FILESDIR}"/${PN}-3.1.9-no-symlink.patch
+ # bug #561664
+ "${FILESDIR}"/${PN}-3.1.6-linguas.patch
+
"${FILESDIR}"/${PN}-3.1.9-fix-docs.patch
"${FILESDIR}"/${PN}-3.1.9-skip-inventory-debian-subfolder.patch
)
@@ -41,17 +44,24 @@ src_prepare() {
-e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
include/builddefs.in \
|| die
+
+ # bug #605852
sed -i \
-e "s:enable_curses=[a-z]*:enable_curses=$(usex ncurses):" \
-e "s:libcurses=\"[^\"]*\":libcurses='$(use ncurses && $(tc-getPKG_CONFIG) --libs ncurses)':" \
- configure || die #605852
+ configure || die
default
}
src_configure() {
- unset PLATFORM #184564
- export OPTIMIZER=${CFLAGS}
+ # bug #184564
+ unset PLATFORM
+
+ # bug 925234
+ use elibc_musl && append-flags -D_LARGEFILE64_SOURCE
+
+ export OPTIMIZER="${CFLAGS}"
export DEBUG=-DNDEBUG
local myeconfargs=(
@@ -60,10 +70,11 @@ src_configure() {
--libexecdir="${EPREFIX}/usr/$(get_libdir)"
--sbindir="${EPREFIX}/sbin"
)
+
econf "${myeconfargs[@]}"
}
src_compile() {
- # enable verbose build
+ # Enable verbose build
emake V=1
}
diff --git a/sys-fs/xfsdump/xfsdump-3.1.8.ebuild b/sys-fs/xfsdump/xfsdump-3.1.8.ebuild
deleted file mode 100644
index da10eef71028..000000000000
--- a/sys-fs/xfsdump/xfsdump-3.1.8.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit multilib flag-o-matic toolchain-funcs
-
-DESCRIPTION="xfs dump/restore utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
-SRC_URI="https://www.kernel.org/pub/linux/utils/fs/xfs/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 hppa ~ia64 ~mips ppc ppc64 -sparc x86"
-IUSE="ncurses nls"
-
-RDEPEND="
- >=sys-apps/attr-2.4.19
- sys-apps/dmapi
- sys-apps/util-linux
- sys-fs/e2fsprogs
- >=sys-fs/xfsprogs-3.2.0
- ncurses? ( sys-libs/ncurses:0= )
-"
-DEPEND="${RDEPEND}
- nls? (
- sys-devel/gettext
- elibc_uclibc? ( dev-libs/libintl )
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.0.5-prompt-overflow.patch #335115
- "${FILESDIR}"/${PN}-3.0.4-no-symlink.patch #311881
- "${FILESDIR}"/${PN}-3.1.6-linguas.patch #561664
-)
-
-src_prepare() {
- sed -i \
- -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
- include/builddefs.in \
- || die
- sed -i \
- -e "s:enable_curses=[a-z]*:enable_curses=$(usex ncurses):" \
- -e "s:libcurses=\"[^\"]*\":libcurses='$(use ncurses && $(tc-getPKG_CONFIG) --libs ncurses)':" \
- configure || die #605852
-
- default
-}
-
-src_configure() {
- unset PLATFORM #184564
- export OPTIMIZER=${CFLAGS}
- export DEBUG=-DNDEBUG
-
- local myeconfargs=(
- $(use_enable nls gettext)
- --libdir="${EPREFIX}/$(get_libdir)"
- --libexecdir="${EPREFIX}/usr/$(get_libdir)"
- --sbindir="${EPREFIX}/sbin"
- )
- econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # enable verbose build
- emake V=1
-}
diff --git a/sys-fs/xfsprogs/Manifest b/sys-fs/xfsprogs/Manifest
index 0caa98f47824..5371f002e574 100644
--- a/sys-fs/xfsprogs/Manifest
+++ b/sys-fs/xfsprogs/Manifest
@@ -1,4 +1,3 @@
-DIST xfsprogs-5.4.0.tar.xz 1248688 BLAKE2B dd00083b62a4989ca94d117eabad3905dc487c3e6d4f20bbe855399e99e2195c1a45f2be3b117048e2a7f2374c7e6258e7c1edd63d12a405c88f4c9fa6cd5e8e SHA512 c0973fcf97e2666385b46c80cd1398728702cb34fd7e0f89e2a63686300573405d09a81d3ae43d79c2e9710ccf6b6bd6ed1c3f3f831c75cd0916f094f203aaa7
-DIST xfsprogs-5.6.0.tar.xz 1253112 BLAKE2B 7928b29458e3ad8251b48b6fb14a515e0128701c40cdfa63c05fc85173c70da3f34c948b7791f12ac5bb8d5f0c634016dac71c328a8917d1065aa7fb4cac3291 SHA512 a6bee55b0a23316c73f3921234d1dbaa4cbe91c12e79264e5f9bfe1356a24baa0ab25270405a46e4613a7e48443ef21997ff4f5962663777bed373f89ca29701
-DIST xfsprogs-5.7.0.tar.xz 1258772 BLAKE2B 3dab72c1c64d88194f677ed434fe00c8c2eac10c7c6d471d3b32595eb27a76ec1fa20955a08d7c2e371a0d160bce741afad0998731d2fee497917e0d7a4e70f7 SHA512 6a333b7e4fc6afb1689f6bbbbf07b97058cce2fde437fd3ed5b010276c050f886e5c0317ea16aedb23f579a9fed5edc4e7e64b4af5f0331dc8fd97b3251dd231
-DIST xfsprogs-5.8.0.tar.xz 1260580 BLAKE2B d4efb81123d46fd7907dd81605922ba283642ead92f6270a3b0d93a0c7321963d5b8b0068a2b6b4cdb236da0653a6432b74056feff77354d2557e899b01f1a62 SHA512 11f2810402ecb83db204346c45ff9f7d643ff2390767794e311a06a10eb97118095e4c377d2b065be50611ec5fc82ac5cbc0a8c7122ee7e9820a2db4e9f177c1
+DIST xfsprogs-6.4.0.tar.xz 1344720 BLAKE2B 566a80a1fa90520c6cc2b20c8e8cde41eb83a48f0b6d4a978f9e5d43960e99b54cab3e0c2cd4147a3d8f4944e50876063fc571441c8239d6deaaa01604843a6b SHA512 831e7747640bc2964b182226d8bb6f637610b123aeec9b3cb97a5de5d5b65bde30c6b40ad2e78de6a5214e823dd75de3a2bdfddd8ab1638f5c7340a760c91b3f
+DIST xfsprogs-6.6.0.tar.xz 1351792 BLAKE2B a479126ed19389c057af28ac3564893826a6d27859984cfadb28b17663759d8f19b1796031d43f294bf8001f5ddda8854b6b0d90d0229092bd31fbdf6e5d1554 SHA512 89b4436a958075ac77cc2b5b5f0618164d47f7d6fbc2271a7927c886fba7bf67284e1825c1ecc259969235222b4d084a40c354edb6d83c21029d737108aa38da
+DIST xfsprogs-6.7.0.tar.xz 1349748 BLAKE2B e16db682cafbd35266e9130a64943c19304174ebd501e30aa32fb8f0d1904286ccdef62c0820480541c7272575d770eea7e73e7dc83c0b452eb5fb2a3a7085ca SHA512 4f543e4c5c4e88e4f9ce16b82ca1151330f687469368fe7470b68e8bb21d1d3c7280eb2e691d3bdf24ae3d4fa2ee5764dc34637198bca0d4ffa65eea2f10ac74
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-5.18.0-docdir.patch
index 53ba3ec0f5d4..480f44cf6079 100644
--- a/sys-fs/xfsprogs/files/xfsprogs-4.15.0-docdir.patch
+++ b/sys-fs/xfsprogs/files/xfsprogs-5.18.0-docdir.patch
@@ -1,10 +1,10 @@
---- xfsprogs-4.15.0/scrub/Makefile
-+++ xfsprogs-4.15.0/scrub/Makefile
+--- a/scrub/Makefile
++++ b/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_LIB_SCRIPT_DIR)/$(PKG_NAME)
+CROND_DIR = $(PKG_DOC_DIR)
endif
diff --git a/sys-fs/xfsprogs/files/xfsprogs-6.7.0-fix-porting-to-6.7.patch b/sys-fs/xfsprogs/files/xfsprogs-6.7.0-fix-porting-to-6.7.patch
new file mode 100644
index 000000000000..fcc30d170a8c
--- /dev/null
+++ b/sys-fs/xfsprogs/files/xfsprogs-6.7.0-fix-porting-to-6.7.patch
@@ -0,0 +1,157 @@
+https://lore.kernel.org/linux-xfs/171142126323.2211955.1239989461209318080.stgit@frogsfrogsfrogs/
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+ (No client certificate requested)
+ by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80EBA128387
+ for <linux-xfs@vger.kernel.org>; Tue, 26 Mar 2024 02:59:42 +0000 (UTC)
+Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201
+ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
+ t=1711421982; cv=none; b=BWaXePO42YIrz9dUA7DXc3SL5MWIoC+liDfJkd/1AM/cv7gR6JRGHa5e5W3sXZFsI6S6pH/fKSEijUigTR0kiRGPFWbeCiDWEGQdq6y4AChFbZMTfQSg4Jei7pONholMK08CyBQ/K4UutICyqbos2cdxAGKKjNPTIOtdQdkiHdc=
+ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
+ s=arc-20240116; t=1711421982; c=relaxed/simple;
+ bh=qfMP8tvVLZAoDkRmqI3ZwhMEx6csbe2+Xclngz+n+GI=;
+ h=Date:Subject:From:To:Cc:Message-ID:In-Reply-To:References:
+ MIME-Version:Content-Type; b=O5h4CVWF9TsE/Yho55MGUjmR7zhvoPO0EhXK59BWm/HSUFB3D7vD+ozThDlpENzz0iLrKzdR6aPYBS78cRpOzAszO4ZnMf0HPbFlLmlsIHK/ha5XFPO2qrmLgOGUkKKZepgXIROIA9knDYpxuvlWHnOptPf9birJvyR0gztAEyw=
+ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dkgsPgmY; arc=none smtp.client-ip=10.30.226.201
+Authentication-Results: smtp.subspace.kernel.org;
+ dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dkgsPgmY"
+Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A482C433C7;
+ Tue, 26 Mar 2024 02:59:42 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
+ s=k20201202; t=1711421982;
+ bh=qfMP8tvVLZAoDkRmqI3ZwhMEx6csbe2+Xclngz+n+GI=;
+ h=Date:Subject:From:To:Cc:In-Reply-To:References:From;
+ b=dkgsPgmYjqxxC1yEflpaDSaicJ6J1MpL6wH2GNkbwb7jHMXma/nM8+TuJ7ITuHQGY
+ WXTMKAQFvTq29s+IWJaQZtuCfgH6cDQ3JTkRcjvg/OgSTo0X+aqxadBBnAjO4AP5/P
+ hX4gszw3hlZ8oDjMvW9Wl6nLyDmR82rshZOTF4hZfQ8mkbU3Vzcsg2QiPQQzzKgfon
+ 3c/GxXIQ7V2jg37MBrPpNRYPvqBXWn1X/EkR0wuFiUtw9fTJ6Wyt0Vr6/vemAf2U+S
+ gwHkISopsTOE3k8cCYYf7LXqmtU3PLOOqWBDol6TkWe6OgIOMSljoytIkFq1up/zhz
+ LHrtnfD5yRlLg==
+Date: Mon, 25 Mar 2024 19:59:41 -0700
+Subject: [PATCH 01/13] libxfs: fix incorrect porting to 6.7
+From: "Darrick J. Wong" <djwong@kernel.org>
+To: cem@kernel.org, djwong@kernel.org
+Cc: Christoph Hellwig <hch@lst.de>, Bill O'Donnell <bodonnel@redhat.com>,
+ linux-xfs@vger.kernel.org
+Message-ID: <171142126323.2211955.1239989461209318080.stgit@frogsfrogsfrogs>
+In-Reply-To: <171142126291.2211955.14829143192552278353.stgit@frogsfrogsfrogs>
+References: <171142126291.2211955.14829143192552278353.stgit@frogsfrogsfrogs>
+User-Agent: StGit/0.19
+Precedence: bulk
+X-Mailing-List: linux-xfs@vger.kernel.org
+List-Id: <linux-xfs.vger.kernel.org>
+List-Subscribe: <mailto:linux-xfs+subscribe@vger.kernel.org>
+List-Unsubscribe: <mailto:linux-xfs+unsubscribe@vger.kernel.org>
+MIME-Version: 1.0
+Content-Type: text/plain; charset="utf-8"
+Content-Transfer-Encoding: 7bit
+
+From: Darrick J. Wong <djwong@kernel.org>
+
+Userspace libxfs is supposed to match the kernel libxfs except for the
+preprocessor include directives. Fix a few discrepancies that came up
+for whatever reason.
+
+To fix the build errors resulting from CONFIG_XFS_RT not being defined,
+add it to libxfs.h and alter the Makefile to track xfs_rtbitmap.h.
+
+Signed-off-by: Darrick J. Wong <djwong@kernel.org>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Reviewed-by: Bill O'Donnell <bodonnel@redhat.com>
+---
+ db/check.c | 1 -
+ include/libxfs.h | 4 ++++
+ libxfs/Makefile | 1 +
+ libxfs/xfs_rtbitmap.c | 2 +-
+ libxfs/xfs_rtbitmap.h | 3 ---
+ repair/rt.c | 1 -
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+
+diff --git a/db/check.c b/db/check.c
+index 9d5576c333b2..a47a5d9cb5b4 100644
+--- a/db/check.c
++++ b/db/check.c
+@@ -20,7 +20,6 @@
+ #include "init.h"
+ #include "malloc.h"
+ #include "dir2.h"
+-#include "xfs_rtbitmap.h"
+
+ typedef enum {
+ IS_USER_QUOTA, IS_PROJECT_QUOTA, IS_GROUP_QUOTA,
+diff --git a/include/libxfs.h b/include/libxfs.h
+index 9cec394ca407..aeec2bc76126 100644
+--- a/include/libxfs.h
++++ b/include/libxfs.h
+@@ -7,6 +7,9 @@
+ #ifndef __LIBXFS_H__
+ #define __LIBXFS_H__
+
++/* For userspace XFS_RT is always defined */
++#define CONFIG_XFS_RT
++
+ #include "libxfs_api_defs.h"
+ #include "platform_defs.h"
+ #include "xfs.h"
+@@ -80,6 +83,7 @@ struct iomap;
+ #include "xfs_refcount_btree.h"
+ #include "xfs_refcount.h"
+ #include "xfs_btree_staging.h"
++#include "xfs_rtbitmap.h"
+
+ #ifndef ARRAY_SIZE
+ #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+diff --git a/libxfs/Makefile b/libxfs/Makefile
+index 010ee68e2292..6f688c0ad25a 100644
+--- a/libxfs/Makefile
++++ b/libxfs/Makefile
+@@ -50,6 +50,7 @@ HFILES = \
+ xfs_refcount_btree.h \
+ xfs_rmap.h \
+ xfs_rmap_btree.h \
++ xfs_rtbitmap.h \
+ xfs_sb.h \
+ xfs_shared.h \
+ xfs_trans_resv.h \
+diff --git a/libxfs/xfs_rtbitmap.c b/libxfs/xfs_rtbitmap.c
+index 8f313339e97f..fb083499070c 100644
+--- a/libxfs/xfs_rtbitmap.c
++++ b/libxfs/xfs_rtbitmap.c
+@@ -931,7 +931,7 @@ xfs_rtcheck_alloc_range(
+ */
+ int
+ xfs_rtfree_extent(
+- xfs_trans_t *tp, /* transaction pointer */
++ struct xfs_trans *tp, /* transaction pointer */
+ xfs_rtxnum_t start, /* starting rtext number to free */
+ xfs_rtxlen_t len) /* length of extent freed */
+ {
+diff --git a/libxfs/xfs_rtbitmap.h b/libxfs/xfs_rtbitmap.h
+index db2f8c924b05..c0637057d69c 100644
+--- a/libxfs/xfs_rtbitmap.h
++++ b/libxfs/xfs_rtbitmap.h
+@@ -6,9 +6,6 @@
+ #ifndef __XFS_RTBITMAP_H__
+ #define __XFS_RTBITMAP_H__
+
+-/* For userspace XFS_RT is always defined */
+-#define CONFIG_XFS_RT
+-
+ struct xfs_rtalloc_args {
+ struct xfs_mount *mp;
+ struct xfs_trans *tp;
+diff --git a/repair/rt.c b/repair/rt.c
+index abe58b569c0c..9f3bc8d53ec6 100644
+--- a/repair/rt.c
++++ b/repair/rt.c
+@@ -13,7 +13,6 @@
+ #include "protos.h"
+ #include "err_protos.h"
+ #include "rt.h"
+-#include "xfs_rtbitmap.h"
+
+ #define xfs_highbit64 libxfs_highbit64 /* for XFS_RTBLOCKLOG macro */
+
diff --git a/sys-fs/xfsprogs/metadata.xml b/sys-fs/xfsprogs/metadata.xml
index a582335304e6..d3180f3a06b3 100644
--- a/sys-fs/xfsprogs/metadata.xml
+++ b/sys-fs/xfsprogs/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
diff --git a/sys-fs/xfsprogs/xfsprogs-5.4.0-r1.ebuild b/sys-fs/xfsprogs/xfsprogs-5.4.0-r1.ebuild
deleted file mode 100644
index 2da1241f7328..000000000000
--- a/sys-fs/xfsprogs/xfsprogs-5.4.0-r1.ebuild
+++ /dev/null
@@ -1,110 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic toolchain-funcs systemd usr-ldscript
-
-DESCRIPTION="xfs filesystem utilities"
-HOMEPAGE="https://xfs.wiki.kernel.org/"
-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 s390 sparc x86"
-IUSE="icu libedit nls readline"
-
-LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)]
- icu? ( dev-libs/icu:=[static-libs(+)] )
- readline? ( sys-libs/readline:0=[static-libs(+)] )
- !readline? ( libedit? ( dev-libs/libedit[static-libs(+)] ) )"
-RDEPEND="${LIB_DEPEND//\[static-libs(+)]}
- !<sys-fs/xfsdump-3"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
- "${FILESDIR}"/${PN}-5.3.0-libdir.patch
-)
-
-pkg_setup() {
- if use readline && use libedit ; then
- ewarn "You have USE='readline libedit' but these are exclusive."
- ewarn "Defaulting to readline; please disable this USE flag if you want libedit."
- fi
-}
-
-src_prepare() {
- default
-
- # Fix doc dir
- sed -i \
- -e "/^PKG_DOC_DIR/s:@pkg_name@:${PF}:" \
- include/builddefs.in || die
-
- # Don't install compressed docs
- sed 's@\(CHANGES\)\.gz[[:space:]]@\1 @' -i doc/Makefile || die
-}
-
-src_configure() {
- # include/builddefs.in will add FCFLAGS to CFLAGS which will
- # unnecessarily clutter CFLAGS (and fortran isn't used)
- unset FCFLAGS
-
- export DEBUG=-DNDEBUG
-
- # Package is honoring CFLAGS; No need to use OPTIMIZER anymore.
- # However, we have to provide an empty value to avoid default
- # flags.
- export OPTIMIZER=" "
-
- unset PLATFORM # if set in user env, this breaks configure
-
- # Avoid automagic on libdevmapper, #709694
- export ac_cv_search_dm_task_create=no
-
- # Upstream does NOT support --disable-static anymore,
- # https://www.spinics.net/lists/linux-xfs/msg30185.html
- # https://www.spinics.net/lists/linux-xfs/msg30272.html
- local myconf=(
- --enable-blkid
- --with-crond-dir="${EPREFIX}/etc/cron.d"
- --with-systemd-unit-dir="$(systemd_get_systemunitdir)"
- $(use_enable icu libicu)
- $(use_enable nls gettext)
- $(use_enable readline)
- $(usex readline --disable-editline $(use_enable libedit editline))
- )
-
- if is-flagq -fno-lto ; then
- einfo "LTO disabled via {C,CXX,F,FC}FLAGS"
- myconf+=( --disable-lto )
- else
- if is-flagq -flto ; then
- einfo "LTO forced via {C,CXX,F,FC}FLAGS"
- myconf+=( --enable-lto )
- elif use amd64 || use x86 ; then
- # match upstream default
- myconf+=( --enable-lto )
- else
- # LTO can cause problems on some architectures, bug 655638
- myconf+=( --disable-lto )
- fi
- fi
-
- econf "${myconf[@]}"
-}
-
-src_compile() {
- emake V=1
-}
-
-src_install() {
- emake DIST_ROOT="${ED}" install
- emake DIST_ROOT="${ED}" install-dev
-
- gen_usr_ldscript -a handle
-}
diff --git a/sys-fs/xfsprogs/xfsprogs-5.7.0.ebuild b/sys-fs/xfsprogs/xfsprogs-6.4.0.ebuild
index ca89c01e8930..6ecca8c43ca8 100644
--- a/sys-fs/xfsprogs/xfsprogs-5.7.0.ebuild
+++ b/sys-fs/xfsprogs/xfsprogs-6.4.0.ebuild
@@ -1,32 +1,33 @@
-# 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 flag-o-matic toolchain-funcs systemd usr-ldscript
+inherit flag-o-matic systemd 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 ~s390 ~sparc ~x86"
-IUSE="icu libedit nls"
-
-LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)]
- icu? ( dev-libs/icu:=[static-libs(+)] )
- libedit? ( dev-libs/libedit[static-libs(+)] )"
-RDEPEND="${LIB_DEPEND//\[static-libs(+)]}
- !<sys-fs/xfsdump-3"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="icu libedit nls selinux"
+
+RDEPEND="
+ dev-libs/inih
+ 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 )"
+RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
"${FILESDIR}"/${PN}-5.3.0-libdir.patch
+ "${FILESDIR}"/${PN}-5.18.0-docdir.patch
)
src_prepare() {
@@ -46,6 +47,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.
@@ -53,11 +57,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
@@ -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 )
@@ -87,8 +93,8 @@ src_compile() {
}
src_install() {
- emake DIST_ROOT="${ED}" install
- emake DIST_ROOT="${ED}" install-dev
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev
gen_usr_ldscript -a handle
}
diff --git a/sys-fs/xfsprogs/xfsprogs-5.6.0.ebuild b/sys-fs/xfsprogs/xfsprogs-6.6.0.ebuild
index a44fed9dd620..757a45fbd50a 100644
--- a/sys-fs/xfsprogs/xfsprogs-5.6.0.ebuild
+++ b/sys-fs/xfsprogs/xfsprogs-6.6.0.ebuild
@@ -1,42 +1,37 @@
-# 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 flag-o-matic toolchain-funcs 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 ~s390 ~sparc ~x86"
-IUSE="icu libedit nls readline"
-
-LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)]
- icu? ( dev-libs/icu:=[static-libs(+)] )
- readline? ( sys-libs/readline:0=[static-libs(+)] )
- !readline? ( libedit? ( dev-libs/libedit[static-libs(+)] ) )"
-RDEPEND="${LIB_DEPEND//\[static-libs(+)]}
- !<sys-fs/xfsdump-3"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="icu libedit nls selinux"
+
+RDEPEND="
+ dev-libs/inih
+ 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 )"
+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
)
-pkg_setup() {
- if use readline && use libedit ; then
- ewarn "You have USE='readline libedit' but these are exclusive."
- ewarn "Defaulting to readline; please disable this USE flag if you want libedit."
- fi
-}
-
src_prepare() {
default
@@ -54,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.
@@ -61,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
@@ -73,16 +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 readline)
- $(usex readline --disable-editline $(use_enable libedit editline))
+ $(use_enable libedit editline)
)
- if is-flagq -flto ; then
+ if tc-is-lto ; then
myconf+=( --enable-lto )
else
myconf+=( --disable-lto )
@@ -96,8 +96,8 @@ src_compile() {
}
src_install() {
- emake DIST_ROOT="${ED}" install
- emake DIST_ROOT="${ED}" install-dev
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev
gen_usr_ldscript -a handle
}
diff --git a/sys-fs/xfsprogs/xfsprogs-5.8.0.ebuild b/sys-fs/xfsprogs/xfsprogs-6.7.0.ebuild
index ca89c01e8930..c412012a15f3 100644
--- a/sys-fs/xfsprogs/xfsprogs-5.8.0.ebuild
+++ b/sys-fs/xfsprogs/xfsprogs-6.7.0.ebuild
@@ -1,32 +1,33 @@
-# 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 flag-o-matic toolchain-funcs 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 ~s390 ~sparc ~x86"
-IUSE="icu libedit nls"
-
-LIB_DEPEND=">=sys-apps/util-linux-2.17.2[static-libs(+)]
- icu? ( dev-libs/icu:=[static-libs(+)] )
- libedit? ( dev-libs/libedit[static-libs(+)] )"
-RDEPEND="${LIB_DEPEND//\[static-libs(+)]}
- !<sys-fs/xfsdump-3"
-DEPEND="${RDEPEND}"
-BDEPEND="
- nls? ( sys-devel/gettext )
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="icu libedit nls selinux"
+
+RDEPEND="
+ dev-libs/inih
+ 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 )"
+RDEPEND+=" selinux? ( sec-policy/selinux-xfs )"
PATCHES=(
- "${FILESDIR}"/${PN}-4.15.0-docdir.patch
"${FILESDIR}"/${PN}-5.3.0-libdir.patch
+ "${FILESDIR}"/${PN}-6.7.0-fix-porting-to-6.7.patch
)
src_prepare() {
@@ -46,6 +47,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.
@@ -53,11 +57,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
@@ -65,15 +70,16 @@ src_configure() {
# https://www.spinics.net/lists/linux-xfs/msg30185.html
# https://www.spinics.net/lists/linux-xfs/msg30272.html
local myconf=(
- --enable-blkid
+ --enable-static
--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 )
@@ -87,8 +93,8 @@ src_compile() {
}
src_install() {
- emake DIST_ROOT="${ED}" install
- emake DIST_ROOT="${ED}" install-dev
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install
+ emake DIST_ROOT="${ED}" HAVE_ZIPPED_MANPAGES=false install-dev
gen_usr_ldscript -a handle
}
diff --git a/sys-fs/xwmfs/Manifest b/sys-fs/xwmfs/Manifest
index d1437e65e48a..23c5e5d8568a 100644
--- a/sys-fs/xwmfs/Manifest
+++ b/sys-fs/xwmfs/Manifest
@@ -1 +1 @@
-DIST xwmfs-0.86.tar.gz 195544 BLAKE2B 7dc5eb4d7acd585be70c43142b1a093aefecd69d8c51f6dee1741e88ab0c592d195678df107c28426d4eab18ae3d33b292cb0b8ab9c5ab557e1c81d3e557c492 SHA512 2f053c8e7322af39f46c85c46c11c5d215b7797d0ccb8340ba143371f3a5b171cac324936a0559fc3bd1cad0aed31c02576ad71b269052e3d01fb7b896bd1a81
+DIST xwmfs-0.92.tar.gz 205449 BLAKE2B b94992eae262487578832483afd5121583cbaabf1fd36f1775845a30d4d593300b19db2a8c6df39f9be6a918438af59b16104f6bf234978f88095a9e7b8ac1e8 SHA512 27f6166d3ac5abdd25e9333547f8f42a08b86e530a893eb2c028792405c0aac43e7a6583ee6bb3daeb327dee63c808e9098d95b114359fe44c2b6580b682208c
diff --git a/sys-fs/xwmfs/metadata.xml b/sys-fs/xwmfs/metadata.xml
index 8b58b472e953..45b5c4539a1c 100644
--- a/sys-fs/xwmfs/metadata.xml
+++ b/sys-fs/xwmfs/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
+ <maintainer type="person" proxied="yes">
<email>matthias.gerstner@nefkom.net</email>
<name>Matthias Gerstner</name>
</maintainer>
- <maintainer type="project">
+ <maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
diff --git a/sys-fs/xwmfs/xwmfs-0.86.ebuild b/sys-fs/xwmfs/xwmfs-0.92.ebuild
index 1f23a8953190..b626506f9f37 100644
--- a/sys-fs/xwmfs/xwmfs-0.86.ebuild
+++ b/sys-fs/xwmfs/xwmfs-0.92.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 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/metadata.xml b/sys-fs/yaffs2utils/metadata.xml
index 71b1461e1146..98ae10b3c34a 100644
--- a/sys-fs/yaffs2utils/metadata.xml
+++ b/sys-fs/yaffs2utils/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>embedded@gentoo.org</email>
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/zerofree/Manifest b/sys-fs/zerofree/Manifest
index 7c5efcfddaa5..f646a814615f 100644
--- a/sys-fs/zerofree/Manifest
+++ b/sys-fs/zerofree/Manifest
@@ -1,2 +1 @@
-DIST zerofree-1.0.4.tgz 8509 BLAKE2B d2d5872ad22e7c5f08e00083b0dadb5411023df9d129ec3bd08637e8a74f77f13a535e6f2c1a7cd4d390ed7a0d0b6e2433dacfa89336bb16ffb64c0d1c409929 SHA512 8172c8c43794eab1f751a700f847098343659ceabaf6ab78c3c902b34cf9b0db0dda75308b6bc80d22afccd11be25f35070ca6d715c3282c5c7c7106f598b42b
DIST zerofree-1.1.1.tgz 8710 BLAKE2B 76a84de7db60473c8824129a29515212acc74235e2139eb15fe7f41d1801c42c85378734fdf39a668f0a4eb285c55c49ce2281dda9444b2008557897428bc645 SHA512 2d7ee57a877bff2491c48054338a26d624ae75c238ac2b0568a75de88b6621c16cc1e7d65500879825d14d8ba44a5173587a061459072769c165bee47c3f9f1c
diff --git a/sys-fs/zerofree/files/zerofree-include-sys_types.patch b/sys-fs/zerofree/files/zerofree-include-sys_types.patch
new file mode 100644
index 000000000000..fecdbd49b0ac
--- /dev/null
+++ b/sys-fs/zerofree/files/zerofree-include-sys_types.patch
@@ -0,0 +1,10 @@
+--- zerofree-1.1.1/zerofree.c.orig 2019-05-05 19:22:49.000000000 -0500
++++ zerofree-1.1.1/zerofree.c 2019-05-05 19:21:50.000000000 -0500
+@@ -17,6 +17,7 @@
+ * Jan Krämer.
+ */
+
++#include <sys/types.h>
+ #include <ext2fs/ext2fs.h>
+ #include <stdio.h>
+ #include <unistd.h>
diff --git a/sys-fs/zerofree/metadata.xml b/sys-fs/zerofree/metadata.xml
index 94262526a069..66c52345ee03 100644
--- a/sys-fs/zerofree/metadata.xml
+++ b/sys-fs/zerofree/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>kumba@gentoo.org</email>
diff --git a/sys-fs/zerofree/zerofree-1.0.4.ebuild b/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild
index 6e360c833a18..d062b46de0b7 100644
--- a/sys-fs/zerofree/zerofree-1.0.4.ebuild
+++ b/sys-fs/zerofree/zerofree-1.1.1-r1.ebuild
@@ -1,8 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-inherit eutils toolchain-funcs
+
+inherit toolchain-funcs
DESCRIPTION="Zeroes out all free space on a filesystem"
HOMEPAGE="http://frippery.org/uml/index.html"
@@ -10,13 +11,17 @@ SRC_URI="http://frippery.org/uml/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ~x86"
-IUSE=""
+KEYWORDS="amd64 arm arm64 ~mips ~riscv x86"
-DEPEND="sys-libs/e2fsprogs-libs"
+DEPEND="sys-fs/e2fsprogs"
RDEPEND="${DEPEND}"
src_prepare() {
+ default
+
+ # Bug #712582, fix compile in musl environments.
+ eapply "${FILESDIR}/${PN}-include-sys_types.patch"
+
# Honor system CFLAGS.
# Use pipes for the sed delimiter to resolve #710818.
sed -i \
diff --git a/sys-fs/zerofree/zerofree-1.1.1.ebuild b/sys-fs/zerofree/zerofree-1.1.1.ebuild
deleted file mode 100644
index 6e360c833a18..000000000000
--- a/sys-fs/zerofree/zerofree-1.1.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-inherit eutils toolchain-funcs
-
-DESCRIPTION="Zeroes out all free space on a filesystem"
-HOMEPAGE="http://frippery.org/uml/index.html"
-SRC_URI="http://frippery.org/uml/${P}.tgz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~mips ~x86"
-IUSE=""
-
-DEPEND="sys-libs/e2fsprogs-libs"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- # Honor system CFLAGS.
- # Use pipes for the sed delimiter to resolve #710818.
- sed -i \
- -e "s|CC=gcc|CC=$(tc-getCC)\nCFLAGS=${CFLAGS}\nLDFLAGS=${LDFLAGS}|g" \
- -e "s|-o zerofree|\$(CFLAGS) \$(LDFLAGS) -o zerofree|g" \
- -e "/-lext2fs/{ s|-lext2fs||g; s|$| -lext2fs|g; }" \
- Makefile || die "Failed to sed the Makefile"
-
- eapply_user
-}
-
-src_install() {
- # Install into /sbin
- into /
- dosbin zerofree
-}
diff --git a/sys-fs/zfs-auto-snapshot/files/README.gentoo b/sys-fs/zfs-auto-snapshot/files/README.gentoo
index cb712d317ea0..c48b72277569 100644
--- a/sys-fs/zfs-auto-snapshot/files/README.gentoo
+++ b/sys-fs/zfs-auto-snapshot/files/README.gentoo
@@ -10,7 +10,7 @@ zfs set com.sun:auto-snapshot:<frequent|hourly|daily|weekly|monthly>=[true|false
for example:
# zfs set com.sun:auto-snapshot=false zroot
-Will disalbe all snapshots for zroot and all nested datasets will inherit the property.
+Will disable all snapshots for zroot and all nested datasets will inherit the property.
# zfs set com.sun:auto-snapshot=true zroot/ROOT/default
Will enable all types of snapshots for given dataset.
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch
new file mode 100644
index 000000000000..125cb3d1fc04
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-1.2.4-drop-which.patch
@@ -0,0 +1,47 @@
+--- a/etc/zfs-auto-snapshot.cron.daily
++++ b/etc/zfs-auto-snapshot.cron.daily
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=daily --keep=31 //
+--- a/etc/zfs-auto-snapshot.cron.frequent
++++ b/etc/zfs-auto-snapshot.cron.frequent
+@@ -1,3 +1,3 @@
+ PATH="/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"
+
+-*/15 * * * * root which zfs-auto-snapshot > /dev/null || exit 0 ; zfs-auto-snapshot --quiet --syslog --label=frequent --keep=4 //
++*/15 * * * * root command -v zfs-auto-snapshot > /dev/null || exit 0 ; zfs-auto-snapshot --quiet --syslog --label=frequent --keep=4 //
+--- a/etc/zfs-auto-snapshot.cron.hourly
++++ b/etc/zfs-auto-snapshot.cron.hourly
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=hourly --keep=24 //
+--- a/etc/zfs-auto-snapshot.cron.monthly
++++ b/etc/zfs-auto-snapshot.cron.monthly
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=monthly --keep=12 //
+--- a/etc/zfs-auto-snapshot.cron.weekly
++++ b/etc/zfs-auto-snapshot.cron.weekly
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+ # Only call zfs-auto-snapshot if it's available
+-which zfs-auto-snapshot > /dev/null || exit 0
++command -v zfs-auto-snapshot > /dev/null || exit 0
+
+ exec zfs-auto-snapshot --quiet --syslog --label=weekly --keep=8 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service
new file mode 100644
index 000000000000..6929cb837438
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS daily snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=daily --keep=31 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer
new file mode 100644
index 000000000000..2198d83f458b
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-daily.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS daily snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=daily
+Persistent=true
+RandomizedDelaySec=600
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service
new file mode 100644
index 000000000000..ae698351ee3e
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS frequent snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=frequent --keep=4 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer
new file mode 100644
index 000000000000..e42f2eec50e0
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-frequent.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS frequent snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=*:0/15
+Persistent=true
+RandomizedDelaySec=60
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service
new file mode 100644
index 000000000000..72dc764e4c7f
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS hourly snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=hourly --keep=24 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer
new file mode 100644
index 000000000000..5d3f5e51e312
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-hourly.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS hourly snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=hourly
+Persistent=true
+RandomizedDelaySec=59
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service
new file mode 100644
index 000000000000..c96607cd6a16
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS monthly snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=monthly --keep=12 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer
new file mode 100644
index 000000000000..bf5f8944bcb5
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-monthly.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS monthly snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=monthly
+Persistent=true
+RandomizedDelaySec=600
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service
new file mode 100644
index 000000000000..47a517ebbed9
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.service
@@ -0,0 +1,6 @@
+[Unit]
+Description=ZFS weekly snapshot service
+Documentation=man:zfs-auto-snapshot(8)
+
+[Service]
+ExecStart=@GENTOO_PORTAGE_EPREFIX@/usr/sbin/zfs-auto-snapshot @DEFAULT_EXCLUDE@ --skip-scrub --label=weekly --keep=8 //
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer
new file mode 100644
index 000000000000..9eebb0dfdb8d
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot-weekly.timer
@@ -0,0 +1,8 @@
+[Unit]
+Description=ZFS weekly snapshot timer
+Documentation=man:zfs-auto-snapshot(8)
+
+[Timer]
+OnCalendar=weekly
+Persistent=true
+RandomizedDelaySec=600
diff --git a/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target
new file mode 100644
index 000000000000..b2d10f606da5
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/files/zfs-auto-snapshot.target
@@ -0,0 +1,11 @@
+[Unit]
+Description=Automatically create, rotate, and destroy periodic ZFS snapshots.
+Documentation=man:zfs-auto-snapshot(8)
+Requires=zfs-auto-snapshot-frequent.timer
+Requires=zfs-auto-snapshot-daily.timer
+Requires=zfs-auto-snapshot-hourly.timer
+Requires=zfs-auto-snapshot-weekly.timer
+Requires=zfs-auto-snapshot-monthly.timer
+
+[Install]
+WantedBy=timers.target
diff --git a/sys-fs/zfs-auto-snapshot/metadata.xml b/sys-fs/zfs-auto-snapshot/metadata.xml
index 7ee701b35b9f..927b1d188871 100644
--- a/sys-fs/zfs-auto-snapshot/metadata.xml
+++ b/sys-fs/zfs-auto-snapshot/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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
@@ -15,7 +15,8 @@
snapshots if it is installed.
</longdescription>
<use>
- <flag name="default-exclude">Only take snapshots if dataset has com.sun:auto-snapshot=true property set</flag>
+ <flag name="cron">Install /etc/cron.* files</flag>
+ <flag name="default-exclude">Only take snapshots of datasets with com.sun:auto-snapshot=true property set</flag>
</use>
<upstream>
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild
new file mode 100644
index 000000000000..2af66eac6680
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r2.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit prefix readme.gentoo-r1 systemd
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+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"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="ZFS Automatic Snapshot Service for Linux"
+HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+cron +default-exclude systemd"
+
+RDEPEND="
+ sys-apps/which
+ sys-fs/zfs
+ !systemd? ( virtual/cron )
+"
+
+REQUIRED_USE="!systemd? ( cron )"
+
+src_install() {
+ if use default-exclude; then
+ for cronfile in etc/"${PN}".cron.{daily,hourly,monthly,weekly}; do
+ sed -i "s/\(^exec ${PN}\)/\1 --default-exclude/" "${cronfile}" || die
+ done
+ sed -i "s/\(; ${PN}\)/\1 --default-exclude/" etc/"${PN}".cron.frequent || die
+ fi
+ readme.gentoo_create_doc
+ emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
+
+ local exclude unit
+ exclude="$(usev default-exclude)"
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.service; do
+ cp "${FILESDIR}/${unit}" "${T}/${unit}" || die
+ eprefixify "${T}/${unit}"
+ sed -i "s/@DEFAULT_EXCLUDE@/${exclude:+--default-exclude}/g" "${T}/${unit}" || die
+ systemd_dounit "${T}/${unit}"
+ done
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.timer; do
+ systemd_dounit "${FILESDIR}/${unit}"
+ done
+ systemd_dounit "${FILESDIR}/${PN}.target"
+
+ if ! use cron; then
+ ebegin "removing cron files from installation image"
+ rm -rfv "${ED}/etc" || die
+ eend "$?"
+ fi
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if ! use default-exclude; then
+ ewarn "snapshots are enabled by default for ALL zfs datasets"
+ ewarn "set com.sun:auto-snapshot=false or enable 'default-exclude' flag"
+ elog
+ fi
+
+ if use cron && has_version sys-process/fcron; then
+ ewarn "frequent snapshot may not work if you are using fcron"
+ ewarn "you should add frequent job to crontab manually"
+ fi
+
+ if use cron; then
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ echo
+ ewarn "Both 'cron' and 'systemd' flags are enabled."
+ ewarn "So both ${PN}.target and cron files were installed."
+ ewarn "Please don't use 2 implementations at the same time."
+ ewarn "Cronjobs are usually enabled by default via /etc/cron.* jobs"
+ ewarn "If you want to use systemd ${PN}.target timers"
+ ewarn "disable 'cron' flag and reinstall ${PN}"
+ echo
+ fi
+ fi
+}
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
new file mode 100644
index 000000000000..18c1884aaa53
--- /dev/null
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4-r3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit prefix readme.gentoo-r1 systemd
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
+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"
+ S="${WORKDIR}/${MY_P}"
+fi
+
+DESCRIPTION="ZFS Automatic Snapshot Service for Linux"
+HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
+
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="+cron +default-exclude systemd"
+
+RDEPEND="
+ sys-fs/zfs
+ !systemd? ( virtual/cron )
+"
+
+REQUIRED_USE="!systemd? ( cron )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.4-drop-which.patch
+)
+
+src_install() {
+ if use default-exclude; then
+ for cronfile in etc/"${PN}".cron.{daily,hourly,monthly,weekly}; do
+ sed -i "s/\(^exec ${PN}\)/\1 --default-exclude/" "${cronfile}" || die
+ done
+ sed -i "s/\(; ${PN}\)/\1 --default-exclude/" etc/"${PN}".cron.frequent || die
+ fi
+ readme.gentoo_create_doc
+ emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
+
+ local exclude unit
+ exclude="$(usev default-exclude)"
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.service; do
+ cp "${FILESDIR}/${unit}" "${T}/${unit}" || die
+ eprefixify "${T}/${unit}"
+ sed -i "s/@DEFAULT_EXCLUDE@/${exclude:+--default-exclude}/g" "${T}/${unit}" || die
+ systemd_dounit "${T}/${unit}"
+ done
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.timer; do
+ systemd_dounit "${FILESDIR}/${unit}"
+ done
+ systemd_dounit "${FILESDIR}/${PN}.target"
+
+ if ! use cron; then
+ ebegin "removing cron files from installation image"
+ rm -rfv "${ED}/etc" || die
+ eend "$?"
+ fi
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+
+ if ! use default-exclude; then
+ ewarn "snapshots are enabled by default for ALL zfs datasets"
+ ewarn "set com.sun:auto-snapshot=false or enable 'default-exclude' flag"
+ elog
+ fi
+
+ if use cron && has_version sys-process/fcron; then
+ ewarn "frequent snapshot may not work if you are using fcron"
+ ewarn "you should add frequent job to crontab manually"
+ fi
+
+ if use cron; then
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ echo
+ ewarn "Both 'cron' and 'systemd' flags are enabled."
+ ewarn "So both ${PN}.target and cron files were installed."
+ ewarn "Please don't use 2 implementations at the same time."
+ ewarn "Cronjobs are usually enabled by default via /etc/cron.* jobs"
+ ewarn "If you want to use systemd ${PN}.target timers"
+ ewarn "disable 'cron' flag and reinstall ${PN}"
+ echo
+ fi
+ fi
+}
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4.ebuild
deleted file mode 100644
index 0975c6425fc7..000000000000
--- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-1.2.4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit readme.gentoo-r1
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/zfsonlinux/${PN}.git"
-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"
- S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="ZFS Automatic Snapshot Service for Linux"
-HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
-
-LICENSE="GPL-2+"
-SLOT="0"
-IUSE="+default-exclude"
-
-RDEPEND="sys-fs/zfs
- virtual/cron"
-
-src_install() {
- if use default-exclude; then
- for cronfile in etc/"${PN}".cron.{daily,hourly,monthly,weekly}; do
- sed -i "s/\(^exec ${PN}\)/\1 --default-exclude/" "${cronfile}" || die
- done
- sed -i "s/\(; ${PN}\)/\1 --default-exclude/" etc/"${PN}".cron.frequent || die
- fi
- readme.gentoo_create_doc
- emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
-}
-
-pkg_postinst() {
- readme.gentoo_print_elog
-
- if ! use default-exclude; then
- ewarn "snapshots are enabled by default for ALL zfs datasets"
- ewarn "set com.sun:auto-snapshot=false or enable 'default-exclude' flag"
- elog
- fi
-
- if has_version sys-process/fcron; then
- ewarn "frequent snapshot may not work if you are using fcron"
- ewarn "you should add frequent job to crontab manually"
- fi
-}
diff --git a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
index c880e32a7601..221028bc21a1 100644
--- a/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
+++ b/sys-fs/zfs-auto-snapshot/zfs-auto-snapshot-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit readme.gentoo-r1
+inherit prefix readme.gentoo-r1 systemd
if [[ ${PV} == 9999 ]]; then
inherit git-r3
@@ -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"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
S="${WORKDIR}/${MY_P}"
fi
@@ -20,10 +20,15 @@ HOMEPAGE="https://github.com/zfsonlinux/zfs-auto-snapshot"
LICENSE="GPL-2+"
SLOT="0"
-IUSE="+default-exclude"
+IUSE="+cron +default-exclude systemd"
-RDEPEND="sys-fs/zfs
- virtual/cron"
+RDEPEND="
+ sys-apps/which
+ sys-fs/zfs
+ !systemd? ( virtual/cron )
+"
+
+REQUIRED_USE="!systemd? ( cron )"
src_install() {
if use default-exclude; then
@@ -34,6 +39,25 @@ src_install() {
fi
readme.gentoo_create_doc
emake PREFIX="${EPREFIX}/usr" DESTDIR="${D}" install
+
+ local exclude unit
+ exclude="$(usev default-exclude)"
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.service; do
+ cp "${FILESDIR}/${unit}" "${T}/${unit}" || die
+ eprefixify "${T}/${unit}"
+ sed -i "s/@DEFAULT_EXCLUDE@/${exclude:+--default-exclude}/g" "${T}/${unit}" || die
+ systemd_dounit "${T}/${unit}"
+ done
+ for unit in "${PN}"{-daily,-frequent,-hourly,-monthly,-weekly}.timer; do
+ systemd_dounit "${FILESDIR}/${unit}"
+ done
+ systemd_dounit "${FILESDIR}/${PN}.target"
+
+ if ! use cron; then
+ ebegin "removing cron files from installation image"
+ rm -rfv "${ED}/etc" || die
+ eend "$?"
+ fi
}
pkg_postinst() {
@@ -45,8 +69,21 @@ pkg_postinst() {
elog
fi
- if has_version sys-process/fcron; then
+ if use cron && has_version sys-process/fcron; then
ewarn "frequent snapshot may not work if you are using fcron"
ewarn "you should add frequent job to crontab manually"
fi
+
+ if use cron; then
+ if systemd_is_booted || has_version sys-apps/systemd; then
+ echo
+ ewarn "Both 'cron' and 'systemd' flags are enabled."
+ ewarn "So both ${PN}.target and cron files were installed."
+ ewarn "Please don't use 2 implementations at the same time."
+ ewarn "Cronjobs are usually enabled by default via /etc/cron.* jobs"
+ ewarn "If you want to use systemd ${PN}.target timers"
+ ewarn "disable 'cron' flag and reinstall ${PN}"
+ echo
+ fi
+ fi
}
diff --git a/sys-fs/zfs-kmod/Manifest b/sys-fs/zfs-kmod/Manifest
index 7165523a32c1..b1d0e6ec325b 100644
--- a/sys-fs/zfs-kmod/Manifest
+++ b/sys-fs/zfs-kmod/Manifest
@@ -1,3 +1,8 @@
-DIST zfs-0.8.4.tar.gz 9285838 BLAKE2B 776bcd6dfab8825c07d315085e288b29bf543d6957325d5d566b7b78c04505dde9bd25eb6684cb4a1b6a657de8a4e1290d04d2b9079d26d6b834a70f1ec3b569 SHA512 9086dc6a6262dd93ca6ec43f1b4c2e5c804deba708c8a7460b8531aa4802b0bf8cac0917a1a00e6af2e96d4a21cd68b85e226bf571bd94041d0325c457106eb1
-DIST zfs-2.0.0-rc1.tar.gz 12820598 BLAKE2B 6ea935447e4f95eb4040533843677f0091c9620fc387c76818df69a6653467e10aecd07ece22b2a32f849dc52ab0160149147416af90d78c5284f403571f7962 SHA512 b70cd10672d4424a6ffaaa58b4fa14b7d1b6481413463abd9b6d75698e80d94301fd54c7e091d63ebad9c8838eaaef6449223a55f041a62ae8292882feb195b5
-DIST zfs-2.0.0-rc2.tar.gz 12854085 BLAKE2B 73cabd565c11eef1bebbc391f8c4ba18acd1610f98f1b8afb507bc844f4b6a64ba32d9727e634c7f26c48fe365a841bf071513df234b9b7a87e954610a6d7f3b SHA512 14b17d06124890efef15b3b073e103c9faeecaea761779fff9a8420e3ab72fa611df9875fa766a323d69646e9025f8b19f918ded4c6705af116cf9f14eea4f40
+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/0.8.4-powerpc_jmp_weak.patch b/sys-fs/zfs-kmod/files/0.8.4-powerpc_jmp_weak.patch
deleted file mode 100644
index 1a2948a3158c..000000000000
--- a/sys-fs/zfs-kmod/files/0.8.4-powerpc_jmp_weak.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From bd0efd1f062bfba5dd2d6b1fe30b6949f8e0a8ef Mon Sep 17 00:00:00 2001
-From: sterlingjensen <5555776+sterlingjensen@users.noreply.github.com>
-Date: Mon, 24 Aug 2020 22:41:05 -0500
-Subject: [PATCH] Mark lua setjmp/longjmp for powerpc weak
-
-Linux already defines setjmp/longjmp for powerpc, which leads to
-duplicate symbols in a statically linked build.
-
-Signed-off-by: Sterlng Jensen <sterlingjensen@users.noreply.github.com>
----
- module/lua/setjmp/setjmp_ppc.S | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/module/lua/setjmp/setjmp_ppc.S b/module/lua/setjmp/setjmp_ppc.S
-index f787ef34913..72aa5d5ab5b 100644
---- a/module/lua/setjmp/setjmp_ppc.S
-+++ b/module/lua/setjmp/setjmp_ppc.S
-@@ -56,7 +56,7 @@
- #define ENTRY(name) \
- .align 2 ; \
- .type name,@function; \
-- .globl name; \
-+ .weak name; \
- name:
-
- #else /* PPC64_ELF_ABI_v1 */
-@@ -65,8 +65,8 @@ name:
- #define GLUE(a,b) XGLUE(a,b)
- #define ENTRY(name) \
- .align 2 ; \
-- .globl name; \
-- .globl GLUE(.,name); \
-+ .weak name; \
-+ .weak GLUE(.,name); \
- .pushsection ".opd","aw"; \
- name: \
- .quad GLUE(.,name); \
-@@ -83,8 +83,8 @@ GLUE(.,name):
- #define ENTRY(name) \
- .text; \
- .p2align 4; \
-- .globl name; \
-- .type name,@function; \
-+ .weak name; \
-+ .type name,@function; \
- name:
-
- #endif /* __powerpc64__ */
diff --git a/sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch b/sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch
deleted file mode 100644
index 9e9a007c3002..000000000000
--- a/sys-fs/zfs-kmod/files/2.0.0_rc1-U__BMI__.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 81a3970fca5759499effc3131e59c9bd8f446cc9 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Wed, 26 Aug 2020 16:02:48 -0700
-Subject: [PATCH] module/zstd: pass -U__BMI__
-
-Closes: https://github.com/openzfs/zfs/issues/10758
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- module/zstd/Makefile.in | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/module/zstd/Makefile.in b/module/zstd/Makefile.in
-index eea749ea8..bfceca920 100644
---- a/module/zstd/Makefile.in
-+++ b/module/zstd/Makefile.in
-@@ -20,6 +20,10 @@ ccflags-y += -O3
- # Set it for other compilers, too.
- $(obj)/lib/zstd.o: c_flags += -fno-tree-vectorize
-
-+# SSE register return with SSE disabled if -march=znverX is passed
-+# https://github.com/openzfs/zfs/issues/10758
-+$(obj)/lib/zstd.o: c_flags += -U__BMI__
-+
- # Quiet warnings about frame size due to unused code in unmodified zstd lib
- $(obj)/lib/zstd.o: c_flags += -Wframe-larger-than=20480
-
---
-2.28.0
-
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 f47155ec64df..deb3879f4c32 100644
--- a/sys-fs/zfs-kmod/metadata.xml
+++ b/sys-fs/zfs-kmod/metadata.xml
@@ -1,18 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ryao@gentoo.org</email>
- <name>Richard Yao</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
</maintainer>
<use>
- <flag name="rootfs">Install zfs-shutdown script to support exporting a pool containing rootfs</flag>
+ <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>
- <remote-id type="github">zfsonlinux/zfs</remote-id>
+ <bugs-to>https://github.com/openzfs/zfs/issues</bugs-to>
+ <doc>https://openzfs.github.io/openzfs-docs</doc>
+ <remote-id type="github">openzfs/zfs</remote-id>
</upstream>
</pkgmetadata>
diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild
deleted file mode 100644
index 2276604b161c..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-0.8.4-r1.ebuild
+++ /dev/null
@@ -1,183 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools 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
- SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64"
- S="${WORKDIR}/zfs-${PV}"
- ZFS_KERNEL_COMPAT="5.6"
-fi
-
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
-
-DEPEND=""
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
-
-BDEPEND="
- dev-lang/perl
- virtual/awk
-"
-
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
-
-PATCHES=( "${FILESDIR}/${PV}-powerpc_jmp_weak.patch" )
-
-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
- "
-
- if use arm64; then
- kernel_is -ge 5 && CONFIG_CHECK="${CONFIG_CHECK} !PREEMPT"
- fi
-
- 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"
-
- # 0.8.x requires at least 2.6.32
- kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required"
- else
- # git master requires at least 3.10
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
- fi
-
- linux-mod_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # 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,*
-
- local myconf=(
- CROSS_COMPILE="${CHOST}-"
- 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=(
- CROSS_COMPILE="${CHOST}-"
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
-}
-
-src_install() {
- set_arch_to_kernel
-
- myemakeargs+=(
- DEPMOD="/bin/true"
- DESTDIR="${D}"
- INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
- )
-
- emake "${myemakeargs[@]}" install
-
- einstalldocs
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- # Remove old modules
- if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then
- ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs"
- ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs"
- ewarn "Automatically removing old modules to avoid problems."
- rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules"
- rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon"
- 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
-
- 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 ZFSOnLinux. 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."
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild
deleted file mode 100644
index 73b00ca17e00..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc1.ebuild
+++ /dev/null
@@ -1,178 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-MY_PV="${PV/_rc/-rc}"
-
-inherit autotools 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
- SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
- S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.8"
-fi
-
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
-
-DEPEND=""
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
-
-BDEPEND="
- dev-lang/perl
- virtual/awk
-"
-
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
-
-PATCHES=( "${FILESDIR}/${PV}-U__BMI__.patch" )
-
-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
-
- # 2.0.0 requires at least 3.10
- kernel_is -ge 3 10 || die "Linux 3.10 or newer required"
-
- linux-mod_pkg_setup
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # 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,*
-
- local myconf=(
- CROSS_COMPILE="${CHOST}-"
- 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=(
- CROSS_COMPILE="${CHOST}-"
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
-}
-
-src_install() {
- set_arch_to_kernel
-
- myemakeargs+=(
- DEPMOD="/bin/true"
- DESTDIR="${D}"
- INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
- )
-
- emake "${myemakeargs[@]}" install
-
- einstalldocs
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- # Remove old modules
- if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then
- ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs"
- ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs"
- ewarn "Automatically removing old modules to avoid problems."
- rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules"
- rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon"
- 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
-
- 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 ZFSOnLinux. 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."
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc2.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc2.ebuild
deleted file mode 100644
index 689dcbc44941..000000000000
--- a/sys-fs/zfs-kmod/zfs-kmod-2.0.0_rc2.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit autotools 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
- MY_PV="${PV/_rc/-rc}"
- SRC_URI="https://github.com/openzfs/zfs/releases/download/zfs-${MY_PV}/zfs-${MY_PV}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
- S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.8"
-fi
-
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
-
-DEPEND=""
-
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
-
-BDEPEND="
- dev-lang/perl
- virtual/awk
-"
-
-RESTRICT="debug? ( strip ) test"
-
-DOCS=( AUTHORS COPYRIGHT META README.md )
-
-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
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # 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,*
-
- local myconf=(
- CROSS_COMPILE="${CHOST}-"
- 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=(
- CROSS_COMPILE="${CHOST}-"
- HOSTCC="$(tc-getBUILD_CC)"
- V=1
- )
-
- emake "${myemakeargs[@]}"
-}
-
-src_install() {
- set_arch_to_kernel
-
- myemakeargs+=(
- DEPMOD="/bin/true"
- DESTDIR="${D}"
- INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
- )
-
- emake "${myemakeargs[@]}" install
-
- einstalldocs
-}
-
-pkg_postinst() {
- linux-mod_pkg_postinst
-
- # Remove old modules
- if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then
- ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs"
- ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs"
- ewarn "Automatically removing old modules to avoid problems."
- rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules"
- rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon"
- 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
-
- 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 ZFSOnLinux. 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."
-}
diff --git a/sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild
new file mode 100644
index 000000000000..c698d195b168
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.14.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2023 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.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=/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="${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 ~sparc"
+ fi
+fi
+
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+RESTRICT="test"
+
+BDEPEND="
+ dev-lang/perl
+ app-alternatives/awk
+"
+
+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
+}
+
+pkg_postinst() {
+ 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.1.15.ebuild b/sys-fs/zfs-kmod/zfs-kmod-2.1.15.ebuild
new file mode 100644
index 000000000000..91038f073b54
--- /dev/null
+++ b/sys-fs/zfs-kmod/zfs-kmod-2.1.15.ebuild
@@ -0,0 +1,177 @@
+# 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-${PV%_rc?}"
+
+ 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 ~sparc"
+ fi
+fi
+
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+RESTRICT="test"
+
+BDEPEND="
+ dev-lang/perl
+ app-alternatives/awk
+"
+
+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
+}
+
+pkg_postinst() {
+ 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-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 689dcbc44941..e2c8f5dfec1b 100644
--- a/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
+++ b/sys-fs/zfs-kmod/zfs-kmod-9999.ebuild
@@ -1,69 +1,99 @@
-# 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 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
- MY_PV="${PV/_rc/-rc}"
+ 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"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
- S="${WORKDIR}/zfs-${PV%_rc?}"
- ZFS_KERNEL_COMPAT="5.8"
-fi
+ 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}"
-LICENSE="CDDL debug? ( GPL-2+ )"
-SLOT="0"
-IUSE="custom-cflags debug +rootfs"
+ 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))"
-DEPEND=""
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~sparc"
+ fi
+fi
-RDEPEND="${DEPEND}
- !sys-kernel/spl
-"
+LICENSE="CDDL MIT debug? ( GPL-2+ )"
+SLOT="0/${PVR}"
+IUSE="custom-cflags debug +rootfs"
+RESTRICT="test"
BDEPEND="
+ app-alternatives/awk
dev-lang/perl
- virtual/awk
"
-RESTRICT="debug? ( strip ) test"
+if [[ ${PV} != 9999 ]] ; then
+ BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-openzfs )"
-DOCS=( AUTHORS COPYRIGHT META README.md )
+ 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() {
- 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%%.*}"
@@ -71,105 +101,117 @@ 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() {
default
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
+ # 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"
+ 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,*
local myconf=(
- CROSS_COMPILE="${CHOST}-"
- 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=(
- CROSS_COMPILE="${CHOST}-"
- 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="/bin/true"
- DESTDIR="${D}"
- INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}"
- )
+ 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
-
- # Remove old modules
- if [[ -d "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" ]]; then
- ewarn "${PN} now installs modules in ${EROOT}/lib/modules/${KV_FULL}/extra/zfs"
- ewarn "Old modules were detected in ${EROOT}/lib/modules/${KV_FULL}/addon/zfs"
- ewarn "Automatically removing old modules to avoid problems."
- rm -r "${EROOT}/lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules"
- rmdir --ignore-fail-on-non-empty "${EROOT}/lib/modules/${KV_FULL}/addon"
+ # 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
+ 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
- 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 ZFSOnLinux. 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."
+ 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/Manifest b/sys-fs/zfs/Manifest
index 7165523a32c1..b1d0e6ec325b 100644
--- a/sys-fs/zfs/Manifest
+++ b/sys-fs/zfs/Manifest
@@ -1,3 +1,8 @@
-DIST zfs-0.8.4.tar.gz 9285838 BLAKE2B 776bcd6dfab8825c07d315085e288b29bf543d6957325d5d566b7b78c04505dde9bd25eb6684cb4a1b6a657de8a4e1290d04d2b9079d26d6b834a70f1ec3b569 SHA512 9086dc6a6262dd93ca6ec43f1b4c2e5c804deba708c8a7460b8531aa4802b0bf8cac0917a1a00e6af2e96d4a21cd68b85e226bf571bd94041d0325c457106eb1
-DIST zfs-2.0.0-rc1.tar.gz 12820598 BLAKE2B 6ea935447e4f95eb4040533843677f0091c9620fc387c76818df69a6653467e10aecd07ece22b2a32f849dc52ab0160149147416af90d78c5284f403571f7962 SHA512 b70cd10672d4424a6ffaaa58b4fa14b7d1b6481413463abd9b6d75698e80d94301fd54c7e091d63ebad9c8838eaaef6449223a55f041a62ae8292882feb195b5
-DIST zfs-2.0.0-rc2.tar.gz 12854085 BLAKE2B 73cabd565c11eef1bebbc391f8c4ba18acd1610f98f1b8afb507bc844f4b6a64ba32d9727e634c7f26c48fe365a841bf071513df234b9b7a87e954610a6d7f3b SHA512 14b17d06124890efef15b3b073e103c9faeecaea761779fff9a8420e3ab72fa611df9875fa766a323d69646e9025f8b19f918ded4c6705af116cf9f14eea4f40
+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/0.8.4-initconfdir.patch b/sys-fs/zfs/files/0.8.4-initconfdir.patch
deleted file mode 100644
index aac40896f39b..000000000000
--- a/sys-fs/zfs/files/0.8.4-initconfdir.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 5dbe98184278878746a5f548fead1d2ef1e98dbe Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Tue, 26 May 2020 16:44:54 -0700
-Subject: [PATCH] 0.8.4 initconfdir
-
-fix for https://github.com/openzfs/zfs/issues/10375
-
----
- etc/zfs/Makefile.am | 1 +
- etc/zfs/Makefile.in | 9 +++++----
- 2 files changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/etc/zfs/Makefile.am b/openzfs/etc/zfs/Makefile.am
-index 81567a4..5370f41 100644
---- a/etc/zfs/Makefile.am
-+++ b/etc/zfs/Makefile.am
-@@ -1,4 +1,5 @@
- pkgsysconfdir = $(sysconfdir)/zfs
-+initconfdir = $(DEFAULT_INITCONF_DIR)
-
- pkgsysconf_DATA = \
- vdev_id.conf.alias.example \
-diff --git a/etc/zfs/Makefile.in b/etc/zfs/Makefile.in
-index fb02811..795d3b1 100644
-@@ -571,6 +571,7 @@ udevdir = @udevdir@
- udevruledir = @udevruledir@
- zfsexecdir = @zfsexecdir@
- pkgsysconfdir = $(sysconfdir)/zfs
-+initconfdir = $(DEFAULT_INITCONF_DIR)
- pkgsysconf_DATA = \
- vdev_id.conf.alias.example \
- vdev_id.conf.sas_direct.example \
---
-2.26.2
-
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-r1 b/sys-fs/zfs/files/bash-completion-r1
deleted file mode 100644
index b1aded368e85..000000000000
--- a/sys-fs/zfs/files/bash-completion-r1
+++ /dev/null
@@ -1,391 +0,0 @@
-# Copyright (c) 2013, Aneurin Price <aneurin.price@gmail.com>
-
-# Permission is hereby granted, free of charge, to any person
-# obtaining a copy of this software and associated documentation
-# files (the "Software"), to deal in the Software without
-# restriction, including without limitation the rights to use,
-# copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following
-# conditions:
-
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-# OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-# OTHER DEALINGS IN THE SOFTWARE.
-
-#if [[ -w /dev/zfs ]]; then
- __ZFS_CMD="zfs"
- __ZPOOL_CMD="zpool"
-#else
-# __ZFS_CMD="sudo zfs"
-# __ZPOOL_CMD="sudo zpool"
-#fi
-
-__zfs_get_commands()
-{
- $__ZFS_CMD 2>&1 | awk '/^\t[a-z]/ {print $1}' | cut -f1 -d '|' | uniq
-}
-
-__zfs_get_properties()
-{
- $__ZFS_CMD get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all name space
-}
-
-__zfs_get_editable_properties()
-{
- $__ZFS_CMD get 2>&1 | awk '$2 == "YES" {print $1"="}'
-}
-
-__zfs_get_inheritable_properties()
-{
- $__ZFS_CMD get 2>&1 | awk '$3 == "YES" {print $1}'
-}
-
-__zfs_list_datasets()
-{
- $__ZFS_CMD list -H -o name -t filesystem,volume
-}
-
-__zfs_list_filesystems()
-{
- $__ZFS_CMD list -H -o name -t filesystem
-}
-
-__zfs_match_snapshot()
-{
- local base_dataset=${cur%@*}
- if [[ $base_dataset != $cur ]]
- then
- $__ZFS_CMD list -H -o name -t snapshot -d 1 $base_dataset
- else
- $__ZFS_CMD list -H -o name -t filesystem,volume | awk '{print $1"@"}'
- fi
-}
-
-__zfs_match_explicit_snapshot()
-{
- local base_dataset=${cur%@*}
- if [[ $base_dataset != $cur ]]
- then
- $__ZFS_CMD list -H -o name -t snapshot -d 1 $base_dataset
- fi
-}
-
-__zfs_match_multiple_snapshots()
-{
- local existing_opts=$(expr "$cur" : '\(.*\)[%,]')
- if [[ $existing_opts ]]
- then
- local base_dataset=${cur%@*}
- if [[ $base_dataset != $cur ]]
- then
- local cur=${cur##*,}
- if [[ $cur =~ ^%|%.*% ]]
- then
- # correct range syntax is start%end
- return 1
- fi
- local range_start=$(expr "$cur" : '\(.*%\)')
- $__ZFS_CMD list -H -o name -t snapshot -d 1 $base_dataset | sed 's$.*@$'$range_start'$g'
- fi
- else
- __zfs_match_explicit_snapshot; __zfs_list_datasets
- fi
-}
-
-__zfs_list_volumes()
-{
- $__ZFS_CMD list -H -o name -t volume
-}
-
-__zfs_argument_chosen()
-{
- local word property
- for word in $(seq $((COMP_CWORD-1)) -1 2)
- do
- local prev="${COMP_WORDS[$word]}"
- if [[ ${COMP_WORDS[$word-1]} != -[tos] ]]
- then
- if [[ "$prev" == [^,]*,* ]] || [[ "$prev" == *[@:]* ]]
- then
- return 0
- fi
- for property in $@
- do
- if [[ $prev == "$property" ]]
- then
- return 0
- fi
- done
- fi
- done
- return 1
-}
-
-__zfs_complete_ordered_arguments()
-{
- local list1=$1
- local list2=$2
- local cur=$3
- local extra=$4
- if __zfs_argument_chosen $list1
- then
- COMPREPLY=($(compgen -W "$list2 $extra" -- "$cur"))
- else
- COMPREPLY=($(compgen -W "$list1 $extra" -- "$cur"))
- fi
-}
-
-__zfs_complete_multiple_options()
-{
- local options=$1
- local cur=$2
-
- COMPREPLY=($(compgen -W "$options" -- "${cur##*,}"))
- local existing_opts=$(expr "$cur" : '\(.*,\)')
- if [[ $existing_opts ]]
- then
- COMPREPLY=( "${COMPREPLY[@]/#/${existing_opts}}" )
- fi
-}
-
-__zfs_complete_switch()
-{
- local options=$1
- if [[ ${cur:0:1} == - ]]
- then
- COMPREPLY=($(compgen -W "-{$options}" -- "$cur"))
- return 0
- else
- return 1
- fi
-}
-
-__zfs_complete()
-{
- local cur prev cmd cmds
- COMPREPLY=()
- # Don't split on colon
- _get_comp_words_by_ref -n : -c cur -p prev -w COMP_WORDS -i COMP_CWORD
- cmd="${COMP_WORDS[1]}"
-
- if [[ ${prev##*/} == zfs ]]
- then
- cmds=$(__zfs_get_commands)
- COMPREPLY=($(compgen -W "$cmds -?" -- "$cur"))
- return 0
- fi
-
- case "${cmd}" in
- clone)
- case "${prev}" in
- -o)
- COMPREPLY=($(compgen -W "$(__zfs_get_editable_properties)" -- "$cur"))
- ;;
- *)
- if ! __zfs_complete_switch "o,p"
- then
- if __zfs_argument_chosen
- then
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets)" -- "$cur"))
- else
- COMPREPLY=($(compgen -W "$(__zfs_match_snapshot)" -- "$cur"))
- fi
- fi
- ;;
- esac
- ;;
- get)
- case "${prev}" in
- -d)
- COMPREPLY=($(compgen -W "" -- "$cur"))
- ;;
- -t)
- __zfs_complete_multiple_options "filesystem volume snapshot all" "$cur"
- ;;
- -s)
- __zfs_complete_multiple_options "local default inherited temporary none" "$cur"
- ;;
- -o)
- __zfs_complete_multiple_options "name property value source received all" "$cur"
- ;;
- *)
- if ! __zfs_complete_switch "H,r,p,d,o,t,s"
- then
- if __zfs_argument_chosen $(__zfs_get_properties)
- then
- COMPREPLY=($(compgen -W "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" -- "$cur"))
- else
- __zfs_complete_multiple_options "$(__zfs_get_properties)" "$cur"
- fi
- fi
- ;;
- esac
- ;;
- inherit)
- if ! __zfs_complete_switch "r"
- then
- __zfs_complete_ordered_arguments "$(__zfs_get_inheritable_properties)" "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" $cur
- fi
- ;;
- list)
- case "${prev}" in
- -d)
- COMPREPLY=($(compgen -W "" -- "$cur"))
- ;;
- -t)
- __zfs_complete_multiple_options "filesystem volume snapshot all" "$cur"
- ;;
- -o)
- __zfs_complete_multiple_options "$(__zfs_get_properties)" "$cur"
- ;;
- -s|-S)
- COMPREPLY=($(compgen -W "$(__zfs_get_properties)" -- "$cur"))
- ;;
- *)
- if ! __zfs_complete_switch "H,r,d,o,t,s,S"
- then
- COMPREPLY=($(compgen -W "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" -- "$cur"))
- fi
- ;;
- esac
- ;;
- promote)
- COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur"))
- ;;
- rollback)
- if ! __zfs_complete_switch "r,R,f"
- then
- COMPREPLY=($(compgen -W "$(__zfs_match_snapshot)" -- "$cur"))
- fi
- ;;
- send)
- if ! __zfs_complete_switch "d,n,P,p,R,v,i,I"
- then
- COMPREPLY=($(compgen -W "$(__zfs_match_snapshot)" -- "$cur"))
- fi
- ;;
- snapshot)
- case "${prev}" in
- -o)
- COMPREPLY=($(compgen -W "$(__zfs_get_editable_properties)" -- "$cur"))
- ;;
- *)
- if ! __zfs_complete_switch "o,r"
- then
- COMPREPLY=($(compgen -W "$(__zfs_list_datasets | awk '{print $1"@"}')" -- "$cur"))
- fi
- ;;
- esac
- ;;
- set)
- __zfs_complete_ordered_arguments "$(__zfs_get_editable_properties)" "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" $cur
- ;;
- upgrade)
- case "${prev}" in
- -a|-V|-v)
- COMPREPLY=($(compgen -W "" -- "$cur"))
- ;;
- *)
- if ! __zfs_complete_switch "a,V,v,r"
- then
- COMPREPLY=($(compgen -W "$(__zfs_list_filesystems)" -- "$cur"))
- fi
- ;;
- esac
- ;;
- destroy)
- if ! __zfs_complete_switch "d,f,n,p,R,r,v"
- then
- __zfs_complete_multiple_options "$(__zfs_match_multiple_snapshots)" $cur
- fi
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zfs_match_explicit_snapshot) $(__zfs_list_datasets)" -- "$cur"))
- ;;
- esac
- __ltrim_colon_completions "$cur"
- return 0
-}
-
-__zpool_get_commands()
-{
- $__ZPOOL_CMD 2>&1 | awk '/^\t[a-z]/ {print $1}' | uniq
-}
-
-__zpool_get_properties()
-{
- $__ZPOOL_CMD get 2>&1 | awk '$2 == "YES" || $2 == "NO" {print $1}'; echo all
-}
-
-__zpool_get_editable_properties()
-{
- $__ZPOOL_CMD get 2>&1 | awk '$2 == "YES" {print $1"="}'
-}
-
-__zpool_list_pools()
-{
- $__ZPOOL_CMD list -H -o name
-}
-
-__zpool_complete()
-{
- local cur prev cmd cmds
- COMPREPLY=()
- cur="${COMP_WORDS[COMP_CWORD]}"
- prev="${COMP_WORDS[COMP_CWORD-1]}"
- cmd="${COMP_WORDS[1]}"
-
- if [[ ${prev##*/} == zpool ]]
- then
- cmds=$(__zpool_get_commands)
- COMPREPLY=($(compgen -W "$cmds" -- "$cur"))
- return 0
- fi
-
- case "${cmd}" in
- get)
- __zfs_complete_ordered_arguments "$(__zpool_get_properties)" "$(__zpool_list_pools)" $cur
- return 0
- ;;
- import)
- if [[ $prev == -d ]]
- then
- _filedir -d
- else
- COMPREPLY=($(compgen -W "$(__zpool_list_pools) -d" -- "$cur"))
- fi
- return 0
- ;;
- set)
- __zfs_complete_ordered_arguments "$(__zpool_get_editable_properties)" "$(__zpool_list_pools)" $cur
- return 0
- ;;
- add|attach|clear|create|detach|offline|online|remove|replace)
- local pools="$(__zpool_list_pools)"
- if __zfs_argument_chosen $pools
- then
- _filedir
- else
- COMPREPLY=($(compgen -W "$pools" -- "$cur"))
- fi
- return 0
- ;;
- *)
- COMPREPLY=($(compgen -W "$(__zpool_list_pools)" -- "$cur"))
- return 0
- ;;
- esac
-
-}
-
-complete -F __zfs_complete zfs
-complete -F __zpool_complete zpool
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 9ce9230943f9..b2f96b1a1ba9 100644
--- a/sys-fs/zfs/metadata.xml
+++ b/sys-fs/zfs/metadata.xml
@@ -1,22 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>ryao@gentoo.org</email>
- <name>Richard Yao</name>
- </maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <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>
<flag name="test-suite">Install regression test suite</flag>
</use>
<upstream>
- <remote-id type="github">zfsonlinux/zfs</remote-id>
+ <bugs-to>https://github.com/openzfs/zfs/issues</bugs-to>
+ <doc>https://openzfs.github.io/openzfs-docs</doc>
+ <remote-id type="github">openzfs/zfs</remote-id>
</upstream>
+ <longdescription lang="en">
+ OpenZFS is an advanced file system and volume manager which was originally developed
+ for Solaris and is now maintained by the OpenZFS community
+
+ It includes the functionality of both traditional file systems and volume manager.
+ It has many advanced features including:
+ * Protection against data corruption. Integrity checking for both data and metadata.
+ * Continuous integrity verification and automatic “self-healing” repair
+ * Data redundancy with mirroring, RAID-Z1/2/3 [and DRAID]
+ * Support for high storage capacities — up to 256 trillion yobibytes (2^128 bytes)
+ * Space-saving with transparent compression using LZ4, GZIP or ZSTD
+ * Hardware-accelerated native encryption
+ * Efficient storage with snapshots and copy-on-write clones
+ * Efficient local or remote replication — send only changed blocks with ZFS send and receive
+
+ The OpenZFS project brings together developers from the Linux, FreeBSD, illumos, MacOS, and Windows platforms.
+ OpenZFS is supported by a wide range of companies.
+ </longdescription>
</pkgmetadata>
diff --git a/sys-fs/zfs/zfs-0.8.4-r2.ebuild b/sys-fs/zfs/zfs-0.8.4-r2.ebuild
deleted file mode 100644
index 71e06c34f7c3..000000000000
--- a/sys-fs/zfs/zfs-0.8.4-r2.ebuild
+++ /dev/null
@@ -1,223 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit autotools bash-completion-r1 flag-o-matic linux-info distutils-r1 systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="Userland utilities for ZFS Linux kernel module"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3 linux-mod
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
-else
- SRC_URI="https://github.com/openzfs/${PN}/releases/download/${P}/${P}.tar.gz"
- KEYWORDS="amd64 arm64 ppc64"
-fi
-
-LICENSE="BSD-2 CDDL MIT"
-SLOT="0"
-IUSE="custom-cflags debug kernel-builtin libressl minimal nls python +rootfs test-suite static-libs"
-
-DEPEND="
- net-libs/libtirpc[static-libs?]
- sys-apps/util-linux[static-libs?]
- sys-libs/zlib[static-libs(+)?]
- virtual/awk
- virtual/libudev[static-libs(-)?]
- libressl? ( dev-libs/libressl:0=[static-libs?] )
- !libressl? ( dev-libs/openssl:0=[static-libs?] )
- !minimal? ( ${PYTHON_DEPS} )
- python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
- )
-"
-
-BDEPEND="virtual/awk
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="${DEPEND}
- !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
- !prefix? ( virtual/udev )
- sys-fs/udev-init-scripts
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- test-suite? (
- sys-apps/kmod[tools]
- sys-apps/util-linux
- sys-devel/bc
- sys-block/parted
- sys-fs/lsscsi
- sys-fs/mdadm
- sys-process/procps
- )
-"
-
-REQUIRED_USE="
- !minimal? ( ${PYTHON_REQUIRED_USE} )
- python? ( !minimal )
- test-suite? ( !minimal )
-"
-
-RESTRICT="test"
-
-PATCHES=(
- "${FILESDIR}/bash-completion-sudo.patch"
- "${FILESDIR}/${PV}-initconfdir.patch"
-)
-
-pkg_setup() {
- if use kernel_linux && use test-suite; 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
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # 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
-
- # 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-systemd
- --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-systemdunitdir="$(systemd_get_systemunitdir)"
- --with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset"
- $(use_enable debug)
- $(use_enable nls)
- $(use_enable python pyzfs)
- $(use_enable static-libs 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 uutil nvpair zpool zfs zfs_core
-
- use test-suite || rm -rf "${ED}/usr/share/zfs"
-
- if ! use static-libs; then
- find "${ED}/" -name '*.la' -delete || die
- fi
-
- 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() {
- if use rootfs; then
- if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
- elog "root on zfs requires initramfs to boot"
- elog "the following packages known to provide one and tested on regular basis:"
- elog " sys-kernel/dracut"
- elog " sys-kernel/genkernel"
- 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}/lib/systemd/system-preset/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-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() {
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
-}
diff --git a/sys-fs/zfs/zfs-2.0.0_rc1-r1.ebuild b/sys-fs/zfs/zfs-2.0.0_rc1-r1.ebuild
deleted file mode 100644
index ad7088f0af35..000000000000
--- a/sys-fs/zfs/zfs-2.0.0_rc1-r1.ebuild
+++ /dev/null
@@ -1,228 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info pam systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="Userland utilities for ZFS Linux kernel module"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3 linux-mod
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
-else
- MY_P="${P/_rc/-rc}"
- SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
- S="${WORKDIR}/${P%_rc?}"
-fi
-
-LICENSE="BSD-2 CDDL MIT"
-SLOT="0"
-IUSE="custom-cflags debug kernel-builtin libressl minimal nls pam python +rootfs test-suite static-libs"
-
-DEPEND="
- net-libs/libtirpc[static-libs?]
- sys-apps/util-linux[static-libs?]
- sys-libs/zlib[static-libs(+)?]
- virtual/awk
- virtual/libudev[static-libs(-)?]
- libressl? ( dev-libs/libressl:0=[static-libs?] )
- !libressl? ( dev-libs/openssl:0=[static-libs?] )
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
- )
-"
-
-BDEPEND="virtual/awk
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="${DEPEND}
- !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
- !prefix? ( virtual/udev )
- sys-fs/udev-init-scripts
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- test-suite? (
- sys-apps/kmod[tools]
- sys-apps/util-linux
- sys-devel/bc
- sys-block/parted
- sys-fs/lsscsi
- sys-fs/mdadm
- sys-process/procps
- )
-"
-
-REQUIRED_USE="
- !minimal? ( ${PYTHON_REQUIRED_USE} )
- python? ( !minimal )
- test-suite? ( !minimal )
-"
-
-RESTRICT="test"
-
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
-
-pkg_setup() {
- if use kernel_linux && use test-suite; 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
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # 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
-
- # 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-systemd
- --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="${EPREFIX}/lib/systemd/system-preset"
- $(use_enable debug)
- $(use_enable nls)
- $(use_enable pam)
- $(use_enable python pyzfs)
- $(use_enable static-libs 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 uutil nvpair zpool zfs zfs_core
-
- use pam && { rm -rv "${ED}/unwanted_files" || die ; }
-
- use test-suite || { rm -r "${ED}/usr/share/zfs" || die ; }
-
- if ! use static-libs; then
- find "${ED}/" -name '*.la' -delete || die
- fi
-
- 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() {
- if use rootfs; then
- if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
- elog "root on zfs requires initramfs to boot"
- elog "the following packages known to provide one and tested on regular basis:"
- elog " sys-kernel/dracut"
- elog " sys-kernel/genkernel"
- 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}/lib/systemd/system-preset/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-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() {
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
-}
diff --git a/sys-fs/zfs/zfs-2.0.0_rc2.ebuild b/sys-fs/zfs/zfs-2.0.0_rc2.ebuild
deleted file mode 100644
index d2f00419b0c7..000000000000
--- a/sys-fs/zfs/zfs-2.0.0_rc2.ebuild
+++ /dev/null
@@ -1,229 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{6,7,8} )
-
-inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info pam systemd toolchain-funcs udev usr-ldscript
-
-DESCRIPTION="Userland utilities for ZFS Linux kernel module"
-HOMEPAGE="https://github.com/openzfs/zfs"
-
-if [[ ${PV} == "9999" ]] ; then
- inherit git-r3 linux-mod
- EGIT_REPO_URI="https://github.com/openzfs/zfs.git"
-else
- MY_P="${P/_rc/-rc}"
- SRC_URI="https://github.com/openzfs/${PN}/releases/download/${MY_P}/${MY_P}.tar.gz"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
- S="${WORKDIR}/${P%_rc?}"
-fi
-
-LICENSE="BSD-2 CDDL MIT"
-SLOT="0"
-IUSE="custom-cflags debug kernel-builtin libressl minimal nls pam python +rootfs test-suite static-libs"
-
-DEPEND="
- net-libs/libtirpc[static-libs?]
- sys-apps/util-linux[static-libs?]
- sys-libs/zlib[static-libs(+)?]
- virtual/awk
- virtual/libudev[static-libs(-)?]
- libressl? ( dev-libs/libressl:0=[static-libs?] )
- !libressl? ( dev-libs/openssl:0=[static-libs?] )
- !minimal? ( ${PYTHON_DEPS} )
- pam? ( sys-libs/pam )
- python? (
- virtual/python-cffi[${PYTHON_USEDEP}]
- )
-"
-
-BDEPEND="virtual/awk
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- python? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="${DEPEND}
- !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
- !prefix? ( virtual/udev )
- sys-fs/udev-init-scripts
- rootfs? (
- app-arch/cpio
- app-misc/pax-utils
- !<sys-kernel/genkernel-3.5.1.1
- )
- test-suite? (
- sys-apps/kmod[tools]
- sys-apps/util-linux
- sys-devel/bc
- sys-block/parted
- sys-fs/lsscsi
- sys-fs/mdadm
- sys-process/procps
- )
-"
-
-REQUIRED_USE="
- !minimal? ( ${PYTHON_REQUIRED_USE} )
- python? ( !minimal )
- test-suite? ( !minimal )
-"
-
-RESTRICT="test"
-
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
-
-pkg_setup() {
- if use kernel_linux && use test-suite; 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
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
- # 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
-
- # 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-systemd
- --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="${EPREFIX}/lib/systemd/system-preset"
- --with-vendor=gentoo
- $(use_enable debug)
- $(use_enable nls)
- $(use_enable pam)
- $(use_enable python pyzfs)
- $(use_enable static-libs 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 uutil nvpair zpool zfs zfs_core
-
- use pam && { rm -rv "${ED}/unwanted_files" || die ; }
-
- use test-suite || { rm -r "${ED}/usr/share/zfs" || die ; }
-
- if ! use static-libs; then
- find "${ED}/" -name '*.la' -delete || die
- fi
-
- 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() {
- if use rootfs; then
- if ! has_version sys-kernel/genkernel && ! has_version sys-kernel/dracut; then
- elog "root on zfs requires initramfs to boot"
- elog "the following packages known to provide one and tested on regular basis:"
- elog " sys-kernel/dracut"
- elog " sys-kernel/genkernel"
- 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}/lib/systemd/system-preset/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-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() {
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
-}
diff --git a/sys-fs/zfs/zfs-2.1.14.ebuild b/sys-fs/zfs/zfs-2.1.14.ebuild
new file mode 100644
index 000000000000..5dcfd94d6ae2
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.1.14.ebuild
@@ -0,0 +1,311 @@
+# 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..11} )
+
+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}/${P%_rc?}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="amd64 arm64 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="
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ dev-libs/openssl:0=
+ !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 )
+ sys-fs/udev-init-scripts
+ app-alternatives/awk
+ 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=(
+ # 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
+
+ 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
+
+ # 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
+
+ # 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-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-2.1.15.ebuild b/sys-fs/zfs/zfs-2.1.15.ebuild
new file mode 100644
index 000000000000..606c4bf649fd
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.1.15.ebuild
@@ -0,0 +1,311 @@
+# 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..11} )
+
+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}/${P%_rc?}"
+
+ if [[ ${PV} != *_rc* ]]; then
+ KEYWORDS="~amd64 ~arm64 ~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="
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
+ dev-libs/openssl:0=
+ !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 )
+ sys-fs/udev-init-scripts
+ app-alternatives/awk
+ 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=(
+ # 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
+
+ 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
+
+ # 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
+
+ # 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-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-2.2.2-r1.ebuild b/sys-fs/zfs/zfs-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..80914d259c33
--- /dev/null
+++ b/sys-fs/zfs/zfs-2.2.2-r1.ebuild
@@ -0,0 +1,307 @@
+# 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..11} )
+
+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
+)
+
+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-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 d2f00419b0c7..7b38a676beca 100644
--- a/sys-fs/zfs/zfs-9999.ebuild
+++ b/sys-fs/zfs/zfs-9999.ebuild
@@ -1,66 +1,89 @@
-# 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
DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{6,7,8} )
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
-inherit autotools bash-completion-r1 distutils-r1 flag-o-matic linux-info pam systemd toolchain-funcs udev usr-ldscript
+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 linux-mod
+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"
- KEYWORDS="~amd64 ~arm64 ~ppc64"
- S="${WORKDIR}/${P%_rc?}"
+ 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"
-SLOT="0"
-IUSE="custom-cflags debug kernel-builtin libressl minimal nls pam python +rootfs test-suite static-libs"
+# 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="
- net-libs/libtirpc[static-libs?]
- sys-apps/util-linux[static-libs?]
- sys-libs/zlib[static-libs(+)?]
- virtual/awk
- virtual/libudev[static-libs(-)?]
- libressl? ( dev-libs/libressl:0=[static-libs?] )
- !libressl? ( dev-libs/openssl:0=[static-libs?] )
+ dev-libs/openssl:=
+ net-libs/libtirpc:=
+ sys-apps/util-linux
+ sys-libs/zlib
+ virtual/libudev:=
!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}]
+ )
)
"
-RDEPEND="${DEPEND}
- !kernel-builtin? ( ~sys-fs/zfs-kmod-${PV} )
+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-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
@@ -68,6 +91,10 @@ RDEPEND="${DEPEND}
)
"
+# 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 )
@@ -76,13 +103,26 @@ REQUIRED_USE="
RESTRICT="test"
-PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" )
+PATCHES=(
+ "${FILESDIR}"/2.1.5-dracut-zfs-missing.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 && use test-suite; then
+ if use kernel_linux; then
linux-info_pkg_setup
- if ! linux_config_exists; then
+ if ! linux_config_exists; then
ewarn "Cannot check the linux kernel configuration."
else
if use test-suite; then
@@ -100,12 +140,37 @@ pkg_setup() {
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
- if [[ ${PV} == "9999" ]]; then
- eautoreconf
- else
+ # 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
@@ -116,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
@@ -128,7 +196,6 @@ src_configure() {
local myconf=(
--bindir="${EPREFIX}/bin"
--enable-shared
- --enable-systemd
--enable-sysvinit
--localstatedir="${EPREFIX}/var"
--sbindir="${EPREFIX}/sbin"
@@ -140,13 +207,20 @@ src_configure() {
--with-pamconfigsdir="${EPREFIX}/unwanted_files"
--with-pammoduledir="$(getpam_mod_dir)"
--with-systemdunitdir="$(systemd_get_systemunitdir)"
- --with-systemdpresetdir="${EPREFIX}/lib/systemd/system-preset"
+ --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)
- $(use_enable static-libs static)
+ --disable-static
$(usex minimal --without-python --with-python="${EPYTHON}")
)
@@ -165,15 +239,13 @@ src_compile() {
src_install() {
default
- gen_usr_ldscript -a uutil nvpair zpool zfs zfs_core
+ 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" || die ; }
+ use test-suite || { rm -r "${ED}"/usr/share/zfs/{test-runner,zfs-tests,runfiles,*sh} || die ; }
- if ! use static-libs; then
- find "${ED}/" -name '*.la' -delete || die
- fi
+ find "${ED}" -name '*.la' -delete || die
dobashcomp contrib/bash_completion.d/zfs
bashcomp_alias zfs zpool
@@ -192,27 +264,34 @@ src_install() {
}
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 initramfs to boot"
- elog "the following packages known to provide one and tested on regular basis:"
- elog " sys-kernel/dracut"
+ 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 ! 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}/lib/systemd/system-preset/50-zfs.preset"
+ 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" ]] || \
@@ -223,7 +302,5 @@ pkg_postinst() {
}
pkg_postrm() {
- if ! use kernel-builtin && [[ ${PV} == "9999" ]]; then
- remove_moduledb
- fi
+ udev_reload
}