You are not logged in.

#1 2026-05-11 10:54:07

Freso
Member
From: Southern Scandinavia
Registered: 2011-09-09
Posts: 48
Website

[SOLVED] Issues with building in a clean chroot

I’ve tried to build in clean chroots multiple times on multiple different occasions, but I’ve yet to succeed, so I’m starting to think I have something finicky somewhere in my setup that somehow interferes with expected functionality? It seems to always come back to not having “write permission for the directory $SRCDEST (/srcdest)” and I’m not sure what I’m doing wrong. Any suggestions for things to try/what to look at? (I’ve also tried to follow the classic way, but it ends up in the same issue with /srcdest.)

> sudo umount /mnt/chroots/arch
> sudo mount --mkdir -t tmpfs -o defaults,size=20G tmpfs /mnt/chroots/arch
> multilib-build -c -r /mnt/chroots/arch
[…]
==> Building in chroot for [multilib] (x86_64)...
==> Synchronizing chroot copy [/mnt/chroots/arch/multilib-x86_64/root] -> [freso]...done
==> Making package: lib32-gstreamer 1.28.2-1 (Mon May 11 12:40:49 2026)
==> Retrieving sources...
  -> Updating gstreamer git repo...
From https://gitlab.freedesktop.org/gstreamer/gstreamer
 * branch                    HEAD       -> FETCH_HEAD
  -> Found 0001-HACK-meson-Disable-broken-tests.patch
==> Validating source files with b2sums...
    gstreamer ... Passed
    0001-HACK-meson-Disable-broken-tests.patch ... Passed
==> Verifying source file signatures with gpg...
    gstreamer git repo ... Passed
==> ERROR: You do not have write permission for the directory $SRCDEST (/srcdest).
    Aborting...
==> ERROR: Build failed, check /mnt/chroots/arch/multilib-x86_64/freso/build
[255]> sudo ls -Ald /mnt/chroots/arch/multilib-x86_64/*/srcdest
drwxr-xr-x 2 freso freso 40 11 maj 12:40 /mnt/chroots/arch/multilib-x86_64/freso/srcdest
> ls -Al /mnt/chroots/arch/multilib-x86_64/*/srcdest
total 0
> ls -Al /mnt/chroots/arch/multilib-x86_64/*/build/
total 0

Last edited by Freso (2026-05-12 21:02:20)


PKGBUILDs: in AUR

Offline

#2 2026-05-11 12:27:43

Lone_Wolf
Administrator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 15,001

Re: [SOLVED] Issues with building in a clean chroot

Devtools scripts use the SRCDEST variable value (and a few others) from your /etc/makepkg.conf .

Please post the contents of that file.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.

clean chroot building not flexible enough ?
Try clean chroot manager by graysky

Offline

#3 2026-05-11 13:37:41

Freso
Member
From: Southern Scandinavia
Registered: 2011-09-09
Posts: 48
Website

Re: [SOLVED] Issues with building in a clean chroot

/etc/makepkg.conf: https://privatebin.net/?622d321daa3a784 … VCLkGSKAxC

The SRCDEST comes from the chroot's makepkg.conf though:

> sudo grep -rF 'SRCDEST' /etc/ /mnt/chroots/arch/multilib-x86_64/*/etc/
/etc/makepkg.conf:SRCDEST=/var/cache/makepkg/sources
/mnt/chroots/arch/multilib-x86_64/freso/etc/makepkg.conf:#SRCDEST=/home/sources
/mnt/chroots/arch/multilib-x86_64/freso/etc/makepkg.conf:SRCDEST=/srcdest
/mnt/chroots/arch/multilib-x86_64/root/etc/makepkg.conf:#SRCDEST=/home/sources

