]> git.lizzy.rs Git - micro.git/blobdiff - tools/build-rpm.sh
Make XML highlighting more fine-grained
[micro.git] / tools / build-rpm.sh
index 8385c91b91e756db2bffba2dec9345b9d43d9d2b..f910cb4a9557a2190dd68fe6668f642695c8ed4a 100755 (executable)
@@ -1,88 +1,59 @@
-
-#Builds two .rpm packages, for x86 (i386) and amd64 (amd64)
-#Based on the build-deb.sh but for rpm instead
-
-function BuildRPMSpec() {
-dategenerated = date +%F_%H:%M
-echo Name: micro
-echo Version: $2
-echo Release: 1
-echo "Summary: A feature-rich terminal text editor"
-echo URL: https://micro-editor.github.io
-echo "Packager: Zachary Yedidia <zyedidia@gmail.com>"
-echo License: MIT
-echo ExclusiveArch: $1
-echo "Group: Applications/Editors"
-echo "%description"
-echo "A modern and intuitive terminal-based text editor."
-echo " This package contains a modern alternative to other terminal-based"
-echo " Editors. It is easy to use, supports mouse input, and is customizable"
-echo " via themes and plugins."
-echo "%install"
-echo "mkdir -p /usr/share/doc/micro"
-echo "install -m 755 micro /usr/local/bin/micro"
-echo "install -m 744 AUTHORS /usr/share/doc/micro/AUTHORS"
-echo "install -m 744 LICENSE /usr/share/doc/micro/LICENSE"
-echo "install -m 744 LICENSE-THIRD-PARTY /usr/share/doc/micro/LICENSE-THIRD-PARTY"
-echo "install -m 744 README.md /usr/share/doc/micro/README.md"
-echo "install -m 744 micro.1.gz /usr/share/man/man1/micro.1.gz"
-echo "install -m 744 micro.desktop /usr/share/applications/micro.desktop"
-echo "install -m 744 micro.svg /usr/share/icons/micro.svg"
-echo "%files"
-echo "/usr/local/bin/micro"
-echo "/usr/share/doc/micro"
-echo "/usr/share/doc/micro/AUTHORS"
-echo "/usr/share/doc/micro/LICENSE"
-echo "/usr/share/doc/micro/LICENSE-THIRD-PARTY"
-echo "/usr/share/doc/micro/README.md"
-echo "/usr/share/man/man1/micro.1.gz"
-echo "/usr/share/applications/micro.desktop"
-echo "/usr/share/icons/micro.svg"
-echo "%changelog"
-echo "Version: $1-$2"
-echo "Auto generated on $dategenerated by $USER@$HOSTNAME"
-}
-
-function installFiles() {
-TO="$1/$2/usr/share/doc/micro/"
-mkdir -p $TO
-cp ../AUTHORS $TO
-cp ../LICENSE $TO
-cp ../LICENSE-THIRD-PARTY $TO
-cp ../README.md $TO
-gzip -c ../assets/packaging/micro.1 > $1/$2/usr/share/man/man1/micro.1.gz
-cp ../assets/packaging/micro.deskto $1/$2/usr/share/applications/
-cp ../assets/logo.svg $1/$2/usr/share/icons/micro.svg
-}
-
+#This script builds four rpm packages
+#One for x86 (i386) and x86_64 (amd64) and arm (armv7l)
+#and one containing the source tarball
 version=$1
-if [ "$1" == "" ]
-then
-  version=$(go run build-version.go)
+if [ "$1" == "" ] 
+   then
+     version=$(go run build-version.go | tr "-" ".")
 fi
 echo "Building packages for Version '$version'"
-echo "Running Cross-Compile"
-./cross-compile.sh $version
-
-echo "Beginning package build process"
+echo "Compiling."
+./compile-linux.sh $version
 
 PKGPATH="../packages/rpm"
 
-rm -fr $PKGPATH
-mkdir -p $PKGPATH/amd64/
-mkdir -p $PKGPATH/i386/
-
-buildRPMSpec "amd64" "$version" > "$PKGPATH/amd64/micro-$version-amd64.spec"
-tar -xzf "../binaries/micro-$version-linux.tar.gz" "micro-$version/micro"
-mv "micro-$version/micro" "$PKGPATH/amd64/usr/local/bin"
-
-buildRPMSpec "i386" "$version" > "$PKGPATH/i386/micro-$version-i386.spec"
-tar -xzf "../binaries/micro-$version-linux32.tar.gz" "micro-$version/micro"
-mv "micro-$version/micro" "$PKGPATH/i386/usr/local/bin/"
-
-rm -rf "micro-$version"
-installFiles $PKGPATH "amd64"
-installFiles $PKGPATH "i386"
-
-rpmbuild -bb --buildroot $PKGPATH/amd64 $PKGPATH/amd64/micro-$version-amd64.spec
-rpmbuild -bb --buildroot $PKGPATH/i386 $PKGPATH/i386/micro-$version-i386.spec
+rm -rf $PKGPATH
+mkdir -p $PKGPATH
+versionsplit=$(echo $version | tr "." "\n")
+version=""
+i=0
+for string in $versionsplit
+do
+       if (("$i" < "2")) 
+       then
+               version=$(echo $version$string.)
+       fi
+       if (("$i" == "2")) 
+       then
+               version=$(echo $version$string)
+       fi
+       if (("$i" == "3")) 
+       then
+               dev=$(echo $dev$string.)
+       fi
+       if (("$i"=="4"))
+       then
+               dev=$(echo $dev$string)
+       fi
+       let "i+=1"
+done
+echo "Starting the packaging process"
+#Generate the spec file
+cat micro.spec | sed s/"dev.126"/"$dev"/ | sed s/"Version: 1.1.5"/"Version: $version"/ | sed s/"-Version: 1.1.5"/"-Version: $version"/ | sed s/"DATE"/"$(date +%F\ %H:%m)"/ | sed s/"rdieter1@localhost.localdomain"/"$USER@$HOSTNAME"/ | tee > $PKGPATH/micro.spec
+
+cd $PKGPATH
+
+rpmbuild -bs micro.spec --define "_sourcedir $(pwd)/../../binaries/" --define "_rpmdir $(pwd)/../"
+rpmbuild -bb micro.spec --define "_sourcedir $(pwd)/../../binaries/" --define "_rpmdir $(pwd)/../" --target x86_64
+rpmbuild -bb micro.spec --define "_sourcedir $(pwd)/../../binaries/" --define "_rpmdir $(pwd)/../" --target i686
+rpmbuild -bb micro.spec --define "_sourcedir $(pwd)/../../binaries/" --define "_rpmdir $(pwd)/../" --target armv7l
+
+cd ..
+
+mv x86_64/micro-$version-1.$dev.x86_64.rpm ./
+mv i686/micro-$version-1.$dev.i686.rpm ./
+mv armv7l/micro-$version-1.$dev.armv7l.rpm ./
+
+rm -rf x86_64
+rm -rf i686
+rm -rf armv7l