aura 3.0.0 → 3.1.0
raw patch · 7 files changed
+168/−8 lines, 7 filesdep ~aesondep ~http-clientPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, http-client
API changes (from Hackage documentation)
+ Aura.Settings: SkipDepCheck :: BuildSwitch
+ Aura.Settings: SkipPGP :: Makepkg
Files
- CHANGELOG.md +13/−0
- aura.cabal +4/−3
- doc/aura.8 +13/−1
- doc/aura.conf.5 +128/−0
- exec/Aura/Flags.hs +4/−2
- lib/Aura/Install.hs +3/−1
- lib/Aura/Settings.hs +3/−1
CHANGELOG.md view
@@ -1,5 +1,18 @@ # Aura Changelog +## 3.1.0 (2020-05-27)++#### Added++- The `--skipdepcheck` flag to skip all dependency solving. Combine this with+ `--hotedit` to avoid discrepancies in custom dependency listings.+- `--skippgpcheck` is now available to pass through to `makepkg`.+- `aura.conf` now has a man page.++#### Changed++- Bumped `aeson` and `http-client` bounds.+ ## 3.0.0 (2020-05-20) #### Added
aura.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.2 name: aura-version: 3.0.0+version: 3.1.0 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@@ -21,6 +21,7 @@ CHANGELOG.md doc/aura.8 doc/aura.conf+ doc/aura.conf.5 doc/completions/bashcompletion.sh doc/completions/_aura test/pacman.conf@@ -50,9 +51,9 @@ common libexec build-depends:- , aeson >=1.2 && <1.5+ , aeson >=1.2 && <1.6 , aur ^>=7.0- , http-client >=0.5 && <0.7+ , http-client >=0.5 && <0.8 , prettyprinter >=1.2 && <1.7 , prettyprinter-ansi-terminal ^>=1.1 , scheduler >=1.1 && <1.5
doc/aura.8 view
@@ -187,6 +187,13 @@ \fIenv_keep\fR options in \fBsudoers\fR(5). .RE .P+\fB\-\-skipdepcheck\fR+.RS 4+Perform no dependency solving. Consider this when using \fI\-\-hotedit\fR to+avoid building annoying dependencies that aren't necessary for your special+use-case.+.RE+.P \fB\-\-vcspath <path>\fR .RS 4 Save the cloned sources of VCS packages (i.e. those that end in \fI*-git\fR, etc.)@@ -338,6 +345,11 @@ .RS 4 Skip package source integrity checks. .RE+.P+\-\-skippgpcheck+.RS 4+Skip all PGP checks.+.RE .SH LANGUAGE OPTIONS .P@@ -405,7 +417,7 @@ .SH SEE ALSO .P-\fBpacman\fR(8), \fBpacman.conf\fR(5), \fBmakepkg\fR(8)+\fBaura.conf(5)\fR, \fBpacman\fR(8), \fBpacman.conf\fR(5), \fBmakepkg\fR(8) .SH BUGS .P
+ doc/aura.conf.5 view
@@ -0,0 +1,128 @@+.\" Man page for `aura.conf`+.\" Written by Colin Woodbury <colin@fosskers.ca>++.TH aura.conf 5 "2020 May" "Aura" "Aura Manual"++.\" Disable hyphenation.+.nh++.de SAMPLE+.br+.RS+.nf+.nh+..+.de ESAMPLE+.hy+.fi+.RE+..++.SH NAME+aura.conf \- Configuration for the Aura Package Manager++.SH SYNOPSIS+/etc/aura.conf++.SH DESCRIPTION+.P+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. \fIaura.conf\fR lets you make these common settings permanent.++.SH EXAMPLE+.SAMPLE+# --- Language --- #+language = en # English.++# --- Build Settings --- #+user = <you>+buildpath = /tmp+vcspath = /var/cache/aura/vcs++# --- Misc. --- #+editor = vi+.ESAMPLE++.SH OPTIONS+.P+.B language+.RS 4+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:++.SAMPLE+|------+------------|+| Code | Language |+|------+------------|+| nl | Dutch |+| en | English |+| de | German |+| nb | Norwegian |+| sv | Swedish |+|------+------------|+| fr | French |+| it | Italian |+| pt | Portuguese |+| es | Spanish |+|------+------------|+| hr | Croatian |+| pl | Polish |+| ru | Russian |+| sr | Serbian |+|------+------------|+| zh | Chinese |+| id | Indonesian |+| ja | Japanese |+|------+------------|+| eo | Esperanto |+|------+------------|+.ESAMPLE+.RE++.P+.B user+.RS 4+The real, non-sudo user to build packages as.+.RE++.P+.B buildpath+.RS 4+The location on the filesystem in which to build packages.+.RE++.P+.B allsourcepath+.RS 4+The location on the filesystem in which to save "source packages" built with+\fI\-\-allsource\fR.+.RE++.P+.B vcspath+.RS 4+The location on the filesystem in which to store the cloned repositories of+\fI*-git\fR, etc., packages.+.RE++.P+.B analyse+.RS 4+Aura automatically scans PKGBUILDs for malicious bash usage and other "bad+practices". Set this to \fIFalse\fR to turn this off.+.RE++.P+.B editor+.RS 4+The editor to use during \fI\-\-hotedit\fR.+.RE++.SH SEE ALSO+.P+aura(8)++.SH AUTHOR+.P+Colin Woodbury <colin@fosskers.ca>
exec/Aura/Flags.hs view
@@ -377,10 +377,11 @@ buildConfig :: Parser BuildConfig buildConfig = BuildConfig <$> makepkg <*> bp <*> bu <*> asp <*> vp <*> trunc <*> buildSwitches- where makepkg = S.fromList <$> many (ia <|> as <|> si)+ where makepkg = S.fromList <$> many (ia <|> as <|> si <|> sp) ia = flag' IgnoreArch (long "ignorearch" <> hidden <> help "Exposed makepkg flag.") as = flag' AllSource (long "allsource" <> hidden <> help "Exposed makepkg flag.") si = flag' SkipInteg (long "skipinteg" <> hidden <> help "Skip all makepkg integrity checks.")+ sp = flag' SkipPGP (long "skippgpcheck" <> hidden <> help "Skip all makepkg PGP checks.") bp = optional $ option (eitherReader absFilePath) (long "build" <> metavar "PATH" <> hidden <> help "Directory in which to build packages.") bu = optional $ User <$> strOption (long "builduser" <> metavar "USER" <> hidden <> help "User account to build as.") asp = optional $ option (eitherReader absFilePath) (long "allsourcepath" <> metavar "PATH" <> hidden <> help "Directory in which to store the output of --allsource.")@@ -390,7 +391,7 @@ <|> pure None buildSwitches :: Parser (Set BuildSwitch)-buildSwitches = S.fromList <$> many (lv <|> dmd <|> dsm <|> dpb <|> rbd <|> he <|> dr <|> sa <|> fo <|> npc <|> asd)+buildSwitches = S.fromList <$> many (lv <|> dmd <|> dsm <|> dpb <|> rbd <|> he <|> dr <|> sa <|> fo <|> npc <|> asd <|> sdc) where dmd = flag' DeleteMakeDeps (long "delmakedeps" <> short 'a' <> hidden <> help "Uninstall makedeps after building.") dsm = flag' DontSuppressMakepkg (long "unsuppress" <> short 'x' <> hidden <> help "Unsuppress makepkg output.") dpb = flag' DiffPkgbuilds (long "diff" <> short 'k' <> hidden <> help "Show PKGBUILD diffs.")@@ -402,6 +403,7 @@ fo = flag' ForceBuilding (long "force" <> hidden <> help "Always (re)build specified packages.") npc = flag' NoPkgbuildCheck (long "noanalysis" <> hidden <> help "Do not analyse PKGBUILDs for security flaws.") asd = flag' AsDeps (long "asdeps" <> hidden <> help "All installed packages will be marked as dependencies.")+ sdc = flag' SkipDepCheck (long "skipdepcheck" <> hidden <> help "Don't perform dependency solving.") commonConfig :: Parser CommonConfig commonConfig = CommonConfig <$> cap <*> cop <*> lfp <*> commonSwitches
lib/Aura/Install.hs view
@@ -83,7 +83,9 @@ Nothing -> throwM $ Failure install_2 Just toBuild' -> do notify ss install_5 *> hFlush stdout- allPkgs <- depsToInstall rpstry toBuild'+ allPkgs <- if switch ss SkipDepCheck+ then pure . (:| []) $ NEL.map FromAUR toBuild'+ else depsToInstall rpstry toBuild' let (repoPkgs, buildPkgs) = second uniquePkgBase $ partitionPkgs allPkgs unless (switch ss NoPkgbuildCheck) $ traverse_ (traverse_ analysePkgbuild) buildPkgs
lib/Aura/Settings.hs view
@@ -39,12 +39,13 @@ data Truncation = None | Head Word | Tail Word deriving (Eq, Show) -- | CLI flags that will be passed down to @makepkg@ when building packages.-data Makepkg = IgnoreArch | AllSource | SkipInteg deriving (Eq, Ord, Show)+data Makepkg = IgnoreArch | AllSource | SkipInteg | SkipPGP deriving (Eq, Ord, Show) instance Flagable Makepkg where asFlag IgnoreArch = ["--ignorearch"] asFlag AllSource = ["--allsource"] asFlag SkipInteg = ["--skipinteg"]+ asFlag SkipPGP = ["--skippgpcheck"] -- | Flags that are common to both Aura and Pacman. -- Aura will react to them, but also pass them through to `pacman`@@ -126,6 +127,7 @@ | ForceBuilding | NoPkgbuildCheck | AsDeps+ | SkipDepCheck deriving (Eq, Ord, Show) -- | Is some Aura-specific setting turned on for this run?