github pacstall/pacstall 1.3
Pacstall v1.3 Amaranth

latest releases: 5.2.1, 5.2.0, 5.1.1...
3 years ago

Pacstall v1.3 Amaranth Amaranth

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 (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

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

Developers, Developers, Developers...

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.

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 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.

Don't miss a new pacstall release

NewReleases is sending notifications on new releases.