-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcreate_rpm
executable file
·76 lines (59 loc) · 2.63 KB
/
create_rpm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
RED="\033[1;31m"
GREEN="\033[1;32m"
NOCOLOR="\033[0m"
if [ "$(whoami)" != "root" ]; then
echo -e "${RED}Error:$NOCOLOR Needs root permission"
exit 1
fi
VERSION="$(grep "VERSION=" < aletheia | cut -d'"' -f2)"
REVISION=12
SRCDIR=${SRCDIR:-"$(pwd)"}
TMPDIR="/tmp/fedora-package-aletheia/"
OS="$(grep -E "^NAME[[:space:]]*=" /etc/os-release)"
OS="${OS#*=}"
if [ -e "$TMPDIR" ]; then
rm -rf "$TMPDIR"
fi
mkdir -p "$TMPDIR"/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SOURCES/man,SPECS,SRPMS}
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/bin/"
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/share/man/man1"
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/share/applications"
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/share/icons/"
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/languages/"
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/themes/"
mkdir -p "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/vimrc/"
cp "$SRCDIR/aletheia" "$TMPDIR/rpmbuild/SOURCES/usr/bin/"
cp "$SRCDIR/aletheia_desktop_launcher" "$TMPDIR/rpmbuild/SOURCES/usr/bin/"
cp "$SRCDIR/aletheia.1" "$TMPDIR/rpmbuild/SOURCES/usr/share/man/man1"
cp "$SRCDIR/aletheia.desktop" "$TMPDIR/rpmbuild/SOURCES/usr/share/applications/"
cp "$SRCDIR/aletheia.png" "$TMPDIR/rpmbuild/SOURCES/usr/share/icons/"
cp "$SRCDIR/example."* "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/"
cp "$SRCDIR/languages/"* "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/languages/"
cp "$SRCDIR/themes/"* "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/themes/"
cp "$SRCDIR/vimrc/"* "$TMPDIR/rpmbuild/SOURCES/usr/share/aletheia/vimrc/"
cp "$SRCDIR/aletheia.spec" "$TMPDIR/rpmbuild/SPECS/"
sed -i "/^ALETHEIA_DATA_DIR/s#.*#ALETHEIA_DATA_DIR=\"/usr/share/aletheia/\"#g" "$TMPDIR/rpmbuild/SOURCES/usr/bin/aletheia"
sed -i "s/%%DATE%%/$(date +"%a %b %e %Y")/g;s/%%VERSION%%/$VERSION/g;s/%%REVISION%%/$REVISION/g;s/%%TMPDIR%%/${TMPDIR//\//\\\/}/g" "$TMPDIR/rpmbuild/SPECS/aletheia.spec"
if [[ "$OS" == *"openSUSE"* ]]; then
sed -i "s/perl-Image-ExifTool/exiftool/g" "$TMPDIR/rpmbuild/SPECS/aletheia.spec"
fi
if [[ "$OS" == *"openSUSE"* ]]; then
path="/usr/src/packages"
else
path="$HOME/rpmbuild"
fi
rm -f "$path/RPMS/noarch/aletheia-${VERSION}-"*".noarch.rpm" >/dev/null 2>&1
cd "$TMPDIR" || exit 1
if ! rpmbuild -bb rpmbuild/SPECS/aletheia.spec; then
echo -e "\n${RED}Error: ${NOCOLOR}Package creation failed\n"
exit 1
fi
mv "$path/RPMS/noarch/aletheia-${VERSION}-"*".noarch.rpm" "$SRCDIR"
file="$(ls "$SRCDIR/aletheia-${VERSION}-"*".noarch.rpm")"
if [[ "$OS" == *"openSUSE"* ]]; then
echo -e "\n${GREEN}Install:\n\n${NOCOLOR}sudo zypper install ./${file##*/}\n"
else
echo -e "\n${GREEN}Install:\n\n${NOCOLOR}sudo dnf install ./${file##*/}\n"
fi
exit 0