alexheretic / aurto Goto Github PK
View Code? Open in Web Editor NEWArch Linux AUR tool for managing an auto-updating local 'aurto' package repository
License: MIT License
Arch Linux AUR tool for managing an auto-updating local 'aurto' package repository
License: MIT License
In order to use aurto, the repo HAS to be named "aurto", and this is hard-coded into the program, can this be changed to use the value from a config?
mullvad-vpn
currently doesn't build in a clean chroot because it depends on rpm-tools
, which has an optional dependency on lmdb
when it should be a hard dependency. This caused all other updated packages in the repo to be held back.
aurto remove mullvad-vpn
fixed the issue for now, but it seems like a bug if one failed package keeps other good packages from updating.
See discussion in #30
Hide build output if successful to reduce noise in logs & simplify cli output
I got this notification from AUR. Why?
freswa [1] deleted aurto [2].
You will no longer receive notifications about this package.
[1] https://aur.archlinux.org/account/freswa/
[2] https://aur.archlinux.org/pkgbase/aurto/
aurto v0.9.10
$ aurto add downgrade
aurto: Checking maintainer trust... ✓
aurto: Running: aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf downgrade
ERROR: Failed to install all packages
==> Using [aurto] repository
-> downgrade: (none) -> 8.0.0-1
==> Retrieving package files
Cloning into 'downgrade'...
==> Creating install root at /var/lib/aurbuild/armv7l/root
==> Installing packages to /var/lib/aurbuild/armv7l/root
:: Synchronizing package databases...
error: failed retrieving file 'core.db' from mirror.archlinuxarm.org : The requested URL returned error: 404
error: failed to update core (failed to retrieve some files)
error: failed retrieving file 'extra.db' from mirror.archlinuxarm.org : The requested URL returned error: 404
error: failed to update extra (failed to retrieve some files)
error: failed retrieving file 'community.db' from mirror.archlinuxarm.org : The requested URL returned error: 404
error: failed to update community (failed to retrieve some files)
error: failed retrieving file 'multilib.db' from mirror.archlinuxarm.org : The requested URL returned error: 404
error: failed to update multilib (failed to retrieve some files)
downloading aurto.db...
error: failed to synchronize all databases
==> ERROR: Failed to install packages to new root
==> ERROR: Failed to install all packages
`aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf downgrade` failed with exit code 255 ✗
$ sudo pacman -Sy
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
alarm is up to date
aur is up to date
aurto is up to date
$ cat /etc/pacman.d/mirrorlist
Server = http://mirror.archlinuxarm.org/$arch/$repo
I only have this issue on my raspberry pi 2. No issue on my desktop.
With makepkg you can append the argument --ignore-arch
, with aur-utils, you can append the argument -A
. Is this feature planned? A the moment, I have to edit the source code and add the option -A
, whenever aur-utils is run.
My repo is running on Arch Linux Arm, Raspberry Pi 4, with an aarch64 kernel. So many aur packages don't have official support for aarch64, but builds and runs fine, w/o any issues.
Currently aurto doesn't seem to recognise packages in the multilib repo, so fails to build all AUR packages that depend on them (e.g. openmpt→wine; air-for-steam→steam).
I had some issues with my aurto Server that I couldn't figure out so I installed from scratch.
When getting to the step aurto add aurto
it would fail because it couldn't statisfy the dependency "aurutils" from the repos.
It took me a while to figure out that the pacman config in the chroot is now pulled from /etc/aurto/pacman-chroot.conf.
After addding the aurto repo to that file (including /etc/pacman.d/aurto wont work since that isn't accessible in the chroot) adding aurto works as expected.
Maybe it makes sense to add the aurto repo to the /etc/aurto/pacman-chroot.conf on aurto init.
Hello,
i use manjaro and i wanted to try auroto.
I installed with "paru -S aurto"
then "aurto init"
then i try "aurto add aurto" and get errors and i dont now why.
aurto add aurto aurto: Checking maintainer trust... ✓ aurto: Running: aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf --pacman-conf=/etc/aurto/pacman-chroot.conf aurto Retrieving package files Running aur chroot --create --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/a Retrieving package files Running aur chroot --update --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/a Retrieving package files error: failed retrieving file 'core.db' from mirror.tuchola-dc.pl : The requested URL returned Retrieving package files error: failed retrieving file 'core.db' from mirror.math.princeton.edu : The requested URL ret Retrieving package files error: failed retrieving file 'core.db' from repo.ialab.dsu.edu : The requested URL returned e Retrieving package files error: failed retrieving file 'core.db' from mirror.is.co.za : The requested URL returned erro Retrieving package files error: failed retrieving file 'core.db' from manjaro.re : The requested URL returned error: 40 Retrieving package files error: failed retrieving file 'core.db' from mirrors.ucr.ac.cr : The requested URL returned er Retrieving package files error: failed retrieving file 'core.db' from mirror.xeonbd.com : The requested URL returned er Retrieving package files error: failed retrieving file 'core.db' from ct.mirror.garr.it : The requested URL returned er Retrieving package files error: failed retrieving file 'community.db' from mirror.tuchola-dc.pl : The requested URL ret Retrieving package files error: failed retrieving file 'community.db' from mirror.math.princeton.edu : The requested UR Retrieving package files error: failed retrieving file 'community.db' from repo.ialab.dsu.edu : The requested URL retur Retrieving package files error: failed retrieving file 'community.db' from mirror.is.co.za : The requested URL returned Retrieving package files error: failed retrieving file 'community.db' from manjaro.re : The requested URL returned erro Retrieving package files error: failed retrieving file 'community.db' from mirrors.ucr.ac.cr : The requested URL return Retrieving package files error: failed retrieving file 'community.db' from mirror.xeonbd.com : The requested URL return Retrieving package files error: failed retrieving file 'community.db' from ct.mirror.garr.it : The requested URL return Retrieving package files error: failed retrieving file 'multilib.db' from mirror.tuchola-dc.pl : The requested URL retu Retrieving package files error: failed retrieving file 'multilib.db' from mirror.math.princeton.edu : The requested URL Retrieving package files error: failed retrieving file 'multilib.db' from repo.ialab.dsu.edu : The requested URL return Retrieving package files error: failed retrieving file 'multilib.db' from mirror.is.co.za : The requested URL returned Retrieving package files error: failed retrieving file 'multilib.db' from manjaro.re : The requested URL returned error Retrieving package files error: failed retrieving file 'multilib.db' from mirrors.ucr.ac.cr : The requested URL returne Retrieving package files error: failed retrieving file 'multilib.db' from mirror.xeonbd.com : The requested URL returne Retrieving package files error: failed retrieving file 'multilib.db' from ct.mirror.garr.it : The requested URL returne Retrieving package files error: failed to synchronize all databases ==> Using [aurto] repository -> aurto: (none) -> 0.10.6-1 -> aurutils: (none) -> 3.1.2-2 ==> Retrieving package files Von https://aur.archlinux.org/aurutils = [aktuell] master -> origin/master Von https://aur.archlinux.org/aurto = [aktuell] master -> origin/master Running aur chroot --create --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/aurto/pacman-chroot.conf Running aur chroot --update --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/aurto/pacman-chroot.conf :: Synchronizing package databases... error: failed retrieving file 'core.db' from mirror.tuchola-dc.pl : The requested URL returned error: 404 error: failed retrieving file 'core.db' from mirror.math.princeton.edu : The requested URL returned error: 404 error: failed retrieving file 'core.db' from repo.ialab.dsu.edu : The requested URL returned error: 404 error: failed retrieving file 'core.db' from mirror.is.co.za : The requested URL returned error: 404 error: failed retrieving file 'core.db' from manjaro.re : The requested URL returned error: 404 error: failed retrieving file 'core.db' from mirrors.ucr.ac.cr : The requested URL returned error: 404 error: failed retrieving file 'core.db' from mirror.xeonbd.com : The requested URL returned error: 404 error: failed retrieving file 'core.db' from ct.mirror.garr.it : The requested URL returned error: 404 error: failed to update core (failed to retrieve some files) extra is up to date error: failed retrieving file 'community.db' from mirror.tuchola-dc.pl : The requested URL returned error: 404 error: failed retrieving file 'community.db' from mirror.math.princeton.edu : The requested URL returned error: 404 error: failed retrieving file 'community.db' from repo.ialab.dsu.edu : The requested URL returned error: 404 error: failed retrieving file 'community.db' from mirror.is.co.za : The requested URL returned error: 404 error: failed retrieving file 'community.db' from manjaro.re : The requested URL returned error: 404 error: failed retrieving file 'community.db' from mirrors.ucr.ac.cr : The requested URL returned error: 404 error: failed retrieving file 'community.db' from mirror.xeonbd.com : The requested URL returned error: 404 error: failed retrieving file 'community.db' from ct.mirror.garr.it : The requested URL returned error: 404 error: failed to update community (failed to retrieve some files) error: failed retrieving file 'multilib.db' from mirror.tuchola-dc.pl : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from mirror.math.princeton.edu : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from repo.ialab.dsu.edu : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from mirror.is.co.za : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from manjaro.re : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from mirrors.ucr.ac.cr : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from mirror.xeonbd.com : The requested URL returned error: 404 error: failed retrieving file 'multilib.db' from ct.mirror.garr.it : The requested URL returned error: 404 error: failed to update multilib (failed to retrieve some files) aurto 1024.0 B 0.00 B/s 00:00 [######################] 100% error: failed to synchronize all databases
aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf --pacman-conf=/etc/aurto/pacman-chroot.conf aurtofailed with exit code 1 ✗
When i try to open for example the url "mirror.xeonbd.com" in my webbrowser, the page will displayed.
I dont now whot i make wrong.
Thanks.
Currently only certain lines are shown and are overwritten to reduce the output compared to normal aurutils.
It can get stuck easily as only shows lines that start with ==>
, ->
. We should show the latest line always, or maybe just remove the summary totally and print everything.
Related to #22
The update-aurto
service is not able to find PGP keys for building signed AUR packages:
% gpg --recv-keys DBE7D3DD8C81D58D0A13D0E76BC26A17B9B7018A
gpg: key 6BC26A17B9B7018A: 12 duplicate signatures removed
gpg: key 6BC26A17B9B7018A: 33 signatures not checked due to missing keys
gpg: key 6BC26A17B9B7018A: 12 signatures reordered
gpg: key 6BC26A17B9B7018A: "Alad Wenter <[email protected]>" not changed
gpg: Total number processed: 1
gpg: unchanged: 1
Oct 28 16:27:01 leo update-aurto[90105]: ==> WARNING: PACKAGER should have the format 'Example Name <[email protected]>'
Oct 28 16:27:01 leo update-aurto[90105]: ==> Making package: aurutils 2.3.2-1 (Mon Oct 28 16:27:01 2019)
Oct 28 16:27:01 leo update-aurto[90105]: ==> Retrieving sources...
Oct 28 16:27:01 leo update-aurto[90105]: -> Found aurutils-2.3.2.tar.gz
Oct 28 16:27:01 leo update-aurto[90105]: -> Found aurutils-2.3.2.tar.gz.asc
Oct 28 16:27:01 leo update-aurto[90105]: ==> Validating source files with sha256sums...
Oct 28 16:27:01 leo update-aurto[90105]: aurutils-2.3.2.tar.gz ... Passed
Oct 28 16:27:01 leo update-aurto[90105]: aurutils-2.3.2.tar.gz.asc ... Skipped
Oct 28 16:27:01 leo update-aurto[90105]: ==> Verifying source file signatures with gpg...
Oct 28 16:27:01 leo update-aurto[90105]: aurutils-2.3.2.tar.gz ... FAILED (unknown public key 6BC26A17B9B7018A)
Oct 28 16:27:01 leo update-aurto[90105]: ==> ERROR: One or more PGP signatures could not be verified!
Oct 28 16:27:01 leo update-aurto[90105]: ==> ERROR: Could not download sources.
Oct 28 16:27:01 leo update-aurto[90105]: `aur sync --no-view --no-confirm --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf --chroot --upgrades` failed with exit code 255 ✗
Oct 28 16:27:01 leo sudo[90119]: pam_unix(sudo:session): session closed for user patrick
Oct 28 16:27:01 leo systemd[1]: update-aurto.service: Main process exited, code=exited, status=255/EXCEPTION
Oct 28 16:27:01 leo systemd[1]: update-aurto.service: Failed with result 'exit-code'.
I'm 99% certain this is because I use an alternate GNUPGPHOME
.
I should be able to make this available to the service, by:
% sudo systemctl cat update-aurto.service
# /usr/lib/systemd/system/update-aurto.service
[Unit]
Description=Updates 'aurto' repo
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/usr/lib/aurto/update-aurto
# /etc/systemd/system/update-aurto.service.d/10-gnupg.conf
[Service]
Environment=GNUPGHOME=/home/patrick/.config/gnupg
But this does not work.
I believe it comes down to how you invoke sudo
, e.g.:
echo "Running: aur sync --no-view --no-confirm --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf $chroot_arg --upgrades" >&2
sudo -u "$user" \
Without --preserve-env
/-E
, sudo
will not pass that GNUPGHOME
on to the invoked command, so it won't be able to find my keys.
I'm not sure the best way to fix this, since my initial attempt at just adding -E
lead to other issues with other environment variables.
For running inside a container when using another internal chroot is just added overhead.
Hi, new install on my vps..
Error: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }
the /var/cache/pacman/aurto directory belongs to my user. how i can debug this?
thanks a lot
aurto fails adding gala-git
to the aurto repo because it requires granite-git
as a make dep, but only requires libgranite.so
as a runtime dep. This results in aurto installing granite
first, then trying to replace it with granite-git
and failing.
Is there any way to choose a provider when adding a package?
Hi, aurto is failing to update. It seems to have something to do with sudo requiring a password---which I would have thought was the normal behavior, but seeing as if aurto was expecting something else to happen, I'm not so sure.
This is the output of systemctl status update-aurto
:
● update-aurto.service - Updates 'aurto' repo
Loaded: loaded (/usr/lib/systemd/system/update-aurto.service; static)
Active: failed (Result: exit-code) since Wed 2021-03-03 11:25:47 CET; 17min ago
TriggeredBy: ● update-aurto-startup.timer
● update-aurto.timer
Process: 146112 ExecStart=/usr/lib/aurto/update-aurto (code=exited, status=1/FAILURE)
Main PID: 146112 (code=exited, status=1/FAILURE)
Mar 03 11:25:47 beagle update-aurto[146506]: Cloning into 'dropbox'...
Mar 03 11:25:47 beagle update-aurto[146506]: Cloning into 'clight-git'...
Mar 03 11:25:47 beagle update-aurto[146506]: Running aur chroot --create --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/aurto/pacman-chroot.conf
Mar 03 11:25:47 beagle update-aurto[146506]: Running aur chroot --update --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/aurto/pacman-chroot.conf
Mar 03 11:25:47 beagle update-aurto[146506]: sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
Mar 03 11:25:47 beagle update-aurto[146506]: sudo: a password is required
Mar 03 11:25:47 beagle update-aurto[146127]: `aur sync --no-view --no-confirm --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf --chroot --pacman-conf=/etc/aurto/pacman-chroot.conf --upgrades` failed with exit code 1 ✗
Mar 03 11:25:47 beagle sudo[146126]: pam_unix(sudo:session): session closed for user manolo
Mar 03 11:25:47 beagle systemd[1]: update-aurto.service: Main process exited, code=exited, status=1/FAILURE
Mar 03 11:25:47 beagle systemd[1]: update-aurto.service: Failed with result 'exit-code'.
Thanks!
Running $ aurto add lib32-ncurses5-compat-libs
results in
==> Verifying source file signatures with gpg...
ncurses-6.1.tar.gz ... FAILED (unknown public key 702353E0F7E48EDB)
==> ERROR: One or more PGP signatures could not be verified!
==> ERROR: Could not download sources.
I've tried running
$ sudo pacman-key --recv-keys 702353E0F7E48EDB
$ sudo pacman-key --lsign-key 702353E0F7E48EDB
Which worked fine, but I guess it doesn't carry over into the chroot.
Aurto currently seems to ignore makepkg.conf
, meaning it uses xz
to compress packages even though I have chosen pixz
as my compressor. It would be nice to allow a custom makepkg.conf
to enable the use of other compressors, though this would probably need some mechanism for installing that software in the chroot in the first place.
While running aurto add
on a package, update-aurto
can kick in and end up removing the PKGBUILD (and presumably other things) part-way through, causing the command to fail.
Add an info
command that prints aurto repo:
Pacman 6 will be introducting a new pacman.conf
option for ParallelDownloads
Here is the error with aurto
warning: config /etc/pacman.conf line 40: unknown option 'ParallelDownloads'
/usr/bin/aurto: line 25: 2198725 Segmentation fault sudo pacsync aurto > /dev/null
Even though pacman 6 is just in Alpha currently, I wanted to get this note here so support for the ParallelDownloads
option can be added before it comes out.
Once aurutils releases version 2.0.0 on the aur this project will transition to using it.
aurutils-2 brings many changes, in particular it allows aurto to drop the -git
package update checks making aurto much simpler.
Hi, installed aurto and made aurto init
.
Yet it fails to update packages with the following error:
-- Journal begins at Wed 2020-10-14 12:48:22 MSK, ends at Fri 2021-02-26 14:27:48 MSK. --
Feb 26 13:33:32 jp-laptop.local.domain update-aurto[114403]: Using [aurto] repository
Feb 26 13:33:34 jp-laptop.local.domain update-aurto[114403]: Using [aurto] repository wee-slack: 2.6.0-1 -> 2.7.0-1
Feb 26 13:33:34 jp-laptop.local.domain update-aurto[114403]: Retrieving package files
Feb 26 13:33:34 jp-laptop.local.domain update-aurto[114403]: Retrieving package files Cloning into 'wee-slack'...
Feb 26 13:33:35 jp-laptop.local.domain update-aurto[114403]: Retrieving package files Running aur chroot --create --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/aurto/pacman-chroot.conf
Feb 26 13:33:35 jp-laptop.local.domain update-aurto[114403]: Retrieving package files Running aur chroot --update --makepkg-conf /etc/aurto/makepkg-chroot.conf --pacman-conf /etc/aurto/pacman-chroot.conf
Feb 26 13:33:35 jp-laptop.local.domain sudo[114597]: pam_unix(sudo:auth): conversation failed
Feb 26 13:33:35 jp-laptop.local.domain sudo[114597]: pam_unix(sudo:auth): auth could not identify password for [jp]
What did I do wrong?
I'm a new user who just installed Arch. I followed the instructions in the aurto README.md, but I run into this error when trying to run "aurto add aurto"
score@kirisame ~ % sudo pacman -Syu
:: Synchronising package databases...
testing 14.9 KiB 1061K/s 00:00 [###########################################] 100%
core 135.0 KiB 2.64M/s 00:00 [###########################################] 100%
extra 1691.4 KiB 3.24M/s 00:01 [###########################################] 100%
community-testing 12.5 KiB 4.08M/s 00:00 [###########################################] 100%
community 4.8 MiB 3.33M/s 00:01 [###########################################] 100%
multilib-testing 3.5 KiB 272K/s 00:00 [###########################################] 100%
multilib 177.0 KiB 3.46M/s 00:00 [###########################################] 100%
aurto is up to date
:: Starting full system upgrade...
error: invalid name for database entry 'retroshare-git.deltas'
error: could not parse package description file 'retroshare-git.deltas' from db 'aurto'
error: invalid name for database entry 'retroshare-git.deltas'
error: could not parse package description file 'retroshare-git.deltas' from db 'aurto'
[repeated for a further 820 lines]
score@kirisame ~ % tar tvf /var/cache/pacman/aurto/aurto.db.tar | grep delta
-rw-r--r-- score/score 452 2019-01-22 01:06 discord-0.0.8-2/deltas
-rw-r--r-- score/score 356 2019-01-22 01:04 discord-canary-0.0.68-1/deltas
-rw-r--r-- score/score 759 2019-01-25 08:43 dolphin-emu-nogui-git-5.0.r9427.224b23b979-1/deltas
-rw-r--r-- score/score 265 2019-01-25 02:27 hydrus-337-1/deltas
-rw-r--r-- score/score 150 2019-01-22 01:02 jdk8-8u202-1/deltas
-rw-r--r-- score/score 177 2019-01-22 19:52 mingw-w64-gcc-8.2.0-3/deltas
-rw-r--r-- score/score 251 2019-01-22 00:57 retroshare-git.deltas
-rw-r--r-- score/score 145 2019-01-22 00:53 yay-9.1.0-1/deltas
Not sure how it got in there, but it's a file in aurto.db.tar called retroshare-git.deltas
. I had a similar problem on another PC a week or so ago (for discord-canary.deltas
I believe) but I worked around it before I could find anything interesting.
This error goes away if I delete that file (I chose to do so by archivemount
ing it and rm
ing the specific file in question).
I am guessing this is probably going to go straight upstream to aurutils, but I'm reporting it here as this tool is what managed to hit the bug for me.
Hi!
I like aurto, it seems to fit quite will into my workflow.
However, I find it's default services a bit too intrusive - namely, updating the repo on every startup and upgrading all cvs packages daily.
Now, in my use case the computer is a desktop computer. I might be doing something graphics sensitive - working, gaming, organizing things or whatever - and definitely don't want a huge compile to start in the background when I actually need the computer.
What I'm suggesting is documentation about how to disable the default behavior, and perhaps a few alternatives or recommendations for different kind of use cases (for example: change time to one where the computer is not used etc.; use cron instead or whatever). IMHO the default should be something less intrusive (i.e. disabled), but maybe that's just me. It's good there is the facility to do it available but perhaps it should be opt-in?
My goal: I don't want any automatic updates from AUR, but to trigger all updates manually (only). I've disabled all services and timers which came with aurto.
Zsh completion would compliment the existing bash & fish shell completion. It should:
add|addpkg|remove
aurto remove
with current aurto packagesaurto add
with a aur package searchAs I'm not currently a zsh user I'm unlikely to do this myself any time soon.
I'm not 100% comfortable with adding more features to what's there now as bash is quite horrible, even with shellcheck.
Can we improve what bits of aurto are root or user?
Currently we require both concepts, the systemd timers run as root, so some root-owned config makes sense for them.
Is there anyway to edit the PKGBUILD of a package that you want to add? When I was using aurutils standalone, I was able to do this but I'm not sure how to go about it with the aurto repository.
The python-usbtmc
package fails to build:
$ aurto add python-usbtmc
aurto: Checking maintainer trust... ✓
aurto: Running: aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf python-usbtmc
ERROR: Build failed, check /var/lib/aurbuild/x86_64/nicoulaj/build
==> Using [aurto] repository
-> python-usbtmc: (none) -> 0.8-1
==> Retrieving package files
From https://aur.archlinux.org/python-usbtmc
= [up to date] master -> origin/master
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
aurto is up to date
:: Starting full system upgrade...
there is nothing to do
container path: /var/lib/aurbuild/x86_64
Running makechrootpkg -cu --
==> Synchronizing chroot copy [/var/lib/aurbuild/x86_64/root] -> [nicoulaj]...done
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
aurto is up to date
:: Starting full system upgrade...
there is nothing to do
==> Making package: python-usbtmc 0.8-1 (Fri Feb 8 10:52:19 2019)
==> Retrieving sources...
-> Found python-usbtmc-0.8.tar.gz
==> Validating source files with sha256sums...
python-usbtmc-0.8.tar.gz ... Passed
==> Making package: python-usbtmc 0.8-1 (Fri 08 Feb 2019 10:52:20 AM CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found python-usbtmc-0.8.tar.gz
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Extracting python-usbtmc-0.8.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package_python-usbtmc()...
/startdir/PKGBUILD: line 17: python: command not found
==> ERROR: A failure occurred in package_python-usbtmc().
Aborting...
==> ERROR: Build failed, check /var/lib/aurbuild/x86_64/nicoulaj/build
`aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf python-usbtmc` failed with exit code 255 ✗
It seems the python
dependency does not get installed in the chroot:
$ ls /var/lib/aurbuild/x86_64/root/usr/bin/python
ls: cannot access '/var/lib/aurbuild/x86_64/root/usr/bin/python': No such file or directory
The PKGBUILD looks correct to me though ?
My guess is that dependencies declared in package()
are not installed at all, can't see any trace of python-pyusb
in the chroot either:
$ ls /var/lib/aurbuild/x86_64/root/usr/lib/python3.7/site-packages/
libmount/ drv_libxml2.py libxml2mod.so* libxml2.py
Hi,
I would like to be able to manually review changes to packages, using a (Telegram/Slack/Whatever)Bot or a Webinterface with E-Mail notifications. To be able to do this: I propose the following trust system:
To determine if an update is trusted, a list of modules will be provided in the config. Then when an update is available, every trust module is executed with some metadata and the repo diff as arguments. Every module can return three values: "Trust", "Don't Trust", "Can't decide" and "WaitOnCallback". "Can't decide" will cause the next module in the list to be called. User prompts should be allowed to modules when a special argument is given. "WaitOnCallback" means that the module can't currently decide and will present it's decision in the future.
Example list of modules:
anthony@hillserve ~ % aurto add aurto
aurto: Checking maintainer trust... ✓
aurto: Running: aur sync --no-view --no-confirm --chroot --database=aurto --make pkg-conf=/etc/aurto/makepkg-chroot.conf aurto
Retrieving package files
==> Using [aurto] repository
-> aurto: (none) -> 0.9.7-1
-> aurutils: (none) -> 2.3.3-1
==> Retrieving package files
From https://aur.archlinux.org/aurutils
= [up to date] master -> origin/master
From https://aur.archlinux.org/aurto
= [up to date] master -> origin/master
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to update aurto (unable to lock database)
error: failed to synchronize all databases
`aur sync --no-view --no-confirm --chroot --database=aurto --makepkg-conf=/etc/a urto/makepkg-chroot.conf aurto` failed with exit code 1 ✗
aurto add aurto 5.49s user 1.23s system 68% cpu 9.833 total
I completely uninstalled aurto and I'm still unable to add packages or let aurto update. The database seems to be locked though I can't find a lock anywhere in my filesystem.
I'm a little confused, I just started using aurto, and it seems to be working fine, but I'm afraid the background rebuilding and updating of packages may not be working. Please see my logs below:
-- Logs begin at Fri 2019-07-05 22:55:18 PDT, end at Tue 2019-07-09 20:19:45 PDT. --
Jul 09 19:05:11 archi systemd[1]: Started Updates 'aurto' repo.
Jul 09 19:05:11 archi update-aurto[800]: aurto: Checking maintainer trust...
Jul 09 19:05:11 archi update-aurto[800]: Error: Error { description: "Couldn\'t resolve host name", code: 6, extra: None }
Jul 09 19:05:11 archi systemd[1]: update-aurto.service: Main process exited, code=exited, status=1/FAILURE
Jul 09 19:05:11 archi systemd[1]: update-aurto.service: Failed with result 'exit-code'.
Jul 09 19:27:20 archi systemd[1]: Started Updates 'aurto' repo.
Jul 09 19:27:20 archi update-aurto[7459]: aurto: Checking maintainer trust...
Jul 09 19:27:21 archi update-aurto[7459]: Checking maintainer trust... ✓
Jul 09 19:27:21 archi update-aurto[7459]: Running: aur sync --no-view --no-confirm --database=aurto --makepkg-conf=/etc/aurto/makepkg-chroot.conf --chroot --upgrades
Jul 09 19:27:21 archi sudo[7473]: root : TTY=unknown ; PWD=/ ; USER=chris ; COMMAND=/usr/lib/aurto/summerize-build aur sync --no-view --no-confirm --database=aurt>
Jul 09 19:27:21 archi sudo[7473]: pam_unix(sudo:session): session opened for user chris by (uid=0)
Jul 09 19:27:21 archi update-aurto[7459]: Using [aurto] repository
Jul 09 19:27:22 archi update-aurto[7459]: Using [aurto] repository there is nothing to do
Jul 09 19:27:22 archi sudo[7473]: pam_unix(sudo:session): session closed for user chris
Jul 09 19:27:22 archi systemd[1]: update-aurto.service: Main process exited, code=exited, status=1/FAILURE
Jul 09 19:27:22 archi systemd[1]: update-aurto.service: Failed with result 'exit-code'.
It appears to be giving a positive "there is nothing to do" message, but it's sandwiched in between a couple of errors, and I'm not sure why.
Is this just normal operation?
This can go out of sync. This sticks around after install so if trusted users are removed it could be improperly trusting.
To preface, I am a strong opponent of the use of set -e
, but I shall try not to let that get the better of me here.
The update-aurto script currently fails silently for me:
% sudo systemctl status update-aurto
● update-aurto.service - Updates 'aurto' repo
Loaded: loaded (/usr/lib/systemd/system/update-aurto.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2019-07-29 01:12:55 BST; 4min 26s ago
Process: 53039 ExecStart=/usr/lib/aurto/update-aurto (code=exited, status=1/FAILURE)
Main PID: 53039 (code=exited, status=1/FAILURE)
Jul 29 01:12:55 kirisame systemd[1]: Started Updates 'aurto' repo.
Jul 29 01:12:55 kirisame update-aurto[53039]: aurto: Checking maintainer trust...
Jul 29 01:12:55 kirisame sudo[53189]: root : TTY=unknown ; PWD=/ ; USER=score ; COMMAND=/usr/bin/aurto remove qt4
Jul 29 01:12:55 kirisame sudo[53189]: pam_unix(sudo:session): session opened for user score by (uid=0)
Jul 29 01:12:55 kirisame sudo[53189]: pam_unix(sudo:session): session closed for user score
Jul 29 01:12:55 kirisame systemd[1]: update-aurto.service: Main process exited, code=exited, status=1/FAILURE
Jul 29 01:12:55 kirisame systemd[1]: update-aurto.service: Failed with result 'exit-code'.
After running it under bash -x
, it says this:
% sudo bash -x /usr/lib/aurto/update-aurto
+ set -eu
+ readonly 'AURVCS=.*-(bzr|git|hg|svn)$'
+ AURVCS='.*-(bzr|git|hg|svn)$'
+ [[ 0 -ne 0 ]]
+++ dirname /usr/lib/aurto/update-aurto
++ cd /usr/lib/aurto
++ pwd
+ lib_dir=/usr/lib/aurto
++ cat /usr/lib/aurto/user
+ user=score
+ source /usr/lib/aurto/shared-functions
++ test -t 1
++ export chroot_arg=--chroot
++ chroot_arg=--chroot
++ test -f /usr/lib/aurto/conf-disable-chroot
+ '[' -z score ']'
+ pacsync aurto
+ '[' -f /etc/aurto/trusted-users ']'
+ echo 'aurto: Checking maintainer trust...'
aurto: Checking maintainer trust...
+++ pacman -Slq aurto
++ /usr/lib/aurto/trust-check {snip huge package list}
+ mistrust=qt4:dviktor
+ '[' -z qt4:dviktor ']'
++ not_in_aur_packages qt4:dviktor
++ local packages=
++ read -r line
++ '[' -n qt4:dviktor ']'
++ [[ qt4:dviktor = *\:\:\n\o\t\-\i\n\-\a\u\r* ]]
++ read -r line
++ echo ''
++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
++ tr -s ' '
+ not_in_aur=
+++ echo qt4:dviktor
+++ grep -v ::
+++ cut -d: -f1
++ new_line_to_space_separated_unique qt4
++ local space_sep=
++ read -r line
++ '[' -n qt4 ']'
++ [[ '' != *\ \q\t\4\ * ]]
++ space_sep=' qt4 '
++ read -r line
++ echo ' qt4 '
++ sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//'
++ tr -s ' '
+ mistrusted_pkgs=qt4
+ '[' -n '' ']'
+ '[' -n qt4 ']'
+ aurto remove qt4
This is failing silently with set -e
, but what's weird is that aurto remove
is also failing silently.
% bash -x aurto remove qt4
+ set -eu
+ version=0.9.4
+ command=remove
+ arg1=qt4
+ [[ 1000 -eq 0 ]]
+++ dirname /bin/aurto
++ cd /bin
++ pwd
+ bin_dir=/bin
+ lib_dir=/bin/../lib/aurto
+ source /bin/../lib/aurto/shared-functions
++ test -t 1
++ export chroot_arg=--chroot
++ chroot_arg=--chroot
++ test -f /usr/lib/aurto/conf-disable-chroot
+ '[' remove == add ']'
+ '[' remove == addpkg ']'
+ '[' remove == remove ']'
+ '[' -n qt4 ']'
+ removed=
+ for pkg in "${@:2}"
++ repo-remove /var/cache/pacman/aurto/aurto.db.tar qt4
+ remove_out='==> Extracting database to a temporary location...
==> Extracting database to a temporary location...
==> Searching for package '\''qt4'\''...
==> ERROR: Package matching '\''qt4'\'' not found.
==> No packages modified, nothing to do.'
This seems to be a similar culprit: unexpected false exit code under set -e
.
Not sure how the desynchronisation happened but the fix seemed to be to run:
sudo rm /var/lib/pacman/sync/aurto.db
sudo pacman -Syu
Which got the aurto database back in line with the pacman sync database (note that the rm was required; otherwise it falsely reported that it was up-to-date).
In the past I have had to poke around in the db before to remove things like delta files for packages that no longer exist, but otherwise I'm not sure what the cause might have been. This seems to have been more of a recent development, unrelated to that.
So I wanted to report this as two problems:
I have not seen this mentioned anywhere yet, but no matter which aur package I try to add, aurto never advances past the validation stage. sha256sum is installed, no further output or error is given. No verbose or debug options seem to exist.
aurto is based on maintainer trust but these maintainers can change from one version to the next to people a user may trust less so.
A better system may be:
aurto add foo
prompt to add the maintainers of package foo
to the local TU setLocal TUs are stored in a \n
separated list of aur usernames initially populated with remote TUs.
If no local TU file is present the trust system is disabled (current behaviour).
This should allow updating current users without changing behaviour, (no local TU file created on update).
Hi there,
first of all: Thanks for this great software
My problem is simple: i don't know how but a lot of package is missing from the repo but are listed in the aurto repo db:
aurto status:
aurto v0.9.0 managing 122 aur packages
but
ls -lrt /var/cache/pacman/aurto/ | wc -l
32
I don't now this is possible and how i can easy rebuild all packages.
Thanks
I noticed recently that something (I think makepkg) has started showing this warning for a lot of packages:
WARNING: PACKAGER should have the format 'Example Name <[email protected]>'
Would it be possible to have this entry excluded as a possible match for the Log Warnings shown by aurto status
? It would make it easier to see where actual issues may exist.
Perhaps with (assuming I got my grep
-fu right):
journalctl -eu update-aurto --since '1 week ago' | grep -Ev 'Skipping all source file integrity|PACKAGER should have the format' | grep -E 'ERROR|WARNING' -A5 -B5
At the moment most documentation is in README.md. While this is sufficient for most basic stuff it took quite some time to understand how the tools used work together, especially when dealing with GPG or custom repositories. I couldn't really find any advanced documentation for either aurto or aurutils and while the aurto repo would be the place I would look for this first I'm not sure the readme is a good place for this rather specific stuff. Any ideas on how to make this knowledge accessible or easier to find for other aurto users? Maybe enable the wiki section?
Things I have on my notebook:
sudo -u aurto gpg --search 0x123456789abcdef
arch-chroot /var/lib/aurbuild/x86_64/root pacman-key -r 0x123456789abcdef
/etc/aurto/pacman-chroot.conf
.Note: I am currently using #36 for my repo.
Is custom PKGBUILDs a feature in aurto? I run a repo for raspberry pi 4 aarch64 on arch linux arm. My pkgbuilds (https://github.com/Titaniumtown/raspi4_pkgbuilds) aren't in the aur. So I have to manually check the raspberry pi kernel github for updates to see if I need to rebuild by using aur build...
and not aurto. It would be super handy to be able to have my custom vcs PKGBUILDs just update when the aurto service is run.
Is this feature planned?
Thanks
Could you consider adding --threads=0 to the xz entry in the default makepkg-chroot.conf, so compression speed can be improved?
libc++
for example does not properly fetch from aurweb
wheel
group is needed for passwordless sudo commands that update-aurto
uses. Currently it's just assumed that the user will already be in this group.
Warning or failing aurto init
if the user is not in wheel
should solve this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.