]> git.lizzy.rs Git - micro.git/blob - tools/build-rpm.sh
3b0382589acb1f11d3dea9af38d54e9e6d501fae
[micro.git] / tools / build-rpm.sh
1
2 #Builds two .rpm packages, for x86 (i386) and amd64 (amd64)
3 #Based on the build-deb.sh but for rpm instead
4
5 function BuildRPMSpec() {
6 dategenerated = date +%F_%H:%M
7 echo Name: micro
8 echo Version: $2
9 echo Release: 1
10 echo "Summary: A feature-rich terminal text editor"
11 echo URL: https://micro-editor.github.io
12 echo "Packager: Zachary Yedidia <zyedidia@gmail.com>"
13 echo License: MIT
14 echo ExclusiveArch: $1
15 echo "Group: Applications/Editors"
16 echo "%description"
17 echo "A modern and intuitive terminal-based text editor."
18 echo " This package contains a modern alternative to other terminal-based"
19 echo " Editors. It is easy to use, supports mouse input, and is customizable"
20 echo " via themes and plugins."
21 echo "%install"
22 echo "mkdir -p /usr/share/doc/micro"
23 echo "install -m 755 micro /usr/bin/micro"
24 echo "install -m 744 AUTHORS /usr/share/doc/micro/AUTHORS"
25 echo "install -m 744 LICENSE /usr/share/doc/micro/LICENSE"
26 echo "install -m 744 LICENSE-THIRD-PARTY /usr/share/doc/micro/LICENSE-THIRD-PARTY"
27 echo "install -m 744 README.md /usr/share/doc/micro/README.md"
28 echo "install -m 744 micro.1.gz /usr/share/man/man1/micro.1.gz"
29 echo "install -m 744 micro.desktop /usr/share/applications/micro.desktop"
30 echo "install -m 744 micro.svg /usr/share/icons/micro.svg"
31 echo "%files"
32 echo "/usr/bin/micro"
33 echo "/usr/share/doc/micro"
34 echo "/usr/share/doc/micro/AUTHORS"
35 echo "/usr/share/doc/micro/LICENSE"
36 echo "/usr/share/doc/micro/LICENSE-THIRD-PARTY"
37 echo "/usr/share/doc/micro/README.md"
38 echo "/usr/share/man/man1/micro.1.gz"
39 echo "/usr/share/applications/micro.desktop"
40 echo "/usr/share/icons/micro.svg"
41 echo "%changelog"
42 echo "Version: $1-$2"
43 echo "Auto generated on $dategenerated by $USER@$HOSTNAME"
44 }
45
46 function installFiles() {
47 TO="$1/$2/usr/share/doc/micro/"
48 mkdir -p $TO
49 cp ../AUTHORS $TO
50 cp ../LICENSE $TO
51 cp ../LICENSE-THIRD-PARTY $TO
52 cp ../README.md $TO
53 gzip -c ../assets/packaging/micro.1 > $1/$2/usr/share/man/man1/micro.1.gz
54 cp ../assets/packaging/micro.deskto $1/$2/usr/share/applications/
55 cp ../assets/logo.svg $1/$2/usr/share/icons/micro.svg
56 }
57
58 version=$1
59 if [ "$1" == "" ]
60 then
61   version=$(go run build-version.go)
62 fi
63 echo "Building packages for Version '$version'"
64 echo "Running Cross-Compile"
65 ./cross-compile.sh $version
66
67 echo "Beginning package build process"
68
69 PKGPATH="../packages/rpm"
70
71 rm -fr $PKGPATH
72 mkdir -p $PKGPATH/amd64/
73 mkdir -p $PKGPATH/i386/
74
75 buildRPMSpec "amd64" "$version" > "$PKGPATH/amd64/micro-$version-amd64.spec"
76 tar -xzf "../binaries/micro-$version-linux.tar.gz" "micro-$version/micro"
77 mv "micro-$version/micro" "$PKGPATH/amd64/usr/local/bin"
78
79 buildRPMSpec "i386" "$version" > "$PKGPATH/i386/micro-$version-i386.spec"
80 tar -xzf "../binaries/micro-$version-linux32.tar.gz" "micro-$version/micro"
81 mv "micro-$version/micro" "$PKGPATH/i386/usr/local/bin/"
82
83 rm -rf "micro-$version"
84 installFiles $PKGPATH "amd64"
85 installFiles $PKGPATH "i386"
86
87 rpmbuild -bb --buildroot $PKGPATH/amd64 $PKGPATH/amd64/micro-$version-amd64.spec
88 rpmbuild -bb --buildroot $PKGPATH/i386 $PKGPATH/i386/micro-$version-i386.spec