Hello everyone, today is the day we release Pacstall v1.3 "Amaranth" (*aməranθ*), the word "Amaranth" derives from Greek ἀμάραντος (amárantos), "unfading", with the Greek word for "flower", ἄνθος (ánthos), factoring into the word's development as amaranth, **the unfading flower** (source: Wikipedia).
We hope you like this release of Pacstall.
Users
In short
Features
---
Additions
* You can edit a `pacscript` during install.
* Added `bash`/`zsh`/`fish` shell tab completion. *You need to run `sudo pacstall -U` twice in order to get the `bash`/`zsh`/`fish` shell completions*
* Pacstall scripts can install other pacstall scripts as dependencies
Changes
* `-S` flag uses [ripgrep](https://github.com/BurntSushi/ripgrep) (if installed on the system), then grep to search for packages for
better scriptability
* `-U <githubusername> <branch>` can be used to update pacstall to a specific repo and
branch. Will still default to `pacstall master` if no arguments are given
Bugs
---
Bug Fixes
* Fixed issue with `-Qi` that didn't show dependencies and build dependencies
* Added guards to rm commands that would clutter output otherwise
* Fixed quote issues
* Performance fixes, Code Quality upgrades and other misc changes/bugfixes.
Known bugs
* Pacstall isn't printing help if no flags are given [27](https://github.com/pacstall/pacstall/issues/27)
In detail
Features
---
Editing scripts
The first thing pacstall will try to do is edit your script with `$PACSTALL_EDITOR`, then it will try to edit with `$VISUAL`, then `$EDITOR`, and then fall back to `sensible-editor` (the default system editor)
-U
You can (after updating), run:
sudo pacstall -U <githubusername> <branch>
This will update your script to that repo/branch. An example would be `sudo pacstall -U wizard-28 master` to update to `wizard-28`'s fork. If you leave out `branch`, it will default to `master`, and if you just run `sudo pacstall -U`, it will default to `pacstall` and `master`
Known bugs
---
Pacstall isn't printing help if no flags are given
Basically what the title says, this is a low severity bug, we hoping to fix it by next release
To mitigate this temporarily you can run:
pacstall -h
for more information click the this issue link [27](https://github.com/pacstall/pacstall/issues/27)
[Developers, Developers, Developers...](https://www.youtube.com/watch?v=ug4c2mqlE_0)
In short
Additions
---
* A `pacdeps=()` array was added which enables the pacscripts to add other pacscripts as dependency.
* A `pkgver()` function was added which can dynamically modify the version of your pacscripts.
Changes
---
* There were some code refactors.
* Major Code Quality uplift so minor changes thought the whole repo.
* An automated labeling workflow was added.
In detail
`pacdeps=()`
In your pacscripts, you can add the array `pacdeps=()`, and fill it in with pacstall packages to install those as dependencies.
`pkgver()`
First you need to remember that sourcing a file goes line by line, so if you have a variable referencing another variable that hasn't been sourced yet, it won't work.
bash
pkgver () {
git ls-remote <url> <branch> | cut -f1 Returns the latest commit hash from remote
}
version="$(pkgver)"
This function is similar to the PKGBUILD function of the same name, but instead this doesn't execute after the git repo is cloned, so it enables update capabilities for `-git` pacscripts, which the AUR can't.
Look [here](https://github.com/pacstall/pacstall-programs/blob/master/packages/awesome-git/awesome-git.pacscript) for an example
Labeler
Title your PR/issues like this from now on
[<label1>] [<label2>].... <Title>
Of course you can skip `[<label2>]` and others if they don't apply to your PR/issue
This will allow the github action to automatically assign the right people, and label your PR/issue.