head -v -n -0 /mnt/chroots/arch/multilib-x86_64/*/etc/makepkg.conf: https://privatebin.net/?5c7ca198e36cd58 … DfCvkCvyWX


PKGBUILDs: in AUR

Offline

#4 2026-05-11 13:44:32

gromit
Administrator
From: Germany
Registered: 2024-02-10
Posts: 1,528
Website

Re: [SOLVED] Issues with building in a clean chroot

Any reason you're not using pkgctl build?

Offline

#5 2026-05-11 15:32:28

Freso
Member
From: Southern Scandinavia
Registered: 2011-09-09
Posts: 48
Website

Re: [SOLVED] Issues with building in a clean chroot

Not any specific reason. I’ve tried multiple different approaches, they all (incl. `pkgctl build`) end up with “==> ERROR: You do not have write permission for the directory $SRCDEST (/srcdest).”

> sudo rm -rf /var/lib/archbuild/*
> pkgctl build
==> Updating pacman database cache
:: Synchronizing package databases...
 core downloading...
 extra downloading...
 multilib downloading...
==> Building lib32-gstreamer
  ->   repo: extra
  ->   arch: x86_64
  -> worker: freso-1
==> Building lib32-gstreamer for [extra] (x86_64)
==> Creating chroot for [extra] (x86_64)...
Create subvolume '/var/lib/archbuild/extra-x86_64/root'
==> Creating install root at /var/lib/archbuild/extra-x86_64/root
==> Installing packages to /var/lib/archbuild/extra-x86_64/root
:: Synchronizing package databases...
 core downloading...
 extra downloading...
resolving dependencies...
looking for conflicting packages...

Package (152)                 New Version                 Net Change
[…]
:: Proceed with installation? [Y/n]
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
installing […]
==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> [freso-1]...done
==> Making package: lib32-gstreamer 1.28.2-1 (Mon May 11 17:22:19 2026)
==> Retrieving sources...
  -> Updating gstreamer git repo...
From https://gitlab.freedesktop.org/gstreamer/gstreamer
 * branch                  HEAD       -> FETCH_HEAD
  -> Found 0001-HACK-meson-Disable-broken-tests.patch
==> Validating source files with b2sums...
    gstreamer ... Passed
    0001-HACK-meson-Disable-broken-tests.patch ... Passed
==> Verifying source file signatures with gpg...
    gstreamer git repo ... Passed
==> ERROR: You do not have write permission for the directory $SRCDEST (/srcdest).
    Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/freso-1/build
[255]> ls -Ald /var/lib/archbuild/*/*/srcdest
drwxr-xr-x 1 freso freso 0 May 11 17:22 /var/lib/archbuild/extra-x86_64/freso-1/srcdest

PKGBUILDs: in AUR

Offline

#6 2026-05-11 19:54:37

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,480

Re: [SOLVED] Issues with building in a clean chroot

Check /usr/bin/makepkg ~line 1218 will be the invoking

ensure_writable_dir "SRCDEST" "$SRCDEST"

Prepend

…
id; echo $SRCDEST; stat $SRCDEST
if ! ensure_writable_dir "SRCDEST" "$SRCDEST" ; then
…

Offline

#7 2026-05-11 20:12:59

NuSkool
Member
Registered: 2015-03-23
Posts: 293

Re: [SOLVED] Issues with building in a clean chroot

Throwing at the wall,

I've ran into alc permission settings that proved difficult to troubleshoot...
IIRC, between the different permission settings, whichever is the most restrictive will override other settings.

Consider running 'getfacl' on the problematic dir after a write permission failure.


Scripts I Use                                                 :  https://github.com/Cody-Learner
grep -m1 'model name' /proc/cpuinfo    : AMD Ryzen 7 8745HS w/ Radeon 780M Graphics
grep -m1 'model name' /proc/cpuinfo    : Intel(R) N95
grep -m1 'model name' /proc/cpuinfo    : AMD Ryzen 5 PRO 2400GE w/ Radeon Vega Graphics

Offline

#8 2026-05-12 07:52:55

Freso
Member
From: Southern Scandinavia
Registered: 2011-09-09
Posts: 48
Website

Re: [SOLVED] Issues with building in a clean chroot

seth wrote:

Prepend […]

Seems like this (failing) write permission check happens later on?

NuSkool wrote:

Consider running 'getfacl' on the problematic dir after a write permission failure.

