Hi @fosskers, back in March I suggested:
===
Comment by trusktr
2013-03-24 22:49
Hi fosskers, I have a feature Request.
When a build fails, sometimes the fix is simple, but Aura will start the build over from scratch, which can be annoying if the build takes an hour. Maybe you can give the user the option to try again instead of just quitting, keeping the build files (compiled files) intact for the next attempt so files that have already been compiled won't be compiled again.
For example, I had a problem where a build failed due to a missing lib.so file because the file was installed in /opt/package-name/lib instead of /usr/lib/ by it's dependency... To fix the problem, I created a symlink in /usr/lib/ to the file in /opt/package-name/lib/, but it was annoying because compiling the source took a half hour before the error was encountered, so I had to wait a half hour re-compiling only to encounter another missing .so file, so I symlinked it, then started over again, hoping for no more errors...
Ideally, instead of quitting, maybe aura can do something like "Build failed. Try again? [y/n]", and that way, before I try again, I can go into another terminal and fix the problem, then try again, and aura won't have to re-compile everything for a whole hour (literally). Aura can keep the build environment intact until the user selects not to continue.
Maybe you can create a setting that users can set in a config file for aura (.aurarc?) telling aura not to erase temporary files when it quits, so that if you try installing a package again, it does not have to re-compile the whole thing again. And to make things even better, maybe provide a command line flag to that would tell aura to clear all temporary files. I believe that if the build process pulls new code (e.g. using git), that the make process will only re-compile files that have changed, so this should work.
Can you add something like this to Aura?
===
and you replied with
===
It seems you've put some thought into your request and I thank you for
that.
How would this be handled manually? Say you were building something
big and had all the source you downloaded yourself. The build fails
partway through. You try again. Where does that second build start?
Does it recognize a good part of the work is already done? (I imagine
this depends on the build system) It if does, then I could implement
this into Aura. If it doesn't, then I wouldn't even know where to
begin.
At the moment everything is done in temporary folders. When the build
is complete, the .pkg.tar.gz is moved to the cache and everything else
is automatically deleted. This could be changed, if the answer to my
above question is that it's possible.
===
I don't know if you've done anything about this recently, but I have an idea. Does aura have a config file? ~/.aurarc or something? If not, then a command line setting could suffice. But my idea is that there be a setting/command option that prevents aura from deleting the temporary files. In most cases, things are compiled using make which reads a makefile. You can keep track of tmp folders somehow (e.g. placing a flag in the folder with the name of the package so if you are installing something with aura and it sees a folder for the package you are installing then use that folder instead of making a new one) so if you leave those files in tact, make will handle the rest and would not recompile things if not necessary.
So basically, this is what you'd have to implement: if using this new "save temporary folder" option, then aura would store the name of the package in the temp folder. e.g. when I do "sudo aura -A whatever", then aura would check all the temp folders made by aura to see if there's already one for the "whatever" package. If one exists, aura would not make a new one, else if it doesn't exist, aura would make a new one. You could also add a "clear temporary folders" option so the user can have aura automatically delete temporary folders on demand.
That's all you'd need to do. The rest would usually be handled by the user's build system (e.g. make will no recompile if not necessary).
Search Criteria
Package Details: aura 4.2.0-1
Package Actions
| Git Clone URL: | https://aur.archlinux.org/aura.git (read-only, click to copy) |
|---|---|
| Package Base: | aura |
| Description: | A package manager for Arch Linux and its AUR |
| Upstream URL: | https://github.com/fosskers/aura |
| Keywords: | AUR pacman rust |
| Licenses: | GPL-3.0-or-later |
| Conflicts: | aura-bin, aura-git, aura3-bin |
| Submitter: | fosskers |
| Maintainer: | fosskers |
| Last Packager: | fosskers |
| Votes: | 176 |
| Popularity: | 1.61 |
| First Submitted: | 2012-06-13 09:49 (UTC) |
| Last Updated: | 2026-01-14 21:46 (UTC) |
Dependencies (13)
- curl (curl-gitAUR, curl-c-aresAUR)
- gcc-libs (gcc-libs-gitAUR, gcc-libs-fast-optimizedAUR, gccrs-libs-gitAUR, gcc-libs-snapshotAUR)
- git (git-gitAUR, git-glAUR, git-wd40AUR)
- glibc (glibc-gitAUR, glibc-git-native-pgoAUR, glibc-eacAUR)
- openssl (openssl-gitAUR, openssl-aegisAUR, openssl-staticAUR)
- cargo (rust-beta-binAUR, rustup-gitAUR, rust-gitAUR, rust, rustup) (make)
- bash-completion (bash-completion-gitAUR) (optional) – for bash completions
- bat (bat-cat-gitAUR) (optional) – more featureful file viewing
- fd (fd-gitAUR, fd-gitAUR) (optional) – faster filesystem traversal
- graphviz (optional) – dependency graph generation
- ripgrep (ripgrep-gitAUR) (optional) – faster log searches
- shellcheck (shellcheck-binAUR, shellcheck-gitAUR) (optional) – PKGBUILD scanning
- xdg-utils (busking-gitAUR, xdg-utils-slockAUR, mimiAUR, mimi-gitAUR, openerAUR, mimejs-gitAUR, xdg-utils-mimeoAUR, xdg-utils-gitAUR) (optional) – for xdg-open
Required by (6)
- anneal (optional)
- anneal-bin (optional)
- anneal-git (optional)
- aura-emerge
- dpw (optional)
- pacup-arch-git (optional)
Sources (1)
Latest Comments
« First ‹ Previous 1 .. 10 11 12 13 14 15 16 17 18 19 20 .. 40 Next › Last »
trusktr commented on 2013-12-22 08:51 (UTC)
fosskers commented on 2013-10-26 16:39 (UTC)
Also:
https://wiki.archlinux.org/index.php/Aura#Build_failing_at_configuration_step
flamusdiu commented on 2013-10-26 08:23 (UTC)
@kevincox : you need to make sure you have the haskell repo set up (1). The information on Aura is on the wiki(2) as well
To install the dependencies do the following after you setup the haskell repo:
# pacman -Sy ghc haskell-{regex-{base,pcre},curl,json,mtl,parsec,transformers,temporary}
Note make sure the command is all on one line. After that gets installed do the following:
# wget https://aur.archlinux.org/packages/au/aura/aura.tar.gz
# tar -xvaf aura.tar.gz
# cd aura
# makepkg -i
It should build then.
[1] https://wiki.archlinux.org/index.php/Haskell_Package_Guidelines
[2] https://wiki.archlinux.org/index.php/Aura
kevincox commented on 2013-10-25 20:06 (UTC)
When building I get the following error even though all of those packages appear to be installed.
Configuring aura-1.2.1.2...
Setup: At least the following dependencies are missing:
curl -any, json -any, regex-pcre -any, temporary -any
Any help would be appreciated.
fosskers commented on 2013-10-15 02:51 (UTC)
Happy Canadian Thanksgiving!
roadnottaken commented on 2013-08-22 03:30 (UTC)
After a bit more testing, it seems that just adding the --hotedit flag is enough even if I answer no when asked whether to edit the pkgbuild. Also, I tested against previous versions of aura (1.2.0.2 and 1.2.0.0), which also resulted in --custom not taking effect.
roadnottaken commented on 2013-08-20 21:27 (UTC)
Also, I don't think it should matter, but just in case: I'm using aura as provided by the aura-bin package.
roadnottaken commented on 2013-08-20 21:22 (UTC)
customizepkg-patching
fosskers commented on 2013-08-20 21:16 (UTC)
Thanks. Which of the various `customizepkg`s are you using?
Pinned Comments
fosskers commented on 2024-07-31 10:21 (UTC)
Aura 4 has been released. If instead you wish you keep using the Haskell-based v3 series, please install:
https://aur.archlinux.org/packages/aura3-bin