On 05.10.2010 01:04, Ray Rashif wrote:
I'm not filing (a) bug(s) for these since there's no harm done, but
this should serve as a reminder to everyone that we should check our
buildscripts for sourcing compatibility whenever possible, for the
sake of clarity and consistency. The currently affected PKGBUILDs are
as follows:
./community/perl-datetime/PKGBUILD
bash: printf: 0,61: invalid number
./community/perl-parse-recdescent/PKGBUILD
bash: printf: 1,965001: invalid number
Most of "invalid number" issues already fixed in svn by something like:
LC_NUMERIC=C
provides=("perl-datetime=`printf %.4f $pkgver`")
or
provides=("perl-datetime=`LC_NUMERIC=C printf %.4f $pkgver`")
./community/haskell-x11/PKGBUILD
error: package "ghc" not found
./community/haskell-x11-xft/PKGBUILD
error: package "ghc" not found
For the perl packages:
provides=("perl-datetime=`printf %.4f ${pkgver/./,} | sed 's#,#.#'`")
I don't know what the intention is with ${pkgver/./,} | sed 's#,#.#'
but it does not work, as it's replacing "." with "," and then back to
".", but printf naturally fails to deal with the decimal being
replaced by a comma. If I understood this correctly, the line should
read:
provides=("perl-datetime=$(printf "%.4f %s\n" ${pkgver})")
For the other two:
_ghcver=`pacman -Q ghc | cut -d\ -f 2 | cut -f 1 -d -`
depends=("ghc=${_ghcver}" 'libx11')
"package not found" error does not prevent source package building and
can be ignored. Probably I should replace it with:
_ghcver=`pacman -Q ghc 2>/dev/null | cut -d\ -f 2 | cut -f 1 -d -`
Again, I don't know why go through the trouble of checking a local
package that may not exist on all systems (Sergej?). Better "hardcode"
the numbers and be done with it.
It is easier to use automatic version checking.