Package Details: jcpwm 1.7.125-15772

Git Clone URL: https://aur.archlinux.org/jcpwm.git (read-only, click to copy)
Package Base: jcpwm
Description: JumpCloud Password Manager
Upstream URL: https://jumpcloud.com
Keywords: jumpcloud manager password
Licenses: custom
Submitter: Dotty
Maintainer: Dotty
Last Packager: Dotty
Votes: 1
Popularity: 0.002141
First Submitted: 2023-08-17 19:59 (UTC)
Last Updated: 2023-08-17 19:59 (UTC)

Latest Comments

Dotty commented on 2023-08-21 15:06 (UTC)

Hello @Auerhuhn,

thanks for that awesome feedback!

I'll work on all that shortly.

Auerhuhn commented on 2023-08-18 18:25 (UTC)

Hi @Dotty,

thanks for contributing your PKGBUILD!

Given that JumpCloud doesn’t include a version number in their download source URL, it may be a good idea to include a pkgver() function in your PKGBUILD so it bumps the version automatically. For details, see Nonfree applications package guidelines.

That way, you don’t have to modify your PKGBUILD on every upstream release, and your fellow AUR users will get updates immediately without requiring action on your end.

One possible pkgver() function for you would be:

pkgver() {
  # shellcheck disable=SC2016
  dpkg-deb --show --showformat='${Version}' JumpCloud-Password-Manager-latest.deb | tr - .
}

(This uses dpkg-deb, which means you also need to add dpkg to your makedepends.)

That pkgver() function also automatically fixes the package version, which should really be 1.7.125.15772, not 1.7.125-15772. (The pkgrel field is reserved for you and your PKGBUILD revisions, not for upstream changes.)

While we’re at it, here are a couple of minor nitpicks, mostly from namcap’s output (feel free to ignore them):

E: Missing custom license directory (usr/share/licenses/jcpwm)

Do you have any license file from upstream that you could place inside the /usr/share/licenses/jcpwm directory?

W: Dependency included, but may not be needed ('desktop-file-utils') W: Dependency included, but may not be needed ('libappindicator-gtk3') W: Dependency included, but may not be needed ('libnotify') W: Dependency included, but may not be needed ('libsecret') W: Dependency included, but may not be needed ('shared-mime-info') W: Dependency included, but may not be needed ('util-linux-libs') W: Dependency included, but may not be needed ('xdg-utils')

You can probably remove those entries from your depends.

W: .INSTALL file runs a command (update-desktop-database) provided by hooks. W: .INSTALL file runs a command (update-mime-database) provided by hooks.

You can remove those lines from jcpwm.install because ALPM hooks already do that for the user.

Additionally,

post_install() {
  ln -sf '/opt/JumpCloud Password Manager/jcpwm' '/usr/bin/jcpwm'
}

pre_remove() {
  rm -f '/usr/bin/jcpwm'
}

Have you considered adding the symlink in package?

For example:

package() {
  bsdtar -xf "${srcdir}/data.tar.xz" -C "$pkgdir/"
  ln -s '/opt/JumpCloud Password Manager/jcpwm' "$pkgdir/usr/bin/jcpwm"
}

Then you’d be able to get rid of your install file entirely.

And lastly, you could de-clutter your package() function by moving the depends array to the top level.

Thanks again for your package – keep up your good contributions!
Claudia