Am I missing something or does `getfacl` seem to not provide any information that wasn’t already provided by the `ls -Ald` in the first post?

> pkgctl build
==> Updating pacman database cache
:: Synchronizing package databases...
 core downloading...
 extra downloading...
 multilib downloading...
==> Building lib32-gstreamer
  ->   repo: extra
  ->   arch: x86_64
  -> worker: freso-1
==> Building lib32-gstreamer for [extra] (x86_64)
:: Synchronizing package databases...
 core downloading...
 extra downloading...
:: Starting full system upgrade...
 there is nothing to do
==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> [freso-1]...done
uid=1000(freso) gid=1000(freso) groups=1000(freso),7(lp),10(wheel),14(uucp),50(games),54(lock),91(video),92(audio),93(optical),95(storage),97(input),98(power),100(users),977(seat),979(realtime),1001(plugdev),1003(ssh-user)
/var/cache/makepkg/sources
  File: /var/cache/makepkg/sources
  Size: 58072           Blocks: 0          IO Block: 4096   directory
Device: 0,94    Inode: 410         Links: 1
Access: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (   10/   wheel)
Access: 2015-04-20 16:02:21.264663467 +0200
Modify: 2026-05-11 13:03:08.561220554 +0200
Change: 2026-05-11 13:03:08.561220554 +0200
 Birth: 1970-01-01 01:00:00.000000000 +0100
==> Making package: lib32-gstreamer 1.28.2-1 (Tue May 12 09:44:47 2026)
==> Retrieving sources...
  -> Updating gstreamer git repo...
remote: Enumerating objects: 4629, done.
remote: Counting objects: 100% (2000/2000), done.
remote: Compressing objects: 100% (596/596), done.
remote: Total 4629 (delta 1580), reused 1635 (delta 1389), pack-reused 2629 (from 1)
Receiving objects: 100% (4629/4629), 9.59 MiB | 8.27 MiB/s, done.
Resolving deltas: 100% (3257/3257), completed with 433 local objects.
From https://gitlab.freedesktop.org/gstreamer/gstreamer
 * branch                  HEAD       -> FETCH_HEAD
  -> Found 0001-HACK-meson-Disable-broken-tests.patch
==> Validating source files with b2sums...
    gstreamer ... Passed
    0001-HACK-meson-Disable-broken-tests.patch ... Passed
==> Verifying source file signatures with gpg...
    gstreamer git repo ... Passed
==> ERROR: You do not have write permission for the directory $SRCDEST (/srcdest).
    Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/freso-1/build
