From 60a20351c3abebf8c91793c011d8c71f3b63fed4 Mon Sep 17 00:00:00 2001 From: John Sebastian Peterson Date: Tue, 23 Sep 2025 14:09:20 +0300 Subject: [PATCH] dpkg: another hard link removed for debian sid packets already put this in gpkg folder here also if it gets lost the reason I notice this now is because for last ten years hardly any one has used debian in termux apparently. the debian arm64 repo is at least five years old maybe ten. R works out of the box with no error. dotnet worked for years probably but i only began using this last year when I could not run a dotnet app the termux packets don't use hard links and are not affected by this # hard link should fall back to soft link apps should be robust not fail on meaningless limitation this has nothing to do with android and should not be behind a pre compilation flag. any system could have this limit all builds should fall back to soft links before error is produced # my debian apt works again but proot repo is needed I managed to break my debian root by using different status files for dpkg and apt. but I fixed it now and can install again. R is what I need more than anything and it installs now with no error in debian Sid also called unstable repo it should be in /var/lib/dpkg/status but my dpkg build was using /data/data/... instead . so apt would just install everything over and over and never be satisfied I have proposed a new proot folder for this specific purpose to get rid of /data/data --- packages/dpkg/another-hardlink.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 packages/dpkg/another-hardlink.patch diff --git a/packages/dpkg/another-hardlink.patch b/packages/dpkg/another-hardlink.patch new file mode 100644 index 00000000000000..95f421574d35b3 --- /dev/null +++ b/packages/dpkg/another-hardlink.patch @@ -0,0 +1,11 @@ +--- archives.c 2025-09-22 12:42:56.058534783 +0300 ++++ src/src/main/archives.c 2025-09-22 12:43:12.130534772 +0300 +@@ -434,7 +434,7 @@ + if (linknode->flags & (FNNF_DEFERRED_RENAME | FNNF_NEW_CONFF)) + varbuf_add_str(&hardlinkfn, DPKGNEWEXT); + varbuf_end_str(&hardlinkfn); +- if (link(hardlinkfn.buf, path)) ++ if (symlink(hardlinkfn.buf, path)) + ohshite(_("error creating hard link '%.255s'"), te->name); + namenode->newhash = linknode->newhash; + debug(dbg_eachfiledetail, "tarobject hardlink digest=%s", namenode->newhash);