Autogit - Bash tool to automatically build & update PKGBUILD's from Github & Gitlab


Autogit is a Bash tool to automatically build and update Pacman applications from PKGBUILD’s available on Github and Gitlab via configurable Makepkg or Manjaro Buildpkg commands. It can also create automatically repo names like core , extra , community and create/update a repo database file via repo-add . Additionally it clears each local repo with paccache -v -r -k 1 -c to only keep the latest package version.

It checks for the pkgver of the PKGBUILD to update applications and can either run once or in a loop with a timer setting.

More information on how to set it up is available in autogit.conf, examples are included.

Currently 2 Github and 3 Gitlab sources are available to use. There is no limitation of packages for each source, which need to be added to the reponames folder.

It can currently create 2 different Github repo folders and 3 different Gitlab repo folders.

How to install:

  • sudo pacman -Syu base-devel git
  • git clone https://github.com/puxplaying/autogit.git
  • cd autogit
  • makepkg -srci

How to run:

  • autogit

To run it automatically without a password prompt for buildpkg , it can be added to sudoers via:

echo "$USER ALL = NOPASSWD: /usr/bin/buildpkg" | sudo tee /etc/sudoers.d/$USER

This little tool is still in early development and needs a lot of testing, any feedback to improve it is welcome.

12 Likes

Nice job, thanks for posting :+1: , something to look at @Manjaro-Team

2 Likes

It looks quite useful.

I would try breaking that code into the smallest functions. It would be the easiest to read and to test.

1 Like

Added check for pkgrel in addition to pkgver to update applications and minor makepkg fixes for all archive types (gz, zst …etc).

2 Likes

Autogit 0.25 was released and is considered to have stable core functionality. I’m currently running it with buildpkg 24/7 on 3 Manjaro Gitlab repos (core, community, extra) with 15 different packages plus my own Github and it seems to do it’s job fine. As always feedback is welcome, happy building! :nerd_face:

1 Like