diff --git a/packaging/linux/buildpackage.sh b/packaging/linux/buildpackage.sh index ac2dffcfe2..180242028d 100644 --- a/packaging/linux/buildpackage.sh +++ b/packaging/linux/buildpackage.sh @@ -10,11 +10,14 @@ VERSION=$1 BUILTDIR=$2 PACKAGEDIR=$3 +# Clean up +rm -rf root + # Game files mkdir -p root/usr/bin/ cp openra root/usr/bin/ mkdir -p root/usr/share/openra/ -cp -R "$BUILTDIR/" "root/usr/share/openra/" || exit 3 +cp -R $BUILTDIR/* "root/usr/share/openra/" || exit 3 # Desktop Icons mkdir -p root/usr/share/applications/ @@ -49,18 +52,15 @@ cp -r hicolor root/usr/share/icons/ echo "Arch-Linux package build failed, refer to $PWD/package.log." fi ) & -# -# ( -# echo "Building RPM package." -# pushd rpm/ &> /dev/null -# sh buildpackage.sh "$VERSION" ~/rpmbuild "$PACKAGEDIR" &> package.log -# if [ $? -ne 0 ]; then -# echo "RPM package build failed, refer to $PWD/package.log." -# fi -# popd &> /dev/null -# ) & -# + +( + echo "Building RPM package." + cd rpm + sh buildpackage.sh "$VERSION" ../root ~/rpmbuild "$PACKAGEDIR" &> package.log + if [ $? -ne 0 ]; then + echo "RPM package build failed, refer to $PWD/package.log." + fi +) & + wait -# Clean up -rm -rf root \ No newline at end of file diff --git a/packaging/linux/deb/buildpackage.sh b/packaging/linux/deb/buildpackage.sh index f31816b4e6..b54a295ca1 100755 --- a/packaging/linux/deb/buildpackage.sh +++ b/packaging/linux/deb/buildpackage.sh @@ -7,12 +7,13 @@ then exit $E_BADARGS fi VERSION=$1 -PACKAGE_SIZE=`du --apparent-size -c $2/usr | grep "total" | awk '{print $1}'` +rootdir=`readlink -f $2` +PACKAGE_SIZE=`du --apparent-size -c $rootdir/usr | grep "total" | awk '{print $1}'` # Copy template files into a clean build directory (required) mkdir root cp -R DEBIAN root -cp -R $2/usr root +cp -R $rootdir/usr root # Create the control and changelog files from templates sed "s/{VERSION}/$VERSION/" DEBIAN/control | sed "s/{SIZE}/$PACKAGE_SIZE/" > root/DEBIAN/control @@ -30,3 +31,4 @@ dpkg-deb -b . $3/openra-$VERSION.deb # Clean up popd rm -rf root + diff --git a/packaging/linux/pkgbuild/PKGBUILD b/packaging/linux/pkgbuild/PKGBUILD index ed57f0cc66..51b9d7642b 100644 --- a/packaging/linux/pkgbuild/PKGBUILD +++ b/packaging/linux/pkgbuild/PKGBUILD @@ -23,3 +23,4 @@ md5sums=() build() { cp -r {ROOT}/usr/ $pkgdir/ } + diff --git a/packaging/linux/pkgbuild/buildpackage.sh b/packaging/linux/pkgbuild/buildpackage.sh old mode 100644 new mode 100755 index e0b48d8d79..cabf4e5d7b --- a/packaging/linux/pkgbuild/buildpackage.sh +++ b/packaging/linux/pkgbuild/buildpackage.sh @@ -8,11 +8,13 @@ fi PKGVERSION=`echo $1 | sed "s/-/\\./g"` sed -i "s/{VERSION}/$PKGVERSION/" PKGBUILD -sed -i "s/{ROOT}/$2/" PKGBUILD +rootdir=`readlink -f $2` +sed -i "s|{ROOT}|$rootdir|" PKGBUILD makepkg --holdver if [ $? -ne 0 ]; then exit 1 fi -mv openra-$PKGVERSION-1-any.pkg.tar.xz $3 \ No newline at end of file +mv openra-$PKGVERSION-1-any.pkg.tar.xz $3 + diff --git a/packaging/linux/rpm/buildpackage.sh b/packaging/linux/rpm/buildpackage.sh old mode 100644 new mode 100755 index 009b794fb0..841609175c --- a/packaging/linux/rpm/buildpackage.sh +++ b/packaging/linux/rpm/buildpackage.sh @@ -1,16 +1,18 @@ #!/bin/bash E_BADARGS=85 -if [ $# -ne "3" ] +if [ $# -ne "4" ] then - echo "Usage: `basename $0` version packaging-dir outputdir" + echo "Usage: `basename $0` version root-dir packaging-dir outputdir" exit $E_BADARGS fi PKGVERSION=`echo $1 | sed "s/-/\\./g"` -sed -i "s/%define version [0-9\\.]\+/%define version $PKGVERSION/" openra.spec -cp openra.spec "$2/SPECS/" +sed -i "s/{VERSION_FIELD}/$PKGVERSION/" openra.spec +rootdir=`readlink -f $2` +sed -i "s|{ROOT_DIR}|$rootdir|" openra.spec +cp openra.spec "$3/SPECS/" -cd "$2" +cd "$3" rpmbuild --target noarch -bb SPECS/openra.spec if [ $? -ne 0 ]; then @@ -18,4 +20,5 @@ if [ $? -ne 0 ]; then fi cd RPMS/noarch/ -mv openra-$PKGVERSION-1.noarch.rpm $3 +mv openra-$PKGVERSION-1.noarch.rpm $4 + diff --git a/packaging/linux/rpm/openra.spec b/packaging/linux/rpm/openra.spec index 53e69f7766..01c45d1499 100644 --- a/packaging/linux/rpm/openra.spec +++ b/packaging/linux/rpm/openra.spec @@ -1,5 +1,6 @@ %define name openra -%define version 20100801.2 +%define version {VERSION_FIELD} +%define root {ROOT_DIR} Name: %{name} Version: %{version} Release: 1 @@ -22,7 +23,7 @@ and includes Command & Conquer as an official mod. %install rm -rf $RPM_BUILD_ROOT -cp -r ~/openra-package/built/ $RPM_BUILD_ROOT +cp -r %{root} $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT @@ -65,6 +66,7 @@ done /usr/share/openra/*.ttf /usr/share/openra/*.dll /usr/share/openra/*.dll.config +/usr/share/openra/OpenRA.ico /usr/share/openra/VERSION /usr/share/openra/COPYING /usr/share/openra/HACKING @@ -79,3 +81,4 @@ done /usr/share/icons/hicolor/48x48/apps/openra.png /usr/share/icons/hicolor/64x64/apps/openra.png /usr/share/icons/hicolor/128x128/apps/openra.png + diff --git a/packaging/package-all.sh b/packaging/package-all.sh index e90ff058fd..6af5224762 100755 --- a/packaging/package-all.sh +++ b/packaging/package-all.sh @@ -58,7 +58,7 @@ echo "Creating packages..." ) & ( - cd osx + cd osx sh buildpackage.sh "$VERSION" "$BUILTDIR" "$OUTPUTDIR" &> package.log if [ $? -ne 0 ]; then echo "OSX package build failed, refer to osx/package.log." @@ -66,8 +66,8 @@ echo "Creating packages..." ) & ( - cd linux - sh buildpackage.sh "$VERSION" "$BUILTDIR" "$OUTPUTDIR" &> package.log + cd linux + sh buildpackage.sh "$VERSION" "$BUILTDIR" "$OUTPUTDIR" &> package.log if [ $? -ne 0 ]; then echo "linux package build failed, refer to linux/package.log." fi