gpo.zugaina.org

Search Portage & Overlays:

sys-apps/fakeroot

A fake root environment by means of LD_PRELOAD and SysV IPC (or TCP) trickery

Screenshots

  • fakeroot-2.1.4
    ~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86
    acl debug nls test

    View      Download      Browse     License: GPL-3   
    Overlay: bentoo
  • fakeroot-1.33
    ~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86
    acl debug nls test

    View      Download      Browse     License: GPL-3   
    Overlay: gentoo
  • fakeroot-1.32.2
    ~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 ~sparc x86
    acl debug nls test

    View      Download      Browse     License: GPL-3   
    Overlay: gentoo

ChangeLog

commit ba223c88c479e91c7739c7576c08b21eed08aa2e
Author: lucascouts <lucascs@protonmail.com>
Date: Mon Sep 7 10:19:29 2026 -0300

fix(5 packages): widen three arch sets, restore a lost pkg_info, drop two redirecting HOMEPAGEs, mod(6 packages): tag what is physically impossible, mod(scripts/gentoo-parity.sh): re-measure A20

The KEYWORDS, HOMEPAGE and DEFINED_PHASES axes, all eleven rows, and none of
them is a documentation question - each one asked whether the overlay CAN do
what ::gentoo does. Five times it could and now does; six times it cannot, for a
reason now recorded. Those three axes hold no ALIGN row at all after this.

WHY KEYWORDS MATTERED HERE. In all seven rows the overlay had FEWER arches than
::gentoo, which runs straight into the project rule: ~arm64 belongs wherever
upstream supports it, and narrowing to ~amd64 is a decision needing a
justification rather than a default. Each was keyworded and put through pkgcheck
before deciding; the tool, not the reading, settled every one.

WIDENED, all three clean under pkgcheck:

dev-util/vulkan-headers + ~sparc. Headers only; nothing compiles.
media-gfx/sane-backends ~amd64 ~arm64 -> the fourteen ::gentoo keywords.
Portable C, and ::gentoo has kept most of them
stable for years.
sys-kernel/linux-firmware same. The package installs blobs; there is nothing
arch-specific to build, and restricting it meant a
ppc or riscv user could not install firmware at all.

REFUSED, and the tool is what refused them:

