# work in package dir
dir=$(dirname "$0")
cd "$dir"
+dir=$(pwd)
# extract version components from url
-# exports: $version; $release; $svndate; $svnver
+# exports: $version; $release; $svndate; $svnver; $branch; $basever
extract_version() {
- set -x
local url=$1 part
part=${url#${pkg}[_-]}
# ubuntu urls
version=${part%~*}; part=${part#*${version}~}
else
- version=${part%.tar.xz}; part=${part#*${version}.tar.xz}
+ version=${part%.tar.*}; part=${part#*${version}}
+ part=${part#.tar.xz}
+ part=${part#.tar.gz}
fi
# release always 1 :)
svndate='%{nil}'
fi
svnver=${part#r}; svnver=${svnver%%.*}
+
+ branch=${version%.*}
+ basever=${version#${branch}.}
+
+ : EXTRACTED: version=$version release=$release svnver=$svnver branch=$branch basever=$basever
}
url2version() {
echo "${url}" | sed -e "
s,%{version},$version,g
s,%{release},$release,g
+ s,%{basever},$basever,g
+ s,%{branch},$branch,g
s,%{svndate},$svndate,g
s,%{svnver},$svnver,g
"
svndate=$(awk '/^%define[ ]+svndate[ ]+/{print $NF}' $specfile)
svnver=$(awk '/^%define[ ]+svnver[ ]+/{print $NF}' $specfile)
-version=$(awk '/^Version:[ ]+/{print $NF}' $specfile)
+branch=$(awk '/^%define[ ]+branch[ ]+/{print $NF}' $specfile)
+basever=$(awk '/^%define[ ]+basever[ ]+/{print $NF}' $specfile)
+version=$(awk '/^Version:[ ]+/{print $NF}' $specfile | tail -n1)
rel=$(awk '/^%define[ ]+rel[ ]+/{print $NF}' $specfile)
if [ "$svndate" = "%{nil}" ]; then
svndate=
sed -i -e "
s/^\(%define[ \t]\+svnver[ \t]\+\)[0-9]\+\$/\1$svnver/
s/^\(%define[ \t]\+svndate[ \t]\+\).\+\$/\1$svndate/
+ s/^\(%define[ \t]\+branch[ \t]\+\).\+\$/\1$branch/
+ s/^\(%define[ \t]\+basever[ \t]\+\).\+\$/\1$basever/
s/^\(%define[ \t]\+rel[ \t]\+\)[0-9]\+\$/\1$release/
s/^\(Version:[ \t]\+\)[.0-9]\+\$/\1$version/
" $specfile
- ../builder -ncs -5 $specfile
+ ../builder --no-init -ncs -5 $specfile
fi
# if we don't build. we're done
dist=$(rpm -E %{pld_release})
arch=$(rpm -E %{_host_cpu})
-outdir=$(readlink -f $dir)/build-$dist-$arch
+outdir=$(readlink -f $dir)/BUILD/$dist-$arch
logfile=$outdir/$pkg.log
rpmdir=$outdir/RPMS
rpmdest=~/public_html/chromium-browser/$dist/$arch
# if already published?
if [ "$publish_packages" = 1 ]; then
- pkg=$rpmdest/$pkg-$version-0.$svnver.$rel.$arch.rpm
+ pkg=$rpmdest/$pkg-$version-${svnver:+0.$svnver.}$release.$arch.rpm
if [ -f "$pkg" ]; then
exit 0
fi
fi
-# setup custom logfile via $HOME_ETC hack
-# TODO: just add --logfile support for builder
-cat > $outdir/.builderrc <<-EOF
- if [ -n "$HOME_ETC" ]; then
- . "$HOME_ETC/.builderrc"
- elif [ -r ~/.builderrc ]; then
- . ~/.builderrc
- fi
- LOGFILE='$logfile'
-EOF
-
command=-bp
test "$build_package" = 1 && command=-bb
-> $logfile
-HOME_ETC=$outdir \
- ../builder $command --clean \
+rpmbuild $command --clean \
--define "_unpackaged_files_terminate_build 1" \
--define '_enable_debug_packages 0' \
+ --define "_topdir $dir" \
+ --define "_specdir $dir" \
+ --define "_sourcedir $dir" \
--define "_builddir $outdir" \
--define "_rpmdir $rpmdir" \
- $specfile || {
+ --without debuginfo \
+ --with verbose \
+ $specfile > $logfile 2>&1 || {
echo >&2 "Package build failed"
tail -n 1000 $logfile >&2
exit 1