Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions common/shlibs
Original file line number Diff line number Diff line change
Expand Up @@ -970,8 +970,8 @@ libomptarget.so.18.1 libomp-18.1.8_1
libisofs.so.6 libisofs-0.6.24_1
libmpack.so.0 libmpack-1.0.5_1
libGeoIP.so.1 libgeoip-1.4.8_1
libnilfs.so.0 libnilfs-2.1.0_1
libnilfsgc.so.0 libnilfs-2.1.0_1
libnilfs.so.3 libnilfs-2.3.1_1
libnilfsgc.so.3 libnilfs-2.3.1_1
libnilfscleaner.so.0 libnilfs-2.1.0_1
libchicken.so.11 libchicken-5.1.0_1
libzix-0.so.0 zix-0.4.2_1
Expand Down
6 changes: 3 additions & 3 deletions srcpkgs/mpg123-extras/template
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Template file for 'mpg123-extras'
# Sync with mpg123
pkgname=mpg123-extras
version=1.33.5
revision=2
version=1.33.7
revision=1
build_style=gnu-configure
# --with-cpu not necessary, upstream detects features correctly
# --with-optimization=0 makes the configure script respect xbps-src's defaults.
Expand All @@ -16,7 +16,7 @@ license="LGPL-2.1-only"
homepage="https://www.mpg123.org/"
changelog="https://www.mpg123.de/trunk/NEWS"
distfiles="https://www.mpg123.org/download/mpg123-${version}.tar.bz2"
checksum=0d7ebc8da0aff3ca383c8c6b5a6adbe402ee5bb256685b8c5499f3a739f9d6dd
checksum=31d0e35a4ca567ec9b5ebda6c3062bb4435d6d3eacd6ef0d95cadd7854dc03ee

# Restrict extras to the same matching version, ignore revision
_depends="libmpg123>=${version}_1<=${version}_9999"
Expand Down
7 changes: 4 additions & 3 deletions srcpkgs/mpg123/template
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Template file for 'mpg123'
# Sync with mpg123-extras
pkgname=mpg123
version=1.33.5
revision=2
version=1.33.7
revision=1
build_style=gnu-configure
# --with-cpu not necessary, upstream detects features correctly
# --with-optimization=0 makes the configure script respect xbps-src's defaults.
Expand All @@ -15,7 +15,7 @@ license="LGPL-2.1-only"
homepage="https://www.mpg123.org/"
changelog="https://www.mpg123.de/trunk/NEWS"
distfiles="${SOURCEFORGE_SITE}/mpg123/mpg123-${version}.tar.bz2"
checksum=0d7ebc8da0aff3ca383c8c6b5a6adbe402ee5bb256685b8c5499f3a739f9d6dd
checksum=31d0e35a4ca567ec9b5ebda6c3062bb4435d6d3eacd6ef0d95cadd7854dc03ee

if [ "$XBPS_TARGET_LIBC" = musl ]; then
# No LFS required with musl
Expand All @@ -31,6 +31,7 @@ libmpg123_package() {
vmove usr/lib/mpg123/output_alsa.so
}
}