[255]> getfacl /var/lib/archbuild/extra-x86_64/*/srcdest
getfacl: Removing leading '/' from absolute path names
# file: var/lib/archbuild/extra-x86_64/freso-1/srcdest
# owner: freso
# group: freso
user::rwx
group::r-x
other::r-x

PKGBUILDs: in AUR

Offline

#9 2026-05-12 09:22:26

GerBra
Forum Fellow
From: Bingen/Germany
Registered: 2007-05-10
Posts: 273

Re: [SOLVED] Issues with building in a clean chroot

//Edit: ignore it
I forgot that modified ACL's would be indicated with a '+' sign  by 'ls -l' if these are set.

Am I missing something or does `getfacl` seem to not provide any information that wasn’t already provided by the `ls -Ald` in the first post?

You miss something ;-)
man ls
'-A' means only "do not list implied . and .." and make no sense in combination with -d

It has nothing to do with AccessControlLists(ACL) what getfacl provide.

//Edit:
Behavior of  'ls -A' try

ls -al | head -4
ls -Al | head -4

Last edited by GerBra (2026-05-12 09:46:01)


My avatar: "It's not just a toilet... a FERGUSON. The King of bowls. Sit down and give me your best shot." Al Bundy

Offline

#10 2026-05-12 09:47:01

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,480

Re: [SOLVED] Issues with building in a clean chroot

There however seem no special entries in the list.

Is any other package than gstreamer ?
Add

set -x

before

if (( !REPKG )); then

~ line 1477

Offline

#11 2026-05-12 14:26:22

Freso
Member
From: Southern Scandinavia
Registered: 2011-09-09
Posts: 48
Website

Re: [SOLVED] Issues with building in a clean chroot

I added the `set -x` before the `mkdir` and `chmod` commands (and doing it from/with another package to show that it's the same regardless of package):

> pkgctl build
==> Updating pacman database cache
:: Synchronizing package databases...
 core downloading...
 extra downloading...
 multilib downloading...
==> Building librivox-checker
  ->   repo: extra
  ->   arch: x86_64
  -> worker: freso-1
==> Building librivox-checker for [extra] (x86_64)
:: Synchronizing package databases...
 core downloading...
 extra downloading...
:: Starting full system upgrade...
 there is nothing to do
==> Building in chroot for [extra] (x86_64)...
==> Synchronizing chroot copy [/var/lib/archbuild/extra-x86_64/root] -> [freso-1]...done
uid=1000(freso) gid=1000(freso) groups=1000(freso),7(lp),10(wheel),14(uucp),50(games),54(lock),91(video),92(audio),93(optical),95(storage),97(input),98(power),100(users),977(
seat),979(realtime),1001(plugdev),1003(ssh-user)
/var/cache/makepkg/sources
  File: /var/cache/makepkg/sources
  Size: 58072           Blocks: 0          IO Block: 4096   directory
Device: 0,71    Inode: 410         Links: 1
Access: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (   10/   wheel)
Access: 2015-04-20 16:02:21.264663467 +0200
Modify: 2026-05-11 13:03:08.561220554 +0200
Change: 2026-05-11 13:03:08.561220554 +0200
 Birth: 1970-01-01 01:00:00.000000000 +0100
==> Making package: librivox-checker 1.2alpha1-1 (Tue May 12 16:17:53 2026)
+ mkdir -p /tmp/makechrootpkg.4jBoeX5k43/librivox-checker/src
+ chmod a-s /tmp/makechrootpkg.4jBoeX5k43/librivox-checker/src
+ ((  !REPKG  ))
+ ((  NOEXTRACT && ! VERIFYSOURCE  ))
+ download_sources
+ local netfile all_sources
+ local get_source_fn=get_all_sources_for_arch get_vcs=1
++ gettext 'Retrieving sources...'
+ msg 'Retrieving sources...'
+ ((  QUIET  ))
+ local 'mesg=Retrieving sources...'
+ shift
+ printf $'\E[1m\E[32m==>\E[m\017\E[1m Retrieving sources...\E[m\017\\n'
==> Retrieving sources...
+ true
+ case $1 in
+ break
+ get_all_sources_for_arch all_sources
+ local aggregate l
+ array_build l source
+ local dest=l src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'l=()'
++ l=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''l[0]'\'' %s "${source[0]}";'
++ printf -v 'l[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ aggregate+=("${l[@]}")
+ array_build l source_x86_64
+ local dest=l src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ array_build all_sources aggregate
+ local dest=all_sources src=aggregate i keys values
+ declare -p aggregate
+ eval 'keys=("${!aggregate[@]}")'
++ keys=("${!aggregate[@]}")
+ eval 'all_sources=()'
++ all_sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''all_sources[0]'\'' %s "${aggregate[0]}";'
++ printf -v 'all_sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ for netfile in "${all_sources[@]}"
+ pushd /var/cache/makepkg/sources
++ get_protocol librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *://* ]]
++ local proto=https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ proto=https
++ printf '%s\n' https
+ local proto=https
+ declare -f download_https
+ download_file librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ local netfile=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ get_filepath librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+++ get_filename librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+++ local netfile=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *::* ]]
+++ printf '%s\n' librivox-checker-1.2-alpha-1.tar.gz
+++ return
++ local file=librivox-checker-1.2-alpha-1.tar.gz
+++ get_protocol librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *://* ]]
+++ local proto=https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+++ proto=https
+++ printf '%s\n' https
++ local proto=https
++ case $proto in
++ [[ -f /home/freso/.cache/aurman/librivox-checker/librivox-checker-1.2-alpha-1.tar.gz ]]
++ [[ -f /var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz ]]
++ file=/var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz
++ printf '%s\n' /var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz
+ local filepath=/var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz
+ [[ -n /var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz ]]
++ gettext 'Found %s'
+ msg2 'Found %s' librivox-checker-1.2-alpha-1.tar.gz
+ ((  QUIET  ))
+ local 'mesg=Found %s'
+ shift
+ printf $'\E[1m\E[34m  ->\E[m\017\E[1m Found %s\E[m\017\\n' librivox-checker-1.2-alpha-1.tar.gz
  -> Found librivox-checker-1.2-alpha-1.tar.gz
+ return
+ popd
+ check_source_integrity
+ ((  SKIPCHECKSUMS && SKIPPGPCHECK  ))
+ ((  SKIPCHECKSUMS  ))
+ ((  SKIPPGPCHECK  ))
+ check_checksums
+ local integ a
+ declare -A correlation
+ ((  SKIPCHECKSUMS  ))
+ ((  1  ))
+ correlation['source']=1
+ case $1 in
+ array_build _ source_x86_64
+ local dest=_ src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums ck
+ integrity_sums=()
+ sources=()
+ local integ=ck arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums cksums
+ local dest=integrity_sums src=cksums i keys values
+ declare -p cksums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums ck x86_64
+ integrity_sums=()
+ sources=()
+ local integ=ck arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums cksums_x86_64
+ local dest=integrity_sums src=cksums_x86_64 i keys values
+ declare -p cksums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums md5
+ integrity_sums=()
+ sources=()
+ local integ=md5 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums md5sums
+ local dest=integrity_sums src=md5sums i keys values
+ declare -p md5sums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums md5 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=md5 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums md5sums_x86_64
+ local dest=integrity_sums src=md5sums_x86_64 i keys values
+ declare -p md5sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums sha1
+ integrity_sums=()
+ sources=()
+ local integ=sha1 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums sha1sums
+ local dest=integrity_sums src=sha1sums i keys values
+ declare -p sha1sums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums sha1 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=sha1 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums sha1sums_x86_64
+ local dest=integrity_sums src=sha1sums_x86_64 i keys values
+ declare -p sha1sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums sha224
+ integrity_sums=()
+ sources=()
+ local integ=sha224 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums sha224sums
+ local dest=integrity_sums src=sha224sums i keys values
+ declare -p sha224sums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums sha224 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=sha224 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums sha224sums_x86_64
+ local dest=integrity_sums src=sha224sums_x86_64 i keys values
+ declare -p sha224sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums sha256
+ integrity_sums=()
+ sources=()
+ local integ=sha256 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums sha256sums
+ local dest=integrity_sums src=sha256sums i keys values
+ declare -p sha256sums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums sha256 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=sha256 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums sha256sums_x86_64
+ local dest=integrity_sums src=sha256sums_x86_64 i keys values
+ declare -p sha256sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums sha384
+ integrity_sums=()
+ sources=()
+ local integ=sha384 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums sha384sums
+ local dest=integrity_sums src=sha384sums i keys values
+ declare -p sha384sums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums sha384 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=sha384 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums sha384sums_x86_64
+ local dest=integrity_sums src=sha384sums_x86_64 i keys values
+ declare -p sha384sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums sha512
+ integrity_sums=()
+ sources=()
+ local integ=sha512 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums sha512sums
+ local dest=integrity_sums src=sha512sums i keys values
+ declare -p sha512sums
+ return 1
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  0 == 0 && 1 == 0  ))
+ ((  0 == 1  ))
+ ((  0  ))
+ return 1
+ case $1 in
+ verify_integrity_sums sha512 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=sha512 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums sha512sums_x86_64
+ local dest=integrity_sums src=sha512sums_x86_64 i keys values
+ declare -p sha512sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ for integ in "${known_hash_algos[@]}"
+ verify_integrity_sums b2
+ integrity_sums=()
+ sources=()
+ local integ=b2 arch= integrity_sums sources srcname
+ [[ -n '' ]]
+ array_build integrity_sums b2sums
+ local dest=integrity_sums src=b2sums i keys values
+ declare -p b2sums
+ eval 'keys=("${!b2sums[@]}")'
++ keys=("${!b2sums[@]}")
+ eval 'integrity_sums=()'
++ integrity_sums=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''integrity_sums[0]'\'' %s "${b2sums[0]}";'
++ printf -v 'integrity_sums[0]' %s 9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5
+ srcname=source
+ array_build sources source
+ local dest=sources src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'sources=()'
++ sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''sources[0]'\'' %s "${source[0]}";'
++ printf -v 'sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ ((  1 == 0 && 1 == 0  ))
+ ((  1 == 1  ))
++ gettext 'Validating %s files with %s...'
+ msg 'Validating %s files with %s...' source b2sums
+ ((  QUIET  ))
+ local 'mesg=Validating %s files with %s...'
+ shift
+ printf $'\E[1m\E[32m==>\E[m\017\E[1m Validating %s files with %s...\E[m\017\\n' source b2sums
==> Validating source files with b2sums...
+ local idx errors=0
+ (( idx = 0 ))
+ (( idx < 1 ))
+ verify_integrity_one librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz b2 9944a01941cc9f0891b7bc0a6cd88becc7c1
8ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5
+ local source_name=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz integ=b2 expectedsum=9944a01941cc9f0891b7b
c0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5 file proto realsum
++ get_filename librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ local netfile=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *::* ]]
++ printf '%s\n' librivox-checker-1.2-alpha-1.tar.gz
++ return
+ file=librivox-checker-1.2-alpha-1.tar.gz
+ printf '    %s ... ' librivox-checker-1.2-alpha-1.tar.gz
    librivox-checker-1.2-alpha-1.tar.gz ... + [[ 9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927
ab5 = SKIP ]]
++ get_protocol librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *://* ]]
++ local proto=https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ proto=https
++ printf '%s\n' https
+ proto=https
+ declare -f calc_checksum_https
++ calc_checksum_file librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz b2
++ local netfile=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz integ=b2 ret=0 file sum
+++ get_filepath librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++++ get_filename librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++++ local netfile=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *::* ]]
++++ printf '%s\n' librivox-checker-1.2-alpha-1.tar.gz
++++ return
+++ local file=librivox-checker-1.2-alpha-1.tar.gz
++++ get_protocol librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *://* ]]
++++ local proto=https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++++ proto=https
++++ printf '%s\n' https
+++ local proto=https
+++ case $proto in
+++ [[ -f /home/freso/.cache/aurman/librivox-checker/librivox-checker-1.2-alpha-1.tar.gz ]]
+++ [[ -f /var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz ]]
+++ file=/var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz
+++ printf '%s\n' /var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz                                                                               16:17 [52/1895]
++ file=/var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz
+++ b2sum /var/cache/makepkg/sources/librivox-checker-1.2-alpha-1.tar.gz
++ sum='9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5  /var/cache/makepkg/sources/librivox-
checker-1.2-alpha-1.tar.gz'
++ sum=9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5
++ printf %s 9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5
++ return 0
+ realsum=9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5
+ [[ 9944a01941cc9f0891b7bc0a6cd88becc7c18ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5 != 9944a01941cc9f0891b7bc0a6cd88becc7c18
ee9e94f49994fac4de6a480fbeb21cf56f1f402399a1c38efecc34f502be903f9218254bce87d0929e6b0927ab5 ]]
++ gettext Passed
+ printf '%s\n' Passed
Passed
+ return 0
+ (( idx++  ))
+ (( idx < 1 ))
+ ((  errors  ))
+ unset 'correlation[source]'
+ case $1 in
+ verify_integrity_sums b2 x86_64
+ integrity_sums=()
+ sources=()
+ local integ=b2 arch=x86_64 integrity_sums sources srcname
+ [[ -n x86_64 ]]
+ array_build integrity_sums b2sums_x86_64
+ local dest=integrity_sums src=b2sums_x86_64 i keys values
+ declare -p b2sums_x86_64
+ return 1
+ srcname=source_x86_64
+ array_build sources source_x86_64
+ local dest=sources src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ ((  0 == 0 && 0 == 0  ))
+ return 1
+ ((  0  ))
+ check_pgpsigs
+ ((  SKIPPGPCHECK  ))
+ source_has_signatures
+ local netfile all_sources proto
+ get_all_sources_for_arch all_sources
+ local aggregate l
+ array_build l source
+ local dest=l src=source i keys values
+ declare -p source
+ eval 'keys=("${!source[@]}")'
++ keys=("${!source[@]}")
+ eval 'l=()'
++ l=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''l[0]'\'' %s "${source[0]}";'
++ printf -v 'l[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ aggregate+=("${l[@]}")
+ array_build l source_x86_64
+ local dest=l src=source_x86_64 i keys values
+ declare -p source_x86_64
+ return 1
+ array_build all_sources aggregate
+ local dest=all_sources src=aggregate i keys values
+ declare -p aggregate
+ eval 'keys=("${!aggregate[@]}")'
++ keys=("${!aggregate[@]}")
+ eval 'all_sources=()'
++ all_sources=()
+ for i in "${keys[@]}"
+ values+=("printf -v '$dest[$i]' %s \"\${$src[$i]}\";")
+ eval 'printf -v '\''all_sources[0]'\'' %s "${aggregate[0]}";'
++ printf -v 'all_sources[0]' %s librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
+ for netfile in "${all_sources[@]}"
++ get_protocol librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = *://* ]]
++ local proto=https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ proto=https
++ printf '%s\n' https
+ proto=https
++ get_uri_query librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ local netfile=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ local query=librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz
++ [[ librivox-checker-1.2-alpha-1.tar.gz::https://github.com/CGJennings/librivox-checker/archive/v1.2-alpha-1.tar.gz = librivox\-checker\-1\.2\-alpha\-1\.tar\.gz\:\:https\:/
/github\.com/CGJennings/librivox\-checker/archive/v1\.2\-alpha\-1\.tar\.gz ]]
++ unset query
++ query=
++ printf '%s\n' ''
+ query=
+ [[ librivox-checker-1.2-alpha-1.tar.gz = *.@(sig?(n)|asc) ]]
+ declare -f verify_https_signature
+ return 1
+ return 0
+ ((  VERIFYFUNC  ))
+ ((  VERIFYSOURCE  ))
+ exit 0
+ clean_up
+ local EXIT_CODE=0
+ ((  INFAKEROOT  ))
+ [[ -p '' ]]
+ ((  (EXIT_CODE == E_OK || EXIT_CODE == E_INSTALL_FAILED) && BUILDPKG && CLEANUP  ))
+ remove_deps
+ ((  ! RMDEPS  ))
+ return 0
+ exit 0
==> ERROR: You do not have write permission for the directory $SRCDEST (/srcdest).
    Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/freso-1/build
[255]>

PKGBUILDs: in AUR

Offline

#12 2026-05-12 20:02:29

NuSkool
Member
Registered: 2015-03-23
Posts: 293

Re: [SOLVED] Issues with building in a clean chroot

I duplicated your commands to test build 'lib32-gstreamer' successfully on my system.

Note my local /etc/makepkg.conf:'SRCDEST' is still commented out, whereas you've set it.

/etc/makepkg.conf:SRCDEST=/var/cache/makepkg/sources

[jeff@Arch2025p04 ~]$ sudo grep -rF 'SRCDEST' /etc/ /mnt/chroots/arch/multilib-x86_64/*/etc/
/etc/aurutils/makepkg-x86_64.conf:#SRCDEST=/home/sources

