aura
A secure package manager for Arch Linux and the AUR.
https://github.com/fosskers/aura
| Version on this page: | 3.1.8 |
| LTS Haskell 20.26: | 3.2.9 |
| Stackage Nightly 2022-11-17: | 3.2.9 |
| Latest on Hackage: | 3.2.10 |
aura-3.1.8@sha256:c7e6145a08b05b9c67597b459b183600b332c5777f0905015112e6a3338f5263,3398Module documentation for 3.1.8
- Aura
Aura
Aura is a package manager for Arch Linux. Visit its main README here: https://github.com/fosskers/aura
Changes
Aura Changelog
3.1.8 (2020-08-23)
Changed
- Updated Polish translations. Thank you, Michał Kurek!
- Bumped dependency bounds.
3.1.7 (2020-08-12)
Thanks to Sam Horvath-Hunt for contributing to this release.
Added
- Users can now configure Aura in
/home/YOU/.config/aura/aura.confinstead, which takes priority over the default one at/etc/aura.conf.
Fixed
- Complications involving the cloning of
*-gitpackages. #615
3.1.6 (2020-07-21)
Changed
- Binary size reduced by 60%!
3.1.5 (2020-07-15)
Changed
- Updated Spanish translations. Thank you, Max Ferrer!
Fixed
- Provide better output when a listed dependency doesn’t exist.
3.1.4 (2020-06-11)
Fixed
PATHis now passed down to all internalpacmancalls. This fixes the inability to install DKMS packages. #584
3.1.2 (2020-06-10)
This release fixes a regression in 3.1.1. Please update as soon as possible.
Added
- The
-c/--cleanflag for-A. After a package’s tarball has been built and copied to the package cache, delete its build directory immediately. By default, build directories are left in/tmpto be cleaned by the OS, but for users who don’t restart their machines often, this can clog up disk space.
Fixed
- Apologies to Aura users. The
-Echange in the previous release caused a lot of unexpected behaviour, so that change has be revoked. A future version of Aura will explore a better solution for handling environment variables.
3.1.1 (2020-06-02)
Changed
- Running Aura with
sudo -E aura ...will ensure that the transfer of the true user’s environment will persist all the way to the internalmakepkgcalls. This should help people who have set custom paths for GPG,npm, etc., via environment variables. See #606. Users with standard setups don’t need to worry about-E.
Removed
- Explicit dependency on
microlens. Everything Aura uses now comes throughrio.
3.1.0 (2020-05-27)
Added
- The
--skipdepcheckflag to skip all dependency solving. Combine this with--hoteditto avoid discrepancies in custom dependency listings. --skippgpcheckis now available to pass through tomakepkg.aura.confnow has a man page.
Changed
- Bumped
aesonandhttp-clientbounds.
3.0.0 (2020-05-20)
Added
- Aura is now configurable via a conf file! Aura expects it at
/etc/aura.conf, but will not break if it’s missing. If you install Aura via its AUR package, this file will be installed for you automatically. - A new top-level command:
-P. This allows users to analyse PKGBUILD files manually, as is usually done during building.-Pfaccepts a path to a PKGBUILD.-Pdaccepts a path to a directory containing a PKGBUILD.-Pato scan the PKGBUILDs of all locally installed AUR packages.-Pon its own will read from stdin. Combine this with-Apto pull from the AUR:
> aura -Ap myget | aura -P
sudo pacman -S aurvote
aura >>= sudo indicates that someone may be trying to gain root access to your machine.
aura >>= Potential PKGBUILD vulnerabilities detected.
- A new flag
--vcspathto accompany the new VCS build behaviour (see below). - A new flag
--allsourcepathto accompany the restored--allsourcefunctionality (see below). -O --adoptcan now be called as-Oa.
Changed
- VCS packages (e.g.
*-git,*-svn, etc.) and their cloned sources are now built and stored in/var/cache/aura/vcs. Subsequent builds will no longer reclone everything. #462 --hoteditwill now offer to edit.installand.patchfiles. #208- Some modules have been renamed and moved around.
Aura.DiffandAura.Pkgbuild.Basehave had their contents folded into other modules.
Fixed
- A regression that broke
-Bc. #592 - The functionality of
--allsourcehas been restored. #538 - A minor difference in the behaviour of
-Ssrelative topacman. #599
2.3.0 (2020-04-22)
Added
- Allow
--asdepsto be passed to-Acommands. -ycan be passed to-Acommands again, like-Ayu.- Dutch translations. Thank you, Joris Blanken!
Changed
- ~15% reduction in binary size and much faster compiles due to removal of unnecessary dependencies.
-Ccnow reports how much storage space was cleared.- A few more messages when using
--log-level=debug.
Removed
makepkgConfFilewasn’t being used anywhere.
Fixed
- A bug involving multiple prompts appearing at the same time when more than one package needs a custom provider selection. #541
- A bug involving the
+character appearing in package names, likecrypto++. #520 - A regression where the name of a parent package wouldn’t be displayed when a dependency couldn’t be found. #513
2.2.1 (2020-03-01)
Changed
- Further improved Italian translations.
Fixed
- Pass the Pacman flag
--overwritethrough properly.
2.2.0 (2020-02-25)
Added
--log-levelflag. Setting this todebugwill give you some verbose logging output. This is different from the usual-xbehaviour.
Changed
- Updated Italian translations. Grazie, Cristian Tentella!
- Support for GHC 8.8.2.
Fixed
- Users with many AUR packages installed will no longer see mysterious AUR connection failures. (#528)
2.1.0 (2020-02-17)
Added
- Reinstated
-Aw, which downloads a snapshot tarball of an AUR package.
2.0.6 (2020-02-16)
Fixed
- Fixed the broken
-S.
2.0.5 (2020-02-16)
Fixed
- Fixed a bug that prevented
-Syuuand-Scc.
2.0.4 (2020-02-08)
Changed
- Removed
fused-effectsdependency in favour ofrioto simplify code.
2.0.3
Changed
- Updated Spanish translations. Thanks to Max Ferrer!
Fixed
- Bug #543 involving locales. Thanks to Alexey Kotlyarov!
2.0.2
- Bug fixes and performance improvements.
2.0.0
This is a large update representing about a month of full-time effort. Aura is now much faster, solves dependencies more reliably, has a few new features, and many fewer bugs. This is all while modernizing the code and seeing a ~15% decrease in overall code size.
Improvements
Dependency Handling
- Dependency resolution is now much faster and handles split packages correctly.
As such, the following troublesome packages now build correctly:
android-sdkbackintimeclionlibc++mysql-connector-c++telegram-desktop-devzoom
- Dependency provider selection for AUR packages.
- Example:
cronis a legal dependency to specify, but there exists no package with that name.cronieandfcronboth “provide”cron, and now the user can manually make a selection. - Including
--noconfirmwill have Aura make its best guess.
- Example:
- If the exact version of an AUR package is available in the package cache, it
will be used automatically instead of being rebuilt. You can instead force a
rebuild with
--force.
PKGBUILD Analysis
- In light of the recent compromise of the Acroread package,
Aura nows performs static PKGBUILD analysis before building, and warns the user if
potentially malicious terms like
curlare found.- This feature can be disabled with
--noanalysis. Caveat emptor! - This feature is a supplement in checking PKGBUILD safety, not a fool-proof replacement. It is always your responsiblity to understand what build scripts are running on your machine.
- This feature can be disabled with
Saved Package State
-Suand-Auautomatically save a package state before updating (unless you’re doing--dryrun). This lets you more easily roll back from problematic updates.- Saved package states can now be “pinned”, which will protect them from removal via
-Bc. To pin a certain state, open its JSON file (see below in Breaking Changes) and edit thepinnedfield fromfalsetotrue.
CLI Flags
- Various CLI flag improvements:
-A --json <packages>. Query the AUR directly for a package’s raw JSON data. Great for debugging.-Brhas been restored as short-hand for-B --restore.- Added
-Blto list all saved package state filenames. -Cbadded as a short-hand for-C --backup.- The Pacman flags
--ignoregroup,--cachedir,--config, and--logfilealso now affect Aura. --dryrunno longer requires sudo.--color neverturns off all text colouring. Further, by default, Aura will only automatically colour text when it detects that the output device is a terminal (and not a Unix pipe, say). These behaviours match Pacman.
Translations
- Improved Japanese translations thanks to Onoue Takuro.
- Improved Portuguese translations thanks to Wagner Amaral.
- Improved Russian translations thanks to Alexey Kotlyarov.
Misc.
- Packages that aren’t interdependent will be built in succession without prompting
the user, only calling down to
pacmanonce per group. - Modernized the Haskell code:
- Removed custom CLI flag handling in favour of
optparse-applicative. - Removed custom package version number parsing in favour of
versions. - Removed custom text colouring code in favour of
prettyprinter. - Removed the
AuraMonad in favour of Extensible Effects viafreer-simple. - Removed custom shell interaction code in favour of
typed-process. - Used
asyncto make AUR andpacmancalls concurrent. megaparsecparsers used in place of hacky Regexes.
- Removed custom CLI flag handling in favour of
aurais now a library as well, and can be pulled into other Haskell projects.
Breaking Changes
-Bnow saves package states as JSON. This makes them readable by other tools, and also improves internal code quality. All old package state files are no longer readable by Aura.- The
"time"field in these files is now a HaskellZonedTime.
- The
- Various CLI flag changes:
--auradebugis now just--debug, matching Pacman.--aurignoreis now just--ignore, matching Pacman.-Awhas been removed.-yno longer works with-A. Perform an-Syahead of time instead.-Ono longer accepts arguments to adopt packages, it only displays current orphans. Use-O --adoptinstead for the old behaviour.-Cccis now-C --notsaved.
- Help messages (
-h) are no longer localised. - Support for
powerpillremoved. - Support for
customizepkgremoved.
Bug Fixes
- Aura no longer returns an exit code of 1 if no packages are available to upgrade.
-Aqno longer fails at the package installation step.- Ctrl+C at certain moments no longer preserves the Pacman lock file.
makepkgoutput is no longer coloured green.
1.4.0
- Dependency resolution vastly improved. We removed the Bash parser that used to poorly handle the bulk of this.
- Chinese translations thanks to Kai Zhang.
-Moperator and associated code fully removed.
1.3.9
- Updated Swedish translations
- Disabled
-Moperator due to theabstool being deprecated by Arch Linux
1.3.8
- Fixed behaviour of
-Bflags. For restoring of saved states, use the long form:aura -B --restore. Cache backups also need to take their long form:aura -C --backup. - Fixed handling of language flags. Thanks to Doug Patti!
1.3.5
- Aura now uses version 5 of the
aurpackage, to fix a critial bug - Updated Spanish and Polish
1.3.4
- Bash parser bug fix. Fixes some packages.
1.3.3
- Bash parser extended to be able to handle bash array expansions. This enables packages with more (Bash-wise) complex PKGBUILDs to build properly.
1.3.2.1
-Aiand-Asshow popularity values.aur4is no longer referenced.Yes/Noprompts are now localized.- Aura can be built with
stack. - Updated German translation.
1.3.1.0
- Aura builds against GHC 7.10.
- Updated German and Russian translations.
1.3.0.4
- Must use
--builduserwhen building as root. - Bug fix regarding
--needed. - Updated Portuguese translation.
1.3.0.3
- Pacman flags
--ignoreand--ignoregroupnow work. - Bug fixes.
1.3.0.2
- (Bug fix) If a user tries to install a package in
IgnorePkg, they will now be prompted. - Man page updated.
- Dependencies updated.
1.3.0.1
- (Bug fix) Tarballs are now downloaded from a URL provided by the RPC.
1.3.0.0
-
Last major version of Aura 1! We have entered the design phase for Aura 2, the implementation of which will transform Aura into a multi-distro package management platform.
-
Aura 1 itself has entered “legacy” mode. The only releases to be made on Aura 1 after this will be of
1.3.0.x. You’ll likely never see1.3.1.x. -
Befitting a major release, we have:
- New AUR interaction layer via the
aurpackage. This fixes nasty “AUR lookup failed” errors. http-conduitdropped forwreq, which is much easier to use.- Better version number parsing/comparison on installation/upgrading.
- Package state backups have had their format changed. This BREAKS all previously saved states. Please delete your old ones!
- Implemented extended
--neededfunctionality for the AUR side of Aura. AUR packages won’t build if they’re already installed. - Indonesian translations!
- Other updated translations.
- New AUR interaction layer via the
1.2.3.4
- zsh completions completely redone (thanks to Sauyon Lee!)
Having
aur-gitinstalled will let you auto-complete on AUR packages.
1.2.3.3
-As --{head,tail}can now be passed numbers to truncate the results to any number you want. The default is 10.- Updated Russian translation.
1.2.3.2
- Expanded Bash completions: Aura Only * Expanded completion for all options and search sub-options * Package completion for -M/–abssync * Completion for orphans using self-generated list Pacman * Include completion for all pacman options * Directory or file completion for some common options
- Use
--dryrunwith-Aand-Minstall options to test everything up until actual building would occur (dependency checks, etc.)
1.2.3.1
- Network.HTTP.Conduit errors are now caught properly and don’t crash aura.
customizepkgusage corrected.- zsh completions slightly expanded.
1.2.3.0
- Moved to
Network.HTTP.ConduitfromNetwork.CurlThis fixes the AUR connection issues. Binary size has increased by quite a bit.
1.2.2.1
-Ainow shows dependencies.
1.2.2.0
- Happy New Year!
- makepkg’s
--ignorearchflag is now visible to Aura. This allows users to build AUR packages on ARM devices without worrying about architecture restrictions in PKGBUILDs. - Use
--headand--tailto truncate-Asresults. -Bnow uses local time.- Bug fixes and translation updates
1.2.1.3
-Asresults now sort by vote. Use--abcto sort alphabetically.- “[installed]” will now be shown in
-Asresults if you have it. - Fixed Bash parsing bug involving
\\in arrays - Fixed broken
-C - Updated Italian translation
- Updated French translation
1.2.1.2
- Happy Canadian Thanksgiving
- Bug fixes
1.2.1.1
- Norwegian translation added!
- Dependency checks slightly faster
--hoteditand--customcan now be used together- Bug fixes
1.2.1.0
- New
builduseroption Prelude.headbug fixed- Dependency checking is faster
- New
-koutput --absdepsworks properly now- Other bug fixes
1.2.0.2
- Bug fixes and spelling corrections.
1.2.0.1
- Fixes dependency build order bug.
1.2.0.0
- New operator
-Mfor building ABS packages. Has its own family of options. - Pre-built binary package available (x86_64 only)
- Updates to Aura are now prioritized like pacman updates.
- Dependency checking is now faster.
- Use
-Cccto clean the cache of only packages not saved in any package record. -Ainow shows Maintainer name.- Extensive API changes.
1.1.6.2
- New option
--no-pp. Disables use of powerpill, even if you have it. - This is a light release, as major work is being done on version 1.2 on another development branch.
1.1.6.1
- Compatable with pacman 4.1
- All pacman-color support removed
-Asoutput slightly altered to match pacman.- Bug fixes.
1.1.6.0
- New option
--buildfor specifying AUR package build path. - Vote number now shown in
-Asoutput. - Fixed Repo/AUR name collision bug.
- API Change: Argument order for functions in
Aura/Languageschanged.
1.1.5.0
customizepkgnow usable with Aura. Activate with the--customoption.- API Change: Aura/Pkgbuilds now a set of libraries as Aura/Pkgbuild/*
1.1.4.3
- Fixed flaw in
-Br. - Fixed repititious
-Adoutput. - API Change: Aura/AurConnection renamed to Aura/AUR
- API Change: function names in Aura/Languages now have better names.
1.1.4.2
- Haskell deps have been moved back to
makedepends. - haskell-http removed as dependency.
- API Change: function naming conventions in
Aura/Languages.hshas been changed. The localisation guide was also updated to reflect this.
1.1.4.1
- Support for the $LANG environment variable.
- Aura will now pause before post-build installation if the package database lock exists. This means you can run multiple instances of Aura and avoid crashes.
1.1.4.0
- Serbian translation added. Thank you, Filip Brcic!
- Fixed bug that was breaking
aura -Ss.
1.1.3.0
- Changed
--saveand--restoreto-Band-Br.--saveis now just an alias for-B, but--restoremust be used with-B. - New option
-Bcfor removing old unneeded package states. -Broutput is now sorted better and makes more sense.- Bash Parser can now properly parse
ifblocks, meaning packages that have conditional dependencies based on architecutre will now build properly. - API Change:
Aura.Generalis nowAura.Core - Dep Change:
haskell-urlno longer needed.
1.1.2.1
- Added message to
--save.
1.1.2.0
- Bash parser completely rewritten.
- Bug fixes (thanks to the new parser)
1.1.1.0
- New option
--devel. Rebuilds all devel packages installed. - Italian translation added! Thank you Bob Valantin!
- Support for
powerpilladded. It will be used if installed, unless the PACMAN variable is specifically set to something different. - Aura can now handle PKGBUILDs that produce multiple .pkg.tar files.
- Bug fixes
1.1.0.0
- New
--saveand--restoreoptions. - New option
-Akfor showing PKGBUILD diffs when upgrading. - New option
--aurignorefor ignoring AUR packages. - Aura now reads
color.conf. - Massive breaking API changes everywhere.
- Aura now runs on the Aura Monad.
- Code is quite cleaner now.
1.0.8.1
- Bash completions added.
- zsh completions added.
- Changed
--confto--viewconf - Fixed bug involving “symlink” Haskell error.
1.0.8.0
- Moved certain general functions to
Aura.Utils - Moved
-L,-O,-Afunctions out ofaura.hs. --hoteditfunctionality altered (fix).- The license message is now more badass.
1.0.7.0
- New libraries: Aura.Time, Aura.State
- Moved
-Cfunctionality toAura.C - New secret option you don’t get to find out about until 1.1
- Fixed manually alignment stupidity with
-Li. - Bug fixes
1.0.6.0
- New libraries: ColourDiff, Data.Algorithm.Diff, Aura.Pkgbuilds
- Aura.AuraLib split into Aura.General, Aura.Build, Aura.Dependencies
- New secret option you don’t get to find out about until 1.1
1.0.5.0
- Fixed bug where packages with
+in their name couldn’t be searched or built. -Asnow allows multi-word searches, as it always should have.pacman-colorintegration is more complete. Still does not read the color.conf directly.
1.0.4.0
- Added French translation. Thanks to Ma Jiehong!
- Added Russian translation. Thanks to Kyrylo Silin!
- Fixed bug where packages with dots in their name wouldn’t build.
1.0.3.2
- Moved haskell dependencies out of
makedependsfield and intodependsfield in PKGBUILD. Makedepends can usually be ignored after building, but haskell packages are a pain to rebuild and reregister at every build. It’s more realistic to just keep them installed. This is what other haskell packages in the AUR do as well. - Fixed pacman-color issues.
1.0.3.1
- Added
--auradebugoption.
1.0.3.0
- Compatibility with AUR 2.0 added.
- Portuguese translation added. Thanks to Henry “Ingvij” Kupty!
- Support for
pacman-coloradded. Run sudo with-Ea la: sudo -E aura -Ayu - Fixed backslash parsing bug in
Bash.
1.0.2.2
- Fixed parsing bug in
Bash. If one package fell victim, a whole-Ausession would fail.
1.0.2.1
- Added License info to source files.
- Fixed virtual package recognition bug.
- Altered version conflict error message.
- Fixed bug in Bash parser that would occasionally break parsing.
1.0.2.0
- Bug fixes.
- Extended the Bash parser. PKGBUILDs that had bash variables in their dependency arrays will now be parsed correctly.
1.0.1.0
- German translation (use with –german). Thanks to Lukas Niederbremer!
- Spanish translation (use with –spanish) Thanks to Alejandro Gómez!
- Replaced regex-posix with regex-pcre.
-Asnow highlights properly.- Moved a number of modules to
Aura/
1.0.0.0
- Fixed
-Vmessage in terminals other than urxvt. - New
haskell-ansi-terminallibrary to do this.
0.10.0.0
-
Internet access moved to Network.Curl library.
-
Bash.hslibrary created to help with PKGBUILD parsing. Can currently handle string expansions a la::“this-is-{awesome,neat}” => [“this-is-awesome”,“this-is-neat”]
0.9.2.3
- Dependency determining speed up.
- Added AUR URL to
-Ai.
0.9.3.2
- Swedish translation. Thanks to Fredrik Haikarainen!
0.9.2.0
-Aiand-As!
0.9.1.0
-Auis about 20 times faster.
0.9.?.?
- Polish translation. Thanks to Chris “Kwpolska” Warrick!
- Croatian translation. Thanks to Denis Kasak!
0.9.0.0
- New
-Ooperation for dealing with orphan packages. - A man page!
0.8.0.0
- Help message now supports multiple languages.
- Broke “no overlapping options” convention.
-Czis now-Cb.- New option
-Ad. Lists all dependencies of an AUR package. This is to aid pre-building research. This option shows information you can’t get from looking at PKGBUILDS!
0.7.3.0
- New option
--conf. Lets you quickly view your pacman.conf.
0.7.2.3
--logis now-L.- New option
-Ls. Search the log file via a regex. - New option
-Li. Reports information on a given package that has had any appearance in the log file.
0.7.0.0
--hoteditoption added.Shelllibrary added.
0.6.0.0
- Aura passes proper exit codes to the shell upon completion.