You are not logged in.
aur-build already does something like that by using a pacman.conf with only a single repo inside:
That's.... actually so simple I feel stupid. Thanks Alad!
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Maybe I should remove that remark on multiple repositories since it seems to lead more to confusion than enlightening ideas. Anyway:
1. One reason for keeping VCS packages in a separate repo is that it gives an exact definition on what a VCS package is (the package suffix does not necessarily, see https://bugs.archlinux.org/task/56602): it is whatever you put in the VCS repo. That again can be used with aur-srcver.
Keeping ABS packages in a separate repo allows you to put it above any other repositories in pacman.conf, which is something you wouldn't want to do with an AUR repo.
I'd not classify further than the above. For modified AUR pkgbuilds, it's unfortunate pacman/vercmp supports no "~user" prefix like dpkg but as ABS pkgbuilds, you can use a custom group (e.g group=custom) to distinguish them.
I recall previously being able to use aur-srcver or some similar incantation to check all -git suffixed, is this no longer possible? Where can I read the 'correct' way of checking VCS packages for updates using srcver?
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
It was moved to a man page because the existing mechanism was slow and not very general.
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
I'm trying to use aurutils to build linux-xanmod in a chroot.
The PKGBUILD looks for environment variables to change some options.
How can I pass those environment variables to the chroot? I'm using aur build to do so.
EDIT: actually it seems it would require $HOME and $XDG_CONFIG_HOME to be set.
Last edited by sshaikh (2021-05-02 15:08:07)
Offline
You can try specifying them on the makechrootpkg command line, e.g.
aur build -c --margs="HOME=$HOME,XDG_CONFIG_HOME=$XDG_CONFIG_HOME <...>
Note: I haven't actually tested this.
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
In version 2.3.7, to check aur updates I'd:
/usr/bin/aur repo -d custom --list | \
/usr/bin/aur vercmp && \
/usr/bin/pacman -Qm | \
/usr/bin/aur vercmp
And to update aur packages I'd:
/usr/bin/grep -Fxf <(/usr/bin/pacman -Qq) \
<(/usr/bin/pacman -Slq custom) > ~/installed.txt \
&& /usr/bin/xargs -a ~/installed.txt \
/usr/bin/aur sync repo -d custom
I read the change document and I'm still confused
Would someone please post examples to check and update aur packages with aurutils 3.0.x like the one's above?
Offline
I'm not sure how that command-line wouldn't work with aurutils 3.x?
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
@Alad I didn't know where the right place is to contact you but I thought here would be appropriate. Since I've started using Arch about 2 years ago I have tried 2 AUR helpers,
yay and aurutils. I ended up sticking with aurutils because I like the fact that aurutils is a tool for searching and building while leaving the installation of the packages up to
pacman, I really disliked yay acting as a replacement for pacman because it being a wrapper. I just wanted to thank you for the development of aurutils and all the time that you
put into it, it's really appreciated!!
Offline
Sure, you're welcome
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Hi @Alad,
I'm creating a package from source on a chroot and I need to play around with git bisect. It seems that aur chroot --build always fetches sources (git repos) so local changes get overwritten. Bisecting inside the container is not even possible. Note that I'm not speaking of mounting the chroot for this, just accessing the directory itself.
$ git log
error: object directory /startdir/iwd/objects does not exist; check .git/objects/info/alternates
fatal: bad object HEAD
$ git tag
error: object directory /startdir/iwd/objects does not exist; check .git/objects/info/alternates
error: refs/tags/0.1 does not point to a valid object!
error: refs/tags/0.10 does not point to a valid object!
error: refs/tags/0.11 does not point to a valid object!
error: refs/tags/0.12 does not point to a valid object!
How could I approach this while still building on a container?
Thanks.
Offline
I'm not sure on bisecting inside the container itself, but you should be able to pass -e to the container makepkg instance, i.e. aur chroot --build -e.
Last edited by Alad (2021-09-27 09:36:22)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Well, this is the command I'm running:
aur chroot --build -D /var/cache/build/x86_64 --makepkg-conf=/etc/makepkg.conf -- -- -e
makechrootpkg arguments are just arguments for makepkg in this case, thus the double '--' but maybe I'm getting it wrong.
This is part of the output:
==> Making package: iwd-git 1.18-1 (Mon Sep 27 12:58:27 2021)
==> Retrieving sources...
-> Updating iwd git repo...
Fetching origin
From https://git.kernel.org/pub/scm/network/wireless/iwd
- [deleted] (none) -> refs/bisect/bad
- [deleted] (none) -> refs/bisect/good-c96812a5f6954eb4ad173a8d1c5b70fab8905019
-> Updating ell git repo...
Fetching origin
==> Validating source files with sha256sums...
iwd ... Skipped
ell ... Skipped
==> Making package: iwd-git 1.18-1 (Mon 27 Sep 2021 12:58:30 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Updated version: iwd-git r5913.1187fcb-1
==> Removing existing $pkgdir/ directory...
==> Starting build()...
build goes fine
As expected, whatever is in the container gets built, but I didn't find a way of passing my changed sources from PKGBUILD directory to the container. Remote sources are fetched every time overwriting changes.
Bisecting inside container directory is not feasible because of missing references, as I've showed in my previous post.
So far I've also tried to use file:/// sources but it didn't work. Maybe just copying folders inside container and rebuild is enough...
Edit:
==> Retrieving sources...
-> Cloning iwd git repo...
Cloning into bare repository '/var/cache/build/.cache/aurutils/sync/iwd-git/iwd'...
remote: Enumerating objects: 28365, done.
remote: Total 28365 (delta 0), reused 0 (delta 0), pack-reused 28365
Receiving objects: 100% (28365/28365), 5.41 MiB | 1.82 MiB/s, done.
Resolving deltas: 100% (20918/20918), done.
-> Cloning ell git repo...
Cloning into bare repository '/var/cache/build/.cache/aurutils/sync/iwd-git/ell'...
This is the reason I cannot bisect inside the container directory. I could do a clean build first and the go inside to bisect if 'regular' git repo was cloned. At this point maybe just a manual copy would suffice hehe.
Last edited by Jason P. (2021-09-27 11:34:30)
Offline
I figured it out. holdver flag was the thing.
--holdver
When using VCS sources (PKGBUILD(5)) any currently checked out source
will not be updated to the latest revision.
Offline
I'm seeing the error, "fatal: No names found, cannot describe anything.", building aurutils today.
Likely on me and appreciate any info possibly indicating what I'm doing wrong.
That said, it does complete the build but have not tried installing it until I get this sorted.
Seeing same results on two systems.
1) my main box
2) a vbox test clone
$ git clone https://aur.archlinux.org/aurutils.git
Cloning into 'aurutils'...
remote: Enumerating objects: 451, done.
remote: Counting objects: 100% (451/451), done.
remote: Compressing objects: 100% (309/309), done.
remote: Total 451 (delta 143), reused 450 (delta 142), pack-reused 0
Receiving objects: 100% (451/451), 92.91 KiB | 141.00 KiB/s, done.
Resolving deltas: 100% (143/143), done.
$ makepkg -sr
==> Making package: aurutils 3.2.2-3 (Wed 08 Dec 2021 09:16:39 AM PST)
==> Checking runtime dependencies...
==> Installing missing dependencies...
[sudo] password for jeff:
resolving dependencies...
looking for conflicting packages...
Package (2) New Version Net Change Download Size
extra/tcl 8.6.12-1 6.76 MiB 2.50 MiB
extra/expect 5.45.4-2 0.41 MiB 0.18 MiB
Total Download Size: 2.69 MiB
Total Installed Size: 7.17 MiB
:: Proceed with installation? [Y/n] y
:: Retrieving packages...
expect-5.45.4-2-x86_64 188.0 KiB 281 KiB/s 00:01 [################################] 100%
tcl-8.6.12-1-x86_64 2.5 MiB 1866 KiB/s 00:01 [################################] 100%
Total (2/2) 2.7 MiB 1941 KiB/s 00:01 [################################] 100%
(2/2) checking keys in keyring [################################] 100%
(2/2) checking package integrity [################################] 100%
(2/2) loading package files [################################] 100%
(2/2) checking for file conflicts [################################] 100%
(2/2) checking available disk space [################################] 100%
:: Processing package changes...
(1/2) installing tcl [################################] 100%
(2/2) installing expect [################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading aurutils-3.2.2.tar.gz...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 131 100 131 0 0 431 0 --:--:-- --:--:-- --:--:-- 432
100 364k 0 364k 0 0 452k 0 --:--:-- --:--:-- --:--:-- 452k
-> Downloading aur-view-arg-file.patch...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2771 100 2771 0 0 9343 0 --:--:-- --:--:-- --:--:-- 9329
==> Validating source files with sha256sums...
aurutils-3.2.2.tar.gz ... Passed
aur-view-arg-file.patch ... Passed
==> Extracting sources...
-> Extracting aurutils-3.2.2.tar.gz with bsdtar
==> Starting prepare()...
patching file lib/aur-sync
patching file lib/aur-view
==> Starting build()...
fatal: No names found, cannot describe anything.
sed -e 's|AURUTILS_LIB_DIR|/usr/lib/aurutils|' \
-e 's|AURUTILS_VERSION|3.2.2|' aur.in >aur
make[1]: Entering directory '/home/jeff/z-AUR-Manual/aurutils/src/aurutils-3.2.2/completions'
bash bash/aurutils.in >bash/aur
bash zsh/aurutils.in >zsh/_aur
make[1]: Leaving directory '/home/jeff/z-AUR-Manual/aurutils/src/aurutils-3.2.2/completions'
==> Entering fakeroot environment...
==> Starting package()...
fatal: No names found, cannot describe anything.
sed -e 's|AURUTILS_LIB_DIR|/usr/lib/aurutils|' \
-e 's|AURUTILS_VERSION|3.2.2|' aur.in >aur
make[1]: Entering directory '/home/jeff/z-AUR-Manual/aurutils/src/aurutils-3.2.2/completions'
make[1]: Leaving directory '/home/jeff/z-AUR-Manual/aurutils/src/aurutils-3.2.2/completions'
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "aurutils"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Adding changelog file...
-> Adding install file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: aurutils 3.2.2-3 (Wed 08 Dec 2021 09:16:56 AM PST)
==> Removing installed dependencies...
checking dependencies...
:: graphviz optionally requires tcl: tcl bindings
:: libnewt optionally requires tcl: whiptcl support
Package (2) Old Version Net Change
expect 5.45.4-2 -0.41 MiB
tcl 8.6.12-1 -6.76 MiB
Total Removed Size: 7.17 MiB
:: Do you want to remove these packages? [Y/n] y
:: Processing package changes...
(1/2) removing expect [######################################] 100%
(2/2) removing tcl [######################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
Offline
The Makefile first runs git to detect the aurutils version, but the aurutils PKGBUILD uses a tar archive - so it's expected to fail. It then falls back to a fixed version.
I suppose this message could be avoided by setting AURUTILS_VERSION in the PKGBUILD...
edit:
https://github.com/AladW/aurutils/commi … ece64ad4e0
https://aur.archlinux.org/cgit/aur.git/ … 729b6662cf
Last edited by Alad (2021-12-08 18:51:18)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Thanks Alad!
Looking into the new version, noticed 'aur fetch (-r)' option removed, but not from the man page options:
aur fetch [-r] [-S] pkgbase [pkgbase...]
Any chance of a return or replaced functionality within 'aur fetch'?
Updated my script with a workaround using 'aur depends'.
The dog is a cool addition though!
.--~~,__
:-....,-------`~~'._.'
`-,,, ,_ ;'~U'
_,-' ,'`-__; '--.
(_/'~~ ''''(;
Offline
Yeah, aur fetch can now take arguments from stdin so -r is redundant:
aur depends --pkgbase "$@" | aur fetch -
That was supposed to happen in 3.3.0, looks like I botched the 3.2.2 release. Thanks for the heads up.
Last edited by Alad (2021-12-08 20:49:06)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
i'm getting source files and logs saved in current directory (directory containing the PKBUILD) while `makepkg -scrf` despite setting the corresponding `--margs=` options and providing an appropriate makepkg.conf. I build in chroot using:
aur build --database=custom --root=/var/cache/pacman/custom --chroot --pacman-conf=/usr/share/devtools/pacman-extra.conf --makepkg-conf=$HOME/.config/pacman/makepkg.conf --margs="--syncdeps,--clean,--rmdeps" --force
My ~/.config/pacman/makepkg.conf: https://0x0.st/ornH.txt
Any ideas why or is this a bug? At first I thought my makepkg.conf was not satisfactory--it only contained settings that deviated from /etc/makepkg.conf so some variables were not defined if `aur build` only used this conf (I wish I didn't have to include those settings in ~/.config/pacan/makepkg.conf so makepkg can use new recommended defaults if it updates but it's not a big deal). I added all inherited variables so that the provided makepkg.conf is complete but these files still litter toe directory and doesn't seem to respect the settings. I also tried --margs "--syncdeps,--clean,--rmdeps" (`man aur build` does not explicitly imply `--margs=` unlike other options like `--root=`) but am still experiencing this behavior.
Offline
Depending on what you want to overwrite in the makepkg environment, ~/.config/pacman/makepkg.conf is already supported by makechrootpkg: https://github.com/archlinux/devtools/b … pkg.in#L50
The logs are from the default --log argument in makechrootpkg, which cannot be overridden. https://github.com/archlinux/devtools/b … in#L12-L13
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Looking into the new version, noticed 'aur fetch (-r)' option removed, but not from the man page options:
I've added some compatibility options with https://github.com/AladW/aurutils/pull/886
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Disclaimer: aurutil/git (to version control modified PKGBUILDs) noob.
I modified the PKGBUILD of a package from the AUR to remove stuff I optional features I don't need. Do I `aur fetch` to get the original PKGBUILD and create a branch for my changes? How would I use aurutils to update the PKGBUILD in the future and apply my changes automatically, without manually going into the directory and git pull, rebase my branch over it, then makepkg (or is this what you're supposed to do and I should just use a wrapper to do these steps)?
Similarly, I modified the PKGBUILD of a package from the official repository. I got this PKGBUILD from `asp export <package>`. Should I instead `asp checkout <package>` for the git repository, then do the same as above? Also, is it possible to create a pacman hook to automate this instead of manually rebuilding the packages after I `pacman -Syu`?
I want to track my changes on top of those PKGBUILD updates from the AUR and from the official repositories. Should I treat each package's PKGBUILD as a separate repo to push to to my remote repository (for backup) or can I have a "master" repo that contains these package repos? Is this what git submodules are for?
Just want some ideas for a wrapper script as automated as possible when every time I update the system (there may be rare errors that I might need to manually intervene, which is fine). Much appreciated.
Offline
I modified the PKGBUILD of a package from the AUR to remove stuff I optional features I don't need. Do I `aur fetch` to get the original PKGBUILD and create a branch for my changes? How would I use aurutils to update the PKGBUILD in the future and apply my changes automatically, without manually going into the directory and git pull, rebase my branch over it, then makepkg (or is this what you're supposed to do and I should just use a wrapper to do these steps)?
aur-fetch uses the master branch, so you can just make your commits there. Then with -S, aur-fetch will run git rebase automatically (see https://github.com/AladW/aurutils/blob/ … #L118-L145 or the man page).
Similarly, I modified the PKGBUILD of a package from the official repository. I got this PKGBUILD from `asp export <package>`. Should I instead `asp checkout <package>` for the git repository, then do the same as above?
For official repository packages, you can use aur fetch --existing together with asp. You can also use aur-view to inspect any changes before merging them. See https://github.com/AladW/aurutils/issues/860 for further discussion.
Also, is it possible to create a pacman hook to automate this instead of manually rebuilding the packages after I `pacman -Syu`?
An alternative to pacman hooks in this case is to use chroot builds (aur build -c) for your modified packages, before you run pacman -Syu on the host. Then either put your local repository before the official repositories in pacman.conf, or use a pkgrel suffix (e.g. -1.1) so that the modified package is pulled in.
I want to track my changes on top of those PKGBUILD updates from the AUR and from the official repositories. Should I treat each package's PKGBUILD as a separate repo to push to to my remote repository (for backup) or can I have a "master" repo that contains these package repos? Is this what git submodules are for?
aur-fetch and aur-view assume that each package is a separate repo, be that a submodule or otherwise. You can also use git subtree, but then you'll need to write your own git logic.
Last edited by Alad (2022-01-31 13:00:48)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline
Not sure what happened, but with aurutils-4.3-1 I can see packages out of date when running aur repo -u, but running aur sync -u says 'there is nothing to do'. Did something change?
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
Not sure what happened, but with aurutils-4.3-1 I can see packages out of date when running aur repo -u, but running aur sync -u says 'there is nothing to do'. Did something change?
Breakage https://lists.archlinux.org/pipermail/a … 36786.html
Offline
Not sure what happened, but with aurutils-4.3-1 I can see packages out of date when running aur repo -u, but running aur sync -u says 'there is nothing to do'. Did something change?
Fallout from latest --ignore changes, I'll see I can fix it for the next release.
edit: https://github.com/AladW/aurutils/pull/903
edit2: released 4.4
Breakage https://lists.archlinux.org/pipermail/a … 36786.html
aurutils never used the "rpc.php" endpoint, it always used "rpc". See https://github.com/AladW/aurutils/blob/ … r-query#L8
Last edited by Alad (2022-02-05 10:44:09)
Mods are just community members who have the occasionally necessary option to move threads around and edit posts. -- Trilby
Offline