/etc/makepkg.conf:#SRCDEST=/home/sources

/etc/makepkg.conf.pnew+spaces-2025-12-13:#SRCDEST=/home/sources
/mnt/chroots/arch/multilib-x86_64/jeff/etc/makepkg.conf:#SRCDEST=/home/sources
/mnt/chroots/arch/multilib-x86_64/jeff/etc/makepkg.conf:SRCDEST=/srcdest
/mnt/chroots/arch/multilib-x86_64/root/etc/makepkg.conf:#SRCDEST=/home/sources

Last edited by NuSkool (2026-05-12 20:03:46)


Scripts I Use                                                 :  https://github.com/Cody-Learner
grep -m1 'model name' /proc/cpuinfo    : AMD Ryzen 7 8745HS w/ Radeon 780M Graphics
grep -m1 'model name' /proc/cpuinfo    : Intel(R) N95
grep -m1 'model name' /proc/cpuinfo    : AMD Ryzen 5 PRO 2400GE w/ Radeon Vega Graphics

Offline

#13 2026-05-12 20:03:58

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 75,480

Re: [SOLVED] Issues with building in a clean chroot

+ exit 0
==> ERROR: You do not have write permission for the directory $SRCDEST (/srcdest).
    Aborting...

It's not from makepkg?
vim /usr/bin/pkgctl, add "set -x" below "set -e"
Be ready for this to produce a metric shit-ton of text, so best "pkgctl … |& tee /tmp/wtf.txt"

