eli-schwartz / aurpublish

PKGBUILD management framework for the Arch User Repository
GNU General Public License v2.0
246 stars 18 forks source link

Call namcap (if present) in pre-commit hook #25

Open ulidtko opened 2 years ago

ulidtko commented 2 years ago

namcap is a linter for PKGBUILD's and also built .tar.xz packages. Similar to lintian for .deb packages.

I figure, pre-commit hook is a good place to call it (if it's installed) automatically.

Please review & merge.

alerque commented 2 years ago

I would highly recommend you modify your own workflow to use makechrootpkg instead of makepkg. You'll get namcap linting and other checks as part of the deal. If you want to manage packages well building them in a chroot as is mandated for official repositories is the only way to verify that you have your dependencies worked out and don't just happen to have stuff leaking in from your host system. The fact that it runs lints on the results is just a bonus.

alerque commented 2 years ago

Also the output of namcap is hardly authoritative (I say this as one of the upstream maintainers). For example it may return an error for missing dependencies in -debug packages that are not valid (but there are quite a few other false positive error scenarios).

I absolutely recommend running it, but blocking progress on a bad exit code would be a mistake, the output needs to be reviewed by hand. At least at this point—if you want to contribute to namecap to the point where it's output could be considered canonical that would be great.

ulidtko commented 2 years ago

Hey @alerque thanks, I'll try makechrootpkg, I understand why it's needed in general — though in my case, dependencies are pre-set by a generating tool which translates known-correct dependencies from language-specific packaging to PKGBUILD. Also I push to AUR, not official repos (at least, yet).

The exit 1 mistake acknowledged, will fix in a minute. Thanks for review!