Hi, Here's how I would have wrote it (see commented changes at the bottom): # Maintainer: Minecraftchest1 <minecraftchest1 at outlook dot com> pkgname=file-sharing-tool pkgver=0.2.0 pkgrel=1 pkgdesc="A tool to help setup file sharing using ssh." arch=('any') url= ["https://gitlab.com/minecraftchest1/steamdeck-file-share-tool"](https://gitlab.com/minecraftchest1/steamdeck-file-share-tool) license=('GPL3') depends=('openssh' 'zenity') makedepends=('git') source=("git+${url}#tag=${pkgver}") sha256sums=('SKIP') package() { cd "${srcdir}" install -Dm 755 "bin/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" } Changes: - Deleted every empty/not used variables to make the PKGBUILD more readable. - Deleted 'sed' and 'bash' from the "depends" array. Indeed, they belong to the "base" group package [1], which contains the set of packages that define a basic Arch Linux installation. Base group's members don't necessarily have to be listed as dependencies since you expect people to have them installed anyway. - Deleted 'coreutils' from the "makedepends" array for the same reason as above. By the way, the same rules apply for "base devel" metapackage's members [2], as far as AUR package are concerns [3]. - Added 'git' to "makedepends". Indeed, since you're not relying on a release archive but rather of a "git cloned" repo in the "source" array, "git" is needed to download and install your package. - Populated the use of variables in the "source" array and in the "package" function instead of re-typing raw metadata (url, package name, source directory, etc...). Obviously you don't have to, but that's more elegant I guess. - Deleted the "validgpgkey" array since it doesn't appear to be used. - Modified the "install" command in the "package" function to install the package with proper permissions and with a proper name (without ".sh"). I wrote that on the go, I didn't test the PKGBUILD myself so make sure it works correctly on your side :) I would eventually suggest making a release of your package on GitLab so you could rely on a release's archive in the "source" array instead of "git cloning" the repo from a specific tag. That would allow you to check the integrity of the download source instead of skipping it ("sha256sums=('SKIP')"), which is a more trusty in my opinion. Also, as "Fabio Loli" wrote in his answer, you should eventually add a license file/indication in the GitLab repo. I let anyone else add more details/thoughts if needed. [1] https://archlinux.org/packages/core/any/base/ [2] https://archlinux.org/groups/x86_64/base-devel/ [3] https://wiki.archlinux.org/title/Arch_User_Repository#Prerequisites Regards, Antiz (Robin C.) Le 12/12/2022 à 19:16, Fabio Loli a écrit :
Il 12/12/22 19:03, Wyatt C Jackson ha scritto:
I recently put together a PKGBUILD file for a tool I made and want to put on the AUR. While I believe it should be fine, I would like to have it reviewed before I upload it.
--- ``` # Maintainer: Minecraftchest1 <minecraftchest1 at outlook dot com> pkgname=file-sharing-tool pkgver=0.2.0 pkgrel=1 epoch= pkgdesc="A tool to help setup file sharing using ssh." arch=('any') url= ["https://gitlab.com/minecraftchest1/steamdeck-file-share-tool"](https://gitlab.com/minecraftchest1/steamdeck-file-share-tool) license=('GPL3') groups=() depends=('openssh' 'zenity' 'sed' 'bash') makedepends=('coreutils') checkdepends=() optdepends=() provides=() conflicts=() replaces=() backup=() options=() install= changelog= source=("git+https://gitlab.com/minecraftchest1/steamdeck-file-share-tool#tag=$pkgver") noextract=() md5sums=() validpgpkeys=('B136A3601568A8CE2493') sha256sums=('SKIP')
package() { cd steamdeck-file-share-tool install -D -v bin/file-sharing-tool.sh -t $pkgdir/usr/bin } ```
Hello,
missing git as makedepends makedepends on coreutils not needed there is validpgpkeys but is not checked in source=() there isn't a license or a license indication in your source repo please remove unused fields please install the script as file-sharing-tool (without .sh)
-- Regards, Antiz (Robin C.)