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