Bellow are the instructions GPT gave me to create my own AUR package.
I need to do this for my printer/scanner which has no package yet, and it will be based on an existing .rpm from the printer maker.
Are these steps ok? Or overkill? Or just garbage?
=================================
Creating an Arch User Repository (AUR) package for Garuda Linux involves several steps. Garuda Linux is based on Arch Linux, so the AUR is a convenient way to install and manage software. Here’s a general guide on how to create an AUR package:
- Install Required Software:
Make sure you have the necessary tools installed. You’ll needbase-devel
andgit
packages. Install them using:
sudo pacman -S base-devel git
- Clone the AUR Package Template:
Clone the AUR package template from the Arch Linux Git repository. This template provides a standardized structure for AUR packages.
git clone https://aur.archlinux.org/yay.git
- Navigate to the Package Folder:
Go to the directory whereyay
was cloned:
cd yay
- Create the Package:
In this directory, create a new directory with the name of your package. This will contain all the files related to your package.
mkdir -p mypackage-git
- Navigate to the New Package Folder:
Move into the newly created package directory:
cd mypackage-git
- Create the PKGBUILD File:
Inside the package directory, create a file namedPKGBUILD
. This file contains information about your package, such as its name, version, source, and build instructions. You can use a text editor likenano
orvim
to create and edit the file.
nano PKGBUILD
Here’s a minimal example of a PKGBUILD
file:
# Maintainer: Your Name <your@email.com>
pkgname=mypackage-git
pkgver=1.0.0
pkgrel=1
pkgdesc="Description of your package."
arch=('any')
url="https://example.com"
license=('MIT')
depends=('dependency1' 'dependency2')
makedepends=('git')
source=("git+https://github.com/yourusername/yourrepository.git")
pkgver() {
cd "$srcdir/$_pkgname"
git describe --tags | sed 's/-/+/g'
}
build() {
cd "$srcdir/$_pkgname"
make
}
package() {
cd "$srcdir/$_pkgname"
make DESTDIR="$pkgdir/" install
}
Customize this template according to your package’s details.
-
Save and Exit:
Save thePKGBUILD
file and exit the text editor. -
Create a Tarball:
Create a tarball of your package:
makepkg --printsrcinfo > .SRCINFO
makepkg -efi
This will generate a package file with a .pkg.tar.zst
extension.
- Install the Package:
Install your package usingpacman
:
sudo pacman -U mypackage-git-1.0.0-1-any.pkg.tar.zst
- Clean Up:
Clean up the build files:
cd ..
rm -rf mypackage-git
- Submit to AUR:
Finally, you can submit your package to the AUR. Useyay
or another AUR helper to do this:
yay -S --rebuild mypackage-git
Follow the prompts to submit your package to the AUR.
Remember to replace placeholder values in the PKGBUILD
file with your actual package details. Additionally, consider checking the Arch Packaging Standards and the Arch Wiki for more detailed information on creating and maintaining packages.