/pakka

A simple bash based AUR helper for Arch Linux

Primary LanguageShellGNU General Public License v2.0GPL-2.0

Pakka

https://img.shields.io/aur/version/pakka.svg https://img.shields.io/aur/license/pakka.svg [Currently Experimental]

A simple bash based AUR helper for Arch Linux.

Introduction

Pakka? is an indian way of asking “Are you sure?”. Perhaps I am asking to the users are you sure you want to use this :P Pakka tries to achieve maximum customization for the user.

Goals

My goal with this package is to create a very very flexible and customizable AUR helper written purely in bash in as minimum lines of code as possible.

Adding more lines of code for good features will always be appreciated though.

What do I eventually want?

  • [ ] Ability to override already existing AUR makefiles with your own, or patching them to suit your use case.
  • [ ] Ability to easily patch the source without the need for explicitely having patch codes in the aur makefiles
  • [ ] Eventually move to per block diffs for customizing AUR PKGBUILD’s
  • [ ] Become a pacman complient AUR wrapper
  • [ ] Create a highly reproducible Arch Linux

Lacking Features

  • [X] Searching the AUR database
  • [ ] Dependency Resolution (To be specific, AUR dependency resolution)
  • [ ] Autocleaning build directory
  • [ ] Check whether the current package version is already installed

Getting Started

Download the pakka script and place it in your PATH.

curl --output ~/.local/bin/pakka https://raw.githubusercontent.com/SidharthArya/pakka/master/pakka
chown +x ~/.local/bin/pakka

Installing Packages

pakka -S st dwm

Searching Packages

pakka -s paru

Updating Packages

pakka -Su st

Incase you just want to build the package you can just run the script with curl

curl https://raw.githubusercontent.com/SidharthArya/pakka/master/pakka | bash -s st dwm

Configuration

Pakka reads \~/.config/pakka/config file and sources it for environment variables. Not much is implemented for configuration at the moment. You can only define a CACHEDIR variable as CACHEDIR=~/.cache/pakka. In any case that would default to the same location.

Then you have a \~/.config/pakka/Packages, which is intended to store a list of default packages you may want to install. Running pakka without any package name should install all the packages in Packages file.

Overrides

Overrides are files present in the folder \~/.config/overrides/package-name

srccopy

This override will copy files as it is to your aur package snapshot.

srcpatch

This override will patch your aur package snapshot directory.

copy

This override will copy files as it is to the package source directory.

patch

This override will patch your package source directory.

Example

https://github.com/SidharthArya/pakka-config

Contributing

I am looking for people to help me develop this script really well. Feel free to open pull requests and issues for various things you want to see implemented in pakka.