[aur-general] xhemi discussion (was: TU request)

Aaron Schaefer aaron at elasticdog.com
Tue Oct 14 11:28:12 EDT 2008

On Tue, Oct 14, 2008 at 9:10 AM, Edward Tjörnhammar <xhemi at cube2.se> wrote:
> On Tue, 14 Oct 2008, Ronald van Haren wrote:
>> Sorry to say, but I found quite a few things from a very quick look:
>> - errors in licenses. This is an array and you need to install custom
>> licenses in /usr/share/licenses/$pkgname
>> - you need to include patches and such in the source array
>> - Do not introduce new variables into your PKGBUILD build scripts,
>> unless the package cannot be built without doing so. Further some of
>> them are already defined by a variable so why creating a new one? I
>> really have trouble reading it.
>> - what is up with the use of pushd and popd? There is clearly no use
>> in using those.
>> What else can I say...I still think 8 packages is not enough as I
>> already indicated in a previous thread.
>> Ronald
> Hello again!
> The unincluded licenses, sources and backup files in their respective arrays
> are something which I should have given more than a second thought and I
> agree that they need to be fixed. There is, however, likely other things
> which I might have missed.
>  About the criticism surrounding variable use and pushd/popd I can only
> regard as irrelevant, but please prove me wrong. The variables are used in a
> completely consistent manner and pushd/popd are shell builtins just like cd,
> i.e. does not rely on extra deps. This is just a matter of preference,
> instead of 'cd' and 'cd -', just like wether to use srcdir or _S. If this is
> important then there is, imho, only one place where this should be
> rigorously checked for and that would be in a pre-commit hook for the SCM
> tree for supported TU packages.
>  It would not be my intention to move any more of my packages to community,
> since they have very low voting scores. As you obviously understand by now I
> was assuming that there were alot of orphaned packages.
> Regards
> --
> Edward Tjörnhammar

The variables are distracting and make it hard to read, not to mention
some of them are already defined for you. The Arch Packaging
Guidelines talk about that specifically:

"Do not introduce new variables into your PKGBUILD build scripts,
unless the package cannot be built without doing so, as these could
possibly conflict with variables used in makepkg itself. If a new
variable is absolutely required, prefix the variable name with an
underscore (_)"

Basically, they are not necessary, and don't follow the same standards
that everyone else use. There is no easy way to check for proper use
of custom variables with a commit hook because how can you
programatically determine whether or not they are necessary?

I feel pretty much the same way about pushd/popd...while yes, they are
builtins, they do make your PKGBUILDs harder to follow (explicitly
stating a directory is much more clear than trying to remember a stack
of directories you pushed previously), and in many cases you don't
push more than a single directory anyway and/or it's not necessary to
change back to the base directory, so why complicate things?

On top of everything that Ronald mentioned:

  - you should not have the Maintainer tag in there, as those specify
the TU responsible for maintaining the binary version of the package.
  - SourceForge URLs should not specify a mirror but should use
  - try to have due diligence in tracking down the proper license for
packages; ccxstream, for instance, you have listed as "unknown" when
two clicks to the project's main page shows it is listed as GPL
  - indention, spacing, and consistency/cleanliness do matter,
especially if you're trying to get other TUs to look at your PKGBUILDs
and vote you in. Take a look at the axis2c PKGBUILD
(http://is.gd/42ZH) and notice the spacing, and also you have "||
return 1" twice on the end of one line
  - rather than using heredoc statements to create files within the
PKGBUILD, it would be cleaner to include separate files in the source

Overall, I'd recommend reading up on the Packaging Guidelines, using
tools like namcap, take a look at PKGBUILDs from existing TUs and keep
working at it. We don't expect for an applicant's PKGBUILDs to be
absolutely perfect, but realistically, they should be close if that's
all we have to judge you by.

Aaron "ElasticDog" Schaefer

More information about the aur-general mailing list