]> git.lizzy.rs Git - micro.git/blob - tools/build-deb.sh
Fix Makefile = highlighting
[micro.git] / tools / build-deb.sh
1 # Builds three .deb packages, for x86 (i386) and x86_64 (amd64) and arm (arm)
2 # These packages include a manpage, an icon, and a desktop file.
3
4 function getControl() {
5 echo Section: editors
6 echo Package: micro
7 echo Version: $2
8 echo Priority: extra
9 echo Maintainer: \"Zachary Yedidia\" \<zyedidia@gmail.com\>
10 echo Standards-Version: 3.9.8
11 echo Homepage: https://micro-editor.github.io/
12 echo Architecture: $1
13 echo "Description: A modern and intuitive terminal-based text editor"
14 echo " This package contains a modern alternative to other terminal-based"
15 echo " Editors. It is easy to Use, highly customizable via themes and plugins"
16 echo " and it supports mouse input"
17 }
18
19 function installFiles() {
20   TO="$1/$2/usr/share/doc/micro/"
21   mkdir -p $TO
22   mkdir -p "$1/$2/usr/share/man/man1/"
23   mkdir -p "$1/$2/usr/share/applications/"
24   mkdir -p "$1/$2/usr/share/icons/"
25   cp ../LICENSE $TO
26   cp ../LICENSE-THIRD-PARTY $TO
27   cp ../README.md $TO
28   gzip -c ../assets/packaging/micro.1 > $1/$2/usr/share/man/man1/micro.1.gz
29   cp ../assets/packaging/micro.desktop $1/$2/usr/share/applications/
30   cp ../assets/logo.svg $1/$2/usr/share/icons/micro.svg
31 }
32
33 version=$1
34 if [ "$1" == "" ]
35   then
36     version=$(go run build-version.go | tr "-" ".")
37 fi
38 echo "Building packages for Version '$version'"
39 echo "Compiling."
40 ./compile-linux.sh $version
41        
42 echo "Beginning package build process"
43         
44 PKGPATH="../packages/deb"
45         
46 rm -fr $PKGPATH
47 mkdir -p $PKGPATH/amd64/DEBIAN/
48 mkdir -p $PKGPATH/i386/DEBIAN/
49 mkdir -p $PKGPATH/arm/DEBIAN/
50
51 getControl "amd64" "$version" > $PKGPATH/amd64/DEBIAN/control
52 tar -xzf "../binaries/micro-$version-linux64.tar.gz" "micro-$version/micro"
53 mkdir -p $PKGPATH/amd64/usr/local/bin/
54 mv "micro-$version/micro" "$PKGPATH/amd64/usr/local/bin/"
55         
56 getControl "i386" "$version" > $PKGPATH/i386/DEBIAN/control
57 tar -xzf "../binaries/micro-$version-linux32.tar.gz" "micro-$version/micro"
58 mkdir -p $PKGPATH/i386/usr/local/bin/
59 mv "micro-$version/micro" "$PKGPATH/i386/usr/local/bin/"
60         
61 getControl "arm" "$version" > $PKGPATH/arm/DEBIAN/control
62 tar -xzf "../binaries/micro-$version-linux-arm.tar.gz" "micro-$version/micro"
63 mkdir -p $PKGPATH/arm/usr/local/bin
64 mv "micro-$version/micro" "$PKGPATH/arm/usr/local/bin"
65         
66 rm -rf "micro-$version"
67         
68 installFiles $PKGPATH "amd64"
69 installFiles $PKGPATH "i386"
70 installFiles $PKGPATH "arm"
71         
72 dpkg -b "$PKGPATH/amd64/" "../packages/micro-$version-amd64.deb"
73 dpkg -b "$PKGPATH/i386/" "../packages/micro-$version-i386.deb"
74 dpkg -b "$PKGPATH/arm/" "../packages/micro-$version-arm.deb"