aura 3.2.9 → 3.2.10
raw patch · 46 files changed
+2101/−1890 lines, 46 filesdep ~timedep ~versions
Dependency ranges changed: time, versions
Files
- CHANGELOG.md +13/−0
- aura.cabal +11/−11
- doc/aura.8 +0/−730
- doc/aura.conf +0/−68
- doc/aura.conf.5 +0/−150
- doc/completions/_aura +0/−590
- doc/completions/bashcompletion.sh +0/−104
- exec/Aura/Commands/A.hs +1/−1
- exec/Aura/Commands/B.hs +1/−1
- exec/Aura/Commands/C.hs +5/−3
- exec/Aura/Commands/L.hs +1/−1
- exec/Aura/Commands/O.hs +1/−1
- exec/Aura/Commands/P.hs +1/−1
- exec/Aura/Flags.hs +8/−6
- exec/Aura/Settings/Runtime.hs +1/−1
- exec/aura.hs +1/−1
- lib/Aura/Build.hs +1/−1
- lib/Aura/Cache.hs +1/−1
- lib/Aura/Colour.hs +1/−1
- lib/Aura/Core.hs +1/−1
- lib/Aura/Dependencies.hs +3/−3
- lib/Aura/IO.hs +1/−1
- lib/Aura/Install.hs +1/−1
- lib/Aura/Languages.hs +342/−189
- lib/Aura/Languages/Fields.hs +35/−1
- lib/Aura/Logo.hs +1/−1
- lib/Aura/MakePkg.hs +2/−2
- lib/Aura/Packages/AUR.hs +1/−1
- lib/Aura/Packages/Repository.hs +1/−1
- lib/Aura/Pacman.hs +1/−1
- lib/Aura/Pkgbuild/Fetch.hs +1/−1
- lib/Aura/Pkgbuild/Records.hs +1/−1
- lib/Aura/Pkgbuild/Security.hs +1/−1
- lib/Aura/Security.hs +1/−1
- lib/Aura/Settings.hs +1/−1
- lib/Aura/Settings/External.hs +1/−1
- lib/Aura/Shell.hs +1/−1
- lib/Aura/State.hs +1/−1
- lib/Aura/Types.hs +2/−1
- lib/Aura/Utils.hs +6/−1
- misc/aura.8 +730/−0
- misc/aura.conf +68/−0
- misc/aura.conf.5 +150/−0
- misc/completions/_aura +590/−0
- misc/completions/bashcompletion.sh +104/−0
- test/Test.hs +7/−6
CHANGELOG.md view
@@ -1,5 +1,18 @@ # Aura Changelog +## 3.2.10 (2024-07-17)++#### Added++- Hindi translations thanks to "yozachar". धन्यवाद!+- A `--turkish` flag to activate the Turkish localisations.++#### Fixed++- Corrections made to the Mandarin Chinese translation.+- Don't attempt to remove VCS dirs if they don't exist.+- Updated dependencies.+ ## 3.2.9 (2022-05-23) #### Fixed
aura.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: aura-version: 3.2.9+version: 3.2.10 synopsis: A secure package manager for Arch Linux and the AUR. description: Aura is a package manager for Arch Linux. It connects to both the@@ -19,17 +19,17 @@ extra-source-files: README.md CHANGELOG.md- doc/aura.8- doc/aura.conf- doc/aura.conf.5- doc/completions/bashcompletion.sh- doc/completions/_aura+ misc/aura.8+ misc/aura.conf+ misc/aura.conf.5+ misc/completions/bashcompletion.sh+ misc/completions/_aura test/pacman.conf test/good.PKGBUILD test/bad.PKGBUILD common commons- default-language: Haskell2010+ default-language: GHC2021 default-extensions: NoImplicitPrelude OverloadedStrings@@ -46,11 +46,11 @@ , megaparsec >=7 && <10 , rio ^>=0.1.17 , text >=1.2 && < 1.3 || ^>= 2.0- , versions ^>=5+ , versions ^>=6.0.3 common libexec build-depends:- , aeson ^>=2.0+ , aeson >=2.1 && < 2.3 , aur ^>=7.0.5 , http-client >=0.5 && <0.8 , prettyprinter >=1.2 && <1.8@@ -90,14 +90,14 @@ Aura.Utils build-depends:- , algebraic-graphs >=0.1 && <0.7+ , algebraic-graphs >=0.1 && <0.8 , filepath ^>=1.4 , hashable ^>=1.4 , http-types >=0.9 && <0.13 , language-bash >=0.8 && <0.10 , network-uri ^>=2.6 , stm ^>=2.5- , time >=1.8 && <1.12+ , time >=1.8 && <1.13 executable aura import: commons, libexec
− doc/aura.8
@@ -1,730 +0,0 @@-'\" t-.\" Man page for `aura`-.\" Written by Colin Woodbury <colin@fosskers.ca>-.-.TH aura 8 "2021 September" "Aura" "Aura Manual"-.-.de SAMPLE \" Indented example - on its own paragraph.-. P-. RS-. EX-..-.de ESAMPLE \" End of Indented example.-. EE-. RE-..-.de RSAMPLE \" Relative sample - even more indented example.-. RS-. SAMPLE-..-.de ERSAMPLE \" End of Relative sample.-. ESAMPLE-. RE-..-.-.ds ellipsis \&.\|.\|.\&-.\" Format repeatable parameter (1 or more) with ellipsis.-.ds multi \fI\\$1\fP\fR\\ \\*[ellipsis]\fP-.\" Format optional repeatable parameter (0 or more)-.\" with ellipsis and square brackets.-.ds multi-optional \fR[\fP\fI\\$1\fP\fR\\ \\*[ellipsis]]\fP-.ds packages \\*[multi packages]-.ds packages-optional \\*[multi-optional packages]-.-.SH NAME-.-aura \- package manager utility and AUR helper-.-.SH SYNOPSIS-.-.SY aura-.I OPERATION-\*[multi-optional OPTIONS]-\*[multi-optional targets]-.YS-.-.SH DESCRIPTION-.-.B aura-is a secure, multilingual package manager for Arch Linux written in Haskell.-.-It connects to both the official Arch repositories and to the-Arch User Repositories (AUR),-allowing easy control of all packages on an Arch system.-.-Aura allows-.I all-pacman operations and provides-.I new-custom ones for dealing with AUR packages.-.-.SH OPERATIONS-.-.TP-.BR \-A ", " \-\-aursync " \*[packages-optional]"-.-Perform actions involving the-.BR A UR.-.-Default action installs packages from the AUR.-.-.IP-During building, makepkg output is-.I not-shown by default.-.-After building, the built-.I *.pkg.tar.xz-file is moved to the package cache and installed from there.-.-This allows for easy AUR package downgrading.-.-.TP-.BR -B ", " \-\-save-.-Manage the saving and restoring of the global package state.-.-Default action stores a record of all currently installed packages and their-versions.-.-.TP-.BR -C ", " \-\-downgrade " \*[packages-optional]"-.-Perform actions involving the package-.BR C ache.-.-Default action downgrades specified-.IR packages .-.-.IP-This process is interactive, allowing the user to choose from any previous-version they have available in the package cache.-.-.TP-.BR \-L ", " \-\-viewlog-.-Perform actions involving the pacman-.BR L ogfile.-.-Default action opens the log for read-only viewing.-.-.TP-.BR \-O ", " \-\-orphans " \*[packages-optional]"-.-Perform actions involving-.BR O rphan-packages.-.-Default action is to list the current orphans.-.-.IP-Orphan packages are packages installed as dependencies,-but are no longer required by any other package.-.-.TP-.BR \-P ", " \-\-analysis-.-Perform security analysis of a-.BR P KGBUILD.-.-Default action reads PKGBUILD from stdin.-.-.IP-Useful for package maintainers and sysadmins to verify the safety of the-PKGBUILD files that they write.-.-To test any package on the AUR, try the following:-.-.RSAMPLE-.BI "aura -Ap " "package" " | aura -P"-.ERSAMPLE-.-.SH AUR SYNC OPTIONS (\fR\-A\fP)-.-.TP-.BR \-a ", " \-\-delmakedeps-.-Uninstalls build dependencies that are no longer required after installing the-main package.-.-This prevents the creation of orphan packages.-.-Also note that while the package itself will be uninstalled,-its package file will remain in the cache.-.-.TP-.BR \-c ", " \-\-clean-.-After a package's tarball has been built and copied to the package cache,-delete its build directory immediately.-.-.TP-.BR \-d ", " \-\-deps " \*[packages]"-.-View all dependencies of-.IR packages .-.-This process is recursive for AUR packages,-so all dependencies of dependencies (and so on) will also be shown.-.-This can aid the pre-install package research process.-.-.TP-.BR \-i ", " \-\-info " \*[packages]"-.-View information about AUR-.IR packages .-.-.TP-.BR \-k ", " \-\-diff-.-Show PKGBUILD diffs.-.-When upgrading, using this option will compare the most and second-most recent-PKGBUILDs and output changes in colour.-.-.TP-.BR \-p ", " \-\-pkgbuild " \*[packages]"-.-View PKGBUILDs of AUR-.IR packages .-.-Use this before installing new packages to confirm that the build scripts-aren't doing anything fishy.-.-.TP-.BR \-q ", " \-\-quiet-.-Display less information about certain-.B \-A-operations-(this is useful when processing Aura's output in a script).-.-In particular, search and view dependencies will only show uncoloured package-names.-.-.TP-.BR \-s ", " \-\-search " \*[multi word]"-.-Search AUR for packages containing-.IR word s-(not regex) in their names or descriptions.-.-Multiple terms will narrow down the search.-.-Results are sorted by votes.-.-Suboptions:-.-.RS-.-. TP-. B \-\-abc-.-Sorts results alphabetically.-.-. TP-. BR \-\-head [ =\fIN\fR ]-.-Only show the first-.I N-results.-.I N-defaults to 10.-.-. TP-. BR \-\-tail [ =\fIN\fR ]-.-Only show the last-.I N-results.-.I N-defaults to 10.-.-. TP-. BR \-r ", " \-\-both-.-Show results from the official repos as well.-.-.RE-.-.TP-.BR \-u ", " \-\-sysupgrade-.-Upgrade all installed AUR packages.-.B -Au-is like-.B -Su-but for AUR packages.-.-.TP-.BR \-w ", " \-\-downloadonly " \*[packages]"-.-Retrieve AUR-.I packages-source tarballs,-but do not build/install/upgrade anything.-.-.TP-.BR \-x ", " \-\-unsuppress-.-Unsuppress-.BR makepkg (8)-output during building.-.-By default this output is suppressed for a more silent install.-.-Note that when this option isn't used,-.B makepkg-output is actually collected and printed if any errors occur.-.-.TP-.B \-\-json \*[packages]-.-Query the AUR RPC for-.I packages-info as raw JSON.-.-Good for debugging.-.-.TP-.BI \-\-build " path"-.-Specify build-.I path-when building AUR packages.-.-Only the-.I full-path of a pre-existing directory can be used.-.-Example:-.-.RSAMPLE-aura -A foo --build=/full/path/to/build/location/-.ERSAMPLE-.-.TP-.BI \-\-builduser " user"-.-Specify the-.I user-to build packages as.-.-This can be useful when logged in as root and a build user is available.-.-.TP-.B \-\-devel-.-When ran with-.BR \-Au ,-adds all development packages to the queue of packages to upgrade.-.-Devel packages are those pulled directly from online repositories,-via git / mercurial / etc.-.-.TP-.B \-\-dryrun-.-When ran with-.BR \-A " or " \-Au ,-update checks,-PKGBUILD diffs,-and dependency checks will be performed,-but nothing will be built.-.-Also usable with-.BR \-M .-.-.TP-.B \-\-force-.-Always (re)build the specified packages.-.-Usually Aura will not rebuild packages whose versions are already available in-the local package cache.-.-.TP-.B \-\-hotedit-.-Before building, prompt the user if they wish to view/edit the-.IR PKGBUILD ,-as well as any-.IR .install " or " .patch-files.-.-However, research into packages (and by extension, their PKGBUILDs) should be-done by the user before any building occurs.-.-Please use-.BR \-Ap " and " \-Ad-for this,-as they will be much faster at presenting information than searching the AUR-website manually.-.-Note that, since aura is run through sudo,-your local value of-.RB $ EDITOR-may not be preserved.-.-Run as-\(lqsudo-.B \-E-aura -A --hotedit \*[ellipsis]\(rq-to preserve your environment.-.-To always allow environment variables to be passed,-have a look at the-.IR env_reset " and " env_keep-options in-.BR sudoers (5).-.-.TP-.B \-\-skipdepcheck-.-Perform no dependency solving.-.-Consider this when using-.B \-\-hotedit-to avoid building annoying dependencies that aren't necessary for your special-use-case.-.-.TP-.BI \-\-vcspath " path"-.-Save the cloned sources of VCS packages (i.e.\& those that end in-.IR *-git ,-etc.) in the given-.IR path ,-instead of the default-.IR /var/cache/aura/vcs/ .-.-.SH GLOBAL PACKAGE STATE OPTIONS (\fR\-B\fP)-.-.TP-.BR \-c ", " \-\-clean \c-.I " states-to-retain-.-Retains a given number of the most recently saved package states and removes the-rest.-.-.TP-.BR \-r ", " \-\-restore-.-Restores a record kept with-.BR \-B .-.-Attempts to downgrade any packages that were upgraded since the chosen save.-.-Will remove any that weren't installed at the time.-.-.TP-.BR \-l ", " \-\-list-.-Show all saved package state filenames.-.-.SH DOWNGRADE OPTIONS (\fR\-C\fP)-.-.TP-.BR \-b ", " \-\-backup \c-.I " path-.-Backup the package cache to a given directory.-.-The given directory must already exist.-.-During copying, progress will be shown.-.-If the copy takes too long,-you may want to reduce the number of older versions of each package by using-.BR \-Cc .-.-.TP-.BR \-c ", " \-\-clean \c-.I " versions-to-retain-.-Retains a given number of package versions for each package,-and deletes the rest from the package cache.-.-Count is made from the most recent version, so using:-.-.RSAMPLE-aura -Cc 3-.ERSAMPLE-.-.IP-would save the three most recent versions of each package file.-.-Giving the number 0 as an argument is identical to-.BR \-Scc .-.-.TP-.B \-\-notsaved-.-Remove only those package files which are not saved in a package record (a la-.BR \-B ).-.-.TP-.BR \-s ", " \-\-search \c-.I " regex-.-Search the package cache via a-.IR regex .-.-Any package name that matches the regex will be output as-is.-.-.SH LOGFILE OPTIONS (\fR\-L\fP)-.-.TP-.BR \-i ", " \-\-info " \*[packages]"-.-Displays install/upgrade history for given-.IR packages .-.-Under the \(lqRecent Actions\(rq section,-only the last five entries will be displayed.-.-If there are less than five actions ever performed with the package,-what is available will be printed.-.-.TP-.BR \-s ", " \-\-search \c-.I " regex-.-Search the pacman log file via a-.IR regex .-.-Useful for singling out any and all actions performed on a package.-.-.SH ORPHAN PACKAGE OPTIONS (\fR\-O\fP)-.-.TP-.BR \-a ", " \-\-adopt " \*[packages]"-.-Mark-.I packages-as being explicitly installed (i.e.\& it's not a dependency).-.-.TP-.BR \-j ", " \-\-abandon-.-Uninstall all orphan packages.-.-.SH ANALYSIS OPTIONS (\fR\-P\fP)-.-.TP-.BR \-f ", " \-\-file \c-.I " path-.-Analyse a PKGBUILD at the specified-.IR path .-.-.TP-.BR \-d ", " \-\-dir \c-.I " path-.-Analyse a-.IR path /PKGBUILD-found in the specified directory.-.-.TP-.BR \-a ", " \-\-audit-.-Analyse the PKGBUILDs of all locally installed AUR packages.-.-.SH PACMAN / AURA DUAL FUNCTIONALITY OPTIONS-.-.TP-.B \-\-noconfirm-.-Never ask for any Aura or Pacman confirmation.-.-Any time a prompt would appear,-say before building or installation,-it is assumed the user answered in whatever way would progress the program.-.-.TP-.B \-\-needed-.-Don't rebuild/reinstall packages that are already up to date.-.-.TP-.B \-\-debug-.-View some handy debugging information.-.-.TP-.BI \-\-color " when"-.-Specify when to enable colouring.-.-Without this flag, both Aura and Pacman will attempt to colour text if the-terminal allows it.-.-Otherwise, you can pass-.BR always " or " never-to be specific about your wants.-.-.TP-.BI \-\-overwrite " glob"-.-If there are file conflicts during installation,-overwrite conflicting files that match the given-.I glob-pattern.-.-.SH EXPOSED MAKEPKG OPTIONS-.-.TP-.B \-\-ignorearch-.-Ignores processor architecture when building packages.-.-.TP-.B \-\-allsource-.-Creates a-.I .src-file containing all the downloaded sources (code, etc.\&)-and stores it at-.IR /var/cache/aura/src/ .-.-To change the location where sources are stored,-use the-.B \-\-allsourcepath-flag on command line or via-.BR aura.conf (5).-.-.TP-.B \-\-skipinteg-.-Skip package source integrity checks (hash sums).-.-.TP-.B \-\-skippgpcheck-.-Skip all PGP checks.-.-.SH LANGUAGE OPTIONS-.-Aura is available in multiple languages.-.-As options, they can be used with either their English names or their real-names written in their native characters.-.-The available languages are, in option form:-.-.TS \" Tab-separated-l l.-\fB\-\-english\fP (default)-\fB\-\-japanese\fP \fB\-\-日本語\fP-\fB\-\-polish\fP \fB\-\-polski\fP-\fB\-\-croatian\fP \fB\-\-hrvatski\fP-\fB\-\-swedish\fP \fB\-\-svenska\fP-\fB\-\-german\fP \fB\-\-deutsch\fP-\fB\-\-spanish\fP \fB\-\-español\fP-\fB\-\-portuguese\fP \fB\-\-português\fP-\fB\-\-french\fP \fB\-\-français\fP-\fB\-\-russian\fP \fB\-\-русский\fP-\fB\-\-italian\fP \fB\-\-italiano\fP-\fB\-\-serbian\fP \fB\-\-српски\fP-\fB\-\-norwegian\fP \fB\-\-norsk\fP-\fB\-\-indonesian\fP-\fB\-\-chinese\fP \fB\-\-中文\fP-\fB\-\-esperanto\fP-\fB\-\-dutch\fP \fB\-\-nederlands\fP-\fB\-\-romanian\fP \fB\-\-română\fP-\fB\-\-vietnamese\fP-\fB\-\-czech\fP \fB\-\-čeština\fP-.TE-.-.SH PRO TIPS-.-.IP \(bu 2n-.-If you build a package and then choose not to install it,-the built package file will still be moved to the cache.-You can then install it whenever you want with-.BR \-C .-.-.IP \(bu 2n-.-Research packages using-.BR \-Ad \ ( \-\-deps ),-.BR \-Ai \ ( \-\-info )-and-.BR \-Ap \ ( \-\-pkgbuild )!-.-.IP \(bu 2n-.-When upgrading, use-.B \-Akua-instead of just-.BR \-Au .-.-This will remove make deps, as well as show PKGBUILD diffs before building.-.-.SH SEE ALSO-.-.BR aura.conf (5),-.BR pacman (8),-.BR pacman.conf (5),-.BR makepkg (8)-.-.SH BUGS-.-It is not recommended to install non-AUR packages with pacman or aura.-.-Aura will assume they are AUR packages during a-.B \-Au-and attempt to upgrade them.-.-If a name collision occurs (that is, if there is a legitimate AUR package with-the same name as the one you installed) previous installations could be-overwritten.-.-.SH AUTHOR-.-Colin Woodbury <colin@fosskers.ca>-.-.SH CONTRIBUTORS-.-.TS \" Tab-separated-l .-Chris Warrick-Brayden Banks-Denis Kasak-Edwin Marshall-Jimmy Brisson-Kyle Raftogianis-Nicholas Clarke-.TE-.-.SH TRANSLATORS-.-.TS \" Tab-separated-c l .-Polish Chris Warrick and Michał Kurek-Croatian Denis Kasak and "stranac"-Swedish Fredrik Haikarainen and Daniel Beecham-German Lukas Niederbremer-Spanish Alejandro Gómez, Sergio Conde, and Max Ferrer-Portuguese Henry Kupty, Thiago Perrotta, and Wagner Amaral-French Ma Jiehong and Fabien Dubosson-Russian Kyrylo Silin and Alexey Kotlyarov-Italian Bob Valantin and Cristian Tentella-Serbian Filip Brcic-Norwegian "chinatsun"-Indonesian "pak tua Greg"-Chinese Kai Zhang-Japanese Onoue Takuro and Colin Woodbury-Esperanto Zachary Matthews-Dutch Joris Blanken and Heimen Stoffels-Turkish Cihan Alkan-Arabic "Array in a Matrix"-Ukrainian Andriy Cherniy-Romanian "90" and "benone"-Vietnamese "Kritiqual"-Czech Daniel Rosel-Korean "Nioden"-.TE
− doc/aura.conf
@@ -1,68 +0,0 @@-# --- Aura Config --- #-#-# Template updated on: Mon 11 May 2020-#-# You can uncomment the various settings below in order to activate them.-# Otherwise, Aura will use its internal defaults.--# --- Language --- #-# Aura can be used in different human languages. This field must be a 2-letter-# language code, similar to those used in LOCALE. The available codes are:-#-# |------+------------|-# | Code | Language |-# |------+------------|-# | nl | Dutch |-# | en | English |-# | de | German |-# | nb | Norwegian |-# | sv | Swedish |-# |------+------------|-# | fr | French |-# | it | Italian |-# | pt | Portuguese |-# | es | Spanish |-# | ro | Romanian |-# |------+------------|-# | ar | Arabic |-# |------+------------|-# | hr | Croatian |-# | cs | Czech |-# | pl | Polish |-# | ru | Russian |-# | sr | Serbian |-# | uk | Ukrainian |-# |------+------------|-# | zh | Chinese |-# | id | Indonesian |-# | ja | Japanese |-# | vi | Vietnamese |-# |------+------------|-# | eo | Esperanto |-# |------+------------|--# Uncomment to activate:-# language = en--# --- Build Settings --- #-# Aura runs via `sudo` but builds packages as the underlying non-root user.-# Here, you can alter who that user is, and where packages are built.--# Uncomment to activate:-# user = YOU-# buildpath = /tmp-# allsourcepath = /var/cache/aura/src-# vcspath = /var/cache/aura/vcs--# --- PKGBUILD Analysis --- #-# Aura automatically scans PKGBUILDs for malicious bash usage and other "bad-# practices". Here, you can turn those scans off.--# Uncomment to activate:-# analyse = True--# --- Misc. --- #--# The editor to use with `--hotedit`.-# Uncomment to activate:-# editor = vi
− doc/aura.conf.5
@@ -1,150 +0,0 @@-'\" t-.\" Man page for `aura.conf`-.\" Written by Colin Woodbury <colin@fosskers.ca>-.-.TH aura.conf 5 "2021 January" "Aura" "Aura Manual"-.-.de SAMPLE \" Indented example - on its own paragraph.-. P-. RS-. EX-..-.de ESAMPLE \" End of Indented example.-. EE-. RE-..-.de RSAMPLE \" Relative sample - even more indented example.-. RS-. SAMPLE-..-.de ERSAMPLE \" End of Relative sample.-. ESAMPLE-. RE-..-.-.SH NAME-.-aura.conf \- aura package manager configuration file-.-.SH SYNOPSIS-.-/etc/aura.conf-.-.SH DESCRIPTION-.-Aura can be configured at runtime by commandline flags,-but for users who use the same options all the time-(say, build paths or language flags) this can be verbose.-.I aura.conf-lets you make these common settings permanent.-.-.SH EXAMPLE-.-Overview of options in-.IR aura.conf :-.-.SAMPLE-#-# aura.conf-#--#[ Language ]-language = en--#[ Build Settings ]-user = <you>-buildpath = /tmp-vcspath = /var/cache/aura/vcs--#[ Misc. ]-editor = vi-.ESAMPLE-.-.SH OPTIONS-.-.TP-.B language-.-Aura can be used in different human languages.-This field must be a 2-letter language code,-similar to those used in LOCALE.-The available codes are:-.-.TS \" Tab-separated-box;-l l.-Code Language--nl Dutch-en English-de German-nb Norwegian-sv Swedish--fr French-it Italian-pt Portuguese-es Spanish-ro Romanian--hr Croatian-cs Czech-pl Polish-ru Russian-sr Serbian-uk Ukrainian--ar Arabic--zh Chinese-id Indonesian-ja Japanese-vi Vietnamese--eo Esperanto-.TE-.-.TP-.B user-.-The real, non-sudo user to build packages as.-.-.TP-.B buildpath-.-The location on the filesystem in which to build packages.-.-.TP-.B allsourcepath-.-The location on the filesystem in which to save "source packages" built with-.BR \-\-allsource .-.-.TP-.B vcspath-.-The location on the filesystem in which to store the cloned repositories of-\fI*-git\fR, etc., packages.-.-.TP-.B analyse-.-Aura automatically scans PKGBUILDs for malicious bash usage-and other "bad practices".-Set this to-.B False-to turn off.-.-.TP-.B editor-.-The editor to use during-.BR \-\-hotedit .-.-.SH SEE ALSO-.-.BR aura (8)-.-.SH AUTHOR-.-Colin Woodbury <colin@fosskers.ca>
− doc/completions/_aura
@@ -1,590 +0,0 @@-#compdef aura--# Zsh completion file for Aura, based on pacman's-# copy this file to /usr/share/site-functions/_aura--typeset -A opt_args-setopt extendedglob--# options for passing to _arguments: main aura commands-_aura_opts_commands=(- {-A,--aursync}'[Install and manage AUR packages]'- {-B,--save}'[Manage the global package state]'- {-C,--downgrade}'[Manage the package cache]'- {-L,--viewlog}'[Analyse the pacman log file]'- {-M,--abssync}'[Build and install from the ABS tree]'- {-O,--orphans}'[Manage orphan packages]'- {-Q,--query}'[Query the package database]'- {-R,--remove}'[Remove a packags]'- {-S,--sync}'[Synchronize repo packages]'- {-U,--upgrade}'[Upgrade packages]'- {-V,--version}'[Display version information]'- '--viewconf[View the pacman config file read-only]'- '--languages[Display available output languages]'- '(-h --help)'{-h,--help}'[Help message]'-)--# options for passing to _arguments: options common to all commands-_aura_opts_common=(- {-b,--dbpath}'[Alternate database location]:database_location:_files -/'- '--color[colorize the output]:color options:(always never auto)'- {-h,--help}'[Display syntax for the given operation]'- {-r,--root}'[Set alternate installation root]:installation root:_files -/'- {-v,--verbose}'[Be more verbose]'- '--cachedir[Alternate package cache location]:cache_location:_files -/'- '--config[An alternate configuration file]:config file:_files'- '--debug[Display debug messages]'- '--gpgdir[Set an alternate home directory for GnuPG]:_files -/'- '--logfile[An alternate log file]:config file:_files'- '--noconfirm[Do not ask for confirmation]'- '--no-pp[Do not use powerpill]'- '--noprogressbar[Do not show a progress bar when downloading files]'- '--noscriptlet[Do not execute the install scriptlet if one exists]'- '--print[Only print the targets instead of performing the operation]'-)--# options for passing to _arguments: options for --upgrade commands-_aura_opts_pkgfile=(- '*-d[Skip dependency checks]'- '*--nodeps[Skip dependency checks]'- '--dbonly[Only remove database entry, do not remove files]'- '--force[Overwrite conflicting files]'- '--needed[Do not reinstall up to date packages]'- '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'-)--# options for passing to _arguments: subactions for --query command-_aura_opts_query_actions=(- '(-Q --query)'{-Q,--query}- {-g,--groups}'[View all members of a package group]:*:package groups:->query_group'- {-o,--owns}'[Query the package that owns a file]:file:_files'- {-p,--file}'[Package file to query]:*:package file:->query_file'- {-s,--search}'[Search package names and descriptions]:*:search text:->query_search'-)--# options for passing to _arguments: options for --query and subcommands-_aura_opts_query_modifiers=(- {-c,--changelog}'[List package changelog]'- {-d,--deps}'[List packages installed as dependencies]'- {-e,--explicit}'[List packages explicitly installed]'- {\*-i,\*--info}'-i[View package information]'- #'-ii[View package information including backup files]'- {\*-k,\*--check}'[Check package files]'- {-l,--list}'-l[List package contents]'- {-m,--foreign}'-m[List installed packages not found in sync db(s)]'- {-n,--native}'[List installed packages found in sync db(s)]'- {-q,--quiet}'[Display less information for certain operations.]'- {-t,--unrequired}'[List packages not required by any package]'- {-u,--upgrades}'[List packages that can be upgraded]'-)--# options for passing to _arguments: options for --remove command-_aura_opts_remove=(- {-c,--cascade}'[Remove all dependent packages]'- {*-d,*--nodeps}'[Skip dependency checks]'- {-n,--nosave}'[Remove protected configuration files]'- {\*-s,\*--recursive}'[Remove dependencies not required by other packages]'- '--dbonly[Only remove database entry, do not remove files]'- '*:installed package:_aura_completions_installed_packages'-)--# options for passing to _arguments: options for commands dealing with the database-_aura_opts_database=(- '--asdeps[mark packages as non-explicitly installed]'- '--asexplicit[mark packages as explicitly installed]'- '*:installed package:_aura_completions_installed_packages'-)--# options for passing to _arguments: options for --sync command-_aura_opts_sync_actions=(- '(-S --sync)'{-S,--sync}- {\*-c,\*--clean}'[Remove old packages from cache]:\*:clean:->sync_clean'- #'*-cc[Remove all packages from cache]:*:clean:->sync_clean'- {-g,--groups}'[View all members of a package group]:*:package groups:->sync_group'- {-s,--search}'[Search package names and descriptions]:*:search text:->sync_search'- '--dbonly[Only remove database entry, do not remove files]'- '--needed[Do not reinstall up to date packages]'- '--recursive[Reinstall all dependencies of target packages]'-)--# options for passing to _arguments: options for --sync command-_aura_opts_sync_modifiers=(- {\*-d,\*--nodeps}'[Skip dependency checks]'- {\*-i,\*--info}'[View package information]'- {-l,--list}'[List all packages in a repository]'- {-p,--print}'[Print download URIs for each package to be installed]'- {\*-u,\*--sysupgrade}'[Upgrade all out-of-date packages]'- {-w,--downloadonly}'[Download packages only]'- {\*-y,\*--refresh}'[Download fresh package databases]'- '*--ignore[Ignore a package upgrade]:package: _aura_completions_all_packages'- '*--ignoregroup[Ignore a group upgrade]:package group:_aura_completions_all_groups'- '--asdeps[Install packages as non-explicitly installed]'- '--asexplicit[Install packages as explicitly installed]'- '--force[Overwrite conflicting files]'-- #'-q[Display less information for certain operations.]'-)--# options for passing to _arguments: options for --aursync command-_aura_opts_aursync_actions=(- '(-A --aursync)'{-A,--aursync}- {-p,--pkgbuild}'[Display an AUR package''s PKGBUILD]'- {-s,--search}'[Search AUR package names and descriptions]'- {-w,--downloadonly}'[Download an AUR package''s source tarball]'-)--# options for passing to _arguments: options for --aursync command-_aura_opts_aursync_modifiers=(- {-a,--delmakedeps}'[Uninstall unneeded build deps after installation]'- {-d,--deps}'[Display package dependencies. Recursive for AUR packages]'- {\*-i,\*--info}'[Display AUR package information]'- {-k,--diff}'[Show PKGBUILD diffs when upgrading]'- {-u,--sysupgrade}'[Upgrade all installed AUR packages]'- {-x,--unsuppress}'[Unsuppress makepkg output during building]'- '*--aurignore[Ignore AUR packages when installing]:package: _aura_completions_aur_packages'- '--build[Build packages in specified path]'- '--builduser[Use specified user to build packages]'- {--dev,--devel}'[With -Au, also upgrades all development packages]'- "--dryrun[Perform checks, but don't build]"- '--hotedit[Prompt user to edit PKGBUILD before dep checks]'- '--ignorearch[makepkg will ignore processor architecture]'-)--# options for passing to _arguments: options for --save commands-_aura_opts_save=(- {-c,--clean}'[Given n, save n recent package states and remove the rest]'- {-r,--restore}'[Restore a previously saved package state]'-)--# options for passing to _arguments: options for --downgrade commands-_aura_opts_downgrade=(- {-b,--backup}'[Backup the cache to a given directory]'- {-c,--clean}'[Given n, save n versions of each package file]'- {-s,--search}'[Search the cache via a regex]'- '*:installed package:_aura_completions_installed_packages'-)--# options for passing to _arguments: options for --viewlog commands-typeset -a _aura_opts_viewlog-_aura_opts_viewlog=(- '-i[View package installation history.]'- '-s[Search log file via a regex.]'-)--# options for passing to _arguments: options for --orphans commands-typeset -a _aura_opts_orphans-_aura_opts_orphans=( '-j[Uninstall all orphan packages.]' )--# handles --help subcommand-_aura_action_help() {- _arguments -s : \- "$_aura_opts_commands[@]"-}--# handles cases where no subcommand has yet been given-_aura_action_none() {- _arguments -s : \- "$_aura_opts_commands[@]"-}--# handles --query subcommand-_aura_action_query() {- local context state line- typeset -A opt_args-- case $state in- query_file)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'- ;;- query_group)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:groups:_aura_completions_installed_groups'- ;;- query_owner)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:file:_files'- ;;- query_search)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:search text: '- ;;- *)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_actions[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:package:_aura_completions_installed_packages'- ;;- esac-}--# handles --remove subcommand-_aura_action_remove() {- _arguments -s : \- '(--remove -R)'{-R,--remove} \- "$_aura_opts_common[@]" \- "$_aura_opts_remove[@]"-}--# handles --database subcommand-_aura_actions_database() {- _arguments -s : \- '(--database -D)'{-D,--database} \- "$_aura_opts_common[@]" \- "$_aura_opts_database[@]"-}--# handles --deptest subcommand-_aura_action_deptest() {- _arguments -s : \- '(--deptest)-T' \- "$_aura_opts_aura_common[@]" \- ":packages:_aura_all_packages"-}--# handles --sync subcommand-_aura_action_sync() {- local context state line- typeset -A opt_args-- case $state in- sync_clean)- _arguments -s : \- {\*-c,\*--clean}'[Remove old packages from cache]'- "$_aura_opts_common[@]" \- "$_aura_opts_sync_modifiers[@]" \- ;;- sync_group)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_sync_modifiers[@]" \- '(-g --group)'{-g,--groups} \- '*:package group:_aura_completions_all_groups'- ;;- sync_search)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_sync_modifiers[@]" \- '*:search text: '- ;;- *)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_sync_actions[@]" \- "$_aura_opts_sync_modifiers[@]" \- '*:package:_aura_completions_repo_packages'- ;;- esac-}--# handles --upgrade subcommand-_aura_action_upgrade() {- _arguments -s : \- '(-U --upgrade)'{-U,--upgrade} \- "$_aura_opts_common[@]" \- "$_aura_opts_pkgfile[@]"-}--# handles --version subcommand-_aura_action_version() {- # no further arguments- return 0-}--# provides completions for package groups-_aura_completions_all_groups() {- local -a cmd groups- _aura_get_command- groups=( $(_call_program groups $cmd[@] -Sg) )- typeset -U groups- compadd "$@" -a groups-}--# provides completions for packages available from repositories-# these can be specified as either 'package' or 'repository/package'-_aura_completions_repo_packages() {- local -a cmd packages repositories packages_long- _aura_get_command-- if compset -P '*/'; then- packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) )- typeset -U packages- _wanted repo_packages expl "repository/package" compadd ${(@)packages}- else- packages=( $(_call_program packages $cmd[@] -Sql) )- typeset -U packages- _wanted packages expl "packages" compadd - "${(@)packages}"-- repositories=( aur ${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options} )- typeset -U repositories- _wanted repo_packages expl "repository/package" compadd -S "/" $repositories- fi-}--# provides completions for packages in the AUR-_aura_completions_aur_packages() {- local -a cmd packages repositories packages_long- _aura_get_command-- packages=()- if [[ -d /var/aur ]]; then- packages=( $(ls /var/aur) )- fi- typeset -U packages- _wanted aur_packages expl "packages" compadd - "${(@)packages}"-}--# provides completions for packages available from repositories and the AUR-# these can be specied as either 'package' or 'repository/package'-_aura_completions_all_packages() {- _alternative : \- 'aurpkgs:aur packages:_aura_completions_aur_packages' \- 'repopkgs:repository packages:_aura_completions_repo_packages'-}--_aura_all_packages() {- _alternative : \- 'localpkgs:local packages:_aura_completions_installed_packages' \- 'aurpkgs:aur packages:_aura_completions_aur_packages' \- 'repopkgs:repository packages:_aura_completions_repo_packages'-}--# provides completions for package groups-_aura_completions_installed_groups() {- local -a cmd groups- _aura_get_command- groups=(${(o)${(f)"$(_call_program groups $cmd[@] -Qg)"}% *})- typeset -U groups- compadd "$@" -a groups-}--# provides completions for installed packages-_aura_completions_installed_packages() {- local -a cmd packages packages_long- packages_long=(/var/lib/pacman/local/*(/))- packages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )- compadd "$@" -a packages-}--# provides completions for repository names-_aura_completions_repositories() {- local -a cmd repositories- repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})- # Uniq the array- typeset -U repositories- compadd "$@" -a repositories-}--# builds command for invoking pacman in a _call_program command - extracts-# relevant options already specified (config file, etc)-# $cmd must be declared by calling function-_aura_get_command() {- # this is mostly nicked from _perforce- cmd=( "aura" "2>/dev/null" )- integer i- for (( i = 2; i < CURRENT - 1; i++ )); do- if [[ ${words[i]} = "--config" || ${words[i]} = "--root" ]]; then- cmd+=( ${words[i,i+1]} )- fi- done-}--_aura_comp() {- local -a args cmds- local tmp- args=( ${${${(M)words:#-*}#-}:#-*} )- _message 'now what'- for tmp in $words; do- cmds+=("${${_aura_opts_commands[(r)*$tmp\[*]%%\[*}#*\)}")- done- case $args in #$words[2] in- h*)- if (( ${(c)#args} <= 1 && ${(w)#cmds} <= 1 )); then- _aura_action_help- else- _message "no more arguments"- fi- ;;- *h*)- _message "no more arguments"- ;;- D*)- _aura_action_database- ;;- Q*g*) # ipkg groups- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:groups:_aura_completions_installed_groups'- ;;- Q*o*) # file- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:package file:_files'- ;;- Q*p*) # file *.pkg.tar.*- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_query_modifiers[@]" \- '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'- ;;- T*)- _aura_action_deptest- ;;- Q*)- _aura_action_query- ;;- R*)- _aura_action_remove- ;;- S*c*)- _arguments -s : \- '(-S --sync)'{-S,--sync} \- '(-c --clean)'{\*-c,\*--clean}'[Remove all files from the cache]' \- "$_aura_opts_common[@]"- ;;- S*l*) # repos- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_sync_modifiers[@]" \- '*:package repo:_aura_completions_repositories' \- ;;- S*g*) # pkg groups- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_sync_modifiers[@]" \- '*:package group:_aura_completions_all_groups'- ;;- S*s)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_sync_modifiers[@]" \- '*:search text: '- ;;- S*)- _aura_action_sync- ;;- U*)- _aura_action_upgrade- ;;- V*)- _aura_action_version- ;;- A*)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_aursync_modifiers[@]" \- "$_aura_opts_aursync_actions[@]" \- '*:package:_aura_completions_aur_packages'- ;;- B*)- _arguments -s : \- '(-B --save)'{-B,--save} \- "$_aura_opts_common[@]" \- "$_aura_opts_save[@]"- ;;- C*)- _arguments -s : \- '(-C --downgrade)'{-C,--downgrade} \- "$_aura_opts_common[@]" \- "$_aura_opts_downgrade[@]"- ;;- L*)- _arguments -s : \- '(-L --viewlog)'{-L,--viewlog} \- "$_aura_opts_common[@]" \- "$_aura_opts_viewlog[@]"- ;;- M*)- _arguments -s : \- '(-M --abssync)'{-M,--abssync} \- "$_aura_opts_common[@]"- ;;- O*)- _arguments -s : \- '(-O --orphans)'{-O,--orphans} \- "$_aura_opts_common[@]" \- "$_aura_opts_orphans[@]"- ;;- *)- case ${(M)words:#--*} in- *--help*)- if (( ${(W)#cmds} == 1 )); then- _aura_action_help- else- return 0- fi- ;;- *--sync*)- _aura_action_sync- ;;- *--query*)- _aura_action_query- ;;- *--remove*)- _aura_action_remove- ;;- *--deptest*)- _aura_action_deptest- ;;- *--database*)- _aura_action_database- ;;- *--version*)- _aura_action_version- ;;- *--upgrade*)- _aura_action_upgrade- ;;-- *--aursync*)- _arguments -s : \- "$_aura_opts_common[@]" \- "$_aura_opts_aursync_modifiers[@]" \- "$_aura_opts_aursync_actions[@]" \- '*:package:_aura_completions_aur_packages'- ;;- *--save*)- _arguments -s : \- '(-B --save)'{-B,--save} \- "$_aura_opts_common[@]" \- "$_aura_opts_save[@]"- ;;- *--downgrade*)- _arguments -s : \- '(-C --downgrade)'{-C,--downgrade} \- "$_aura_opts_common[@]" \- "$_aura_opts_downgrade[@]"- ;;- *--viewlog*)- _arguments -s : \- '(-L --viewlog)'{-L,--viewlog} \- "$_aura_opts_common[@]" \- "$_aura_opts_viewlog[@]"- ;;- *--orphans*)- _arguments -s : \- '(-O --orphans)'{-O,--orphans} \- "$_aura_opts_common[@]" \- "$_aura_opts_orphans[@]"- ;;- *)- _aura_action_none- ;;- esac- ;;- esac-}--# run the main dispatcher-_aura_comp "$@"
− doc/completions/bashcompletion.sh
@@ -1,104 +0,0 @@-# This file is in the public domain.--_aura_compgen() {- local i r- COMPREPLY=($(compgen -W '$*' -- "$cur"))- for ((i=1; i < ${#COMP_WORDS[@]}-1; i++)); do- for r in ${!COMPREPLY[@]}; do- if [[ ${COMP_WORDS[i]} = ${COMPREPLY[r]} ]]; then- unset 'COMPREPLY[r]'; break- fi- done- done-}--_aura_ptr2comp() {- local list= x y- for x; do- for y in '0 --' '1 -'; do- eval 'set -- ${'$x'[${y% *}]}'- list+=\ ${@/#/${y#* }}- done- done- _aura_compgen $list-}--_aura_incomp() {- local r="[[:space:]]-(-${1#* }[[:space:]]|[[:alnum:]_]*${1% *})"; [[ $COMP_LINE =~ $r ]]-}--_aura_pkg() {- _aura_compgen "$(- if [[ $2 ]]; then- \pacman -$1 2>/dev/null | \cut -d' ' -f1 | \sort -u- else- \pacman -$1 2>/dev/null- fi- )"-}--_aura_repo_list() {- _aura_compgen "$(pacman-conf --repo-list)"-}--_aura() {- compopt -o default- local common core database files query remove sync upgrade o- local cur prev words cword- _init_completion || return- database=('asdeps asexplicit')- files=('list machinereadable refresh regex' 'l x y')- query=('changelog check deps explicit file foreign groups info list native owns- search unrequired upgrades' 'c e g i k l m n o p s t u')- remove=('cascade dbonly nodeps assume-installed nosave print recursive unneeded' 'c n p s u')- sync=('asdeps asexplicit clean dbonly downloadonly groups ignore ignoregroup- info list needed nodeps assume-installed print refresh recursive search sysupgrade'- 'c g i l p s u w y')- upgrade=('asdeps asexplicit needed nodeps assume-installed print recursive' 'p')- common=('arch cachedir color config confirm dbpath debug gpgdir help hookdir logfile- noconfirm noprogressbar noscriptlet quiet root verbose' 'b d h q r v')- core=('aursync save downgrade database files viewlog help orphans analysis query remove sync upgrade version' 'A B C D F L O P Q R S U V h')-- for o in 'D database' 'F files' 'Q query' 'R remove' 'S sync' 'U upgrade'; do- _aura_incomp "$o" && break- done-- if [[ $? != 0 ]]; then- _aura_ptr2comp core- elif [[ ! $prev =~ ^-[[:alnum:]_]*[Vbhr] &&- ! $prev = --@(cachedir|color|config|dbpath|help|hookdir|gpgdir|logfile|root|version) ]]- then- [[ $cur = -* ]] && _aura_ptr2comp ${o#* } common ||- case ${o% *} in- # Pacman Commands- D|R)- _aura_pkg Qq;;- F)- { _aura_incomp 'l list' && _aura_pkg Slq ; } ||- compopt +o default;;- Q)- { _aura_incomp 'g groups' && _aura_pkg Qg sort; } ||- { _aura_incomp 'p file' && _aura_file; } ||- { _aura_incomp 's search' && compopt +o default; } ||- { _aura_incomp 'u upgrades' && compopt +o default; } ||- _aura_incomp 'o owns' ||- _aura_pkg Qq;;- S)- { _aura_incomp 'g groups' && _aura_pkg Sg; } ||- { _aura_incomp 'l list' && _aura_repo_list; } ||- { _aura_incomp 's search' && compopt +o default; } ||- _aura_pkg Slq;;- U)- _aura_file;;- esac- fi- true-}--_aura_file() {- compopt -o filenames; _filedir 'pkg.tar*'-}--complete -F _aura aura--# ex:et ts=2 sw=2 ft=sh
exec/Aura/Commands/A.hs view
@@ -5,7 +5,7 @@ -- | -- Module : Aura.Commands.A--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
exec/Aura/Commands/B.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Commands.B--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
exec/Aura/Commands/C.hs view
@@ -5,7 +5,7 @@ -- | -- Module : Aura.Commands.C--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -200,5 +200,7 @@ cleanDir = do ss <- asks settings let !vcsPath = fromMaybe vcsStore . vcsPathOf $ buildConfigOf ss- notify ss cleanCache_6- listDirectory vcsPath >>= traverse_ (removeDirectoryRecursive . (</>) vcsPath)+ exists <- doesDirectoryExist vcsPath+ when exists $ do+ notify ss cleanCache_6+ listDirectory vcsPath >>= traverse_ (removeDirectoryRecursive . (</>) vcsPath)
exec/Aura/Commands/L.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Commands.L--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
exec/Aura/Commands/O.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Commands.O--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
exec/Aura/Commands/P.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Commands.P--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
exec/Aura/Flags.hs view
@@ -569,7 +569,7 @@ language :: Parser Language language = foldr1 (<|>) $ NEL.map (\(f, v) -> flag' v (long f <> hidden)) langs- where langs = [ ( "japanese", Japanese ), ( "日本語", Japanese )+ where langs = [ ( "japanese", Japanese ), ( "日本語", Japanese ) , ( "polish", Polish ), ( "polski", Polish ) , ( "croatian", Croatian ), ( "hrvatski", Croatian ) , ( "swedish", Swedish ), ( "svenska", Swedish )@@ -582,15 +582,17 @@ , ( "serbian", Serbian ), ( "српски", Serbian ) , ( "norwegian", Norwegian ), ( "norsk", Norwegian ) , ( "indonesian", Indonesia )- , ( "chinese", Chinese ), ( "中文", Chinese )+ , ( "chinese", Chinese ), ( "中文", Chinese ) , ( "esperanto", Esperanto ) , ( "dutch", Dutch ), ( "nederlands", Dutch )- , ( "arabic", Arabic ), ( "العربية", Arabic )+ , ( "turkish", Turkish )+ , ( "arabic", Arabic ), ( "العربية", Arabic ) , ( "ukrainian", Ukrainian ), ( "українська", Ukrainian)- , ( "vietnamese", Vietnamese ) , ( "romanian", Romanian ), ( "română", Romanian )- , ( "czech", Czech ), ( "český", Czech )- , ( "korean", Korean), ( "한국어", Korean )+ , ( "vietnamese", Vietnamese )+ , ( "czech", Czech ), ( "český", Czech )+ , ( "korean", Korean), ( "한국어", Korean )+ , ( "hindi", Hindi), ( "हिंदी", Hindi ) ] logLevel :: Parser LogLevel
exec/Aura/Settings/Runtime.hs view
@@ -2,7 +2,7 @@ {- -Copyright 2012 - 2021 Colin Woodbury <colin@fosskers.ca>+Copyright 2012 - 2024 Colin Woodbury <colin@fosskers.ca> This file is part of Aura.
exec/aura.hs view
@@ -4,7 +4,7 @@ {- -Copyright 2012 - 2021 Colin Woodbury <colin@fosskers.ca>+Copyright 2012 - 2024 Colin Woodbury <colin@fosskers.ca> This file is part of Aura.
lib/Aura/Build.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Build--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Cache.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Aura.Cache--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Colour.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Colour--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Core.hs view
@@ -4,7 +4,7 @@ -- | -- Module : Aura.Core--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Dependencies.hs view
@@ -4,7 +4,7 @@ -- | -- Module : Aura.Dependencies--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -171,8 +171,8 @@ | isVersionConflict reqVer curVer = Just $ VerConflict failMsg2 | otherwise = Nothing where pn = pname pkg- curVer = pver pkg & release .~ []- reqVer = dDemand dep & _VersionDemand . release .~ []+ curVer = pver pkg & release .~ Nothing+ reqVer = dDemand dep & _VersionDemand . release .~ Nothing lang = langOf ss toIgnore = ignoresOf ss failMsg1 = getRealPkgConflicts_2 pn lang
lib/Aura/IO.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.IO--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Install.hs view
@@ -4,7 +4,7 @@ -- | -- Module : Aura.Install--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Languages.hs view
@@ -8,7 +8,7 @@ -- | -- Module : Aura.Languages--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -45,7 +45,7 @@ , (Serbian, "Filip Brcic") , (Norwegian, "\"chinatsun\"") , (Indonesia, "\"pak tua Greg\"")- , (Chinese, "Kai Zhang")+ , (Chinese, "Kai Zhang / Alex3236") , (Japanese, "Onoue Takuro / Colin Woodbury") , (Esperanto, "Zachary Matthews") , (Dutch, "Joris Blanken / Heimen Stoffels")@@ -56,6 +56,7 @@ , (Vietnamese, "\"Kritiqual\"") , (Czech, "Daniel Rosel") , (Korean, "\"Nioden\"")+ , (Hindi, "@yozachar") ] translatorMsgTitle :: Language -> Text@@ -83,6 +84,7 @@ Vietnamese -> "Dịch giả của Aura:" Czech -> "Překladači Aury:" Korean -> "Aura 번역자:"+ Hindi -> "Aura अनुवादकों:" _ -> "Aura Translators:" translatorMsg :: Language -> [Text]@@ -95,7 +97,7 @@ names = mapMaybe (\l -> formatLang . (,l) <$> M.lookup l translators) [English ..] formatLang :: (Text, Language) -> Text- formatLang (translator, lang') = " (" <> (T.pack $ show lang') <> ") " <> translator+ formatLang (translator, lang') = " (" <> T.pack (show lang') <> ") " <> translator -- | Make some `Text` cyan. Previous wrapped things in backticks. bt :: Pretty a => a -> Doc AnsiStyle@@ -131,6 +133,7 @@ "vi" -> Just Vietnamese "cs" -> Just Czech "ko" -> Just Korean+ "hi" -> Just Hindi _ -> Nothing ----------------------@@ -160,6 +163,7 @@ Vietnamese -> "Cơ sở dữ liệu của gói đã bị khóa. Nhấn Enter sau khi nó được mở khóa để tiếp tục." Czech -> "Databáze balíčků je uzamčena. Až bude odemčena, stiskněte Enter pro pokračování." Korean -> "패키지 데이터베이스가 잠겨있습니다. 계속하려면 Enter 키를 누르시오."+ Hindi -> "पैकेज डेटाबेस लॉक है. जारी रखने के लिए अनलॉक होने पर एंटर दबाएँ।" _ -> "The package database is locked. Press enter when it's unlocked to continue." trueRoot_3 :: Language -> Doc AnsiStyle@@ -182,6 +186,7 @@ Vietnamese -> "Kể từ makepkg v4.2, build bằng quyền root không còn khả dụng." Czech -> "Od makepkg v4.2 již není sestavení jako root možné." Korean -> "makepkg v4.2부터는 루트 권한으로 빌드 할 수 없습니다."+ Hindi -> "मेकपीकेजी v4.2 के अनुसार, रूट के रूप में निर्माण अब संभव नहीं है।" _ -> "As of makepkg v4.2, building as root is no longer possible." mustBeRoot_1 :: Language -> Doc AnsiStyle@@ -201,7 +206,7 @@ Serbian -> "Морате да користите " <> sudo <> " за ову радњу." Norwegian -> "Du må bruke " <> sudo <> " for det." Indonesia -> "Anda harus menggunakan " <> sudo <> " untuk melakukannya."- Chinese -> "除非是根用户,否则不能执行此操作。"+ Chinese -> "需要" <> sudo <> "以执行此操作。" Esperanto -> "Vi ne povas fari ĉi tiun operacion, sen " <> sudo <> "." Dutch -> "U kunt deze actie niet uitvoeren zonder " <> sudo <> " te gebruiken." Ukrainian -> "Для цієї дії, потрібно використати " <> sudo <> "."@@ -209,6 +214,7 @@ Vietnamese -> "Bạn không thể thực hiện hành động này nếu không dùng " <> sudo <> "." Czech -> "Tuto operaci nelze provést bez použití sudo." Korean -> "루트 권한으로 실행해야 합니다."+ Hindi -> "आप सूडो का उपयोग किए बिना यह ऑपरेशन नहीं कर सकते।" _ -> "You cannot perform this operation without using sudo." -----------------------@@ -239,6 +245,7 @@ Vietnamese -> "Đang build " <> p <> "..." Czech -> "Kompilace " <> p <> "..." Korean -> p <> "빌드 중..."+ Hindi -> "बिल्डिंग " <> p <> "..." _ -> "Building " <> p <> "..." buildPackages_2 :: Language -> Doc AnsiStyle@@ -252,6 +259,8 @@ Czech -> "Bylo nalezeno '-allsource'. Žádné skutečné instalovatelné balíčky nebudou sestaveny." Korean -> "'--allsource' 감지되었습니다. 실제 설치 가능한 패키지는 빌드되지 않습니다." Dutch -> "--allsource gedetecteerd. Er worden geen installeerbare pakketten gebouwd."+ Hindi -> "'--allsource' का पता चला। कोई वास्तविक इंस्टाल करने योग्य पैकेज नहीं बनाया जाएगा।"+ Chinese -> "检测到 '--allsource'。不会构建实际的可安装软件包。" _ -> "'--allsource' detected. No actual installable packages will be built." buildPackages_3 :: FilePath -> Language -> Doc AnsiStyle@@ -266,25 +275,31 @@ Czech -> "Všechny soubory .src.tar.gz byly vytvořeny a zkopírovány do: " <> pretty fp Dutch -> "Alle .src.tar.gz-bestanden zijn gebouwd en gekopieerd naar " <> pretty fp Korean -> "모든 .src.tar.gz 파일은 빌드되고 복사됩니다:" <> pretty fp+ Hindi -> "सभी .src.tar.gz फ़ाइलें बनाई गईं और यहां कॉपी की गईं: " <> pretty fp+ Chinese -> "所有 .src.tar.gz 文件已经构建并复制到:" <> pretty fp _ -> "All .src.tar.gz files were built and copied to: " <> pretty fp buildPackages_4 :: Language -> Doc AnsiStyle buildPackages_4 = \case- Romanian -> bt @Text "--hotedit" <+> "detectat, dar acestea au date în cache și vor fi omise din editare:"+ Romanian -> bt @Text "--hotedit" <+> "detectat, dar acestea au date în cache și vor fi omise din editare:" Vietnamese -> bt @Text "--hotedit" <+> "được sử dụng, những gói sau có trong cache và sẽ được bỏ qua để chỉnh sửa:"- Czech -> bt @Text "--hotedit" <+> "zjištěno, ale následující položky mají položky mezipaměti a budou přeskočeny pro úpravy:"- Korean -> bt @Text "--hotedit" <+> "감지되었지만 캐시 목록이 있으므로 편집을 위해 건너뜁니다."+ Czech -> bt @Text "--hotedit" <+> "zjištěno, ale následující položky mají položky mezipaměti a budou přeskočeny pro úpravy:"+ Korean -> bt @Text "--hotedit" <+> "감지되었지만 캐시 목록이 있으므로 편집을 위해 건너뜁니다." Dutch -> "--hotedit gedetecteerd. De volgende pakketten zijn gecachet en zullen niet worden bewerkt:"- _ -> bt @Text "--hotedit" <+> "detected, but the following have cache entries and will be skipped for editing:"+ Hindi -> bt @Text "--hotedit" <+> "पता चला, लेकिन निम्नलिखित में कैश प्रविष्टियाँ हैं और इन्हें संपादन के लिए छोड़ दिया जाएगा:"+ Chinese -> "检测到" <+> bt @Text "--hotedit" <+> ",但以下条目已缓存,将跳过编辑:"+ _ -> bt @Text "--hotedit" <+> "detected, but the following have cache entries and will be skipped for editing:" buildPackages_5 :: Language -> Doc AnsiStyle buildPackages_5 = \case- Romanian -> "Se poate folosi" <+> bt @Text "--force" <+> "pentru a trece peste acest comportament."+ Romanian -> "Se poate folosi" <+> bt @Text "--force" <+> "pentru a trece peste acest comportament." Vietnamese -> "Bạn có thể dùng" <+> bt @Text "--force" <+> "để ghi đè hành động này."- Czech -> "Můžete použít" <+> bt @Text "--force" <+> "k potlačení tohoto chování."- Korean -> bt @Text "--force" <+> "를 사용하여 이 동작을 무시할 수 있습니다."+ Czech -> "Můžete použít" <+> bt @Text "--force" <+> "k potlačení tohoto chování."+ Korean -> bt @Text "--force" <+> "를 사용하여 이 동작을 무시할 수 있습니다." Dutch -> "U kunt" <+> bt @Text "--force" <+> "toekennen om dit gedrag te omzeilen."- _ -> "You can use" <+> bt @Text "--force" <+> "to override this behaviour."+ Hindi -> "आप इस व्यवहार को ओवरराइड करने के लिए" <+> bt @Text "--force" <+> "का उपयोग कर सकते हैं।"+ Chinese -> "使用" <+> bt @Text "--force" <+> "可忽略此行为。"+ _ -> "You can use" <+> bt @Text "--force" <+> "to override this behaviour." buildFail_5 :: Language -> Doc AnsiStyle buildFail_5 = \case@@ -310,6 +325,7 @@ Vietnamese -> "Build thất bại." Czech -> "Budování se nezdařilo." Korean -> "빌드 실패"+ Hindi -> "बिल्डिंग फेल हो गई।" _ -> "Building failed." -- NEEDS TRANSLATION@@ -327,7 +343,7 @@ French -> "Voulez-vous tout de même continuer ?" Russian -> "Продолжить, несмотря ни на что?" Indonesia -> "Apakah anda tetap ingin melanjutkan?"- Chinese -> "你仍然希望继续吗?"+ Chinese -> "仍要继续吗?" Swedish -> "Vill du fortsätta ändå?" Esperanto -> "Ĉu vi volas daŭrigi?" Dutch -> "Wilt u toch doorgaan?"@@ -336,6 +352,7 @@ Vietnamese -> "Bạn có muốn tiếp tục không?" Czech -> "Chcete přesto pokračovat?" Korean -> "계속하시겠습니까?"+ Hindi -> "क्या आप फिर भी जारी रखना चाहेंगे?" _ -> "Would you like to continue anyway?" -- NEEDS TRANSLATION@@ -350,7 +367,7 @@ Indonesia -> "Gagal mendapatkan skrip untuk " <> p <> "." Russian -> "Не удалось получить сценарии сборки для " <> p <> "." Italian -> "Non è stato possibile ottenere gli script di compilazione per " <> p <> "."- Chinese -> "无法获得 " <> p <> " 的构建脚本。"+ Chinese -> "无法获取 " <> p <> " 的构建脚本。" Swedish -> "Kunde inte hämta byggskript för " <> p <> "." Esperanto -> "Paneis akiri muntaj skriptoj de " <> p <> "." Dutch -> "De bouwscripts van " <> p <> " kunnen niet worden opgehaald."@@ -359,6 +376,7 @@ Vietnamese -> "Không thể lấy tập lệnh build cho " <> p <> "." Czech -> "Nepodařilo se získat sestavení skriptů pro " <> p <> "." Korean -> p <> "의 빌드 스크립트를 가져올 수 없습니다."+ Hindi -> "" <> p <> "के लिए बिल्ड स्क्रिप्ट प्राप्त करने में विफल।" _ -> "Failed to obtain build scripts for " <> p <> "." buildFail_8 :: Language -> Doc AnsiStyle@@ -377,22 +395,26 @@ Vietnamese -> "Có lỗi khi makepkg." Czech -> "Došlo k chybě makepkg." Korean -> "makepkg를 실패했습니다."+ Hindi -> "मेकपेकेजी विफलता थी।"+ Chinese -> "makepkg 失败。" _ -> "There was a makepkg failure." buildFail_9 :: Language -> Doc AnsiStyle buildFail_9 = \case- Polish -> "Nie udało się zlokalizować żadnych zbudowanych pakietów (*.pkg.tar.xz)."- Arabic -> ".(*.pkg.tar.xz) فشل في اكتشاف اي ملف من ملفات البناء"- Spanish -> "Error al detectar todos los archivo de paquete (*.pkg.tar.xz)."- Italian -> "Non è stato possibile trovare nessun archivio risultante dalla compilazione del pacchetto (*.pkg.tar.xz)."- Esperanto -> "Paneis detekti ĉiujn dosierojn de pakaĵoj (*.pkg.tar.xz)."- Dutch -> "Er zijn geen gebouwde pakketbestanden aangetroffen (*.pkg.tar.xz)."- Ukrainian -> "Не вдалось знайти жодного файлу пакунку (*.pkg.tar.xz)."- Romanian -> "Nu s-a detectat nici un pachet construit (*.pkg.tar.xz)."+ Polish -> "Nie udało się zlokalizować żadnych zbudowanych pakietów (*.pkg.tar.xz)."+ Arabic -> ".(*.pkg.tar.xz) فشل في اكتشاف اي ملف من ملفات البناء"+ Spanish -> "Error al detectar todos los archivo de paquete (*.pkg.tar.xz)."+ Italian -> "Non è stato possibile trovare nessun archivio risultante dalla compilazione del pacchetto (*.pkg.tar.xz)."+ Esperanto -> "Paneis detekti ĉiujn dosierojn de pakaĵoj (*.pkg.tar.xz)."+ Dutch -> "Er zijn geen gebouwde pakketbestanden aangetroffen (*.pkg.tar.xz)."+ Ukrainian -> "Не вдалось знайти жодного файлу пакунку (*.pkg.tar.xz)."+ Romanian -> "Nu s-a detectat nici un pachet construit (*.pkg.tar.xz)." Vietnamese -> "Không thể phát hiện các tệp đã được build (*.pkg.tar.xz)."- Czech -> "Nepodařilo se detekovat žádné soubory zabudovaného balíčku (*.pkg.tar.xz)."- Korean -> "빌드된 패키지 파일 (*.pkg.tar.xz)을 검색하지 못했습니다."- _ -> "Failed to detect any built package files (*.pkg.tar.xz)."+ Czech -> "Nepodařilo se detekovat žádné soubory zabudovaného balíčku (*.pkg.tar.xz)."+ Korean -> "빌드된 패키지 파일 (*.pkg.tar.xz)을 검색하지 못했습니다."+ Hindi -> "किसी भी निर्मित पैकेज फ़ाइल (*.pkg.tar.xz) का पता लगाने में विफल।"+ Chinese -> "未能发现任何已构建的包 (*.pkg.tar.xz)。"+ _ -> "Failed to detect any built package files (*.pkg.tar.xz)." buildFail_10 :: Language -> Doc AnsiStyle buildFail_10 = \case@@ -407,6 +429,8 @@ Vietnamese -> "Tất cả các gói build thất bại." Czech -> "Sestavení každého balíčku se nezdařilo." Korean -> "모든 패키지를 빌드하지 못했습니다."+ Hindi -> "हर पैकेज बनाने में असफल रहा।"+ Chinese -> "所有包都未能构建。" _ -> "Every package failed to build." buildFail_11 :: Language -> Doc AnsiStyle@@ -423,6 +447,8 @@ Vietnamese -> "Build thất bại. Bạn có muốn xem lịch sử lỗi?" Czech -> "Budování se nezdařilo. Chcete vidět chybu?" Korean -> "빌드를 실패했습니다. 오류를 확인하시겠습니까?"+ Hindi -> "बिल्डिंग विफल हो गई। क्या आप त्रुटि देखना चाहेंगे?"+ Chinese -> "构建失败。要检查错误吗?" _ -> "Building failed. Would you like to see the error?" buildFail_12 :: Language -> Doc AnsiStyle@@ -436,6 +462,8 @@ Czech -> "Nepodařilo se 'git stáhnout' nejnovější aktualizace." Korean -> "최신 버전 'git pull'을 실패했습니다." Dutch -> "Het uitvoeren van ‘git pull’ om de nieuwste bestanden op te halen is mislukt."+ Hindi -> "नवीनतम अपडेट को 'गिट पुल' करने में विफल।"+ Chinese -> "未能从 'git pull' 获取最新更新。" _ -> "Failed to 'git pull' the latest updates." ------------------------------@@ -458,7 +486,7 @@ Serbian -> "Зависност " <> p <> " захтева верзију " <> d <> ", али најновија верзија је " <> r <> "." Norwegian -> "Avhengigheten " <> p <> " krever versjon " <> d <>", men den nyeste versjonen er " <> r <> "." Indonesia -> "Dependensi " <> p <> " meminta versi " <> d <> " namun versi paling baru adalah " <> r <> "."- Chinese -> "依赖 " <> p <> " 需要版本 " <> d <> ",但是最新的版本是 " <> r <> "。"+ Chinese -> p <> " 依赖于版本 " <> d <> ",但最新版本是 " <> r <> "。" Esperanto -> "La pakaĵo, " <> prnt <> ", dependas de versio " <> d <> " de " <> p <> ", sed la plej nova versio estas " <> r <> "." Dutch -> prnt <> " is afhankelijk van versie " <> d <> " van " <> p <> ", maar de nieuwste versie is " <> r <> "." Ukrainian -> "Залежність " <> p <> " потребує версію " <> d <> ", проте останньою версією є " <> r <> "."@@ -466,6 +494,7 @@ Vietnamese -> "Gói " <> prnt <> " phụ thuộc vào bản " <> d <> " của " <> p <> ", nhưng bản mới nhất là " <> r <> "." Czech -> "Balík " <> prnt <> " závisí na verzi " <> d <> " z " <> p <> ", ale nejnovější verze je " <> r <> "." Korean -> prnt <> " 패키지는 " <> p <> "의 버전 " <> d <> "에 의존하지만 가장 최신 버전은 " <> r <> "입니다."+ Hindi -> "पैकेज " <> prnt <> " " <> p <> " के संस्करण " <> d <> " पर निर्भर करता है, लेकिन सबसे हालिया संस्करण " <> r <> " है।" _ -> "The package " <> prnt <> " depends on version " <> d <> " of " <> p <> ", but the most recent version is " <> r <> "." getRealPkgConflicts_2 :: PkgName -> Language -> Doc AnsiStyle@@ -484,7 +513,7 @@ Serbian -> "Пакет " <> p <> " је игнорисан! Видите ваш фајл „pacman.conf“." Norwegian -> p <> " er en ignorert pakke! Sjekk din `pacman.conf`-fil." Indonesia -> p <> " merupakan paket yang diabaikan! Lihat `pacman.conf` anda."- Chinese -> p <> " 是一个被忽略的包!请查看你的 `pacman.conf` 文件。"+ Chinese -> p <> " 是一个被忽略的包!请检查 `pacman.conf` 文件。" Esperanto -> p <> " estas malatenta pakaĵo! Vidu vian `pacman.conf` dosieron." Dutch -> p <> " wordt genegeerd! Bekijk uw `pacman.conf`-bestand." Ukrainian -> "Пакунок " <> p <> " буде проігноровано! Перевірте ваш файл `pacman.conf`."@@ -492,6 +521,7 @@ Vietnamese -> "Gói " <> p <> "đã bị bỏ qua! Hãy xem trong `pacman.conf` của bạn." Czech -> p <> " je ignorovaný balíček! Podívejte se na svůj soubor `pacman.conf`." Korean -> p <> "은(는) 무시된 패키지입니다! `pacman.conf`를 확인하시오."+ Hindi -> p <> " एक उपेक्षित पैकेज है! अपनी `pacman.conf` फ़ाइल देखें।" _ -> p <> " is an ignored package! See your `pacman.conf` file." missingPkg_2 :: [DepError] -> Language -> Doc AnsiStyle@@ -513,6 +543,8 @@ Vietnamese -> "Không thể tìm thấy các gói phụ thuộc của " <> bt s <> "." Czech -> "Nebyla nalezena závislost " <> bt s <> " z " <> bt par <> "." Korean -> bt par <> "의 종속성 " <> bt s <> "을(를) 찾을 수 없습니다."+ Hindi -> "निर्भरता " <> bt s <> " की " <> bt par <> " नहीं मिल सकी।"+ Chinese -> "未能找到 " <> bt par <> " 的依赖 " <> bt s <> "。" _ -> "The dependency " <> bt s <> " of " <> bt par <> " couldn't be found." depError l (BrokenProvides (PkgName pkg) (Provides (PkgName pro)) (PkgName n)) = case l of@@ -527,6 +559,8 @@ Vietnamese -> "Gói " <> bt pkg <> " cần " <> bt n <> ", để cung cấp " <> bt pro <> "." Czech -> "Balík " <> bt pkg <> " potřebuje " <> bt n <> ", který poskytuje " <> bt pro <> "." Korean -> bt pkg <> " 패키지는 " <> bt pro <> "를 제공하는 " <> bt n <> "이(가) 필요합니다."+ Hindi -> "पैकेज " <> bt pkg <> " को " <> bt n <> " की आवश्यकता है, जो " <> bt pro <> " प्रदान करता है।"+ Chinese -> bt pkg <> " 需要 " <> bt n <> " 以提供 " <> bt pro <> "。" _ -> "The package " <> bt pkg <> " needs " <> bt n <> ", which provides " <> bt pro <> "." missingPkg_3 :: Language -> Doc AnsiStyle@@ -541,6 +575,8 @@ Vietnamese -> "Có lỗi trong quá trình xây dựng biểu đồ gói phụ thuộc. Nếu bạn thấy điều này, có gì đó không đúng." Czech -> "Při reorganizaci grafu závislostí došlo k chybě. Pokud vidíte toto, něco je velmi špatně." Korean -> "종속성 그래프를 재구성하는 동안 오류가 발생했습니다."+ Hindi -> "निर्भरता ग्राफ़ को पुनर्व्यवस्थित करने में एक त्रुटि हुई। यदि आप इसे देखते हैं, तो कुछ बहुत गलत है।"+ Chinese -> "重组依赖关系时出现错误。请注意,这是一个严重的错误。" _ -> "There was an error reorganizing the dependency graph. If you see this, something is very wrong." missingPkg_4 :: [NonEmpty PkgName] -> Language -> Doc AnsiStyle@@ -555,6 +591,8 @@ Vietnamese -> vsep $ "Phát hiện chu kỳ gói phụ thuộc: " : pns' Czech -> vsep $ "Byly zjištěny následující cykly závislostí:" : pns' Korean -> vsep $ "다음과 같은 종속성 주기가 발견되었습니다:" : pns'+ Hindi -> vsep $ "निम्नलिखित निर्भरता चक्रों का पता लगाया गया:" : pns'+ Chinese -> vsep $ "检测到循环依赖:" : pns' _ -> vsep $ "The following dependency cycles were detected:" : pns' where pns' :: [Doc ann]@@ -572,6 +610,8 @@ Vietnamese -> bt p <> " không tồn tại." Czech -> bt p <> " neexistuje." Korean -> bt p <> "은(는) 존재하지 않습니다."+ Hindi -> bt p <> " मौजूद नहीं है।"+ Chinese -> bt p <> " 不存在。" _ -> bt p <> " does not exist." -----------------@@ -593,7 +633,7 @@ Serbian -> "Доступни су следећи језици:" Norwegian -> "Følgende språk er tilgjengelig:" Indonesia -> "Berikut ini adalah bahasa yang tersedia:"- Chinese -> "以下语言是可用的:"+ Chinese -> "可用语言如下:" Esperanto -> "La sekvaj lingvo estas disponebla:" Dutch -> "De volgende talen zijn beschikbaar:" Ukrainian -> "Доступні наступні мови:"@@ -601,6 +641,7 @@ Vietnamese -> "Ngôn ngữ khả dụng:" Czech -> "K dispozici jsou následující jazyky:" Korean -> "다음 언어는 이용 가능합니다:"+ Hindi -> "निम्नलिखित भाषाएँ उपलब्ध हैं:" _ -> "The following languages are available:" ----------------------------@@ -621,7 +662,7 @@ Russian -> "Доступно обновление Aura. Обновить сперва её?" Italian -> "È disponibile un nuovo aggiornamento per Aura. Eseguirlo subito?" Indonesia -> "Pemutakhiran aura tersedia. Mutakhirkan aura dulu?"- Chinese -> "Aura 可以升级。先升级 aura?"+ Chinese -> "Aura 有新版本可用。要先更新吗?" Swedish -> "Det finns en uppdatering tillgänglig till Aura. Vill du uppdatera Aura först?" Esperanto -> "Ĝisdatigo de Aura estas disponebla. Ĉu ĝisdatigas ĝin?" Dutch -> "Er is een update van Aura beschikbaar. Wilt u Aura nu bijwerken?"@@ -630,6 +671,7 @@ Vietnamese -> "Đã có cập nhật cho Aura. Cập nhật?" Czech -> "K dispozici aktualizace Aury. Nejprve ji aktualizovat?" Korean -> "Aura의 최신버전이 있습니다. 업데이트를 하시겠습니까?"+ Hindi -> "Aura अपडेट उपलब्ध है। पहले इसे अपडेट करें?" _ -> "Aura update available. Update it first?" install_2 :: Language -> Doc AnsiStyle@@ -648,7 +690,7 @@ Serbian -> "Ниједан исправан пакет није специфициран." Norwegian -> "Ingen gyldige pakker er valgte." Indonesia -> "Tidak ada paket valid yang dispesifikkan."- Chinese -> "没有指定有效的包。"+ Chinese -> "未指定有效的包。" Esperanto -> "Ne validajn pakaĵojn specifis" Dutch -> "Er zijn geen geldige pakketten opgegeven." Ukrainian -> "Валідні пакунки не вказані."@@ -656,6 +698,7 @@ Vietnamese -> "Tên của gói được yêu cầu không đúng." Czech -> "Nejsou zadány žádné platné balíčky." Korean -> "유효한 패키지가 지정되지 않았습니다."+ Hindi -> "कोई वैध पैकेज निर्दिष्ट नहीं है।" _ -> "No valid packages specified." install_3 :: Language -> Doc AnsiStyle@@ -683,6 +726,7 @@ Vietnamese -> "Tiếp tục?" Czech -> "Pokračovat?" Korean -> "계속하시겠습니까?"+ Hindi -> "जारी रखें?" _ -> "Continue?" install_4 :: Language -> Doc AnsiStyle@@ -701,7 +745,7 @@ Serbian -> "Инсталација је ручно прекинута." Norwegian -> "Installasjonen ble avbrutt manuelt." Indonesia -> "Instalasi dibatalkan secara paksa."- Chinese -> "手动安装已中止。"+ Chinese -> "安装被手动中止。" Esperanto -> "Instalon ĉesigi permane" Dutch -> "De installatie is handmatig afgebroken." Ukrainian -> "Встановлення скасовано користувачем."@@ -709,6 +753,7 @@ Vietnamese -> "Quá trình cài đặt được hủy." Czech -> "Instalace byla ručně přerušena." Korean -> "설치가 중지되었습니다."+ Hindi -> "इंस्टॉलेशन मैन्युअल रूप से निरस्त किया गया।" _ -> "Installation manually aborted." install_5 :: Language -> Doc AnsiStyle@@ -735,6 +780,7 @@ Vietnamese -> "Xác định các gói phụ thuộc..." Czech -> "Určování závislostí..." Korean -> "종속성 확인 중..."+ Hindi -> "निर्भरता का निर्धारण..." _ -> "Determining dependencies..." -- 2014 December 7 @ 14:45 - NEEDS TRANSLATIONS@@ -747,7 +793,7 @@ Portuguese -> p <> " está marcado como Ignorado. Deseja instalar mesmo assim?" Russian -> p <> " отмечен как игнорируемый. Всё равно установить?" Italian -> p <> " è marcato come pacchetto ignorato. Installarlo comunque?"- Chinese -> p <> " 已被标记为忽略。仍然安装?"+ Chinese -> p <> " 已被标记为忽略。仍要安装吗?" Swedish -> p <> " är markerad som ignorerad. Vill du installera ändå?" Esperanto -> p <> " estas markita kiel malatenta. Ĉu instali?" Dutch -> p <> " is gemarkeerd als genegeerd. Wilt u het pakket toch installeren?"@@ -755,6 +801,7 @@ Vietnamese -> p <> " được đánh dấu là Bỏ qua. Vẫn cài đặt nó?" Czech -> p <> " je označeno jako ignorováno. Přesto nainstalovat?" Korean -> p <> "은(는) 무시됨으로 표시됩니다. 설치를 하시겠습니까?"+ Hindi -> p <> " को उपेक्षित के रूप में चिह्नित किया गया है। फिर भी इंस्टॉल करें?" _ -> p <> " is marked as Ignored. Install anyway?" -- NEEDS UPDATE TO REFLECT CHANGED ENGLISH@@ -782,6 +829,7 @@ Vietnamese -> "Các gói sau không thuộc AUR:" Czech -> "Následující nejsou balíčky AUR:" Korean -> "AUR 패키지가 아닙니다:"+ Hindi -> "निम्नलिखित AUR पैकेज नहीं हैं:" _ -> "The following are not AUR packages:" -- NEEDS TRANSLATION@@ -804,6 +852,7 @@ Vietnamese -> "Các gói sau đã sẵn sàng cài đặt:" Czech -> "Následující balíčky jsou již nainstalovány:" Korean -> "아래 패키지는 이미 설치되어 있습니다:"+ Hindi -> "निम्नलिखित पैकेज पहले से ही इंस्टॉल हैं:" _ -> "The following packages are already installed:" reportPkgsToInstall_1 :: Language -> Doc AnsiStyle@@ -830,6 +879,7 @@ Vietnamese -> "Các repo phụ thuộc:" Czech -> "Závislosti úložiště:" Korean -> "리포지토리 종속성:"+ Hindi -> "रिपोजिटरी निर्भरताएं:" _ -> "Repository dependencies:" -- NEEDS AN UPDATE@@ -857,6 +907,7 @@ Vietnamese -> "Gói AUR:" Czech -> "Balíčky AUR:" Korean -> "AUR 패키지:"+ Hindi -> "AUR पैकाग्रेस:" _ -> "AUR Packages:" reportPkgsToInstall_3 :: Language -> Doc AnsiStyle@@ -881,6 +932,8 @@ Vietnamese -> "Gói phụ thuộc của AUR:" Czech -> "Závislosti AUR:" Korean -> "AUR 종속성:"+ Hindi -> "AUR निर्भरताएं:"+ Chinese -> "AUR 依赖:" _ -> "AUR dependencies:" -- NEEDS TRANSLATION@@ -899,7 +952,7 @@ Serbian -> p <> " још нема похрањен PKGBUILD." Norwegian -> p <> " har ingen PKGBUILD ennå." Indonesia -> p <> " tidak mempunyai PKGBUILD yang tersimpan untuk saat ini."- Chinese -> p <> " 还没有保存的 PKGBUILD。"+ Chinese -> p <> " 的 PKGBUILD 尚未保存。" Swedish -> p <> " har ännu ingen PKGBUILD." Esperanto -> p <> " ne havas PKGBUILD jam." Dutch -> p <> " heeft nog geen opgeslagen PKGBUILD."@@ -908,6 +961,7 @@ Vietnamese -> p <> " không có sẵn PKGBUILD." Czech -> p <> " ještě nemá uložený PKGBUILD." Korean -> p <> "의 PKGBUILD는 저장되지 않았습니다."+ Hindi -> p <> " में अभी तक कोई PKGBUILD संग्रहीत नहीं है." _ -> p <> " has no stored PKGBUILD yet." -- NEEDS TRANSLATION@@ -935,6 +989,7 @@ Vietnamese -> "Thay đổi trong PKGBUILD của " <> p <> ":" Czech -> "Změny PKGBUILD v " <> p <> ":" Korean -> p <> "의 PKGBUILD 변경 사항:"+ Hindi -> p <> "PKGBUILD परिवर्तन:" _ -> p <> " PKGBUILD changes:" -- NEEDS TRANSLATION@@ -962,6 +1017,7 @@ Vietnamese -> "Cập nhật các gói AUR:" Czech -> "Balíčky AUR k aktualizaci:" Korean -> "업그레이드할 AUR 패키지:"+ Hindi -> "अपग्रेड करने के लिए AUR पैकेज:" _ -> "AUR Packages to upgrade:" -- NEEDS UPDATING@@ -981,7 +1037,7 @@ Serbian -> "Следећи пакети нису ни инсталирани, те се не могу вратити на старију верзију:" Norwegian -> "Følgende pakker har ingen versjoner i cache, og kan derfor ikke bli nedgradert:" Indonesia -> "Berikut ini tidak mempunyai versi pada cache, sehingga tidak akan diturunkan:"- Chinese -> "以下包在缓存中没有版本,所以无法被降级:"+ Chinese -> "以下包在缓存中没有版本,无法降级:" Esperanto -> "La sekvaj pakaĵoj havas ne kaŝmemorigitajn versiojn, do ĝi ne povas malpromociigi:" Dutch -> "De volgende pakketten zijn niet gecachet en kunnen daarom niet worden afgewaardeerd." Ukrainian -> "Наступних пакунків немає в кеші. Отже, вони не можуть відкотитися до старої версії:"@@ -989,6 +1045,7 @@ Vietnamese -> "Những gói sau không có bản nào trong cache, vì vậy không thể hạ cấp:" Czech -> "Následující nemají žádné verze v mezipaměti, a proto je nelze downgradovat:" Korean -> "이 패키지는 캐시에 저장된 다른 버전이 없으므로 다운그레이드를 할 수 없습니다."+ Hindi -> "निम्नलिखित का कैश में कोई संस्करण नहीं है, और इसलिए इसे डाउनग्रेड नहीं किया जा सकता:" _ -> "The following have no versions in the cache, and thus can’t be downgraded:" reportBadDowngradePkgs_2 :: PkgName -> Language -> Doc AnsiStyle@@ -1002,6 +1059,8 @@ Vietnamese -> pretty p <+> "không có bản nào trong cache." Czech -> pretty p <+> "nemá žádnou verzi v mezipaměti." Korean -> pretty p <+> "의 캐시에는 저장된 다른 버전이 없습니다."+ Hindi -> pretty p <+> "का कैश में कोई संस्करण नहीं है."+ Chinese -> pretty p <+> "在缓存中没有版本。" _ -> pretty p <+> "has no version in the cache." upgradeAURPkgs_1 :: Language -> Doc AnsiStyle@@ -1028,6 +1087,7 @@ Vietnamese -> "Cập nhật thông tin của gói..." Czech -> "Načítání informací o balíčku..." Korean -> "패키지 정보 가져오는 중..."+ Hindi -> "पैकेज की जानकारी प्राप्त की जा रही है..." _ -> "Fetching package information..." upgradeAURPkgs_2 :: Language -> Doc AnsiStyle@@ -1054,6 +1114,7 @@ Vietnamese -> "So sánh phiên bản của gói..." Czech -> "Porovnání verzí balíčků..." Korean -> "패키지 버전 비교 중..."+ Hindi -> "पैकेज संस्करणों की तुलना करना..." _ -> "Comparing package versions..." upgradeAURPkgs_3 :: Language -> Doc AnsiStyle@@ -1080,6 +1141,7 @@ Vietnamese -> "Không có cập nhật cho các gói AUR." Czech -> "Není nutné žádné aktualizace balíčku AUR." Korean -> "업그레이드가 필요하지 않습니다."+ Hindi -> "कोई AUR पैकेज अपग्रेड आवश्यक नहीं है।" _ -> "No AUR package upgrades necessary." removeMakeDepsAfter_1 :: Language -> Doc AnsiStyle@@ -1106,6 +1168,7 @@ Vietnamese -> "Loại bỏ các gói phụ thuộc khi make không cần thiết..." Czech -> "Odstranění nepotřebných make závislostí..." Korean -> "필요없는 make 의존성 제거 중..."+ Hindi -> "अनावश्यक निर्भरताएँ हटाया जा रहा है..." _ -> "Removing unneeded make dependencies..." ----------------------------@@ -1127,7 +1190,7 @@ French -> s <> " états des paquets vont être conservés. Supprimer le reste ?" Russian -> s <> pluralRussian " состояние пакетов будет оставлено." " состояния пакетов будут оставлены." " состояний пакетов будет оставлено." n <> " Удалить оставшиеся?" Indonesia -> s <> " paket akan tetap sama. Hapus yang lainnya?"- Chinese -> s <> " 个包的状态将会保留。删除其它的?"+ Chinese -> "保留" <> s <> " 个包的状态记录,并删除其它的?" Swedish -> s <> " paket kommer att bevaras. Ta bort resten?" Esperanto -> s <> " statoj de pakaĵoj teniĝas. Ĉu forigi la ceteron?" Dutch -> s <> " pakketstatussen worden behouden. Wilt u de rest verwijderen?"@@ -1136,6 +1199,7 @@ Vietnamese -> "Trạng thái của gói " <> s <> " sẽ được lưu lại. Loại bỏ phần còn lại?" Czech -> s <> " stavy balíčků budou zachovány. Odstranit zbytek?" Korean -> s <> " 패키지는 유지됩니다. 나머지를 제거하시겠습니까?"+ Hindi -> s <> " पैकेज स्थितियों को रखा जाएगा। बाकी हटा दें?" _ -> s <> " package states will be kept. Remove the rest?" -- NEEDS TRANSLATION@@ -1154,7 +1218,7 @@ French -> "Aucun état des paquets n'a été supprimé." Russian -> "Состояния пакетов отались нетронутыми." Indonesia -> "Tidak ada paket yang dihapus."- Chinese -> "没有删除任何包。"+ Chinese -> "未删除任何包的状态记录。" Swedish -> "Inga paket togs bort." Esperanto -> "Ne statojn de pakaĵoj forigis." Dutch -> "Er zijn geen pakketstatussen verwijderd."@@ -1163,24 +1227,27 @@ Vietnamese -> "Không có trạng thái gói nào được lưu." Czech -> "Nebyly odstraněny žádné stavy balíčku." Korean -> "아무 패키지도 삭제되지 않았습니다."+ Hindi -> "कोई पैकेज स्थिति हटाई नहीं गई थी।" _ -> "No package states were removed." cleanStates_4 :: Int -> Language -> Doc AnsiStyle cleanStates_4 n = \case- Japanese -> "現在のパッケージ状態記録:" <+> pretty n <+> "個。"- Arabic -> ".محفوظة " <+> pretty n <+> " لديك حاليا حالات حزمة"- Polish -> "Chwilowo posiadasz" <+> pretty n <+> "zapisanych stanów pakietów."- Spanish -> "Actualmente tiene " <+> pretty n <+> "estados de paquetes guardados."- Russian -> "У вас сейчас " <+> pretty n <+> pluralRussian " сохраненное состояние пакета" " сохраненных состояний пакета" " сохраненных состояний пакетов." n- Italian -> "Al momento ci sono" <+> pretty n <+> "stati di pacchetti salvati."- Esperanto -> "Vi havas " <+> pretty n <+> " konservajn statojn de pakaĵoj."- Dutch -> "U heeft momenteel" <+> pretty n <+> "opgeslagen pakketstatussen."- Ukrainian -> "Зараз ви маєте " <+> pretty n <+> " збережених станів пакунків."- Romanian -> "Momentan aveți " <+> pretty n <+> " stări de pachet salvate."+ Japanese -> "現在のパッケージ状態記録:" <+> pretty n <+> "個。"+ Arabic -> ".محفوظة " <+> pretty n <+> " لديك حاليا حالات حزمة"+ Polish -> "Chwilowo posiadasz" <+> pretty n <+> "zapisanych stanów pakietów."+ Spanish -> "Actualmente tiene " <+> pretty n <+> "estados de paquetes guardados."+ Russian -> "У вас сейчас " <+> pretty n <+> pluralRussian " сохраненное состояние пакета" " сохраненных состояний пакета" " сохраненных состояний пакетов." n+ Italian -> "Al momento ci sono" <+> pretty n <+> "stati di pacchetti salvati."+ Esperanto -> "Vi havas " <+> pretty n <+> " konservajn statojn de pakaĵoj."+ Dutch -> "U heeft momenteel" <+> pretty n <+> "opgeslagen pakketstatussen."+ Ukrainian -> "Зараз ви маєте " <+> pretty n <+> " збережених станів пакунків."+ Romanian -> "Momentan aveți " <+> pretty n <+> " stări de pachet salvate." Vietnamese -> "Bạn hiện đã lưu " <+> pretty n <+> " trạng thái gói."- Czech -> "V současné době máte " <+> pretty n <+> " uložených stavů balíčků."- Korean -> "현재" <+> pretty n <+> "개의 패키지 상태가 저장되어 있습니다."- _ -> "You currently have " <+> pretty n <+> " saved package states."+ Czech -> "V současné době máte " <+> pretty n <+> " uložených stavů balíčků."+ Korean -> "현재" <+> pretty n <+> "개의 패키지 상태가 저장되어 있습니다."+ Hindi -> "वर्तमान में आपके पास " <+> pretty n <+> " सहेजी गई पैकेज स्थितियाँ हैं।"+ Chinese -> "目前已保存 " <+> pretty n <+> " 个包的状态记录。"+ _ -> "You currently have " <+> pretty n <+> " saved package states." cleanStates_5 :: Text -> Language -> Doc AnsiStyle cleanStates_5 t = \case@@ -1197,21 +1264,25 @@ Vietnamese -> "Lần lưu gần nhất:" <+> pretty t Czech -> "Naposledy uložené:" <+> pretty t Korean -> "최근에 저장된 패키지:" <+> pretty t+ Hindi -> "हाल ही में सहेजा गया:" <+> pretty t+ Chinese -> "最近一次保存:" <+> pretty t _ -> "Most recently saved:" <+> pretty t cleanStates_6 :: Int -> Language -> Doc AnsiStyle cleanStates_6 n = \case- Polish -> pretty n <+> "jest przypiętych i nie zostanie usuniętych."- Arabic -> ".اذا كانو مثبتين ولا يمكن ازالتهم " <+> pretty n- Spanish -> pretty n <+> "de estos están anclados y no se eliminarán."- Italian -> pretty n <+> "di questi sono stati fissati, perciò non saranno rimossi."- Dutch -> pretty n <+> "hiervan zijn vastgezet en worden daarom niet verwijderd."- Ukrainian -> pretty n <+> "були закріплені та залишуться недоторканими."- Romanian -> pretty n <+> "dintre astea sunt fixate, și nu vor fi șterse."+ Polish -> pretty n <+> "jest przypiętych i nie zostanie usuniętych."+ Arabic -> ".اذا كانو مثبتين ولا يمكن ازالتهم " <+> pretty n+ Spanish -> pretty n <+> "de estos están anclados y no se eliminarán."+ Italian -> pretty n <+> "di questi sono stati fissati, perciò non saranno rimossi."+ Dutch -> pretty n <+> "hiervan zijn vastgezet en worden daarom niet verwijderd."+ Ukrainian -> pretty n <+> "були закріплені та залишуться недоторканими."+ Romanian -> pretty n <+> "dintre astea sunt fixate, și nu vor fi șterse." Vietnamese -> pretty n <+> "trong số chúng đã được ghim, và sẽ không bị loại bỏ."- Czech -> pretty n <+> "z nich jsou připnuté a nebudou odstraněny."- Korean -> pretty n <+> "은(는) 고정되어 삭제되지 않습니다."- _ -> pretty n <+> "of these are pinned, and won't be removed."+ Czech -> pretty n <+> "z nich jsou připnuté a nebudou odstraněny."+ Korean -> pretty n <+> "은(는) 고정되어 삭제되지 않습니다."+ Hindi -> "इनमें से" <+> pretty n <+> "को पिन कर दिया गया है, और हटाया नहीं जाएगा।"+ Chinese -> "其中 " <+> pretty n <+> " 个已被固定,不会被删除。"+ _ -> pretty n <+> "of these are pinned, and won't be removed." readState_1 :: Language -> Doc AnsiStyle readState_1 = \case@@ -1228,6 +1299,8 @@ Vietnamese -> "Thất bại trong việc lấy dữ liệu từ tệp. Đó có đúng là tệp JSON?" Czech -> "Tento stavový soubor se nepodařilo analyzovat. Je to legální JSON?" Korean -> "상태 파일을 분석할 수 없습니다. 올바른 JSON 입니까?"+ Hindi -> "वह स्थिति फ़ाइल पार्स करने में विफल रही. क्या यह वैध JSON है?"+ Chinese -> "无法解析状态文件。这是否是一个合法的 JSON 文件?" _ -> "That state file failed to parse. Is it legal JSON?" ----------------------------@@ -1249,7 +1322,7 @@ Serbian -> "Коју верзију " <> p <> "-а желите?" Norwegian -> "Hvilken versjon av " <> p <> " vil du ha?" Indonesia -> "Versi dari paket " <> p <> " mana yang anda inginkan?"- Chinese -> "你希望安装 " <> p <> " 的哪个版本?"+ Chinese -> "要安装哪个版本的" <> p <> "?" Esperanto -> "Kiu versio de " <> p <> " vi volas?" Dutch -> "Welke versie van " <> p <> " wilt u?" Ukrainian -> "Яку версію пакунку " <> p <> " ви бажаєте?"@@ -1257,6 +1330,7 @@ Vietnamese -> "Bạn muốn sử dụng phiên bản nào của " <> p <> "?" Czech -> "Jakou verzi " <> p <> " chcete?" Korean -> "어느 " <> p <> " 버전을 설치하시겠습니까?"+ Hindi -> "आपको " <> p <> " का कौन सा संस्करण चाहिए?" _ -> "What version of " <> p <> " do you want?" backupCache_3 :: Language -> Doc AnsiStyle@@ -1283,6 +1357,7 @@ Vietnamese -> "Đường dẫn sao lưu không tồn tại." Czech -> "Umístění zálohy neexistuje." Korean -> "백업 위치를 찾을 수 없습니다."+ Hindi -> "बैकअप स्थान मौजूद नहीं है।" _ -> "The backup location does not exist." backupCache_4 :: FilePath -> Language -> Doc AnsiStyle@@ -1309,6 +1384,7 @@ Vietnamese -> "Sao lưu cache vào " <> dir Czech -> "Zálohování mezipaměti do " <> dir Korean -> "캐시를 백업하는 중 " <> dir+ Hindi -> "कैश का बैकअप " <> dir <> " में लिया जा रहा है।" _ -> "Backing up cache to " <> dir backupCache_5 :: Int -> Language -> Doc AnsiStyle@@ -1335,6 +1411,7 @@ Vietnamese -> "Các tệp của gói sẽ được sao lưu: " <> n Czech -> "Soubory k zálohování: " <> n Korean -> "백업할 패키지 파일: " <> n+ Hindi -> "बैकअप के लिए फ़ाइलों को पैकेज करें:" <> n _ -> "Package files to backup: " <> n backupCache_6 :: Language -> Doc AnsiStyle@@ -1361,6 +1438,7 @@ Vietnamese -> "Tiến hành sao lưu?" Czech -> "Pokračovat v zálohování." Korean -> "백업 하시겠습니까?"+ Hindi -> "क्या आप बैकअप जारी रखना चाहते हैं?" _ -> "Proceed with backup?" backupCache_7 :: Language -> Doc AnsiStyle@@ -1379,7 +1457,7 @@ Serbian -> "Бекаповање је ручно прекинуто." Norwegian -> "Backup ble avbrutt manuelt." Indonesia -> "Proses `backup` dibatalkan secara paksa."- Chinese -> "手动备份已中止。"+ Chinese -> "备份被手动中止。" Esperanto -> "Enarkivigadon ĉesigis permane." Dutch -> "Het back-upproces is handmatig afgebroken." Ukrainian -> "Створення резервної копії перервано користувачем."@@ -1387,6 +1465,7 @@ Vietnamese -> "Quá trình sao lưu được hủy." Czech -> "Zálohování ručně přerušeno." Korean -> "백업이 중지되었습니다."+ Hindi -> "बैकअप मैन्युअल रूप से निरस्त किया गया।" _ -> "Backup manually aborted." backupCache_8 :: Language -> Doc AnsiStyle@@ -1413,6 +1492,7 @@ Vietnamese -> "Đang sao lưu. Có thể sẽ mất vài phút..." Czech -> "Zálohování. Může to trvat několik minut..." Korean -> "백업 중입니다. 몇 분 정도 걸릴 수 있습니다..."+ Hindi -> "बैकअप लिया जा रहा है। इसमें कुछ मिनट लग सकते हैं..." _ -> "Backing up. This may take a few minutes..." copyAndNotify_1 :: Int -> Language -> Doc AnsiStyle@@ -1440,6 +1520,7 @@ Vietnamese -> "Sao chép #[" <> n <> "]" Czech -> "Kopírování #[" <> n <> "]" Korean -> "복사중 #[" <> n <> "]"+ Hindi -> "कॉपी किया जा रहा है #[" <> n <> "]" _ -> "Copying #[" <> n <> "]" cleanCache_2 :: Language -> Doc AnsiStyle@@ -1458,7 +1539,7 @@ Serbian -> "Ово ће избрисати ЦЕО кеш пакета." Norwegian -> "Dette vil slette HELE pakke-cachen." Indonesia -> "Akan menghapus SEMUA `cache` paket"- Chinese -> "这将会删除全部的包缓存。"+ Chinese -> "这将会删除所有包缓存。" Esperanto -> "Ĉi tiu forigos la TUTAN kaŝmemoron de pakaĵoj." Dutch -> "Hiermee wordt de GEHELE pakketcache gewist." Ukrainian -> "Ця операція ПОВНІСТЮ видалить кеш пакунків."@@ -1466,6 +1547,7 @@ Vietnamese -> "Điều này sẽ xóa TOÀN BỘ cache của gói." Czech -> "Tím smažete CELOU mezipaměť balíčku." Korean -> "모든 패키지 캐시가 삭제됩니다."+ Hindi -> "यह संपूर्ण पैकेज कैश हटा देगा।" _ -> "This will delete the ENTIRE package cache." cleanCache_3 :: Word -> Language -> Doc AnsiStyle@@ -1492,6 +1574,7 @@ Vietnamese -> "Sẽ giữ lại " <> s <> " tệp của gói." Czech -> s <> " každého souboru balíčku bude zachován." Korean -> "각 패키지 파일에 대해 " <> s <> "개의 파일이 유지되어야 합니다."+ Hindi -> s <> "प्रत्येक पैकेज फ़ाइल को रखा जाएगा।" _ -> s <> " of each package file will be kept." cleanCache_4 :: Language -> Doc AnsiStyle@@ -1510,7 +1593,7 @@ Serbian -> "Остатак ће бити избрисан. Да ли је то у реду?" Norwegian -> "Resten vil bli slettet. Er det OK?" Indonesia -> "Selainnya akan dihapus. Ikhlas kan?"- Chinese -> "其余的将会被删除。确定?"+ Chinese -> "其余的将被删除。确定吗?" Esperanto -> "La cetero foriĝos. Ĉu bone?" Dutch -> "De rest wordt gewist. Weet u het zeker?" Ukrainian -> "Все інше буде видалено. Гаразд?"@@ -1518,6 +1601,7 @@ Vietnamese -> "Xóa bỏ phần còn lại. Ok?" Czech -> "Zbytek bude smazán. Ok?" Korean -> "나머지는 모두 삭제됩니다. 계속하시겠습니까?"+ Hindi -> "बाकी हटा दिया जाएगा। ठीक है?" _ -> "The rest will be deleted. Okay?" cleanCache_5 :: Language -> Doc AnsiStyle@@ -1536,7 +1620,7 @@ Serbian -> "Чишћење кеша је ручно прекинуто." Norwegian -> "Cache-rensing ble avbrutt manuelt." Indonesia -> "Pembersihan `cache` dibatalkan secara paksa."- Chinese -> "手动清理缓存已中止。"+ Chinese -> "缓存清理被手动中止。" Esperanto -> "Puriganta Kaŝmemoro ĉesis permane." Dutch -> "De cache-opruiming is handmatig afgebroken." Ukrainian -> "Очищення кешу було перервано користувачем."@@ -1544,6 +1628,7 @@ Vietnamese -> "Đã hủy xóa cache." Czech -> "Čištění mezipaměti bylo ručně přerušeno" Korean -> "캐시 정리가 중지되었습니다."+ Hindi -> "कैश की सफ़ाई मैन्युअल रूप से निरस्त कर दी गई।" _ -> "Cache cleaning manually aborted." cleanCache_6 :: Language -> Doc AnsiStyle@@ -1570,6 +1655,7 @@ Vietnamese -> "Xóa cache..." Czech -> "Čištění mezipaměti balíčků" Korean -> "패키지 캐시 정리 중..."+ Hindi -> "पैकेज कैश साफ़ किया जा रहा है..." _ -> "Cleaning package cache..." cleanCache_7 :: Word -> Word -> Language -> Doc AnsiStyle@@ -1581,7 +1667,9 @@ Romanian -> "Cache-ul conține " <> ps <> " pachete, consumând " <> bytes <> " MB." Vietnamese -> "Có " <> ps <> " gói trong cache, chiếm " <> bytes <> " megabytes." Korean -> ps <> "개의 패키지는 " <> bytes <> "MB 사용 중입니다."+ Hindi -> "कैश में " <> ps <> " पैकेज हैं, जो " <> bytes <> " मेगाबाइट का उपभोग करते हैं।" Dutch -> "De cache bevat " <> ps <> " pakketten, met een totale omvang van " <> bytes <> " megabytes."+ Chinese -> "缓存中有 " <> ps <> " 个包,共计 " <> bytes <> " MB。" _ -> "The cache contains " <> ps <> " packages, consuming " <> bytes <> " megabytes." cleanCache_8 :: Word -> Language -> Doc AnsiStyle@@ -1594,7 +1682,9 @@ Vietnamese -> "Giải phóng " <> bytes <> "megabytes." Czech -> "Uvolněno " <> bytes <> " MB." Korean -> bytes <> " MB 정리되었습니다."+ Hindi -> bytes <> "मेगाबाइट मुक्त हो गए।" Dutch -> bytes <> "megabytes vrijgemaakt."+ Chinese -> "已释放 " <> bytes <> " MB。" _ -> bytes <> " megabytes freed." cleanCache_9 :: Word -> Language -> Doc AnsiStyle@@ -1603,7 +1693,9 @@ Vietnamese -> "Sẽ giữ lại " <> w <> " phiên bản của các gói đã cài đặt." Czech -> w <> " verze každého nainstalovaného balíčku budou zachovány." Korean -> "각각의 설치된 패키지의 " <> w <> "은(는) 유지됩니다."+ Hindi -> w <> "प्रत्येक स्थापित पैकेज के संस्करण रखे जाएंगे।" Dutch -> "Er worden " <> w <> "versies van elke geïnstalleerd pakket bewaard."+ Chinese -> "每个包将会保存 " <> w <> " 个版本。" _ -> w <> " versions of each installed package will be kept." -- NEEDS TRANSLATION@@ -1630,6 +1722,7 @@ Vietnamese -> "Xác định các tệp của gói không cần thiết..." Czech -> "Zjišťování nepotřebných souborů balíčků..." Korean -> "필요 없는 패키지 파일 확인 중..."+ Hindi -> "अनावश्यक पैकेज फ़ाइलों का निर्धारण..." _ -> "Determining unneeded package files..." -- NEEDS TRANSLATION@@ -1656,6 +1749,7 @@ Vietnamese -> "Tìm thấy " <> s <> " gói không cần thiết. Xóa bỏ?" Czech -> "Nepotřebné soubory balíčků: " <> s <> ". Vymazat?" Korean -> s <> "는 필요 없는 패키지 파일입니다. 삭제하시겠습니까?"+ Hindi -> s <> "अनावश्यक पैकेज फ़ाइलें मिलीं। हटाएं?" _ -> s <> " unneeded package files found. Delete?" ----------------------------@@ -1691,6 +1785,7 @@ Vietnamese -> "Nội dung sau không có trong tệp log:" Czech -> "Tyto se neobjevily v souboru log:" Korean -> "로그 파일에 나타나지 않음:"+ Hindi -> "ये लॉग फ़ाइल में दिखाई नहीं दिए हैं:" _ -> "These have not appeared in the log file:" -------------------------------@@ -1703,30 +1798,36 @@ Vietnamese -> "Không tím thấy gói." Czech -> "Nebyly nalezeny žádné balíčky." Korean -> "패키지를 찾을 수 없습니다."+ Hindi -> "कोई पैकेज नहीं मिला।"+ Chinese -> "未找到软件包。" _ -> "No packages found." -- https://github.com/fosskers/aura/issues/498 connectFailure_1 :: Language -> Doc AnsiStyle connectFailure_1 = \case- Polish -> "Nie udało się nawiązać połączenia z AUR. Czy jesteś połączony z internetem?"- Arabic -> "هل انت متصل بالانترنت؟ .AURفشل الاتصال بـ"- Spanish -> "No se pudo contactar con el AUR. ¿Tienes conexión a internet?"- Italian -> "Non è stato possibile contattare l'AUR. Il computer è connesso ad internet?"- Dutch -> "Er kan geen verbinding worden gemaakt met de AUR. Bent u verbonden met het internet?"- Ukrainian -> "Не вдалося зв'язатись з AUR. У вас є підключення до інтернету?"- Romanian -> "Nu s-a putut contacta AUR. Sunteți conectat pe Internet?"+ Polish -> "Nie udało się nawiązać połączenia z AUR. Czy jesteś połączony z internetem?"+ Arabic -> "هل انت متصل بالانترنت؟ .AURفشل الاتصال بـ"+ Spanish -> "No se pudo contactar con el AUR. ¿Tienes conexión a internet?"+ Italian -> "Non è stato possibile contattare l'AUR. Il computer è connesso ad internet?"+ Dutch -> "Er kan geen verbinding worden gemaakt met de AUR. Bent u verbonden met het internet?"+ Ukrainian -> "Не вдалося зв'язатись з AUR. У вас є підключення до інтернету?"+ Romanian -> "Nu s-a putut contacta AUR. Sunteți conectat pe Internet?" Vietnamese -> "Mất kết nối tới AUR. Bạn có kết nối mạng không?"- Czech -> "Nepodařilo se kontaktovat AUR server. Máte připojení k internetu?"- Korean -> "AUR에 접근하지 못했습니다. 인터넷 연결 상태를 확인하십시오."- _ -> "Failed to contact the AUR. Do you have an internet connection?"+ Czech -> "Nepodařilo se kontaktovat AUR server. Máte připojení k internetu?"+ Korean -> "AUR에 접근하지 못했습니다. 인터넷 연결 상태를 확인하십시오."+ Hindi -> "AUR से संपर्क करने में असफल। क्या आपके पास इंटरनेट कनेक्शन है?"+ Chinese -> "无法与 AUR 通信。请检查网络。"+ _ -> "Failed to contact the AUR. Do you have an internet connection?" dependencyLookup_1 :: Text -> Language -> Doc AnsiStyle dependencyLookup_1 t = \case- Romanian -> vsep ["A fost o problemă cu analiza recursivă de dependențe:", pretty t]+ Romanian -> vsep ["A fost o problemă cu analiza recursivă de dependențe:", pretty t] Vietnamese -> vsep ["Có lỗi trong quá trình tìm kiếm gói phụ thuộc đệ quy:", pretty t]- Czech -> vsep ["Při rekurzivním vyhledávání závislostí došlo k problému:", pretty t]- Korean -> vsep ["재귀 종속성 조회 중 문제가 발생했습니다:", pretty t]- _ -> vsep ["There was an issue during recursive dependency lookup:", pretty t]+ Czech -> vsep ["Při rekurzivním vyhledávání závislostí došlo k problému:", pretty t]+ Korean -> vsep ["재귀 종속성 조회 중 문제가 발생했습니다:", pretty t]+ Hindi -> vsep ["पुनरावर्ती निर्भरता लुकअप के दौरान एक समस्या थी:", pretty t]+ Chinese -> vsep ["在递归依赖查找中遇到了问题:", pretty t]+ _ -> vsep ["There was an issue during recursive dependency lookup:", pretty t] miscAURFailure_1 :: Language -> Doc AnsiStyle miscAURFailure_1 = \case@@ -1740,6 +1841,8 @@ Vietnamese -> "Bất ngờ không thể kết nối tới AUR." Czech -> "Kontaktování AUR se nezdařilo neznámým způsobem." Korean -> "알 수 없는 문제로 AUR에 접근하지 못했습니다."+ Hindi -> "AUR से संपर्क किसी अज्ञात तरीके से विफल रहा।"+ Chinese -> "与 AUR 通信时遇到了未知的错误。" _ -> "Contacting the AUR failed in some unknown way." miscAURFailure_3 :: Language -> Doc AnsiStyle@@ -1752,7 +1855,9 @@ Vietnamese -> "Không thể giải mã tệp JSON lấy từ máy chủ AUR." Czech -> "JSON vrácený ze serveru AUR nelze dekódovat." Korean -> "AUR 서버에서 받은 JSON을 디코딩할 수 없습니다."+ Hindi -> "AUR सर्वर से लौटाया गया JSON डिकोड नहीं किया जा सका।" Dutch -> "De AUR-server stuurde JSON terug die niet kan worden ontsleuteld."+ Chinese -> "无法解码 AUR 服务器返回的 JSON。网络连接是否被污染?" _ -> "The JSON returned from the AUR server could not be decoded." infoFields :: Language -> [Text]@@ -1795,6 +1900,7 @@ Vietnamese -> "Đã cũ!" Czech -> "Zastaralý!" Korean -> "최신 버전이 아님!"+ Hindi -> "पुराना हो चुका है!" _ -> "Out of Date!" outOfDateMsg Nothing = green . \case@@ -1820,6 +1926,7 @@ Vietnamese -> "Mới nhất" Czech -> "Aktuální" Korean -> "최신 버전"+ Hindi -> "अप टू डेट" _ -> "Up to Date" -- NEEDS TRANSLATION@@ -1838,7 +1945,7 @@ Russian -> "Осиротевший!" Italian -> "Orfano!" Indonesia -> "Tak dipelihara!"- Chinese -> "孤包!"+ Chinese -> "孤立包!" Swedish -> "Föräldralös!" Esperanto -> "Orfita!" Dutch -> "Onteigend!"@@ -1847,6 +1954,7 @@ Vietnamese -> "Gói lẻ!" Czech -> "Opuštěno!" Korean -> "관리되지 않는 패키지입니다!"+ Hindi -> "अनाथ!" _ -> "Orphaned!" -----------------------@@ -1877,6 +1985,7 @@ Vietnamese -> "Đã lưu trạng thái gói." Czech -> "Stav balíčku byl uložen." Korean -> "패키지 상태가 저장되었습니다."+ Hindi -> "सहेजे गए पैकेज की स्थिति." _ -> "Saved package state." -- NEEDS TRANSLATION@@ -1895,7 +2004,7 @@ French -> "Version antérieure requise non disponible pour :" Russian -> "Запрошенные версии для отката не доступны для:" Indonesia -> "Versi yang diturunkan tidak tersedia untuk: "- Chinese -> "请求的降级版本对以下包不可用:"+ Chinese -> "不存在给定降级版本的包:" Swedish -> "Den begärda nedgraderingen finns inte tillgänglig för:" Esperanto -> "Petitajn malpromociajn versiojn ne estas disponebla de:" Dutch -> "De verzochte afwaardeerversies zijn niet beschikbaar voor:"@@ -1904,6 +2013,7 @@ Vietnamese -> "Không thể hạ cấp cho:" Czech -> "Požadované nižší verze nejsou k dispozici pro:" Korean -> "요청한 다운그레이드 버전은 다음 패키지에 사용할 수 없습니다:"+ Hindi -> "अनुरोधित डाउनग्रेड संस्करण इसके लिए उपलब्ध नहीं है:" _ -> "Requested downgrade versions not available for:" restoreState_2 :: Language -> Doc AnsiStyle@@ -1915,7 +2025,7 @@ Portuguese -> "Nenhum estado disponível para ser recuperado. (Utilize -B para salvar o estado atual)" Russian -> "Нет сохраненных состояний для восстановления. (Используйте -B для сохранения текущего состояния)" Italian -> "Nessuno stato precedente a cui tornare. (Usa -B per salvare lo stato attuale)"- Chinese -> "没有要恢复的已保存状态。(使用 -B 保存当前状态)"+ Chinese -> "包状态未有保存。(使用 -B 保存当前状态)" Swedish -> "Inga sparade tillstånd att återhämta. (Använd -B för att spara det nuvarande tillståndet)" Esperanto -> "Ne konservitaj statoj restaŭros. (Uzu -B konservi la aktualan staton)" Dutch -> "Er zijn geen bewaarde statussen om te herstellen. (ken -B toe om de huidige status te bewaren)"@@ -1924,6 +2034,7 @@ Vietnamese -> "Không có trạng thái nào có thể lưu. (Dùng -B để lưu trạng thái hiện tại)" Czech -> "Žádné uložené stavy k obnovení. (Pro uložení aktuálního stavu použijte -B)" Korean -> "복원할 패키지 상태가 없습니다. (-B를 사용해 현재 상태를 저장)"+ Hindi -> "कोई भी सहेजी गई स्थिति पुनर्स्थापित नहीं की जाएगी। (वर्तमान स्थिति को सहेजने के लिए -B का उपयोग करें)" _ -> "No saved states to be restored. (Use -B to save the current state)" -- NEEDS TRANSLATION@@ -1942,7 +2053,7 @@ French -> "Aucun paquet n'a besoin de changement." Russian -> "Пакеты не нуждаются в изменениях." Indonesia -> "Tidak ada paket yang diubah."- Chinese -> "没有包需要改变。"+ Chinese -> "没有需要变更的包。" Swedish -> "Inga paket behöver ändras." Esperanto -> "Ne pakaĵoj devas ŝanĝiĝi." Dutch -> "Er zijn geen pakketten die aangepast moeten worden."@@ -1951,6 +2062,7 @@ Vietnamese -> "Không có gói nào cần thay đổi." Czech -> "Žádné balíčky není třeba měnit." Korean -> "패키지를 변경할 필요가 없습니다."+ Hindi -> "किसी पैकेज को बदलने की आवश्यकता नहीं है।" _ -> "No packages need changing." --------------------------------------@@ -1971,6 +2083,8 @@ Vietnamese -> "Không thể xác định tài khoản người dùng nào để build." Czech -> "Nelze určit, se kterým uživatelským účtem se má provezt build." Korean -> "사용자가 컴파일할 것인지 확일할 수 없습니다."+ Hindi -> "यह निर्धारित नहीं कर सकता कि किस उपयोगकर्ता खाते से निर्माण किया जाए।"+ Chinese -> "无法确定用于构建的用户。" _ -> "Can't determine which user account to build with." ------------------------@@ -1991,6 +2105,8 @@ Vietnamese -> "Không thể lấy dữ liệu từ tệp pacman.conf của bạn." Czech -> "Nelze analyzovat soubor pacman.conf." Korean -> "pacman.conf 파일 분석에 실패했습니다."+ Hindi -> "आपकी pacman.conf फ़ाइल को पार्स करने में असमर्थ।"+ Chinese -> "pacman.conf 文件无法解析。" _ -> "Unable to parse your pacman.conf file." provides_1 :: PkgName -> Language -> Doc AnsiStyle@@ -2005,6 +2121,8 @@ Vietnamese -> pro <+> "là gói phụ thuộc, được cung cấp từ nhiều gói khác. Hãy chọn một:" Czech -> pro <+> "je vyžadována jako závislost, kterou poskytuje několik balíčků. Prosím vyberte jeden:" Korean -> pro <+> "는 종속성으로 필요하며 여러 패키지에서 제공됩니다. 다음 중 하나를 선택하십시오:"+ Hindi -> pro <+> "एक निर्भरता के रूप में आवश्यक है, जो कई पैकेजों द्वारा प्रदान की जाती है। कृपया एक का चयन करें:"+ Chinese -> "依赖项" <+> pro <+> "可由多个包提供。请选择:" _ -> pro <+> "is required as a dependency, which is provided by multiple packages. Please select one:" ----------------------------------@@ -2026,7 +2144,7 @@ Serbian -> "Желите ли да измените PKGBUILD за " <> p <> "?" Norwegian -> "Vil du endre PKGBUILD for " <> p <> "?" Indonesia -> "Apakah anda ingin menyunting PKGBUILD untuk paket " <> p <> "?"- Chinese -> "你希望编辑 " <> p <> " 的 PKGBUILD 文件吗?"+ Chinese -> "要编辑 " <> p <> " 的 PKGBUILD 文件吗?" Esperanto -> "Ĉu vi volas redakti la PKGBUILD de " <> p <> "?" Dutch -> "Wilt u het PKGBUILD-bestand van " <> p <> " bewerken?" Ukrainian -> "Бажаєте відредагувати PKGBUILD для пакунку " <> p <> "?"@@ -2034,6 +2152,7 @@ Vietnamese -> "Bạn có muốn chỉnh sửa PKGBUILD của " <> p <> "?" Czech -> "Chcete upravit PKGBUILD z " <> p <> "?" Korean -> p <> "의 PKGBUILD를 편집하시겠습니까?"+ Hindi -> "क्या आप " <> p <> " के PKGBUILD को संपादित करना चाहेंगे?" _ -> "Would you like to edit the PKGBUILD of " <> p <> "?" hotEdit_2 :: Language -> Doc AnsiStyle@@ -2046,7 +2165,9 @@ Vietnamese -> "Bạn có muốn chỉnh sửa tệp .install?" Czech -> "Chcete upravit soubor .install?" Korean -> ".install 파일을 수정하시겠습니까?"+ Hindi -> "क्या आप .install फ़ाइल को संपादित करना चाहेंगे?" Dutch -> "Wilt u het .install-bestand bewerken?"+ Chinese -> "要编辑 .install 文件吗?" _ -> "Would you like to edit the .install file?" hotEdit_3 :: FilePath -> Language -> Doc AnsiStyle@@ -2059,7 +2180,9 @@ Vietnamese -> "Bạn có muốn chỉnh sửa " <> pretty fp <> "?" Czech -> "Chcete upravit " <> pretty fp <> "?" Korean -> pretty fp <> "을(를) 수정하시겠습니까?"+ Hindi -> "क्या आप " <> pretty fp <> " को संपादित करना चाहेंगे?" Dutch -> "Wilt u " <> pretty fp <> "bewerken?"+ Chinese -> "要编辑 " <> pretty fp <> " 吗?" _ -> "Would you like to edit " <> pretty fp <> "?" ------------------------------@@ -2067,73 +2190,83 @@ ------------------------------ security_1 :: PkgName -> Language -> Doc AnsiStyle security_1 (PkgName p) = \case- Polish -> "PKGBUILD dla" <+> bt p <+> "był zbyt zawiły do odczytania - może zawierać złośliwy kod."- Arabic -> ".كان معقدا جدا للتحليل - يمكن أن يكون تعتيم مشوش للشفرة" <+> bt p <+> "تبع PKGBUILDاﻟ"- Spanish -> "El PKGBUILD de" <+> bt p <+> "era demasiado complejo de analizar - puede estar ofuscando código malicioso."- Italian -> "Il PKGBUILD di" <+> bt p <+> "è troppo complesso per essere analizzato - è possibile che stia offuscando codice malevolo."- Dutch -> "Het PKGBUILD-bestand van" <+> bt p <+> " was te complex om te verwerken. Het bestand bevat mogelijk verborgen schadelijke code."- Ukrainian -> "PKGBUILD пакунку" <+> bt p <+> "був надто складним для аналізу - він може містити замаскований шкідливий код."- Romanian -> "PKGBUILD-ul pachetului" <+> bt p <+> "este prea complicat de analizat - ar putea sa acopere cod rău intenționat."+ Polish -> "PKGBUILD dla" <+> bt p <+> "był zbyt zawiły do odczytania - może zawierać złośliwy kod."+ Arabic -> ".كان معقدا جدا للتحليل - يمكن أن يكون تعتيم مشوش للشفرة" <+> bt p <+> "تبع PKGBUILDاﻟ"+ Spanish -> "El PKGBUILD de" <+> bt p <+> "era demasiado complejo de analizar - puede estar ofuscando código malicioso."+ Italian -> "Il PKGBUILD di" <+> bt p <+> "è troppo complesso per essere analizzato - è possibile che stia offuscando codice malevolo."+ Dutch -> "Het PKGBUILD-bestand van" <+> bt p <+> " was te complex om te verwerken. Het bestand bevat mogelijk verborgen schadelijke code."+ Ukrainian -> "PKGBUILD пакунку" <+> bt p <+> "був надто складним для аналізу - він може містити замаскований шкідливий код."+ Romanian -> "PKGBUILD-ul pachetului" <+> bt p <+> "este prea complicat de analizat - ar putea sa acopere cod rău intenționat." Vietnamese -> "PKGBUILD của" <+> bt p <+> "quá khó để đọc - nó có thể chứa đoạn mã nguy hiểm."- Czech -> "PKGBUILD z" <+> bt p <+> "byl příliš složitý na analýzu - může obsahovat matoucí škodlivý kód."- Korean -> "이 " <+> bt p <+> " PKGBUILD는 너무 복잡하여 분석할 수 없습니다 - 난독화된 코드일 수 있습니다."- _ -> "The PKGBUILD of" <+> bt p <+> "was too complex to parse - it may be obfuscating malicious code."+ Czech -> "PKGBUILD z" <+> bt p <+> "byl příliš složitý na analýzu - může obsahovat matoucí škodlivý kód."+ Korean -> "이 " <+> bt p <+> " PKGBUILD는 너무 복잡하여 분석할 수 없습니다 - 난독화된 코드일 수 있습니다."+ Hindi -> bt p <+> "का PKGBUILD पार्स करने के लिए बहुत जटिल था - यह दुर्भावनापूर्ण कोड को अस्पष्ट कर सकता है।"+ Chinese -> bt p <+> "的 PKGBUILD 文件太复杂了,无法分析 - 其中可能隐藏恶意代码。"+ _ -> "The PKGBUILD of" <+> bt p <+> "was too complex to parse - it may be obfuscating malicious code." security_2 :: Text -> Language -> Doc AnsiStyle security_2 (bt -> t) = \case Polish -> t <+> "może zostać użyty do pobrania arbitralnych skryptów, które nie są śledzone przez ten PKGBUILD."- Arabic -> ".هذه PKGBUILDيمكن ان يحمل ملفات عشروتىية ليست مسجلة باﻟ" <+> t- Spanish -> t <+> "se puede usar para descargar scripts arbitrarios que este PKGBUILD no rastrea."- Italian -> t <+> "può essere usato per scaricare script arbitrari non tracciati da questo PKGBUILD."- Dutch -> t <+> "kan gebruikt worden om willekeurige scripts te downloaden die niet worden bijgehouden door dit PKGBUILD-bestand."- Ukrainian -> t <+> "може завантажувати довільні скріпти, які не відстежуються цим PKGBUILD."- Romanian -> t <+> "se poate folosi pentru a descărca scripturi neurmărite de acest PKGBUILD."+ Arabic -> ".هذه PKGBUILDيمكن ان يحمل ملفات عشروتىية ليست مسجلة باﻟ" <+> t+ Spanish -> t <+> "se puede usar para descargar scripts arbitrarios que este PKGBUILD no rastrea."+ Italian -> t <+> "può essere usato per scaricare script arbitrari non tracciati da questo PKGBUILD."+ Dutch -> t <+> "kan gebruikt worden om willekeurige scripts te downloaden die niet worden bijgehouden door dit PKGBUILD-bestand."+ Ukrainian -> t <+> "може завантажувати довільні скріпти, які не відстежуються цим PKGBUILD."+ Romanian -> t <+> "se poate folosi pentru a descărca scripturi neurmărite de acest PKGBUILD." Vietnamese -> t <+> "có thể dùng để tải xuống các tập lệnh sẽ không được kiểm soát bởi PKGBUILD."- Czech -> t <+> "lze použít ke stažení libovolných skriptů, které tento PKGBUILD nesleduje."- Korean -> t <+> "은(는) PKGBUILD에서 추적되지 않는 임의 스크립트를 다운로드하는 데 사용할 수 있습니다."- _ -> t <+> "can be used to download arbitrary scripts that aren't tracked by this PKGBUILD."+ Czech -> t <+> "lze použít ke stažení libovolných skriptů, které tento PKGBUILD nesleduje."+ Korean -> t <+> "은(는) PKGBUILD에서 추적되지 않는 임의 스크립트를 다운로드하는 데 사용할 수 있습니다."+ Hindi -> t <+> "का उपयोग उन मनमानी स्क्रिप्ट को डाउनलोड करने के लिए किया जा सकता है जिन्हें इस PKGBUILD द्वारा ट्रैक नहीं किया जाता है।"+ Chinese -> t <+> "可用于下载任意脚本,且不被 PKGBUILD 跟踪。"+ _ -> t <+> "can be used to download arbitrary scripts that aren't tracked by this PKGBUILD." security_3 :: Text -> Language -> Doc AnsiStyle security_3 (bt -> t) = \case- Polish -> t <+> "może zostać użyty do wykonywania arbitralnego kodu, który nie jest śledzony przez ten PKGBUILD."- Arabic -> ".هذه PKGBUILDيمكن ان يستعمل ملفات عشروتىية ليست مسجلة باﻟ" <+> t- Spanish -> t <+> "se puede usar para ejecutar código arbitrario que este PKGBUILD no rastrea."- Italian -> t <+> "può essere usato per eseguire codice arbitrario non tracciato da questo PKGBUILD."- Dutch -> t <+> "kan gebruikt worden om willekeurige code uit te voeren die niet worden bijgehouden door dit PKGBUILD-bestand."- Ukrainian -> t <+> "може виконувати довільний код, який не відстежуються цим PKGBUILD."- Romanian -> t <+> "se poate folosi pentru a executa cod arbitrar neurmărit de acest PKGBUILD."+ Polish -> t <+> "może zostać użyty do wykonywania arbitralnego kodu, który nie jest śledzony przez ten PKGBUILD."+ Arabic -> ".هذه PKGBUILDيمكن ان يستعمل ملفات عشروتىية ليست مسجلة باﻟ" <+> t+ Spanish -> t <+> "se puede usar para ejecutar código arbitrario que este PKGBUILD no rastrea."+ Italian -> t <+> "può essere usato per eseguire codice arbitrario non tracciato da questo PKGBUILD."+ Dutch -> t <+> "kan gebruikt worden om willekeurige code uit te voeren die niet worden bijgehouden door dit PKGBUILD-bestand."+ Ukrainian -> t <+> "може виконувати довільний код, який не відстежуються цим PKGBUILD."+ Romanian -> t <+> "se poate folosi pentru a executa cod arbitrar neurmărit de acest PKGBUILD." Vietnamese -> t <+> "có thể dùng để chạy các đoạn mã không được kiểm soát bởi PKGBUILD. "- Czech -> t <+> "lze použít ke spuštění libovolného kódu, který tento PKGBUILD nesleduje."- Korean -> t <+> "은(는) PKGBUILD에서 추적되지 않는 임의 스크립트를 실행하는 데 사용할 수 있습니다."- _ -> t <+> "can be used to execute arbitrary code not tracked by this PKGBUILD."+ Czech -> t <+> "lze použít ke spuštění libovolného kódu, který tento PKGBUILD nesleduje."+ Korean -> t <+> "은(는) PKGBUILD에서 추적되지 않는 임의 스크립트를 실행하는 데 사용할 수 있습니다."+ Hindi -> t <+> "इस PKGBUILD द्वारा ट्रैक नहीं किए गए मनमाने कोड को निष्पादित करने के लिए उपयोग किया जा सकता है।"+ Chinese -> t <+> "可用于执行任意代码,且不被 PKGBUILD 跟踪。"+ _ -> t <+> "can be used to execute arbitrary code not tracked by this PKGBUILD." security_4 :: Text -> Language -> Doc AnsiStyle security_4 (bt -> t) = \case- Polish -> t <+> "wskazuje na to, że ktoś może próbować uzyskać dostęp root'a do twojej maszyny."- Arabic -> ".تشير ان شخصا ما يحاول الوصول الى قوت المسؤول على جهازك" <+> t- Spanish -> t <+> "indica que alguien puede estar intentando obtener acceso de root a su máquina."- Italian -> t <+> "indica che forse qualcuno sta cercando di ottenere accesso alla tua macchina come root."- Dutch -> t <+> "geeft aan dat iemand mogelijk roottoegang tot uw apparaat probeert te krijgen."- Ukrainian -> t <+> "вказує на те, що хтось може спробувати отримати доступ root до вашої машини."- Romanian -> t <+> "indică că cineva are putea încerca să obțină acces root asupra mașinăria dumneavoastră."+ Polish -> t <+> "wskazuje na to, że ktoś może próbować uzyskać dostęp root'a do twojej maszyny."+ Arabic -> ".تشير ان شخصا ما يحاول الوصول الى قوت المسؤول على جهازك" <+> t+ Spanish -> t <+> "indica que alguien puede estar intentando obtener acceso de root a su máquina."+ Italian -> t <+> "indica che forse qualcuno sta cercando di ottenere accesso alla tua macchina come root."+ Dutch -> t <+> "geeft aan dat iemand mogelijk roottoegang tot uw apparaat probeert te krijgen."+ Ukrainian -> t <+> "вказує на те, що хтось може спробувати отримати доступ root до вашої машини."+ Romanian -> t <+> "indică că cineva are putea încerca să obțină acces root asupra mașinăria dumneavoastră." Vietnamese -> t <+> "được xác định là có người đang có giành quyền truy cập vào root trên thiết bị của bạn."- Czech -> t <+> "znamená, že se někdo možná pokouší získat přístup root k vašemu počítači."- Korean -> t <+> "은(는) 누군가 컴퓨터에 대한 루트 액세스 권한을 얻으려고 할 수 있음을 나타냅니다."- _ -> t <+> "indicates that someone may be trying to gain root access to your machine."+ Czech -> t <+> "znamená, že se někdo možná pokouší získat přístup root k vašemu počítači."+ Korean -> t <+> "은(는) 누군가 컴퓨터에 대한 루트 액세스 권한을 얻으려고 할 수 있음을 나타냅니다."+ Hindi -> t <+> "यह दर्शाता है कि कोई व्यक्ति आपकी मशीन तक रूट पहुंच प्राप्त करने का प्रयास कर रहा है।"+ Chinese -> t <+> "可用于获取 root 访问权限。"+ _ -> t <+> "indicates that someone may be trying to gain root access to your machine." security_5 :: PkgName -> Language -> Doc AnsiStyle security_5 (PkgName p) = \case- Polish -> "UWAGA: PKGBUILD dla " <+> bt p <+> "zawiera wyrażenia bash znajdujące się na czarnej liście."- Arabic -> ".في القائمة السودء bash في تعبيرات" <+> bt p <+> "باجل PKGBUILDتحذير: اﻟ"- Spanish -> "ADVERTENCIA: El PKGBUILD de" <+> bt p <+> "contiene expresiones bash en la lista negra."- Italian -> "ATTENZIONE: Il PKGBUILD di" <+> bt p <+> "contiene espressioni bash presenti nella lista nera."- Dutch -> "WAARSCHUWING: De PKGBUILD van" <+> bt p <+> "bevat bash-uitdrukkingen die op de zwarte lijst staan."- Ukrainian -> "УВАГА! PKGBUILD пакунку" <+> bt p <+> "містить вирази bash, які занесені в чорний список."- Romanian -> "ATENȚIE! PKGBUILD-ul pachetului" <+> bt p <+> "conține expresii de bash pe lista neagră."+ Polish -> "UWAGA: PKGBUILD dla " <+> bt p <+> "zawiera wyrażenia bash znajdujące się na czarnej liście."+ Arabic -> ".في القائمة السودء bash في تعبيرات" <+> bt p <+> "باجل PKGBUILDتحذير: اﻟ"+ Spanish -> "ADVERTENCIA: El PKGBUILD de" <+> bt p <+> "contiene expresiones bash en la lista negra."+ Italian -> "ATTENZIONE: Il PKGBUILD di" <+> bt p <+> "contiene espressioni bash presenti nella lista nera."+ Dutch -> "WAARSCHUWING: De PKGBUILD van" <+> bt p <+> "bevat bash-uitdrukkingen die op de zwarte lijst staan."+ Ukrainian -> "УВАГА! PKGBUILD пакунку" <+> bt p <+> "містить вирази bash, які занесені в чорний список."+ Romanian -> "ATENȚIE! PKGBUILD-ul pachetului" <+> bt p <+> "conține expresii de bash pe lista neagră." Vietnamese -> "CẢNH BÁO: PKGBUILD của" <+> bt p <+> "chứa những câu lệnh bash nguy hiểm."- Czech -> "VAROVÁNÍ: PKGBUILD z" <+> bt p <+> "obsahuje zakazany bash výrazy"- Korean -> "경고: " <+> bt p <+> "의 PKGBUILD에는 블랙리스트에 있는 bash 식이 포함되어 있습니다."- _ -> "WARNING: The PKGBUILD of" <+> bt p <+> "contains blacklisted bash expressions."+ Czech -> "VAROVÁNÍ: PKGBUILD z" <+> bt p <+> "obsahuje zakazany bash výrazy"+ Korean -> "경고: " <+> bt p <+> "의 PKGBUILD에는 블랙리스트에 있는 bash 식이 포함되어 있습니다."+ Hindi -> "चेतावनी: PKGBUILD" <+> bt p <+> "में ब्लैकलिस्टेड बैश एक्सप्रेशन शामिल हैं।"+ Chinese -> "警告:" <+> bt p <+> "的 PKGBUILD 中包含了黑名单 bash 表达式。"+ _ -> "WARNING: The PKGBUILD of" <+> bt p <+> "contains blacklisted bash expressions." security_6 :: Language -> Doc AnsiStyle security_6 = \case@@ -2147,76 +2280,88 @@ Vietnamese -> "Bạn có muốn dừng quá trình build?" Czech -> "Přejete si ukončit build?" Korean -> "빌드 프로세스를 종료하시겠습니까?"+ Hindi -> "क्या आप निर्माण प्रक्रिया छोड़ना चाहते हैं?"+ Chinese -> "是否要退出构建过程?" _ -> "Do you wish to quit the build process?" security_7 :: Language -> Doc AnsiStyle security_7 = \case- Polish -> "Anulowano dalsze przetwarzanie by uniknąć egzekucji potencjalnie złośliwego kodu bash"- Arabic -> ".الذي يحتمل أن يكون ضارا bash تم الغاء المعالجة الاضافيه لتجنب صدور"- Spanish -> "Se canceló el procesamiento posterior para evitar el código bash potencialmente malicioso."- Italian -> "Non saranno eseguite altre operazioni al fine di evitare l'esecuzione di codice bash potenzialmente malevolo."- Dutch -> "De verdere verwerking is afgebroken om het uitvoeren van potentieel schadelijke bash-code te voorkomen."- Ukrainian -> "Подальша установка скасована, щоб уникнути потенційно шкідливого коду bash."- Romanian -> "S-a cancelat procesarea ulterioară pentru a evita cod de bash potențial rău intenționat."+ Polish -> "Anulowano dalsze przetwarzanie by uniknąć egzekucji potencjalnie złośliwego kodu bash"+ Arabic -> ".الذي يحتمل أن يكون ضارا bash تم الغاء المعالجة الاضافيه لتجنب صدور"+ Spanish -> "Se canceló el procesamiento posterior para evitar el código bash potencialmente malicioso."+ Italian -> "Non saranno eseguite altre operazioni al fine di evitare l'esecuzione di codice bash potenzialmente malevolo."+ Dutch -> "De verdere verwerking is afgebroken om het uitvoeren van potentieel schadelijke bash-code te voorkomen."+ Ukrainian -> "Подальша установка скасована, щоб уникнути потенційно шкідливого коду bash."+ Romanian -> "S-a cancelat procesarea ulterioară pentru a evita cod de bash potențial rău intenționat." Vietnamese -> "Hãy dừng những quá trình tiếp theo để ngắn đoạn mã bash nguy hiểm."- Czech -> "Další proces byl zrušen, aby se zabránilo potenciálně škodlivému bash kódu."- Korean -> "잠재적으로 악의적인 bash 코드를 방지하기 위해 추가 처리가 취소되었습니다."- _ -> "Cancelled further processing to avoid potentially malicious bash code."+ Czech -> "Další proces byl zrušen, aby se zabránilo potenciálně škodlivému bash kódu."+ Korean -> "잠재적으로 악의적인 bash 코드를 방지하기 위해 추가 처리가 취소되었습니다."+ Hindi -> "संभावित रूप से दुर्भावनापूर्ण बैश कोड से बचने के लिए आगे की प्रक्रिया रद्द कर दी गई।"+ Chinese -> "已取消后续处理以避免潜在的恶意 bash 代码。"+ _ -> "Cancelled further processing to avoid potentially malicious bash code." security_8 :: Text -> Language -> Doc AnsiStyle security_8 (bt -> t) = \case- Polish -> t <+> "jest komendą bash zawartą w polach tablicy twojego PKGBUILD."- Arabic -> ".الخاص بك PKGBUILDمضمن بالحقول المصفوفة باﻟ bash امر" <+> t- Spanish -> t <+> "es un comando bash integrado en los campos de la matriz del PKGBUILD."- Italian -> t <+> "è un comando bash presente all'interno degli array del tuo PKGBUILD."- Dutch -> t <+> "is een bash-opdracht die is opgenomen in uw PKGBUILD-reeksvelden."- Ukrainian -> t <+> "- це команда bash, що вбудована в ваші поля масиву PKGBUILD"- Romanian -> t <+> "este o comandă bash integrată în matricele din PKGBUILD."+ Polish -> t <+> "jest komendą bash zawartą w polach tablicy twojego PKGBUILD."+ Arabic -> ".الخاص بك PKGBUILDمضمن بالحقول المصفوفة باﻟ bash امر" <+> t+ Spanish -> t <+> "es un comando bash integrado en los campos de la matriz del PKGBUILD."+ Italian -> t <+> "è un comando bash presente all'interno degli array del tuo PKGBUILD."+ Dutch -> t <+> "is een bash-opdracht die is opgenomen in uw PKGBUILD-reeksvelden."+ Ukrainian -> t <+> "- це команда bash, що вбудована в ваші поля масиву PKGBUILD"+ Romanian -> t <+> "este o comandă bash integrată în matricele din PKGBUILD." Vietnamese -> t <+> "là lệnh bash được lồng trong mảng của PKGBUILD."- Czech -> t <+> "je bash příkaz vložený do polí pole PKGBUILD."- Korean -> t <+> "는 PKGBUILD 배열 필드에 표시된 bash 명령입니다."- _ -> t <+> "is a bash command inlined in your PKGBUILD array fields."+ Czech -> t <+> "je bash příkaz vložený do polí pole PKGBUILD."+ Korean -> t <+> "는 PKGBUILD 배열 필드에 표시된 bash 명령입니다."+ Hindi -> t <+> "आपके PKGBUILD सरणी फ़ील्ड में इनलाइन एक बैश कमांड है।"+ Chinese -> t <+> "存在于 PKGBUILD 数组中,似乎是 bash 命令。"+ _ -> t <+> "is a bash command inlined in your PKGBUILD array fields." security_9 :: Text -> Language -> Doc AnsiStyle security_9 (bt -> t) = \case- Polish -> t <+> "jest dziwną rzeczą w polach tablicy. Czy to bezpieczne?"- Arabic -> "شيء غريب ان يكون لديك في الحقول المصفوفة, هل هيا امن؟" <+> t- Spanish -> t <+> "es algo extraño para tener en sus campos de matriz. ¿Es seguro?"- Italian -> t <+> "è una cosa strana da trovare all'interno degli array. E' sicura?"- Dutch -> t <+> "is een vreemde eend in de bijt in uw reeksvelden. Is dit wel veilig?"- Ukrainian -> t <+> "- дивна річ в полях масиву. Це безпечно?"- Romanian -> t <+> "e ciudat să se afle în matricele dumneavoastră. Asta este sigur?"+ Polish -> t <+> "jest dziwną rzeczą w polach tablicy. Czy to bezpieczne?"+ Arabic -> "شيء غريب ان يكون لديك في الحقول المصفوفة, هل هيا امن؟" <+> t+ Spanish -> t <+> "es algo extraño para tener en sus campos de matriz. ¿Es seguro?"+ Italian -> t <+> "è una cosa strana da trovare all'interno degli array. E' sicura?"+ Dutch -> t <+> "is een vreemde eend in de bijt in uw reeksvelden. Is dit wel veilig?"+ Ukrainian -> t <+> "- дивна річ в полях масиву. Це безпечно?"+ Romanian -> t <+> "e ciudat să se afle în matricele dumneavoastră. Asta este sigur?" Vietnamese -> t <+> "là đoạn mã lạ trong mảng. Nó có an toàn không?"- Czech -> t <+> "je zvláštní věc mít v polích. Je to bezpečné?"- Korean -> t <+> "이것은 배열 안에서 볼 수 있는 이상한 것입니다. 안전합니까?"- _ -> t <+> "is a strange thing to have in your array fields. Is it safe?"+ Czech -> t <+> "je zvláštní věc mít v polích. Je to bezpečné?"+ Korean -> t <+> "이것은 배열 안에서 볼 수 있는 이상한 것입니다. 안전합니까?"+ Hindi -> t <+> "आपके सरणी फ़ील्ड में होना एक अजीब चीज़ है। क्या यह सुरक्षित है?"+ Chinese -> t <+> "存在于数组字段,很怪。这安全吗?"+ _ -> t <+> "is a strange thing to have in your array fields. Is it safe?" security_10 :: Text -> Language -> Doc AnsiStyle security_10 (bt -> t) = \case- Polish -> t <+> "sugeruje, że ktoś próbował być sprytny używając zmiennych do ukrycia złośliwych komend."- Arabic -> ".يعني ان شخصا ما كان يحاول ان يكون ذكيا مع المتغيرات لاخفاء الاوامر الخبيثة" <+> t- Spanish -> t <+> "implica que alguien estaba tratando de ser astuto con las variables para ocultar comandos maliciosos."- Italian -> t <+> "implica che qualcuno stava trafficando con le variabili per nascondere comandi malevoli."- Dutch -> t <+> "impliceert dat iemand op slinkse wijze probeerde om te gaan met variabelen om schadelijke opdrachten te verbergen."- Ukrainian -> t <+> "означає, що хтось намагається обдурити змінними, щоб сховати небеспечні команди."- Romanian -> t <+> "implică că cineva încearcă să fie șmecher cu variabile pentru a ascunde comenzi rele intenționate."- Vietnamese -> t <+> "được xác định là có ai đó đang cố ẩn những câu lệnh nguy hiểm trong các biến."- Czech -> t <+> "naznačuje že se někdo snažil být chytrý s proměnnými, aby skryl škodlivé příkazy."- Korean -> t <+> "누군가 악의적인 명령을 숨기기 위해 변수를 교묘하게 다루려고 했다는 것을 암시합니다."- _ -> t <+> "implies that someone was trying to be clever with variables to hide malicious commands."+ Polish -> t <+> "sugeruje, że ktoś próbował być sprytny używając zmiennych do ukrycia złośliwych komend."+ Arabic -> ".يعني ان شخصا ما كان يحاول ان يكون ذكيا مع المتغيرات لاخفاء الاوامر الخبيثة" <+> t+ Spanish -> t <+> "implica que alguien estaba tratando de ser astuto con las variables para ocultar comandos maliciosos."+ Italian -> t <+> "implica che qualcuno stava trafficando con le variabili per nascondere comandi malevoli."+ Dutch -> t <+> "impliceert dat iemand op slinkse wijze probeerde om te gaan met variabelen om schadelijke opdrachten te verbergen."+ Ukrainian -> t <+> "означає, що хтось намагається обдурити змінними, щоб сховати небеспечні команди."+ Romanian -> t <+> "implică că cineva încearcă să fie șmecher cu variabile pentru a ascunde comenzi rele intenționate."+ Vietnamese -> t <+> "được xác định là có ai đó đang cố ẩn những câu lệnh nguy hiểm trong các biến."+ Czech -> t <+> "naznačuje že se někdo snažil být chytrý s proměnnými, aby skryl škodlivé příkazy."+ Korean -> t <+> "누군가 악의적인 명령을 숨기기 위해 변수를 교묘하게 다루려고 했다는 것을 암시합니다."+ Hindi -> t <+> "का तात्पर्य यह है कि कोई व्यक्ति दुर्भावनापूर्ण आदेशों को छिपाने के लिए वेरिएबल्स के साथ चतुराई बरतने की कोशिश कर रहा था।"+ Chinese -> t <+> "表明有人试图巧妙地利用变量来隐藏恶意命令。"+ _ -> t <+> "implies that someone was trying to be clever with variables to hide malicious commands." security_11 :: Language -> Doc AnsiStyle security_11 = \case- Polish -> "Ten PKGBUILD jest zbyt zawiły do odczytania - może ukrywać w sobie złośliwy kod."- Arabic -> ".كان معقدا جدا للتحليل - يمكن ان يخفي برنامج ضار PKGBUILDذلك اﻟ"- Spanish -> "Éste PKGBUILD es demasiado complejo para analizar, puede estar ofuscando código malicioso."- Ukrainian -> "Цей PKGBUILD був надто складним для аналізу - він може містити шкідливий код."- Romanian -> "Acel PKGBUILD este prea complicat de analizat - are putea ascunde cod rău intenționat."+ Polish -> "Ten PKGBUILD jest zbyt zawiły do odczytania - może ukrywać w sobie złośliwy kod."+ Arabic -> ".كان معقدا جدا للتحليل - يمكن ان يخفي برنامج ضار PKGBUILDذلك اﻟ"+ Spanish -> "Éste PKGBUILD es demasiado complejo para analizar, puede estar ofuscando código malicioso."+ Ukrainian -> "Цей PKGBUILD був надто складним для аналізу - він може містити шкідливий код."+ Romanian -> "Acel PKGBUILD este prea complicat de analizat - are putea ascunde cod rău intenționat." Vietnamese -> "Không thể đọc PKGBUILD - nó có thể chứa đoạn mã nguy hiểm."- Czech -> "Tento PKGBUILD je příliš složitý na to, aby jej bylo možné analyzovat/rezebrat – může obsahovat matoucí škodlivý kód."- Korean -> "이 PKGBUILD는 분석하기에 너무 복잡합니다 - 악성코드를 난독화하고 있을 수 있습니다."+ Czech -> "Tento PKGBUILD je příliš složitý na to, aby jej bylo možné analyzovat/rezebrat – může obsahovat matoucí škodlivý kód."+ Korean -> "이 PKGBUILD는 분석하기에 너무 복잡합니다 - 악성코드를 난독화하고 있을 수 있습니다."+ Hindi -> "वह PKGBUILD पार्स करने के लिए बहुत जटिल है - यह दुर्भावनापूर्ण कोड को अस्पष्ट कर सकता है।" Dutch -> "Deze PKGBUILD is te complex om te verwerken. Het bestand bevat mogelijk verborgen schadelijke code."- _ -> "That PKGBUILD is too complex to parse - it may be obfuscating malicious code."+ Chinese -> "PKGBUILD 文件太复杂了,无法分析 - 其中可能隐藏恶意代码。"+ _ -> "That PKGBUILD is too complex to parse - it may be obfuscating malicious code." security_12 :: Language -> Doc AnsiStyle security_12 = \case@@ -2228,21 +2373,25 @@ Vietnamese -> "Phát hiện lỗ hổng trong PKGBUILD." Czech -> "Byla zjištěna potenciální bezpečnostní chyba v PKGBUILD." Korean -> "잠재적인 PKGBUILD 취약점 발견됨."+ Hindi -> "संभावित PKGBUILD कमजोरियों का पता चला।" Dutch -> "Er zijn mogelijke kwetsbaarheden aangetroffen in het PKGBUILD-bestand."+ Chinese -> "在 PKGBUILD 中检测到潜在的漏洞。" _ -> "Potential PKGBUILD vulnerabilities detected." security_13 :: Word -> Language -> Doc AnsiStyle security_13 (bt -> w) = \case- Polish -> "Sprawdzanie PKGBUILD" <+> w <+> "w poszukiwaniu luk w bezpieczeństwie..."- Arabic -> "...بحثا عن نقاط ضعف" <+> w <+> "تبع PKGBUILDتحقق اﻟ"- Spanish -> "Comprobando" <+> w <+> "PKGBUILDs por vulnerabilidades..."- Ukrainian -> "Перевіряємо" <+> w <+> "PKGBUILD-ів на вразливості..."- Romanian -> "Se verifică PKGBUILD-uri" <+> w <+> "pentru vulnerabilități..."+ Polish -> "Sprawdzanie PKGBUILD" <+> w <+> "w poszukiwaniu luk w bezpieczeństwie..."+ Arabic -> "...بحثا عن نقاط ضعف" <+> w <+> "تبع PKGBUILDتحقق اﻟ"+ Spanish -> "Comprobando" <+> w <+> "PKGBUILDs por vulnerabilidades..."+ Ukrainian -> "Перевіряємо" <+> w <+> "PKGBUILD-ів на вразливості..."+ Romanian -> "Se verifică PKGBUILD-uri" <+> w <+> "pentru vulnerabilități..." Vietnamese -> "Tìm kiếm" <+> w <+> "lỗ hổng trong PKGBUILD..."- Czech -> "Kontrola bezpečnostních chyb v" <+> w <+> "PKGBUILD"- Korean -> w <+> "PKGBUILD 취약점 확인 중..."+ Czech -> "Kontrola bezpečnostních chyb v" <+> w <+> "PKGBUILD"+ Korean -> w <+> "PKGBUILD 취약점 확인 중..."+ Hindi -> "जांच की जा रही है" <+> w <+> "कमजोरियों के लिए PKGBUILDs..." Dutch -> "Bezig met controleren van" <+> w <+> "PKGBUILDs op kwetsbaarheden…"- _ -> "Checking" <+> w <+> "PKGBUILDs for vulnerabilities..."+ Chinese -> "检查 " <+> w <+> "PKGBUILD 中是否存在漏洞..."+ _ -> "Checking" <+> w <+> "PKGBUILDs for vulnerabilities..." security_14 :: Language -> Doc AnsiStyle security_14 = \case@@ -2254,7 +2403,9 @@ Vietnamese -> "Không tìm thấy lỗ hổng." Czech -> "Nebyly nalezeny žádné bezpečnostní chyby." Korean -> "발견된 취약점이 없습니다."+ Hindi -> "कोई कमज़ोरी नहीं पाई गई।" Dutch -> "Er zijn geen kwetsbaarheden aangetroffen."+ Chinese -> "未发现漏洞。" _ -> "No vulnerabilities detected." -----------------------@@ -2278,6 +2429,7 @@ Ukrainian -> "[Т/н]" Romanian -> "[D/n]" Czech -> "[A,n]"+ Hindi -> "[य/न]" _ -> "[Y/n]" yesPattern :: Language -> [T.Text]@@ -2298,6 +2450,7 @@ Ukrainian -> ["т", "так"] Romanian -> ["d", "da"] Czech -> ["a", "ano"]+ Hindi -> ["य", "हाँ"] _ -> ["y", "yes"] ----------------------
lib/Aura/Languages/Fields.hs view
@@ -4,7 +4,7 @@ -- | -- Module : Aura.Languages.Fields--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -39,6 +39,8 @@ Vietnamese -> "Gói" Czech -> "Balíček" Korean -> "패키지"+ Hindi -> "पैकेज"+ Chinese -> "包" _ -> "Package" firstInstall :: Language -> Text@@ -63,6 +65,8 @@ Vietnamese -> "Cài đặt lần đầu" Czech -> "První instalace" Korean -> "최초 설치"+ Hindi -> "प्रथम इंस्टाल"+ Chinese -> "初次安装" _ -> "First Install" upgrades :: Language -> Text@@ -87,6 +91,8 @@ Vietnamese -> "Cập nhật" Czech -> "Aktualizace" Korean -> "업그레이드 횟수"+ Hindi -> "अपग्रेड"+ Chinese -> "更新数量" _ -> "Upgrades" recentActions :: Language -> Text@@ -111,6 +117,8 @@ Vietnamese -> "Hoạt động gần nhất" Czech -> "Nedávné akce" Korean -> "근황"+ Hindi -> "हाल की कार्रवाइयां"+ Chinese -> "近况" _ -> "Recent Actions" repository :: Language -> Text@@ -134,6 +142,8 @@ Romanian -> "Repertoriu" Czech -> "Úložiště" Korean -> "리포지토리"+ Hindi -> "रिपॉजिटरी"+ Chinese -> "仓库" _ -> "Repository" name :: Language -> Text@@ -158,6 +168,8 @@ Vietnamese -> "Tên" Czech -> "Název" Korean -> "이름"+ Hindi -> "नाम"+ Chinese -> "名称" _ -> "Name" version :: Language -> Text@@ -182,6 +194,8 @@ Vietnamese -> "Phiên bản" Czech -> "Verze" Korean -> "버전"+ Hindi -> "संस्करण"+ Chinese -> "版本" _ -> "Version" aurStatus :: Language -> Text@@ -205,6 +219,8 @@ Vietnamese -> "Trạng thái AUR" Czech -> "Stav AUR" Korean -> "AUR 상태"+ Hindi -> "AUR स्थिति"+ Chinese -> "AUR 状态" _ -> "AUR Status" -- NEEDS TRANSLATION@@ -224,6 +240,8 @@ Romanian -> "Întreținător" Czech -> "Udržovatel" Korean -> "관리자"+ Hindi -> "मेंटेनर"+ Chinese -> "维护者" _ -> "Maintainer" projectUrl :: Language -> Text@@ -248,6 +266,8 @@ Vietnamese -> "URL của Dự án" Czech -> "Adresa URL projektu" Korean -> "프로젝트 URL"+ Hindi -> "प्रोजेक्ट URL"+ Chinese -> "项目 URL" _ -> "Project URL" aurUrl :: Language -> Text@@ -270,6 +290,8 @@ Vietnamese -> "URL của AUR" Czech -> "URL pro AUR" Korean -> "AUR URL"+ Hindi -> "AUR URL"+ Chinese -> "AUR URL" _ -> "AUR URL" license :: Language -> Text@@ -294,6 +316,8 @@ Vietnamese -> "Bản quyền" Czech -> "Licence" Korean -> "라이센스"+ Hindi -> "लाइसेंस"+ Chinese -> "许可" _ -> "License" dependsOn :: Language -> Text@@ -316,6 +340,8 @@ Vietnamese -> "Phụ thuộc vào" Czech -> "Závisí na" Korean -> "종속 패키지"+ Hindi -> "निर्भर करता है"+ Chinese -> "依赖于" _ -> "Depends On" buildDeps :: Language -> Text@@ -335,6 +361,8 @@ Romanian -> "Dependențe de compilare" Czech -> "Závislosti kompilace" Korean -> "빌드 종속성"+ Hindi -> "बिल्ड निर्भरताएँ"+ Chinese -> "构建依赖" _ -> "Build Deps" votes :: Language -> Text@@ -359,6 +387,8 @@ Vietnamese -> "Bình chọn" Czech -> "Hlasy" Korean -> "투표"+ Hindi -> "वोट"+ Chinese -> "票数" _ -> "Votes" popularity :: Language -> Text@@ -375,6 +405,8 @@ Vietnamese -> "Phổ biến" Czech -> "Popularita" Korean -> "인기"+ Hindi -> "लोकप्रियता"+ Chinese -> "人气" _ -> "Popularity" description :: Language -> Text@@ -399,4 +431,6 @@ Vietnamese -> "Mô tả" Czech -> "Popis" Korean -> "개요"+ Hindi -> "विवरण"+ Chinese -> "简介" _ -> "Description"
lib/Aura/Logo.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Logo--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/MakePkg.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Aura.State--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -69,7 +69,7 @@ (ec, se) <- runIt ss pc -- Fetch the filenames of the built tarballs. (_, out, _) <- readProcess $ proc "sudo" ["-u", T.unpack usr, makepkgCmd, "--packagelist"]- let fs = map T.unpack . T.lines . decodeUtf8Lenient $ BL.toStrict out+ fs <- filterM doesFileExist . map T.unpack . T.lines . decodeUtf8Lenient $ BL.toStrict out pure (ec, se, fs) runIt :: MonadIO m
lib/Aura/Packages/AUR.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Packages.AUR--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Packages/Repository.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Packages.Repository--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Pacman.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Aura.Pacman--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Pkgbuild/Fetch.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Aura.State--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Pkgbuild/Records.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Pkgbuild.Records--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Pkgbuild/Security.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Pkgbuild.Security--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Security.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Security--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Settings.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Settings--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Settings/External.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Aura.Settings.External--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Shell.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.Shell--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/State.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Aura.State--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --
lib/Aura/Types.hs view
@@ -7,7 +7,7 @@ -- | -- Module : Aura.Types--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -276,6 +276,7 @@ | Vietnamese | Czech | Korean+ | Hindi deriving (Eq, Enum, Bounded, Ord, Show) -- | The various ways that dependency resolution can fail.
lib/Aura/Utils.hs view
@@ -2,7 +2,7 @@ -- | -- Module : Aura.Utils--- Copyright : (c) Colin Woodbury, 2012 - 2021+-- Copyright : (c) Colin Woodbury, 2012 - 2024 -- License : GPL3 -- Maintainer: Colin Woodbury <colin@fosskers.ca> --@@ -154,6 +154,11 @@ These w x <> This y = These (w <> y) x These w x <> That y = These w (x <> y) These w x <> These y z = These (w <> y) (x <> z)++instance Functor (These a) where+ fmap _ (This x) = This x+ fmap f (That y) = That (f y)+ fmap f (These x y) = These x (f y) instance Bifunctor These where bimap f _ (This x) = This (f x)
+ misc/aura.8 view
@@ -0,0 +1,730 @@+'\" t+.\" Man page for `aura`+.\" Written by Colin Woodbury <colin@fosskers.ca>+.+.TH aura 8 "2021 September" "Aura" "Aura Manual"+.+.de SAMPLE \" Indented example - on its own paragraph.+. P+. RS+. EX+..+.de ESAMPLE \" End of Indented example.+. EE+. RE+..+.de RSAMPLE \" Relative sample - even more indented example.+. RS+. SAMPLE+..+.de ERSAMPLE \" End of Relative sample.+. ESAMPLE+. RE+..+.+.ds ellipsis \&.\|.\|.\&+.\" Format repeatable parameter (1 or more) with ellipsis.+.ds multi \fI\\$1\fP\fR\\ \\*[ellipsis]\fP+.\" Format optional repeatable parameter (0 or more)+.\" with ellipsis and square brackets.+.ds multi-optional \fR[\fP\fI\\$1\fP\fR\\ \\*[ellipsis]]\fP+.ds packages \\*[multi packages]+.ds packages-optional \\*[multi-optional packages]+.+.SH NAME+.+aura \- package manager utility and AUR helper+.+.SH SYNOPSIS+.+.SY aura+.I OPERATION+\*[multi-optional OPTIONS]+\*[multi-optional targets]+.YS+.+.SH DESCRIPTION+.+.B aura+is a secure, multilingual package manager for Arch Linux written in Haskell.+.+It connects to both the official Arch repositories and to the+Arch User Repositories (AUR),+allowing easy control of all packages on an Arch system.+.+Aura allows+.I all+pacman operations and provides+.I new+custom ones for dealing with AUR packages.+.+.SH OPERATIONS+.+.TP+.BR \-A ", " \-\-aursync " \*[packages-optional]"+.+Perform actions involving the+.BR A UR.+.+Default action installs packages from the AUR.+.+.IP+During building, makepkg output is+.I not+shown by default.+.+After building, the built+.I *.pkg.tar.xz+file is moved to the package cache and installed from there.+.+This allows for easy AUR package downgrading.+.+.TP+.BR -B ", " \-\-save+.+Manage the saving and restoring of the global package state.+.+Default action stores a record of all currently installed packages and their+versions.+.+.TP+.BR -C ", " \-\-downgrade " \*[packages-optional]"+.+Perform actions involving the package+.BR C ache.+.+Default action downgrades specified+.IR packages .+.+.IP+This process is interactive, allowing the user to choose from any previous+version they have available in the package cache.+.+.TP+.BR \-L ", " \-\-viewlog+.+Perform actions involving the pacman+.BR L ogfile.+.+Default action opens the log for read-only viewing.+.+.TP+.BR \-O ", " \-\-orphans " \*[packages-optional]"+.+Perform actions involving+.BR O rphan+packages.+.+Default action is to list the current orphans.+.+.IP+Orphan packages are packages installed as dependencies,+but are no longer required by any other package.+.+.TP+.BR \-P ", " \-\-analysis+.+Perform security analysis of a+.BR P KGBUILD.+.+Default action reads PKGBUILD from stdin.+.+.IP+Useful for package maintainers and sysadmins to verify the safety of the+PKGBUILD files that they write.+.+To test any package on the AUR, try the following:+.+.RSAMPLE+.BI "aura -Ap " "package" " | aura -P"+.ERSAMPLE+.+.SH AUR SYNC OPTIONS (\fR\-A\fP)+.+.TP+.BR \-a ", " \-\-delmakedeps+.+Uninstalls build dependencies that are no longer required after installing the+main package.+.+This prevents the creation of orphan packages.+.+Also note that while the package itself will be uninstalled,+its package file will remain in the cache.+.+.TP+.BR \-c ", " \-\-clean+.+After a package's tarball has been built and copied to the package cache,+delete its build directory immediately.+.+.TP+.BR \-d ", " \-\-deps " \*[packages]"+.+View all dependencies of+.IR packages .+.+This process is recursive for AUR packages,+so all dependencies of dependencies (and so on) will also be shown.+.+This can aid the pre-install package research process.+.+.TP+.BR \-i ", " \-\-info " \*[packages]"+.+View information about AUR+.IR packages .+.+.TP+.BR \-k ", " \-\-diff+.+Show PKGBUILD diffs.+.+When upgrading, using this option will compare the most and second-most recent+PKGBUILDs and output changes in colour.+.+.TP+.BR \-p ", " \-\-pkgbuild " \*[packages]"+.+View PKGBUILDs of AUR+.IR packages .+.+Use this before installing new packages to confirm that the build scripts+aren't doing anything fishy.+.+.TP+.BR \-q ", " \-\-quiet+.+Display less information about certain+.B \-A+operations+(this is useful when processing Aura's output in a script).+.+In particular, search and view dependencies will only show uncoloured package+names.+.+.TP+.BR \-s ", " \-\-search " \*[multi word]"+.+Search AUR for packages containing+.IR word s+(not regex) in their names or descriptions.+.+Multiple terms will narrow down the search.+.+Results are sorted by votes.+.+Suboptions:+.+.RS+.+. TP+. B \-\-abc+.+Sorts results alphabetically.+.+. TP+. BR \-\-head [ =\fIN\fR ]+.+Only show the first+.I N+results.+.I N+defaults to 10.+.+. TP+. BR \-\-tail [ =\fIN\fR ]+.+Only show the last+.I N+results.+.I N+defaults to 10.+.+. TP+. BR \-r ", " \-\-both+.+Show results from the official repos as well.+.+.RE+.+.TP+.BR \-u ", " \-\-sysupgrade+.+Upgrade all installed AUR packages.+.B -Au+is like+.B -Su+but for AUR packages.+.+.TP+.BR \-w ", " \-\-downloadonly " \*[packages]"+.+Retrieve AUR+.I packages+source tarballs,+but do not build/install/upgrade anything.+.+.TP+.BR \-x ", " \-\-unsuppress+.+Unsuppress+.BR makepkg (8)+output during building.+.+By default this output is suppressed for a more silent install.+.+Note that when this option isn't used,+.B makepkg+output is actually collected and printed if any errors occur.+.+.TP+.B \-\-json \*[packages]+.+Query the AUR RPC for+.I packages+info as raw JSON.+.+Good for debugging.+.+.TP+.BI \-\-build " path"+.+Specify build+.I path+when building AUR packages.+.+Only the+.I full+path of a pre-existing directory can be used.+.+Example:+.+.RSAMPLE+aura -A foo --build=/full/path/to/build/location/+.ERSAMPLE+.+.TP+.BI \-\-builduser " user"+.+Specify the+.I user+to build packages as.+.+This can be useful when logged in as root and a build user is available.+.+.TP+.B \-\-devel+.+When ran with+.BR \-Au ,+adds all development packages to the queue of packages to upgrade.+.+Devel packages are those pulled directly from online repositories,+via git / mercurial / etc.+.+.TP+.B \-\-dryrun+.+When ran with+.BR \-A " or " \-Au ,+update checks,+PKGBUILD diffs,+and dependency checks will be performed,+but nothing will be built.+.+Also usable with+.BR \-M .+.+.TP+.B \-\-force+.+Always (re)build the specified packages.+.+Usually Aura will not rebuild packages whose versions are already available in+the local package cache.+.+.TP+.B \-\-hotedit+.+Before building, prompt the user if they wish to view/edit the+.IR PKGBUILD ,+as well as any+.IR .install " or " .patch+files.+.+However, research into packages (and by extension, their PKGBUILDs) should be+done by the user before any building occurs.+.+Please use+.BR \-Ap " and " \-Ad+for this,+as they will be much faster at presenting information than searching the AUR+website manually.+.+Note that, since aura is run through sudo,+your local value of+.RB $ EDITOR+may not be preserved.+.+Run as+\(lqsudo+.B \-E+aura -A --hotedit \*[ellipsis]\(rq+to preserve your environment.+.+To always allow environment variables to be passed,+have a look at the+.IR env_reset " and " env_keep+options in+.BR sudoers (5).+.+.TP+.B \-\-skipdepcheck+.+Perform no dependency solving.+.+Consider this when using+.B \-\-hotedit+to avoid building annoying dependencies that aren't necessary for your special+use-case.+.+.TP+.BI \-\-vcspath " path"+.+Save the cloned sources of VCS packages (i.e.\& those that end in+.IR *-git ,+etc.) in the given+.IR path ,+instead of the default+.IR /var/cache/aura/vcs/ .+.+.SH GLOBAL PACKAGE STATE OPTIONS (\fR\-B\fP)+.+.TP+.BR \-c ", " \-\-clean \c+.I " states-to-retain+.+Retains a given number of the most recently saved package states and removes the+rest.+.+.TP+.BR \-r ", " \-\-restore+.+Restores a record kept with+.BR \-B .+.+Attempts to downgrade any packages that were upgraded since the chosen save.+.+Will remove any that weren't installed at the time.+.+.TP+.BR \-l ", " \-\-list+.+Show all saved package state filenames.+.+.SH DOWNGRADE OPTIONS (\fR\-C\fP)+.+.TP+.BR \-b ", " \-\-backup \c+.I " path+.+Backup the package cache to a given directory.+.+The given directory must already exist.+.+During copying, progress will be shown.+.+If the copy takes too long,+you may want to reduce the number of older versions of each package by using+.BR \-Cc .+.+.TP+.BR \-c ", " \-\-clean \c+.I " versions-to-retain+.+Retains a given number of package versions for each package,+and deletes the rest from the package cache.+.+Count is made from the most recent version, so using:+.+.RSAMPLE+aura -Cc 3+.ERSAMPLE+.+.IP+would save the three most recent versions of each package file.+.+Giving the number 0 as an argument is identical to+.BR \-Scc .+.+.TP+.B \-\-notsaved+.+Remove only those package files which are not saved in a package record (a la+.BR \-B ).+.+.TP+.BR \-s ", " \-\-search \c+.I " regex+.+Search the package cache via a+.IR regex .+.+Any package name that matches the regex will be output as-is.+.+.SH LOGFILE OPTIONS (\fR\-L\fP)+.+.TP+.BR \-i ", " \-\-info " \*[packages]"+.+Displays install/upgrade history for given+.IR packages .+.+Under the \(lqRecent Actions\(rq section,+only the last five entries will be displayed.+.+If there are less than five actions ever performed with the package,+what is available will be printed.+.+.TP+.BR \-s ", " \-\-search \c+.I " regex+.+Search the pacman log file via a+.IR regex .+.+Useful for singling out any and all actions performed on a package.+.+.SH ORPHAN PACKAGE OPTIONS (\fR\-O\fP)+.+.TP+.BR \-a ", " \-\-adopt " \*[packages]"+.+Mark+.I packages+as being explicitly installed (i.e.\& it's not a dependency).+.+.TP+.BR \-j ", " \-\-abandon+.+Uninstall all orphan packages.+.+.SH ANALYSIS OPTIONS (\fR\-P\fP)+.+.TP+.BR \-f ", " \-\-file \c+.I " path+.+Analyse a PKGBUILD at the specified+.IR path .+.+.TP+.BR \-d ", " \-\-dir \c+.I " path+.+Analyse a+.IR path /PKGBUILD+found in the specified directory.+.+.TP+.BR \-a ", " \-\-audit+.+Analyse the PKGBUILDs of all locally installed AUR packages.+.+.SH PACMAN / AURA DUAL FUNCTIONALITY OPTIONS+.+.TP+.B \-\-noconfirm+.+Never ask for any Aura or Pacman confirmation.+.+Any time a prompt would appear,+say before building or installation,+it is assumed the user answered in whatever way would progress the program.+.+.TP+.B \-\-needed+.+Don't rebuild/reinstall packages that are already up to date.+.+.TP+.B \-\-debug+.+View some handy debugging information.+.+.TP+.BI \-\-color " when"+.+Specify when to enable colouring.+.+Without this flag, both Aura and Pacman will attempt to colour text if the+terminal allows it.+.+Otherwise, you can pass+.BR always " or " never+to be specific about your wants.+.+.TP+.BI \-\-overwrite " glob"+.+If there are file conflicts during installation,+overwrite conflicting files that match the given+.I glob+pattern.+.+.SH EXPOSED MAKEPKG OPTIONS+.+.TP+.B \-\-ignorearch+.+Ignores processor architecture when building packages.+.+.TP+.B \-\-allsource+.+Creates a+.I .src+file containing all the downloaded sources (code, etc.\&)+and stores it at+.IR /var/cache/aura/src/ .+.+To change the location where sources are stored,+use the+.B \-\-allsourcepath+flag on command line or via+.BR aura.conf (5).+.+.TP+.B \-\-skipinteg+.+Skip package source integrity checks (hash sums).+.+.TP+.B \-\-skippgpcheck+.+Skip all PGP checks.+.+.SH LANGUAGE OPTIONS+.+Aura is available in multiple languages.+.+As options, they can be used with either their English names or their real+names written in their native characters.+.+The available languages are, in option form:+.+.TS \" Tab-separated+l l.+\fB\-\-english\fP (default)+\fB\-\-japanese\fP \fB\-\-日本語\fP+\fB\-\-polish\fP \fB\-\-polski\fP+\fB\-\-croatian\fP \fB\-\-hrvatski\fP+\fB\-\-swedish\fP \fB\-\-svenska\fP+\fB\-\-german\fP \fB\-\-deutsch\fP+\fB\-\-spanish\fP \fB\-\-español\fP+\fB\-\-portuguese\fP \fB\-\-português\fP+\fB\-\-french\fP \fB\-\-français\fP+\fB\-\-russian\fP \fB\-\-русский\fP+\fB\-\-italian\fP \fB\-\-italiano\fP+\fB\-\-serbian\fP \fB\-\-српски\fP+\fB\-\-norwegian\fP \fB\-\-norsk\fP+\fB\-\-indonesian\fP+\fB\-\-chinese\fP \fB\-\-中文\fP+\fB\-\-esperanto\fP+\fB\-\-dutch\fP \fB\-\-nederlands\fP+\fB\-\-romanian\fP \fB\-\-română\fP+\fB\-\-vietnamese\fP+\fB\-\-czech\fP \fB\-\-čeština\fP+.TE+.+.SH PRO TIPS+.+.IP \(bu 2n+.+If you build a package and then choose not to install it,+the built package file will still be moved to the cache.+You can then install it whenever you want with+.BR \-C .+.+.IP \(bu 2n+.+Research packages using+.BR \-Ad \ ( \-\-deps ),+.BR \-Ai \ ( \-\-info )+and+.BR \-Ap \ ( \-\-pkgbuild )!+.+.IP \(bu 2n+.+When upgrading, use+.B \-Akua+instead of just+.BR \-Au .+.+This will remove make deps, as well as show PKGBUILD diffs before building.+.+.SH SEE ALSO+.+.BR aura.conf (5),+.BR pacman (8),+.BR pacman.conf (5),+.BR makepkg (8)+.+.SH BUGS+.+It is not recommended to install non-AUR packages with pacman or aura.+.+Aura will assume they are AUR packages during a+.B \-Au+and attempt to upgrade them.+.+If a name collision occurs (that is, if there is a legitimate AUR package with+the same name as the one you installed) previous installations could be+overwritten.+.+.SH AUTHOR+.+Colin Woodbury <colin@fosskers.ca>+.+.SH CONTRIBUTORS+.+.TS \" Tab-separated+l .+Chris Warrick+Brayden Banks+Denis Kasak+Edwin Marshall+Jimmy Brisson+Kyle Raftogianis+Nicholas Clarke+.TE+.+.SH TRANSLATORS+.+.TS \" Tab-separated+c l .+Polish Chris Warrick and Michał Kurek+Croatian Denis Kasak and "stranac"+Swedish Fredrik Haikarainen and Daniel Beecham+German Lukas Niederbremer+Spanish Alejandro Gómez, Sergio Conde, and Max Ferrer+Portuguese Henry Kupty, Thiago Perrotta, and Wagner Amaral+French Ma Jiehong and Fabien Dubosson+Russian Kyrylo Silin and Alexey Kotlyarov+Italian Bob Valantin and Cristian Tentella+Serbian Filip Brcic+Norwegian "chinatsun"+Indonesian "pak tua Greg"+Chinese Kai Zhang+Japanese Onoue Takuro and Colin Woodbury+Esperanto Zachary Matthews+Dutch Joris Blanken and Heimen Stoffels+Turkish Cihan Alkan+Arabic "Array in a Matrix"+Ukrainian Andriy Cherniy+Romanian "90" and "benone"+Vietnamese "Kritiqual"+Czech Daniel Rosel+Korean "Nioden"+.TE
+ misc/aura.conf view
@@ -0,0 +1,68 @@+# --- Aura Config --- #+#+# Template updated on: Mon 11 May 2020+#+# You can uncomment the various settings below in order to activate them.+# Otherwise, Aura will use its internal defaults.++# --- Language --- #+# Aura can be used in different human languages. This field must be a 2-letter+# language code, similar to those used in LOCALE. The available codes are:+#+# |------+------------|+# | Code | Language |+# |------+------------|+# | nl | Dutch |+# | en | English |+# | de | German |+# | nb | Norwegian |+# | sv | Swedish |+# |------+------------|+# | fr | French |+# | it | Italian |+# | pt | Portuguese |+# | es | Spanish |+# | ro | Romanian |+# |------+------------|+# | ar | Arabic |+# |------+------------|+# | hr | Croatian |+# | cs | Czech |+# | pl | Polish |+# | ru | Russian |+# | sr | Serbian |+# | uk | Ukrainian |+# |------+------------|+# | zh | Chinese |+# | id | Indonesian |+# | ja | Japanese |+# | vi | Vietnamese |+# |------+------------|+# | eo | Esperanto |+# |------+------------|++# Uncomment to activate:+# language = en++# --- Build Settings --- #+# Aura runs via `sudo` but builds packages as the underlying non-root user.+# Here, you can alter who that user is, and where packages are built.++# Uncomment to activate:+# user = YOU+# buildpath = /tmp+# allsourcepath = /var/cache/aura/src+# vcspath = /var/cache/aura/vcs++# --- PKGBUILD Analysis --- #+# Aura automatically scans PKGBUILDs for malicious bash usage and other "bad+# practices". Here, you can turn those scans off.++# Uncomment to activate:+# analyse = True++# --- Misc. --- #++# The editor to use with `--hotedit`.+# Uncomment to activate:+# editor = vi
+ misc/aura.conf.5 view
@@ -0,0 +1,150 @@+'\" t+.\" Man page for `aura.conf`+.\" Written by Colin Woodbury <colin@fosskers.ca>+.+.TH aura.conf 5 "2021 January" "Aura" "Aura Manual"+.+.de SAMPLE \" Indented example - on its own paragraph.+. P+. RS+. EX+..+.de ESAMPLE \" End of Indented example.+. EE+. RE+..+.de RSAMPLE \" Relative sample - even more indented example.+. RS+. SAMPLE+..+.de ERSAMPLE \" End of Relative sample.+. ESAMPLE+. RE+..+.+.SH NAME+.+aura.conf \- aura package manager configuration file+.+.SH SYNOPSIS+.+/etc/aura.conf+.+.SH DESCRIPTION+.+Aura can be configured at runtime by commandline flags,+but for users who use the same options all the time+(say, build paths or language flags) this can be verbose.+.I aura.conf+lets you make these common settings permanent.+.+.SH EXAMPLE+.+Overview of options in+.IR aura.conf :+.+.SAMPLE+#+# aura.conf+#++#[ Language ]+language = en++#[ Build Settings ]+user = <you>+buildpath = /tmp+vcspath = /var/cache/aura/vcs++#[ Misc. ]+editor = vi+.ESAMPLE+.+.SH OPTIONS+.+.TP+.B language+.+Aura can be used in different human languages.+This field must be a 2-letter language code,+similar to those used in LOCALE.+The available codes are:+.+.TS \" Tab-separated+box;+l l.+Code Language++nl Dutch+en English+de German+nb Norwegian+sv Swedish++fr French+it Italian+pt Portuguese+es Spanish+ro Romanian++hr Croatian+cs Czech+pl Polish+ru Russian+sr Serbian+uk Ukrainian++ar Arabic++zh Chinese+id Indonesian+ja Japanese+vi Vietnamese++eo Esperanto+.TE+.+.TP+.B user+.+The real, non-sudo user to build packages as.+.+.TP+.B buildpath+.+The location on the filesystem in which to build packages.+.+.TP+.B allsourcepath+.+The location on the filesystem in which to save "source packages" built with+.BR \-\-allsource .+.+.TP+.B vcspath+.+The location on the filesystem in which to store the cloned repositories of+\fI*-git\fR, etc., packages.+.+.TP+.B analyse+.+Aura automatically scans PKGBUILDs for malicious bash usage+and other "bad practices".+Set this to+.B False+to turn off.+.+.TP+.B editor+.+The editor to use during+.BR \-\-hotedit .+.+.SH SEE ALSO+.+.BR aura (8)+.+.SH AUTHOR+.+Colin Woodbury <colin@fosskers.ca>
+ misc/completions/_aura view
@@ -0,0 +1,590 @@+#compdef aura++# Zsh completion file for Aura, based on pacman's+# copy this file to /usr/share/site-functions/_aura++typeset -A opt_args+setopt extendedglob++# options for passing to _arguments: main aura commands+_aura_opts_commands=(+ {-A,--aursync}'[Install and manage AUR packages]'+ {-B,--save}'[Manage the global package state]'+ {-C,--downgrade}'[Manage the package cache]'+ {-L,--viewlog}'[Analyse the pacman log file]'+ {-M,--abssync}'[Build and install from the ABS tree]'+ {-O,--orphans}'[Manage orphan packages]'+ {-Q,--query}'[Query the package database]'+ {-R,--remove}'[Remove a packags]'+ {-S,--sync}'[Synchronize repo packages]'+ {-U,--upgrade}'[Upgrade packages]'+ {-V,--version}'[Display version information]'+ '--viewconf[View the pacman config file read-only]'+ '--languages[Display available output languages]'+ '(-h --help)'{-h,--help}'[Help message]'+)++# options for passing to _arguments: options common to all commands+_aura_opts_common=(+ {-b,--dbpath}'[Alternate database location]:database_location:_files -/'+ '--color[colorize the output]:color options:(always never auto)'+ {-h,--help}'[Display syntax for the given operation]'+ {-r,--root}'[Set alternate installation root]:installation root:_files -/'+ {-v,--verbose}'[Be more verbose]'+ '--cachedir[Alternate package cache location]:cache_location:_files -/'+ '--config[An alternate configuration file]:config file:_files'+ '--debug[Display debug messages]'+ '--gpgdir[Set an alternate home directory for GnuPG]:_files -/'+ '--logfile[An alternate log file]:config file:_files'+ '--noconfirm[Do not ask for confirmation]'+ '--no-pp[Do not use powerpill]'+ '--noprogressbar[Do not show a progress bar when downloading files]'+ '--noscriptlet[Do not execute the install scriptlet if one exists]'+ '--print[Only print the targets instead of performing the operation]'+)++# options for passing to _arguments: options for --upgrade commands+_aura_opts_pkgfile=(+ '*-d[Skip dependency checks]'+ '*--nodeps[Skip dependency checks]'+ '--dbonly[Only remove database entry, do not remove files]'+ '--force[Overwrite conflicting files]'+ '--needed[Do not reinstall up to date packages]'+ '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'+)++# options for passing to _arguments: subactions for --query command+_aura_opts_query_actions=(+ '(-Q --query)'{-Q,--query}+ {-g,--groups}'[View all members of a package group]:*:package groups:->query_group'+ {-o,--owns}'[Query the package that owns a file]:file:_files'+ {-p,--file}'[Package file to query]:*:package file:->query_file'+ {-s,--search}'[Search package names and descriptions]:*:search text:->query_search'+)++# options for passing to _arguments: options for --query and subcommands+_aura_opts_query_modifiers=(+ {-c,--changelog}'[List package changelog]'+ {-d,--deps}'[List packages installed as dependencies]'+ {-e,--explicit}'[List packages explicitly installed]'+ {\*-i,\*--info}'-i[View package information]'+ #'-ii[View package information including backup files]'+ {\*-k,\*--check}'[Check package files]'+ {-l,--list}'-l[List package contents]'+ {-m,--foreign}'-m[List installed packages not found in sync db(s)]'+ {-n,--native}'[List installed packages found in sync db(s)]'+ {-q,--quiet}'[Display less information for certain operations.]'+ {-t,--unrequired}'[List packages not required by any package]'+ {-u,--upgrades}'[List packages that can be upgraded]'+)++# options for passing to _arguments: options for --remove command+_aura_opts_remove=(+ {-c,--cascade}'[Remove all dependent packages]'+ {*-d,*--nodeps}'[Skip dependency checks]'+ {-n,--nosave}'[Remove protected configuration files]'+ {\*-s,\*--recursive}'[Remove dependencies not required by other packages]'+ '--dbonly[Only remove database entry, do not remove files]'+ '*:installed package:_aura_completions_installed_packages'+)++# options for passing to _arguments: options for commands dealing with the database+_aura_opts_database=(+ '--asdeps[mark packages as non-explicitly installed]'+ '--asexplicit[mark packages as explicitly installed]'+ '*:installed package:_aura_completions_installed_packages'+)++# options for passing to _arguments: options for --sync command+_aura_opts_sync_actions=(+ '(-S --sync)'{-S,--sync}+ {\*-c,\*--clean}'[Remove old packages from cache]:\*:clean:->sync_clean'+ #'*-cc[Remove all packages from cache]:*:clean:->sync_clean'+ {-g,--groups}'[View all members of a package group]:*:package groups:->sync_group'+ {-s,--search}'[Search package names and descriptions]:*:search text:->sync_search'+ '--dbonly[Only remove database entry, do not remove files]'+ '--needed[Do not reinstall up to date packages]'+ '--recursive[Reinstall all dependencies of target packages]'+)++# options for passing to _arguments: options for --sync command+_aura_opts_sync_modifiers=(+ {\*-d,\*--nodeps}'[Skip dependency checks]'+ {\*-i,\*--info}'[View package information]'+ {-l,--list}'[List all packages in a repository]'+ {-p,--print}'[Print download URIs for each package to be installed]'+ {\*-u,\*--sysupgrade}'[Upgrade all out-of-date packages]'+ {-w,--downloadonly}'[Download packages only]'+ {\*-y,\*--refresh}'[Download fresh package databases]'+ '*--ignore[Ignore a package upgrade]:package: _aura_completions_all_packages'+ '*--ignoregroup[Ignore a group upgrade]:package group:_aura_completions_all_groups'+ '--asdeps[Install packages as non-explicitly installed]'+ '--asexplicit[Install packages as explicitly installed]'+ '--force[Overwrite conflicting files]'++ #'-q[Display less information for certain operations.]'+)++# options for passing to _arguments: options for --aursync command+_aura_opts_aursync_actions=(+ '(-A --aursync)'{-A,--aursync}+ {-p,--pkgbuild}'[Display an AUR package''s PKGBUILD]'+ {-s,--search}'[Search AUR package names and descriptions]'+ {-w,--downloadonly}'[Download an AUR package''s source tarball]'+)++# options for passing to _arguments: options for --aursync command+_aura_opts_aursync_modifiers=(+ {-a,--delmakedeps}'[Uninstall unneeded build deps after installation]'+ {-d,--deps}'[Display package dependencies. Recursive for AUR packages]'+ {\*-i,\*--info}'[Display AUR package information]'+ {-k,--diff}'[Show PKGBUILD diffs when upgrading]'+ {-u,--sysupgrade}'[Upgrade all installed AUR packages]'+ {-x,--unsuppress}'[Unsuppress makepkg output during building]'+ '*--aurignore[Ignore AUR packages when installing]:package: _aura_completions_aur_packages'+ '--build[Build packages in specified path]'+ '--builduser[Use specified user to build packages]'+ {--dev,--devel}'[With -Au, also upgrades all development packages]'+ "--dryrun[Perform checks, but don't build]"+ '--hotedit[Prompt user to edit PKGBUILD before dep checks]'+ '--ignorearch[makepkg will ignore processor architecture]'+)++# options for passing to _arguments: options for --save commands+_aura_opts_save=(+ {-c,--clean}'[Given n, save n recent package states and remove the rest]'+ {-r,--restore}'[Restore a previously saved package state]'+)++# options for passing to _arguments: options for --downgrade commands+_aura_opts_downgrade=(+ {-b,--backup}'[Backup the cache to a given directory]'+ {-c,--clean}'[Given n, save n versions of each package file]'+ {-s,--search}'[Search the cache via a regex]'+ '*:installed package:_aura_completions_installed_packages'+)++# options for passing to _arguments: options for --viewlog commands+typeset -a _aura_opts_viewlog+_aura_opts_viewlog=(+ '-i[View package installation history.]'+ '-s[Search log file via a regex.]'+)++# options for passing to _arguments: options for --orphans commands+typeset -a _aura_opts_orphans+_aura_opts_orphans=( '-j[Uninstall all orphan packages.]' )++# handles --help subcommand+_aura_action_help() {+ _arguments -s : \+ "$_aura_opts_commands[@]"+}++# handles cases where no subcommand has yet been given+_aura_action_none() {+ _arguments -s : \+ "$_aura_opts_commands[@]"+}++# handles --query subcommand+_aura_action_query() {+ local context state line+ typeset -A opt_args++ case $state in+ query_file)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'+ ;;+ query_group)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:groups:_aura_completions_installed_groups'+ ;;+ query_owner)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:file:_files'+ ;;+ query_search)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:search text: '+ ;;+ *)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_actions[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:package:_aura_completions_installed_packages'+ ;;+ esac+}++# handles --remove subcommand+_aura_action_remove() {+ _arguments -s : \+ '(--remove -R)'{-R,--remove} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_remove[@]"+}++# handles --database subcommand+_aura_actions_database() {+ _arguments -s : \+ '(--database -D)'{-D,--database} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_database[@]"+}++# handles --deptest subcommand+_aura_action_deptest() {+ _arguments -s : \+ '(--deptest)-T' \+ "$_aura_opts_aura_common[@]" \+ ":packages:_aura_all_packages"+}++# handles --sync subcommand+_aura_action_sync() {+ local context state line+ typeset -A opt_args++ case $state in+ sync_clean)+ _arguments -s : \+ {\*-c,\*--clean}'[Remove old packages from cache]'+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ ;;+ sync_group)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ '(-g --group)'{-g,--groups} \+ '*:package group:_aura_completions_all_groups'+ ;;+ sync_search)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ '*:search text: '+ ;;+ *)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_actions[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ '*:package:_aura_completions_repo_packages'+ ;;+ esac+}++# handles --upgrade subcommand+_aura_action_upgrade() {+ _arguments -s : \+ '(-U --upgrade)'{-U,--upgrade} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_pkgfile[@]"+}++# handles --version subcommand+_aura_action_version() {+ # no further arguments+ return 0+}++# provides completions for package groups+_aura_completions_all_groups() {+ local -a cmd groups+ _aura_get_command+ groups=( $(_call_program groups $cmd[@] -Sg) )+ typeset -U groups+ compadd "$@" -a groups+}++# provides completions for packages available from repositories+# these can be specified as either 'package' or 'repository/package'+_aura_completions_repo_packages() {+ local -a cmd packages repositories packages_long+ _aura_get_command++ if compset -P '*/'; then+ packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) )+ typeset -U packages+ _wanted repo_packages expl "repository/package" compadd ${(@)packages}+ else+ packages=( $(_call_program packages $cmd[@] -Sql) )+ typeset -U packages+ _wanted packages expl "packages" compadd - "${(@)packages}"++ repositories=( aur ${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options} )+ typeset -U repositories+ _wanted repo_packages expl "repository/package" compadd -S "/" $repositories+ fi+}++# provides completions for packages in the AUR+_aura_completions_aur_packages() {+ local -a cmd packages repositories packages_long+ _aura_get_command++ packages=()+ if [[ -d /var/aur ]]; then+ packages=( $(ls /var/aur) )+ fi+ typeset -U packages+ _wanted aur_packages expl "packages" compadd - "${(@)packages}"+}++# provides completions for packages available from repositories and the AUR+# these can be specied as either 'package' or 'repository/package'+_aura_completions_all_packages() {+ _alternative : \+ 'aurpkgs:aur packages:_aura_completions_aur_packages' \+ 'repopkgs:repository packages:_aura_completions_repo_packages'+}++_aura_all_packages() {+ _alternative : \+ 'localpkgs:local packages:_aura_completions_installed_packages' \+ 'aurpkgs:aur packages:_aura_completions_aur_packages' \+ 'repopkgs:repository packages:_aura_completions_repo_packages'+}++# provides completions for package groups+_aura_completions_installed_groups() {+ local -a cmd groups+ _aura_get_command+ groups=(${(o)${(f)"$(_call_program groups $cmd[@] -Qg)"}% *})+ typeset -U groups+ compadd "$@" -a groups+}++# provides completions for installed packages+_aura_completions_installed_packages() {+ local -a cmd packages packages_long+ packages_long=(/var/lib/pacman/local/*(/))+ packages=( ${${packages_long#/var/lib/pacman/local/}%-*-*} )+ compadd "$@" -a packages+}++# provides completions for repository names+_aura_completions_repositories() {+ local -a cmd repositories+ repositories=(${(o)${${${(M)${(f)"$(</etc/pacman.conf)"}:#\[*}/\[/}/\]/}:#options})+ # Uniq the array+ typeset -U repositories+ compadd "$@" -a repositories+}++# builds command for invoking pacman in a _call_program command - extracts+# relevant options already specified (config file, etc)+# $cmd must be declared by calling function+_aura_get_command() {+ # this is mostly nicked from _perforce+ cmd=( "aura" "2>/dev/null" )+ integer i+ for (( i = 2; i < CURRENT - 1; i++ )); do+ if [[ ${words[i]} = "--config" || ${words[i]} = "--root" ]]; then+ cmd+=( ${words[i,i+1]} )+ fi+ done+}++_aura_comp() {+ local -a args cmds+ local tmp+ args=( ${${${(M)words:#-*}#-}:#-*} )+ _message 'now what'+ for tmp in $words; do+ cmds+=("${${_aura_opts_commands[(r)*$tmp\[*]%%\[*}#*\)}")+ done+ case $args in #$words[2] in+ h*)+ if (( ${(c)#args} <= 1 && ${(w)#cmds} <= 1 )); then+ _aura_action_help+ else+ _message "no more arguments"+ fi+ ;;+ *h*)+ _message "no more arguments"+ ;;+ D*)+ _aura_action_database+ ;;+ Q*g*) # ipkg groups+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:groups:_aura_completions_installed_groups'+ ;;+ Q*o*) # file+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:package file:_files'+ ;;+ Q*p*) # file *.pkg.tar.*+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_query_modifiers[@]" \+ '*:package file:_files -g "*.pkg.tar*~*.sig(.,@)"'+ ;;+ T*)+ _aura_action_deptest+ ;;+ Q*)+ _aura_action_query+ ;;+ R*)+ _aura_action_remove+ ;;+ S*c*)+ _arguments -s : \+ '(-S --sync)'{-S,--sync} \+ '(-c --clean)'{\*-c,\*--clean}'[Remove all files from the cache]' \+ "$_aura_opts_common[@]"+ ;;+ S*l*) # repos+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ '*:package repo:_aura_completions_repositories' \+ ;;+ S*g*) # pkg groups+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ '*:package group:_aura_completions_all_groups'+ ;;+ S*s)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_sync_modifiers[@]" \+ '*:search text: '+ ;;+ S*)+ _aura_action_sync+ ;;+ U*)+ _aura_action_upgrade+ ;;+ V*)+ _aura_action_version+ ;;+ A*)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_aursync_modifiers[@]" \+ "$_aura_opts_aursync_actions[@]" \+ '*:package:_aura_completions_aur_packages'+ ;;+ B*)+ _arguments -s : \+ '(-B --save)'{-B,--save} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_save[@]"+ ;;+ C*)+ _arguments -s : \+ '(-C --downgrade)'{-C,--downgrade} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_downgrade[@]"+ ;;+ L*)+ _arguments -s : \+ '(-L --viewlog)'{-L,--viewlog} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_viewlog[@]"+ ;;+ M*)+ _arguments -s : \+ '(-M --abssync)'{-M,--abssync} \+ "$_aura_opts_common[@]"+ ;;+ O*)+ _arguments -s : \+ '(-O --orphans)'{-O,--orphans} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_orphans[@]"+ ;;+ *)+ case ${(M)words:#--*} in+ *--help*)+ if (( ${(W)#cmds} == 1 )); then+ _aura_action_help+ else+ return 0+ fi+ ;;+ *--sync*)+ _aura_action_sync+ ;;+ *--query*)+ _aura_action_query+ ;;+ *--remove*)+ _aura_action_remove+ ;;+ *--deptest*)+ _aura_action_deptest+ ;;+ *--database*)+ _aura_action_database+ ;;+ *--version*)+ _aura_action_version+ ;;+ *--upgrade*)+ _aura_action_upgrade+ ;;++ *--aursync*)+ _arguments -s : \+ "$_aura_opts_common[@]" \+ "$_aura_opts_aursync_modifiers[@]" \+ "$_aura_opts_aursync_actions[@]" \+ '*:package:_aura_completions_aur_packages'+ ;;+ *--save*)+ _arguments -s : \+ '(-B --save)'{-B,--save} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_save[@]"+ ;;+ *--downgrade*)+ _arguments -s : \+ '(-C --downgrade)'{-C,--downgrade} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_downgrade[@]"+ ;;+ *--viewlog*)+ _arguments -s : \+ '(-L --viewlog)'{-L,--viewlog} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_viewlog[@]"+ ;;+ *--orphans*)+ _arguments -s : \+ '(-O --orphans)'{-O,--orphans} \+ "$_aura_opts_common[@]" \+ "$_aura_opts_orphans[@]"+ ;;+ *)+ _aura_action_none+ ;;+ esac+ ;;+ esac+}++# run the main dispatcher+_aura_comp "$@"
+ misc/completions/bashcompletion.sh view
@@ -0,0 +1,104 @@+# This file is in the public domain.++_aura_compgen() {+ local i r+ COMPREPLY=($(compgen -W '$*' -- "$cur"))+ for ((i=1; i < ${#COMP_WORDS[@]}-1; i++)); do+ for r in ${!COMPREPLY[@]}; do+ if [[ ${COMP_WORDS[i]} = ${COMPREPLY[r]} ]]; then+ unset 'COMPREPLY[r]'; break+ fi+ done+ done+}++_aura_ptr2comp() {+ local list= x y+ for x; do+ for y in '0 --' '1 -'; do+ eval 'set -- ${'$x'[${y% *}]}'+ list+=\ ${@/#/${y#* }}+ done+ done+ _aura_compgen $list+}++_aura_incomp() {+ local r="[[:space:]]-(-${1#* }[[:space:]]|[[:alnum:]_]*${1% *})"; [[ $COMP_LINE =~ $r ]]+}++_aura_pkg() {+ _aura_compgen "$(+ if [[ $2 ]]; then+ \pacman -$1 2>/dev/null | \cut -d' ' -f1 | \sort -u+ else+ \pacman -$1 2>/dev/null+ fi+ )"+}++_aura_repo_list() {+ _aura_compgen "$(pacman-conf --repo-list)"+}++_aura() {+ compopt -o default+ local common core database files query remove sync upgrade o+ local cur prev words cword+ _init_completion || return+ database=('asdeps asexplicit')+ files=('list machinereadable refresh regex' 'l x y')+ query=('changelog check deps explicit file foreign groups info list native owns+ search unrequired upgrades' 'c e g i k l m n o p s t u')+ remove=('cascade dbonly nodeps assume-installed nosave print recursive unneeded' 'c n p s u')+ sync=('asdeps asexplicit clean dbonly downloadonly groups ignore ignoregroup+ info list needed nodeps assume-installed print refresh recursive search sysupgrade'+ 'c g i l p s u w y')+ upgrade=('asdeps asexplicit needed nodeps assume-installed print recursive' 'p')+ common=('arch cachedir color config confirm dbpath debug gpgdir help hookdir logfile+ noconfirm noprogressbar noscriptlet quiet root verbose' 'b d h q r v')+ core=('aursync save downgrade database files viewlog help orphans analysis query remove sync upgrade version' 'A B C D F L O P Q R S U V h')++ for o in 'D database' 'F files' 'Q query' 'R remove' 'S sync' 'U upgrade'; do+ _aura_incomp "$o" && break+ done++ if [[ $? != 0 ]]; then+ _aura_ptr2comp core+ elif [[ ! $prev =~ ^-[[:alnum:]_]*[Vbhr] &&+ ! $prev = --@(cachedir|color|config|dbpath|help|hookdir|gpgdir|logfile|root|version) ]]+ then+ [[ $cur = -* ]] && _aura_ptr2comp ${o#* } common ||+ case ${o% *} in+ # Pacman Commands+ D|R)+ _aura_pkg Qq;;+ F)+ { _aura_incomp 'l list' && _aura_pkg Slq ; } ||+ compopt +o default;;+ Q)+ { _aura_incomp 'g groups' && _aura_pkg Qg sort; } ||+ { _aura_incomp 'p file' && _aura_file; } ||+ { _aura_incomp 's search' && compopt +o default; } ||+ { _aura_incomp 'u upgrades' && compopt +o default; } ||+ _aura_incomp 'o owns' ||+ _aura_pkg Qq;;+ S)+ { _aura_incomp 'g groups' && _aura_pkg Sg; } ||+ { _aura_incomp 'l list' && _aura_repo_list; } ||+ { _aura_incomp 's search' && compopt +o default; } ||+ _aura_pkg Slq;;+ U)+ _aura_file;;+ esac+ fi+ true+}++_aura_file() {+ compopt -o filenames; _filedir 'pkg.tar*'+}++complete -F _aura aura++# ex:et ts=2 sw=2 ft=sh
test/Test.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedLists #-}+{-# LANGUAGE TemplateHaskell #-} module Main ( main ) where @@ -32,28 +33,28 @@ , testCase "parseDep - python2-lxml>=3.1.0" $ do let pn = "python2-lxml>=3.1.0" p = parseDep pn- p @?= Just (Dep "python2-lxml" . AtLeast . Ideal $ SemVer 3 1 0 [] Nothing)+ p @?= Just (Dep "python2-lxml" $ AtLeast $(versioningQ "3.1.0")) fmap renderedDep p @?= Just pn , testCase "parseDep - foobar>1.2.3" $ do let pn = "foobar>1.2.3" p = parseDep pn- p @?= Just (Dep "foobar" . MoreThan . Ideal $ SemVer 1 2 3 [] Nothing)+ p @?= Just (Dep "foobar" $ MoreThan $(versioningQ "1.2.3")) fmap renderedDep p @?= Just pn , testCase "parseDep - foobar=1.2.3" $ do let pn = "foobar=1.2.3" p = parseDep pn- p @?= Just (Dep "foobar" . MustBe . Ideal $ SemVer 1 2 3 [] Nothing)+ p @?= Just (Dep "foobar" $ MustBe $(versioningQ "1.2.3")) fmap renderedDep p @?= Just pn ] , testGroup "Aura.Types" [ testCase "simplepkg" $ simplepkg (fromJust $ packagePath "/var/cache/pacman/pkg/linux-is-cool-3.2.14-1-x86_64.pkg.tar.xz")- @?= Just (SimplePkg "linux-is-cool" . Ideal $ SemVer 3 2 14 [[Digits 1]] Nothing)+ @?= Just (SimplePkg "linux-is-cool" $(versioningQ "3.2.14-1")) , testCase "simplepkg'"- $ simplepkg' "xchat 2.8.8-19" @?= Just (SimplePkg "xchat" . Ideal $ SemVer 2 8 8 [[Digits 19]] Nothing)+ $ simplepkg' "xchat 2.8.8-19" @?= Just (SimplePkg "xchat" $(versioningQ "2.8.8-19")) ] , testGroup "Aura.Packages.Repository"- [ testCase "extractVersion" $ extractVersion firefox @?= Just (Ideal $ SemVer 60 0 2 [[Digits 1]] Nothing)+ [ testCase "extractVersion" $ extractVersion firefox @?= Just $(versioningQ "60.0.2-1") ] , testGroup "Aura.Pacman" [ testCase "Parsing pacman.conf" $ do