Edit: but first test commenting SRCDEST and see where that leads you (also into which directory)

Last edited by seth (2026-05-12 20:05:57)

Offline

#14 2026-05-12 21:01:52

Freso
Member
From: Southern Scandinavia
Registered: 2011-09-09
Posts: 48
Website

Re: [SOLVED] Issues with building in a clean chroot

omg. commenting SRCDEST in (root, not chroot) /etc/makepkg.conf made `multilib-build -c -r /mnt/chroots/arch` build everything fine (i have /var mounted nosuid, so /var/lib/archbuild/ chroot building won’t work). “write permission for the directory $SRCDEST (/srcdest)” could really be more helpful ?

thank you all!


PKGBUILDs: in AUR

Offline

#15 2026-05-12 21:13:51

NuSkool
Member
Registered: 2015-03-23
Posts: 293

Re: [SOLVED] Issues with building in a clean chroot

To me, the quote below indicate user freso is a member of wheel, so should have write permission?
However, are these results possibly skewed or irrelevant from running through devtools scripts using pkgbuild and nspawn?
Is it possible the wheel group permission is not being honored in the container?
I'm also thinking about builduser's potential role in this.

I'd consider looking into verifying who the user is, and add write permission for <whoever is verified> via an ACL to /var/cache/makepkg/sources.

