[aur-general] PKGBUILD for talking-clock

Jesse Juhani Jaara jesse.jaara at gmail.com
Mon Nov 12 13:54:27 EST 2012


You can remove the two lines
|source=(https://github.com/stormdragon2976/talking-clock)
|md5sums=('81c45b81f4ce5617a79005e9370a2845')

Git packages do not need those lines, unless there is some "static"
content in the package. For example a systemd unit file.

Also all git packages should have -git prefix in their names, unless it
is 100% sure there will never ever be a "stable" branch or tarball.

Also any package that doesn't provide any binary files. Python, perl,
bash, java, ruby etc apps should use 'any' as the arch instead of
'x86_64' and 'i686') Same for packages that only contain nonexecutble
data, like fonts or icon sets.

Consider adding the version number to the license field like 'GPL3' or
'GPL2'.

provides=() is used only when another package with same binary/data
exist under differend name. For example package 'libass-git' has line
provides=('libass') becouse it contains the same library as the libass
package. Also used when one package provides differend implementation of
the same command/app, but both can be installled at the same time. For
example openjdk7 and jre packages both provide the 'java-envirointment'
virtual package, needed to run java apps.

conflicts=() same thing as above, but this means that the package has a
file in same location in the same path. For example libass-gi has file
named /usr/lib/libass.so    and libass package has file with same name
in same path. So they conflict with eachothers and cannot be installed
at the same time.

replace=() is used when a package with completely differend name
replaces some other older app. You shouldn't really need this one in
basic PKGBUILDs.

So this comes down to meaning you can get rid of those 3 lines on your
PKGBUILD

Also instead of
|  msg "Installing..."

you would be better of with message like this
|  msg "Starting to build the package..."

Also in the build() function only command needed to prepare the source
code for compilation (c->binary, py-> pyc, class -> .jar) an the actual
command needed to build/compile the source are allowed.

Then you need another function named package(), in this function one
puts in the commands that copy the compiled binary + data files to the
${pkgdir} directory. (make install, cp a b, mv, install....)

You also should enclose every instance of ${srcdir} and ${pkgdir} in
"-marks. I am referring to the install lines.


You may also want to install namcap it can check your PKGBUILDS and
packages for possible errors.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: This is a digitally signed message part
URL: <http://mailman.archlinux.org/pipermail/aur-general/attachments/20121112/4f861cdd/attachment-0001.asc>


More information about the aur-general mailing list