New comment by sug0 on void-packages repository https://github.com/void-linux/void-packages/pull/40919#issuecomment-1356485181 Comment: @sgn I've written a couple of patches that remove the need to package `fs-repo-migrations`: I've updated the `go-ipfs` template. the diff against this PR is:
diff against this PR ```patch diff --git a/srcpkgs/go-ipfs/files/README.voidlinux b/srcpkgs/go-ipfs/files/README.voidlinux new file mode 100644 index 00000000..3840b85d --- /dev/null +++ b/srcpkgs/go-ipfs/files/README.voidlinux @@ -0,0 +1,3 @@ +To migrate between repository versions, install `ipfs-migrate-repo`. This +package provides the same functionality as `fs-repo-migrations`, but will +work with `musl` targets, while `fs-repo-migrations` might not. diff --git a/srcpkgs/go-ipfs/template b/srcpkgs/go-ipfs/template index 316f1d36..1cd14657 100644 --- a/srcpkgs/go-ipfs/template +++ b/srcpkgs/go-ipfs/template @@ -6,7 +6,6 @@ build_style=go go_import_path="github.com/ipfs/kubo" go_package="${go_import_path}/cmd/ipfs ${go_import_path}/cmd/ipfswatch" hostmakedepends="git" -depends="fs-repo-migrations>=1.7.1" short_desc="Global versioned P2P merkle DAG file system - kubo" maintainer="Christopher Brannon " license="MIT, Apache-2.0" @@ -29,5 +28,6 @@ post_install() { vlicense LICENSE-MIT vdoc README.md vdoc CHANGELOG.md + vdoc "${FILESDIR}/README.voidlinux" vsv ipfs } ```
now for the new packages, which replace `fs-repo-migrations`:
fs-repo-11-to-12 ```patch From afe3ade012b0172a4b33244064628dcab50dd62a Mon Sep 17 00:00:00 2001 From: Tiago Carvalho Date: Sat, 17 Dec 2022 21:28:06 +0000 Subject: [PATCH] New package: fs-repo-11-to-12-1.0.2_1 --- .../0001-fs-repo-11-to-12-no-qtls-init.patch | 31 +++++++++++++++++++ srcpkgs/fs-repo-11-to-12/template | 22 +++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 srcpkgs/fs-repo-11-to-12/patches/0001-fs-repo-11-to-12-no-qtls-init.patch create mode 100644 srcpkgs/fs-repo-11-to-12/template diff --git a/srcpkgs/fs-repo-11-to-12/patches/0001-fs-repo-11-to-12-no-qtls-init.patch b/srcpkgs/fs-repo-11-to-12/patches/0001-fs-repo-11-to-12-no-qtls-init.patch new file mode 100644 index 00000000..f21ca95d --- /dev/null +++ b/srcpkgs/fs-repo-11-to-12/patches/0001-fs-repo-11-to-12-no-qtls-init.patch @@ -0,0 +1,31 @@ +diff --git a/fs-repo-11-to-12/vendor/github.com/marten-seemann/qtls-go1-15/unsafe.go b/fs-repo-11-to-12/vendor/github.com/marten-seemann/qtls-go1-15/unsafe.go +index 1bf13d8..94aa684 100644 +--- a/fs-repo-11-to-12/vendor/github.com/marten-seemann/qtls-go1-15/unsafe.go ++++ b/fs-repo-11-to-12/vendor/github.com/marten-seemann/qtls-go1-15/unsafe.go +@@ -1,26 +1,10 @@ + package qtls + + import ( +- "crypto/tls" + "reflect" + "unsafe" + ) + +-func init() { +- if !structsEqual(&tls.ConnectionState{}, &connectionState{}) { +- panic("qtls.ConnectionState doesn't match") +- } +- if !structsEqual(&tls.ClientSessionState{}, &clientSessionState{}) { +- panic("qtls.ClientSessionState doesn't match") +- } +- if !structsEqual(&tls.Config{}, &config{}) { +- panic("qtls.Config doesn't match") +- } +- if !structsEqual(&tls.ClientHelloInfo{}, &clientHelloInfo{}) { +- panic("qtls.ClientHelloInfo doesn't match") +- } +-} +- + func toConnectionState(c connectionState) ConnectionState { + return *(*ConnectionState)(unsafe.Pointer(&c)) + } diff --git a/srcpkgs/fs-repo-11-to-12/template b/srcpkgs/fs-repo-11-to-12/template new file mode 100644 index 00000000..93ff060b --- /dev/null +++ b/srcpkgs/fs-repo-11-to-12/template @@ -0,0 +1,22 @@ +# Template file for 'fs-repo-11-to-12' +pkgname=fs-repo-11-to-12 +version=1.0.2 +revision=1 +_tag=${pkgname}/v${version} +build_style=go +wrksrc="fs-repo-migrations-${pkgname}-v${version}" +build_wrksrc="${pkgname}" +go_import_path="github.com/ipfs/fs-repo-migrations/fs-repo-11-to-12" +short_desc="Tool to upgrade an IPFS repository from version 11 to 12" +maintainer="Orphaned " +license="MIT" +homepage="https://github.com/ipfs/fs-repo-migrations" +distfiles="https://github.com/ipfs/fs-repo-migrations/archive/${_tag}.tar.gz" +checksum=e6d6320e280f3118873dfb194b68681fa2747b7893d99831fa6fa2bbb67ebd71 + +# fix: collect2: fatal error: cannot find 'ld' +export LDFLAGS="-fuse-ld=bfd" + +post_install() { + vlicense ../LICENSE +} -- 2.39.0 ```
fs-repo-12-to-13 ```patch From e37a435c6467187dac7c931ccba51aaace9e29d5 Mon Sep 17 00:00:00 2001 From: Tiago Carvalho Date: Sat, 17 Dec 2022 21:34:38 +0000 Subject: [PATCH] New package: fs-repo-12-to-13-1.0.0_1 --- srcpkgs/fs-repo-12-to-13/template | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 srcpkgs/fs-repo-12-to-13/template diff --git a/srcpkgs/fs-repo-12-to-13/template b/srcpkgs/fs-repo-12-to-13/template new file mode 100644 index 00000000..331b8dd8 --- /dev/null +++ b/srcpkgs/fs-repo-12-to-13/template @@ -0,0 +1,22 @@ +# Template file for 'fs-repo-12-to-13' +pkgname=fs-repo-12-to-13 +version=1.0.0 +revision=1 +_tag=${pkgname}/v${version} +build_style=go +wrksrc="fs-repo-migrations-${pkgname}-v${version}" +build_wrksrc="${pkgname}" +go_import_path="github.com/ipfs/fs-repo-migrations/fs-repo-12-to-13" +short_desc="Tool to upgrade an IPFS repository from version 12 to 13" +maintainer="Orphaned " +license="MIT" +homepage="https://github.com/ipfs/fs-repo-migrations" +distfiles="https://github.com/ipfs/fs-repo-migrations/archive/${_tag}.tar.gz" +checksum=454b32a86efc410d6edfef20726b36472c1d8f11abc60f2f0722d6fa8d65f94b + +# fix: collect2: fatal error: cannot find 'ld' +export LDFLAGS="-fuse-ld=bfd" + +post_install() { + vlicense ../LICENSE +} -- 2.39.0 ```
ipfs-repo-migrations ```patch From 1341ce00d9b3b0c8a0be4e72371f8eb9a7165699 Mon Sep 17 00:00:00 2001 From: Tiago Carvalho Date: Sat, 17 Dec 2022 21:43:42 +0000 Subject: [PATCH] New package: ipfs-migrate-repo-13-1.0.0_1 --- srcpkgs/ipfs-migrate-repo/template | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 srcpkgs/ipfs-migrate-repo/template diff --git a/srcpkgs/ipfs-migrate-repo/template b/srcpkgs/ipfs-migrate-repo/template new file mode 100644 index 00000000..768e3737 --- /dev/null +++ b/srcpkgs/ipfs-migrate-repo/template @@ -0,0 +1,16 @@ +# Template file for 'ipfs-migrate-repo' +pkgname=ipfs-migrate-repo +version=1.0.0 +revision=1 +short_desc="Tool to upgrade an IPFS repository to newer versions" +depends="fs-repo-11-to-12 fs-repo-12-to-13" +maintainer="Orphaned " +license="GPL-2.0-or-later" +homepage="https://github.com/sug0/ipfs-migrate-repo" +distfiles="https://github.com/sug0/ipfs-migrate-repo/archive/v${version}.tar.gz" +checksum=6c2d2e709646b3a615a5a94fce70df5fb0df9742ba7818f5f942f22dd62a48de + +do_install() { + vdoc README.md + vbin ipfs-migrate-repo +} -- 2.39.0 ```
unfortunately, `armv7l-musl` is segfaulting with `fs-repo-11-to-12`, but for some reason `fs-repo-12-to-13` works fine...