uid=1000(freso) gid=1000(freso) groups=1000(freso),7(lp),10(wheel),14(uucp),50(games),54(lock),91(video),92(audio),93(optical),95(storage),97(input),98(power),100(users),977(
seat),979(realtime),1001(plugdev),1003(ssh-user)
/var/cache/makepkg/sources
  File: /var/cache/makepkg/sources
  Size: 58072           Blocks: 0          IO Block: 4096   directory
Device: 0,71    Inode: 410         Links: 1
Access: (0775/drwxrwxr-x)  Uid: (    0/    root)   Gid: (   10/   wheel)
Access: 2015-04-20 16:02:21.264663467 +0200
Modify: 2026-05-11 13:03:08.561220554 +0200

Add info:
If you go down the ACL path, AFAIK it'll require all the dir's in path  /var/cache/makepkg/sources have the x bit set.

This entire post is assuming you'd like to continue using your defined SRCDEST path.

Last edited by NuSkool (2026-05-12 21:43:00)


Scripts I Use                                                 :  https://github.com/Cody-Learner
grep -m1 'model name' /proc/cpuinfo    : AMD Ryzen 7 8745HS w/ Radeon 780M Graphics
grep -m1 'model name' /proc/cpuinfo    : Intel(R) N95
grep -m1 'model name' /proc/cpuinfo    : AMD Ryzen 5 PRO 2400GE w/ Radeon Vega Graphics

Offline

Board footer

Powered by FluxBB