app-editors/zed + ~arm64 fails NonsolvableDeps. dev-util/claude-agent-acp-plus
and -tui are DEFAULT-ON here and both ship a prebuilt x64 binary
(claude-agent-sdk-linux-x64/claude, node-pty's pty.node), so an arm64 user
would get an uninstallable package out of the box. Arch-guarding the IUSE is
not the fix - that poisons md5-cache. Tagged, with the condition that reopens
it: those two gaining an arm64 build.

app-office/libreoffice + ~arm64 fails on media-libs/libeot, a hard DEPEND
keyworded "amd64 ~riscv x86" in ::gentoo with no arm64 at all. That ceiling
belongs to a package this overlay does not own.

IMPOSSIBLE BY PAYLOAD, measured rather than assumed:

crossover-bin has no ~x86 because this ebuild takes the .deb rather than
::gentoo's generic .bin, and the .deb's control file reads "Architecture:
amd64" - fetched and read, not inferred from the filename.

libreoffice-l10n keywords ~amd64 alone because it unpacks the RPMs the
Document Foundation publishes, and they publish Linux_x86-64 only.

THE OTHER THREE.

nvidia-cuda-toolkit got its pkg_info back, restored from ::gentoo. It prints
CUDACXX, CUDAARCHS, NVCCFLAGS and the rest - exactly what a user reporting a
broken nvcc would be asked for - and "emerge --info dev-util/nvidia-cuda-toolkit"
said nothing useful without it. Lost when the ebuild was forked forward to 13.x,
not dropped on purpose.

mesa's HOMEPAGE was "https://www.mesa3d.org/ https://mesa.freedesktop.org/".
Probed 2026-09-07: both answer 308 and redirect to https://mesa3d.org/, which is
::gentoo's single value. Collapsing onto it loses nothing.

fakeroot keeps tracker.debian.org and is tagged rather than aligned, because
here the overlay is AHEAD: ::gentoo's packages.qa.debian.org answers 301 and
redirects to exactly this URL.

imagemagick's missing unpack phase is not a deleted phase - ::gentoo's comes
from verify-sig.eclass, which this ebuild does not inherit for the SRC_URI
reason already tagged.

Verified. Every md5-cache delta is the intended field and nothing else: three
KEYWORDS strings, one HOMEPAGE, one DEFINED_PHASES gaining "info". pkgcheck
against a worktree at 9ca16f867 is identical on ten of eleven packages once line
numbers and profile counts are normalised. The eleventh, linux-firmware, differs
by which profile its pre-existing VisibleVcsPkg names - that finding comes from
this package being a git-r3 mirror with keywords and predates this commit; the
wider arch set spreads it rather than creating it. The sweep goes 230 rows to
225, ALIGN 59 to 48. --self-test 24/24 with A20 re-measured.

Four md5-cache orphans went with the egencache run - three stale vulkan-headers
snapshots and mesa-26.3.0_pre20260906, all without an ebuild since another
session's bumps.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

commit 94b5101e95a88c220e6368ddfe5dae575863f0aa
Author: lucascouts <lucascs@protonmail.com>
Date: Mon Sep 7 09:45:17 2026 -0300

fix(media-libs/mesa, dev-db/sqlitebrowser): two metadata.xml defects, mod(scripts/gentoo-parity.sh): a package-level axis CAN carry a reason, mod(9 packages): tag the rows that unlocks

The eleven rows left on metadata.xml and files/content were stuck by
construction: both axes were listed as unjustifiable, so every row on them was
ALIGN forever however deliberate the divergence. Two turned out to be real
defects. The other nine needed the guard fixed, not the tree.

THE DESIGN ERROR. PARITY_UNJUSTIFIABLE_AXES was documented as "these can never
be JUSTIFIED either", argued from "the file holds no ebuild code, so it cannot
carry a # BENTOO-DIVERGENCE: tag". That confuses WHERE THE DIFFERENCE IS with
WHERE THE REASON CAN BE WRITTEN. A patch under files/ exists because an ebuild
applies it; a metadata.xml describes a package whose ebuilds sit beside it. The
ebuild is the natural place for the reason and always was.

Mechanically the block was elsewhere anyway: these rows carry the literal
"(package)" where a PV goes, so assign_verdicts looks them up under
"<category>/<pn>-(package)|<axis>", and collect_tags only ever registered the
per-ebuild key "<category>/<pf>|<axis>". No tag could match. collect_tags now
registers both. The array keeps doing the job it should - blocking promotion to
UNDOCUMENTED, which is a claim about ebuild content that a file-level difference
cannot support.

The cost of the old reading was eleven permanently red rows, including
chromium's patched bin-finder.py and thirteen zed USE flag descriptions
::gentoo has no reason to carry. A guard with rows that can never go green is
one people stop reading.

THE TWO REAL DEFECTS, both in metadata.xml and both now gone from the report
rather than reclassified.

media-libs/mesa described five USE flags that no longer exist - d3d9, osmesa,
vdpau, vulkan-overlay, xa - and did NOT describe sysprof, which its IUSE does
have. pkgcheck was reporting both, as UnusedLocalUse and as UnknownUseFlags:
'sysprof' - the second because a flag with no description anywhere is not a
known flag. Both findings are gone.

dev-db/sqlitebrowser had lost the French <longdescription lang="fr"> and <use
lang="fr"> blocks ::gentoo carries. Nothing gained by dropping them; a
francophone user simply lost the translation in the fork. Restored verbatim, so
the file now matches ::gentoo's outside the maintainer block.

THE NINE TAGS. Five metadata.xml where the overlay documents MORE - zed's
thirteen own USE flags, and longdescription/bugs-to/remote-id on act,
foldingathome, fakeroot and minikube (fakeroot's records that the package is a
temporary mirror to delete once ::gentoo reaches 2.x, which has nowhere else to
live). Four files/content, each a deliberate difference: open-vm-tools.initd
gains "use vgauthd" because this overlay ships that service at all; blender's
two find-module patches are ::gentoo's rebased onto a series where upstream
CMake renamed the variables; libcamera's no-automagic patch is much smaller
because upstream de-automagicked most of it in 0.7.x, leaving only gnutls; and
chromium's bin-finder.py carries this overlay's observability work, which cannot
be upstreamed under Gentoo's no-AI-contribution policy.

A08 grows a fifth case for the new rule, because a mechanism with no test is how
the last one broke. The verdict fixture's metadata.xml now differs between its
two sides and its ebuild carries a metadata.xml tag, so package-level=JUSTIFIED
is asserted against a real row. Two mutants kill it: dropping the package-level
key, and blocking UNJUSTIFIABLE axes from JUSTIFIED as well.

Verified. Every md5-cache delta is _md5_ only; two entries also reordered
_eclasses_, checked pair by pair as same names and same hashes. pkgcheck against
a worktree at a67afc170 is identical on ten of eleven packages once line numbers
are normalised, and differs on mesa by exactly the two findings this commit
fixes. The sweep goes 232 rows to 230 with ALIGN 70 -> 59: two closed outright,
nine reclassified. --self-test 24/24.

The deleted md5-cache entry is collateral kept rather than restored:
app-editors/zed-1.20.0_pre20260904-r2 lost its ebuild to another session's bump
in a67afc170 and egencache removed the orphan.

FOUND, NOT FIXED: files/unreferenced now reports two UNDOCUMENTED rows - four
patches no ebuild names, three tdesktop-6.9.3-* and one nodejs-24.11.1-gcc15-ppc,
all naming versions long gone from the tree. They predate this commit; they are
the first UNDOCUMENTED the tree has produced since 2026-09-05, which is the
verdict asking a human to decide. Deleting files is that human's call.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

commit 0d8b24810bf78c7332e256ad1060538c8698d53d
Author: lucascouts <lucascs@protonmail.com>
Date: Sat Sep 5 19:33:18 2026 -0300

mod(www-client/chromium, dev-games/godot, media-libs/{opencv,vulkan-layers}, dev-db/sqlitebrowser, dev-util/{breakpad,mdds}, dev-libs/zxcvbn-c, sys-apps/fakeroot): document 9 PATCHES divergences

All nine are PATCHES rows, so every one was compared by CONTENT rather
than by filename -- the check that separates a real divergence from
sweep noise. Three results were not what the names suggested.

sqlitebrowser's patch is BYTE-IDENTICAL to ::gentoo's
sqlitebrowser-3.13.1_p20250502-no-git.patch. Only the name differs, and
that is deliberate rather than sloppy: this is a snapshot that bumps
often and the autoupdate applier never renames files/, so a PV in the
filename goes stale at the next bump. Documented as intentional instead
of "fixed" by adopting a name that would rot.

godot is the opposite and worse. godot-4.5-scons.patch has ::gentoo's
FILENAME and different CONTENT: ours is the older cut, missing both the
hunk that respects AR (Gentoo bug #977691) and the
platform/linuxbsd/detect.py half. Same name plus different content means
the sweep pairs them and reports a difference forever, and it hides that
we are behind. Tagged with the two ways out named -- rebase ::gentoo's
onto 4.8, or rename ours -- and left for a decision rather than picked
unilaterally.

fakeroot's musl patch also differs in content, not just in name: it is
::gentoo's 1.32.2 patch rebased onto 2.1.4, and its configure-id_t
companion is gone because 2.1.4 fixed that upstream.

The rest are what they look like. breakpad, mdds and opencv each keep
::gentoo's patches byte-identical and add their own on top; chromium,
zxcvbn-c and vulkan-layers carry patches with no counterpart at all.

egencache dropped orphaned md5-cache entries for sqlitebrowser and
vulkan-layers snapshots whose ebuilds are gone.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

commit 05b58fec548990c07507257a21abb82703ccb8ff
Author: lucascouts <lucascs@protonmail.com>
Date: Thu Aug 6 12:15:50 2026 -0300

add(sys-apps/{fakeroot-2.1.4,uutils-coreutils-0.10.0,uutils-coreutils-bin-0.10.0}), mod(.autoupdate/packages.toml)

fakeroot 2.1.4: ::gentoo is on 1.33 (2025) while Debian, where fakeroot is
developed, moved to the 2.x series in July 2026. The tarball is .orig.tar.xz
now; the configure-id_t patch is upstream since 1.35.1 and the musl patch was
rebased down to its faked.c half (the libfakeroot.c half is upstream too).
Autotools is kept over the new meson build because that is where the po4a man
page translations are wired. t.xattr2 is skipped exactly as Debian skips it.
Tests: 16 pass, 1 skip, 0 fail.

uutils-coreutils 0.10.0: temporary mirror. ::gentoo builds it from a
consolidated crate tarball that github.com/gentoo-crate-dist had not published
for this release, so the ~400 crates are listed inline and fetched from
crates.io instead; nothing is self-hosted. cargo.eclass only computes
CARGO_CRATE_URIS, so SRC_URI has to consume it -- the ::gentoo ebuild never
does because its CRATES is empty. Verified by compiling with network-sandbox
on, which proves the block is complete.

uutils-coreutils-bin 0.10.0: not a mirror -- ::gentoo ships no binary variant.
Installs upstream's prebuilt multicall binary with the same uu- prefixed layout
as the from-source package, so the two block each other. glibc builds on
amd64/x86, static musl on arm64/riscv (upstream publishes no glibc tarball for
those). PMS does not know the .tar.zst suffix even in EAPI 8, so unpacker.eclass
handles the docs archive that carries the man pages and completions.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>