mpg123-devel_package() {
depends="libmpg123-${version}_${revision}"
short_desc+=" - Development files"
Expand Down
19 changes: 11 additions & 8 deletions srcpkgs/nilfs-utils/template
Original file line number Diff line number Diff line change
@@ -1,25 +1,27 @@
# Template file for 'nilfs-utils'
pkgname=nilfs-utils
version=2.2.9
version=2.3.1
revision=1
build_style=gnu-configure
configure_args="--without-selinux"
make_install_args="sbindir=/usr/bin"
configure_args="--without-selinux --with-libmount --enable-usrmerge=bin --enable-static"
hostmakedepends="autoconf automake libtool pkg-config"
makedepends="libblkid-devel libmount-devel libuuid-devel"
conf_files="/etc/nilfs_cleanerd.conf"
short_desc="Log-structured file system for Linux - userspace utils"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-only, LGPL-2.1-only"
license="GPL-2.0-only"
homepage="https://nilfs.sourceforge.io/"
distfiles="https://nilfs.sourceforge.io/download/${pkgname}-${version}.tar.bz2"
checksum=5df63998c2084182c8c608a29b47b1771b825b4b5fa7916c12cca2fcb7577a97
changelog="https://raw.githubusercontent.com/nilfs-dev/nilfs-utils/refs/heads/master/ChangeLog"
distfiles="https://github.com/nilfs-dev/nilfs-utils/archive/refs/tags/v${version}.tar.gz"
checksum=f4488f2978b3054fd97f87d206032cbf376d98479759d2855b57bc24a8d8efb9

post_install() {
mv ${DESTDIR}/sbin/* ${DESTDIR}/usr/bin/
pre_configure() {
./autogen.sh
}

libnilfs_package() {
short_desc="${short_desc/utils/libraries}"
license="LGPL-2.1-only"
pkg_install() {
vmove "usr/lib/*.so.*"
}
Expand All @@ -28,6 +30,7 @@ libnilfs_package() {
nilfs-utils-devel_package() {
depends="${makedepends} libnilfs>=${version}_${revision}"
short_desc="${short_desc/utils/development files}"
license="LGPL-2.1-only"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
From 01bbe56ce51d49a4cf05bbaafdf19936b39aee0d Mon Sep 17 00:00:00 2001
From: tuxxx <nzb_tuxxx@proton.me>
Date: Mon, 22 Jun 2026 10:39:49 +0200
Subject: [PATCH] Fix compatibility with nilfs-utils 2.3

Use the public nilfs_get_layout() API now that struct nilfs is opaque. Recalculate used block counts from the segment bitmap in every mode that reads it.

Fixes https://github.com/Thomas-Tsai/partclone/issues/289

References https://gitlab.archlinux.org/archlinux/packaging/packages/partclone/-/work_items/10
---
src/main.c | 2 ++
src/nilfsclone.c | 22 ++++++++++++++--------
2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/src/main.c b/src/main.c
index 79949f8a..4fdae354 100644
--- a/src/main.c
+++ b/src/main.c
@@ -327,6 +327,7 @@ int main(int argc, char **argv) {
/// read and check bitmap from partition
log_mesg(0, 0, 1, debug, "Calculating bitmap... Please wait... ");
read_bitmap(source, fs_info, bitmap, pui);
+ update_used_blocks_count(&fs_info, bitmap);

/// check the dest partition size.
if (opt.dd && opt.check && !target_stdout) {
@@ -374,6 +375,7 @@ int main(int argc, char **argv) {
/// read and check bitmap from partition
log_mesg(0, 0, 1, debug, "Calculating bitmap... Please wait... ");
read_bitmap(source, fs_info, bitmap, pui);
+ update_used_blocks_count(&fs_info, bitmap);

/// check the dest partition size.
/* skip check free space while torrent_only on */
diff --git a/src/nilfsclone.c b/src/nilfsclone.c
index 27540f3f..2147090f 100644
--- a/src/nilfsclone.c
+++ b/src/nilfsclone.c
@@ -35,7 +35,6 @@

int mnt_x=0;
char *mnt_path = "/tmp/partclone_nilfs2_mnt/"; //fixme
-struct nilfs_super_block *sbp;
struct nilfs *nilfs;

extern fs_cmd_opt fs_opt;
@@ -226,12 +225,18 @@ extern void read_bitmap(char* device, file_system_info fs_info, unsigned long* b
/// read super block and write to image head
extern void read_super_blocks(char* device, file_system_info* fs_info)
{
+ struct nilfs_layout layout;
+
if (fs_open(device) != 0) {
return; // Abort
}
- sbp = nilfs->n_sb;
+ if (nilfs_get_layout(nilfs, &layout, sizeof(layout)) < 0) {
+ log_mesg(0, 1, 1, fs_opt.debug, "ERROR: Failed to get NILFS layout: %s.\n", strerror(errno));
+ fs_close();
+ return;
+ }
strncpy(fs_info->fs, nilfs_MAGIC, FS_MAGIC_SIZE);
- fs_info->block_size = nilfs_get_block_size(nilfs);
+ fs_info->block_size = layout.blocksize;

if (fs_info->block_size < MIN_NILFS_BLOCK_SIZE || fs_info->block_size > MAX_NILFS_BLOCK_SIZE || (fs_info->block_size & (fs_info->block_size - 1)) != 0) {
log_mesg(0, 1, 1, fs_opt.debug, "ERROR: Invalid block size detected in superblock: %u.\n", fs_info->block_size);
@@ -239,8 +244,8 @@ extern void read_super_blocks(char* device, file_system_info* fs_info)
return;
}

- if (sbp->s_dev_size == 0) {
- log_mesg(0, 1, 1, fs_opt.debug, "ERROR: Device size (s_dev_size) is zero in superblock.\n");
+ if (layout.devsize == 0) {
+ log_mesg(0, 1, 1, fs_opt.debug, "ERROR: Device size is zero in NILFS layout.\n");
fs_close();
return;
}
@@ -249,7 +254,7 @@ extern void read_super_blocks(char* device, file_system_info* fs_info)
fs_close();
return;
}
- fs_info->totalblock = sbp->s_dev_size / fs_info->block_size;
+ fs_info->totalblock = layout.devsize / fs_info->block_size;

if (fs_info->totalblock == 0 || fs_info->totalblock > MAX_NILFS_TOTAL_BLOCKS) {
log_mesg(0, 1, 1, fs_opt.debug, "ERROR: Maliciously large or zero total blocks detected in superblock: %llu. Max allowed: %llu\n", fs_info->totalblock, MAX_NILFS_TOTAL_BLOCKS);
@@ -265,7 +270,8 @@ extern void read_super_blocks(char* device, file_system_info* fs_info)
}
fs_info->device_size = fs_info->totalblock * fs_info->block_size;

- fs_info->usedblocks = fs_info->totalblock - sbp->s_free_blocks_count;
- fs_info->superBlockUsedBlocks = fs_info->usedblocks;
+ /* main.c updates usedblocks from the segment bitmap after this call. */
+ fs_info->usedblocks = 0;
+ fs_info->superBlockUsedBlocks = 0;
fs_close();
}
24 changes: 0 additions & 24 deletions srcpkgs/partclone/patches/glibc-2.36.patch

This file was deleted.

11 changes: 6 additions & 5 deletions srcpkgs/partclone/template
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
# Template file for 'partclone'
pkgname=partclone
version=0.3.25
version=0.3.47
revision=1
build_style=gnu-configure
configure_args="--disable-rpath --enable-ncursesw --enable-f2fs
--enable-extfs --enable-hfsp --enable-fat --enable-exfat
--enable-ntfs --enable-btrfs --enable-minix --enable-nilfs2"
hostmakedepends="pkg-config automake autoconf libtool"
hostmakedepends="pkg-config automake autoconf libtool gettext-devel-tools libxslt docbook-xsl"
makedepends="e2fsprogs-devel libuuid-devel ncurses-devel ntfs-3g-devel
nilfs-utils-devel openssl-devel"
nilfs-utils-devel openssl-devel xxHash-devel libzstd-devel"
short_desc="File system clone and restore utilities"
maintainer="Orphaned <orphan@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://partclone.org/"
distfiles="https://github.com/Thomas-Tsai/partclone/archive/refs/tags/${version}.tar.gz"
checksum=e8d19234809fb11cac9676e653865fbb789731a5cbe9b191d0308fe645d5f1c7
CFLAGS="-DBTRFS_DISABLE_BACKTRACE"
checksum=8215844d14737d8fbb09fe1b1eafe688a8c790eafc8413a26c08e5795ac9ccd3

# CFLAGS="-DBTRFS_DISABLE_BACKTRACE"

pre_configure() {
./autogen
Expand Down
Loading