On 06/04/2018 06:21 PM, David C. Rankin wrote:
Thank you for the feedback. cflow - updated. I'll push the new set after answers to questions below.
https://aur.archlinux.org/packages/gtkwrite_git/ The license is invalid, and please don't call it `foo_git` - instead use the common `foo-git`; You're also missing `git` as makedep, and `gtksourceview2` as normal dep
I changed the name, but when a user builds with the new name gtkwrite-git, instead of gtkwrite_git and attempts an install -- will there be a problem that requires manual intervention due to the name change? Is there anything else I need to do to change gtkwrite_git to gtkwrite-git -- other than change the name (and update the parameter expansions)?
You'd need to resubmit a new package in order to rename. You can use the replaces=() field to indicate that this package should be installed instead of the former package, but the AUR doesn't really implement replaces metadata and no AUR helper even tries AFAIK.
https://aur.archlinux.org/packages/gtkwrite/ The license is invalid Don't conflicts=() with the -git version or whatever, that's what the other packages providing your pkgname should do, not the other way around; You're also missing `gtksourceview2` as normal dep
Fixed - thanks again.
In general, cd "${srcdir}" is redundant, stop (ab)using msg() and msg2(), & get rid of the unused assignments.
What is wrong with using msg() or msg2()? I had one short output within each prepare(), build(), and package() that simply outputs the stage of the build, e.g.
msg2 'prepare() gtkwrite - done'
I have removed them, but I've never had anyone say that was abusing their usage. Is there any particular reason that makes an informational output like above wrong?
It's not really correct whether they're meant to be used at all. What useful information does this impart, which is not already known due to the status messages that makepkg itself emits? ==> Starting build()... # done by makepkg -> build() gtkwrite # next line, printed by your PKGBUILD This is besides the fact that makepkg has no public API beyond what is defined in the PKGBUILD(5) manpage, so using the msg2 function could end up being an error if we ever decide to remove or rename the function. The only reason it's even possible is because it is kind of hard to create private functions in bash and prevent anyone else from using them the way you could in C libraries. Also in general, you seem to include gcc in the makedepends, and recently added pkgconf and make as well. This is incorrect. All three are in the base-devel group, which is *mandatory* for using makepkg, so anyone who does not have them is doing the wrong thing. The AUR does *not* cater to people who try building packages without base-devel installed. Which means that as makedepends they're totally unnecessary and therefore clutter which should be removed. -- Eli Schwartz Bug Wrangler and Trusted User