You are not logged in.
Taking a look at https://github.com/AladW/aurutils/blob/ … ot#L31-L40, it's neither and more a design issue - only the [options] section from the specified pacman.conf is taken. Should be an easy fix...
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Okay, so apparently I have to rewrite the whole thing to make this work. It also seems this whole chroot stuff works by pure coincidence rather than me knowing what I'm doing.
So - might take a while.
edit: in particular, it seems that local repos are only bind-mounted with arch-nspawn because by aurutils convention they are located in some pacman CacheDir. If such were not the case my guess is it would fail in some way.
https://git.archlinux.org/devtools.git/ … awn.in#n67
edit2: this does not apply to makechrootpkg where manual bind mounts are indeed required. What a joy.
https://git.archlinux.org/devtools.git/ … kg.in#n318
Last edited by Alad (2018-05-20 01:58:27)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Patch: https://paste.xinu.at/1zt7v/
P.S. if someone wants to proofread the updated man page (*looks at a certain wizard hat with expert devtools knowledge*) I'd appreciate it.
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Looks okay I guess...
So it looks like you could then just --bind-ro for anything which follows the pattern:
local_repo_dbdir=$(pacconf --repo $local_repo Server)
dir_to_mount=${local_repo_dbdir#file://}
Possibly filter to see if you're mounting dupes, but it honestly works fine either way.
If one directory does not exist, systemd-nspawn fails on your behalf, but I expect pacman to stop working with 404s first.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Thanks for looking over it. If these descriptions are passable perhaps they could be proposed for inclusion with devtools, instead of documentation for a niche project nobody uses.
I adapted your trick with --bind-ro, though slightly more complicated. Apparently there are people who define Server multiple times in local repos, including http:// stuff for pacserv et al. Thus I used pacini/grep on the pacconf output to get the first file:// entry - probably should bind mount all of them but eh.
Last edited by Alad (2018-05-23 19:34:17)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
manpages for devtools, such a ridiculous notion.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
In any case, merged to master now. @lamarpavel: to achieve what you want create a copy of devtools' pacman-extra.conf, append the llvm-svn repo, then specify the configuration to aur-build. I suppose there's the slight downside that you have to keep your custom config in sync with devtools.
Last edited by Alad (2018-05-23 21:33:00)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
aur build -c -d custom
[sudo] password for solaraquarion:
Failed to parse --bind(-ro)= argument file:///var/cache/pacman/pkg/devtools-20171108-2-any.pkg.tar.xz: Invalid argument
I'm getting this failure after the update to 5.1
Last edited by SolarAquarion (2018-05-29 03:39:43)
Offline
Looks like the file:// prefix isn't stripped for some reason. I guess the pacconf output changed...
Last edited by Alad (2018-05-29 09:01:30)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
It may just have been a problem with devscripts
Offline
@SolarAquarion
>may have been a problem with devscripts
Does this mean you have fixed the issue?
If so how?
Because I am running into the exact same thing...
Last edited by S13ntist (2018-05-29 19:18:56)
Offline
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Looks like the file:// prefix isn't stripped for some reason. I guess the pacconf output changed...
The error comes from devtools, since devtools is broken. The *problem* is that pacconf was never used.
See https://git.archlinux.org/devtools.git/ … 81127b383d
Then upgrade to devtools>=20180528 (currently in the [testing] repository).
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Edit: Sorry, forgot to reload so ignore me. Wanted to say that this comes from arch-nspawn.
Last edited by progandy (2018-05-29 19:45:01)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
Recently I've been getting errors with aursync like this one. It's happened with a handful of packages so far. It seems to be trying to double-create the directory to build the package and it conflicts if there is a file with the same make as the pkg.
$ aursync -u
-> Using [aurutils] repository
==> Resolving dependencies...
-> thunderbird-enigmail 2.0.6-1 -> 2.0.6.1-1
-> yed 1:3.18.0.2-2 -> 1:3.18.1-1
==> Retrieving build files...
From https://aur.archlinux.org/yed
= [up to date] master -> origin/master
From https://aur.archlinux.org/thunderbird-enigmail
= [up to date] master -> origin/master
==> Making package: yed 1:3.18.1-1 (Sat 02 Jun 2018 12:06:25 AM PDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
mkdir: cannot create directory ‘/run/user/1000/dot_cache/aursync/yed/yed’: Not a directory
==> ERROR: An unknown error has occurred. Exiting...
/usr/bin/aurbuild: line 191: 25626 User defined signal 1 PKGDEST="$var_tmp" LC_MESSAGES=C makepkg "${makepkg_args[@]}"
Note that I do have ~/.cache symlinked to /run/user/1000/dot_cache. The packages build just fine manually.
Offline
Sounds like an issue with makepkg. See if you get the same error when building manually?
edit: ok, failure on reading comprehension... try if the following fails
PKGDEST=/run/user/1000/dot_cache/aursync makepkg
Last edited by Alad (2018-06-03 02:07:50)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
PKGDEST=/run/user/1000/dot_cache/aursync makepkg
The package builds just find for me manually with that PKGDEST value set.
Offline
This is the makepkg command run by aurbuild: https://github.com/AladW/aurutils/blob/ … build#L148
Have you logged out since then (intermediate error?) Check:
stat /run/user/1000/dot_cache/aursync/yed/yed
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
I believe I found the issue, makepkg can't handle being called from a symlink path:
~/.cache is symlink to /run/user/1000/dot_cache
$startdir = "$PWD"
$startdir=~/.cache/aursync/yed
download source file "yed" to ~/.cache/aursync/yed/yed
BUILDDIR = $(canonicalize_path $startdir) = /run/user/1000/dot_cache/aursync/yed
BUILDDIR != $startdir
--> BUILDDIR=/run/user/1000/dot_cache/aursync/yed/yed
mkdir $BUILDDIR fails.
Edit: test case:
mkdir -p /tmp/aurbuild/foo
cd /tmp/aurbuild/
ln -s foo link
touch foo/foo
cat >foo/PKGBUILD <<PKGBUILD-end
pkgname=foo
pkgver=1
pkgrel=1
src=(foo)
md5sum=(SKIP)
arch=(any)
build() { false; }
package() { false; }
PKGBUILD-end
cd link
makepkg
Edit: I reported it as FS#58865
Last edited by progandy (2018-06-04 12:44:42)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |
Offline
Thanks for the report!
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Thanks @progandy
I'll be passing AURDEST to aurtools in the mean time:
AURDEST=/run/user/1000/dot_cache/aursync aursync -u
Offline
Hello. Just a small question-according to the manual, aur-sync has --makepkg-conf key, but does it respect /etc/makepkg.conf by default while building in a nspawn container? Maybe I should edit the one located in /usr/share/? Or maybe it's better to specify --makepkg-conf every time?
Offline
No, by default it uses the makepkg.conf shipped with devtools. See: https://github.com/AladW/aurutils/blob/ … root.1#L43
(I'm not sure what you're trying to change, so I can't make a recommendation for either)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Thanks! So it seems like I have to rebuild everything... Is there any easy way to do so? Just doing aur sync -c -u -f --makepkg-conf=<file> <package> does not help. And are there any options to embed some repo-managing options to aurutrils(or maybe it's already able to maintain local repo itself)? Or the only option is installing something like repoctl, removing built packages from local repo and then re-building them?
Offline
I don't understand what you mean by "have to rebuild everything".
And are there any options to embed some repo-managing options to aurutrils(or maybe it's already able to maintain local repo itself)?
It handles the repo-add part. If pkgver hasn't changed, you'll need to pacman -S the new package. See: https://github.com/AladW/aurutils/issue … -398525087
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline