Update build scripts; Use the new Sanity installer;

This commit is contained in:
Tony George 2017-09-17 19:34:01 +05:30
parent 9a80e8623f
commit 838fee14fe
22 changed files with 2192 additions and 558 deletions

View File

@ -6,3 +6,5 @@ installer/*.deb
installer/*.run
designs/
.git/
*.c
*.o

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
src/timeshift
src/timeshift-gtk
installer/amd64
installer/i386
installer/*.deb
installer/*.run
designs/
.bzr/
*.c
*.o

2038
.pot Normal file

File diff suppressed because it is too large Load Diff

6
BUILD_CONFIG Normal file
View File

@ -0,0 +1,6 @@
app_fullname="Timeshift"
app_name="timeshift"
pkg_name="timeshift"
pkg_version=$(dpkg-parsechangelog --show-field Version)
git_origin="git@github.com:teejee2008/timeshift.git"

View File

@ -1,60 +0,0 @@
#!/bin/bash
app_name='timeshift'
app_fullname='Timeshift'
dsc="${app_name}*.dsc"
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd $DIR
if [ -z "$1" ]; then
echo ""
echo "E: Distribution name not specified"
echo ""
echo "Syntax: build-deb-for-dist <dist> <arch>"
echo "Example: build-deb-for-dist trusty amd64"
echo ""
exit 1
else
dist=$1
fi
if [ -z "$2" ]; then
echo ""
echo "E: Architecture not specified"
echo ""
echo "Syntax: build-deb-for-dist <dist> <arch>"
echo "Example: build-deb-for-dist trusty amd64"
echo ""
exit 1
else
arch=$2
fi
sh build-source.sh
cd ../builds
# build installer -------------------------------------
#for arch in amd64
#do
rm -rf "${dist}-${arch}"
mkdir -p "${dist}-${arch}"
sudo pbuilder --build --distribution ${dist} --architecture ${arch} --buildresult "${dist}-${arch}" --basetgz "../pbuilder/build/${dist}/base-${arch}.tgz" ${dsc}
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cp "${dist}-${arch}"/* ./
#done
cd "$backup"

View File

@ -2,19 +2,50 @@
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
cd $DIR
rm -rf ../builds
. ./BUILD_CONFIG
bzr builddeb --native --build-dir ../builds/temp --result-dir ../builds
tgz="../../pbuilder/"
dsc="../../builds/${pkg_name}*.dsc"
libs="../../libs"
sh build-source.sh
cd installer
for arch in i386 amd64
do
echo ""
echo "=========================================================================="
echo " build-deb.sh : $arch"
echo "=========================================================================="
echo ""
rm -rfv ${arch}
mkdir -pv ${arch}
echo "-------------------------------------------------------------------------"
sudo pbuilder --build --buildresult ${arch} --basetgz "${tgz}base-${arch}.tgz" ${dsc}
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
cd "$backup"; echo "Failed"; exit 1;
fi
ls -l ../builds
echo "--------------------------------------------------------------------------"
cp -pv --no-preserve=ownership ./${arch}/${pkg_name}*.deb ./${pkg_name}-v${pkg_version}-${arch}.deb
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"; echo "Failed"; exit 1;
fi
echo "--------------------------------------------------------------------------"
done
cd "$backup"

View File

@ -1,25 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
sh build-deb.sh
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
sudo gdebi --non-interactive ../builds/timeshift*.deb
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -1,58 +0,0 @@
#!/bin/bash
app_name='timeshift'
app_fullname='Timeshift'
tgz="../../pbuilder/"
dsc="../../builds/${app_name}*.dsc"
libs="../../libs"
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd $DIR
sh build-source.sh
cd installer
echo "Building installer..."
chmod u+x ./install.sh
# build installer -------------------------------------
for arch in i386 amd64
do
rm -rf ${arch}
mkdir -p ${arch}
sudo pbuilder --build --buildresult ${arch} --basetgz "${tgz}base-${arch}.tgz" ${dsc}
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
dpkg-deb -x ${arch}/${app_name}*.deb ${arch}/extracted
cp -p --no-preserve=ownership -t ${arch}/extracted ./install.sh
cp -p --no-preserve=ownership -t ${arch}/extracted/usr/share/${app_name}/libs ${libs}/${arch}/libgee.so.2
cp -p --no-preserve=ownership -t ${arch}/extracted/usr/share/${app_name}/libs ${libs}/${arch}/libgudev-1.0.so.0
cp -p --no-preserve=ownership -t ${arch}/extracted/usr/share/${app_name}/libs ${libs}/${arch}/libjson-glib-1.0.so.0
chmod --recursive 0755 ${arch}/extracted/usr/share/${app_name}
makeself ${arch}/extracted ./${app_name}-latest-${arch}.run "${app_fullname} (${arch})" ./install.sh
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cp -p --no-preserve=ownership ./${arch}/${app_name}*.deb ./${app_name}-latest-${arch}.deb
done
cd "$backup"

56
build-installers.sh Executable file
View File

@ -0,0 +1,56 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd $DIR
. ./BUILD_CONFIG
rm -vf installer/*.run
rm -vf installer/*.deb
# build debs
sh build-deb.sh
cd installer
for arch in i386 amd64
do
rm -rfv ${arch}/files
mkdir -pv ${arch}/files
echo ""
echo "=========================================================================="
echo " build-installers.sh : $arch"
echo "=========================================================================="
echo ""
dpkg-deb -x ${arch}/${pkg_name}*.deb ${arch}/files
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"; echo "Failed"; exit 1;
fi
echo "--------------------------------------------------------------------------"
rm -rfv ${arch}/${pkg_name}*.* # remove extra files
cp -pv --no-preserve=ownership ./sanity.config ./${arch}/sanity.config
sanity --generate --base-path ./${arch} --out-path . --arch ${arch}
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"; echo "Failed"; exit 1;
fi
mv -v ./*${arch}.run ./${pkg_name}-v${pkg_version}-${arch}.run
echo "--------------------------------------------------------------------------"
done
cp -vf *.run ../../PACKAGES/
cp -vf *.deb ../../PACKAGES/
cd "$backup"

View File

@ -1,32 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
sh build-installer.sh
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd installer
for arch in i386 amd64
do
cp -p --no-preserve=ownership -t /home/teejee/Dropbox/Public/linux ./timeshift-latest-${arch}.run
cp -p --no-preserve=ownership -t /home/teejee/Dropbox/Public/linux ./timeshift-latest-${arch}.deb
done
cd ..
sh push.sh
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -4,24 +4,42 @@ backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
. ./BUILD_CONFIG
echo ""
echo "=========================================================================="
echo " build-source.sh"
echo "=========================================================================="
echo ""
echo "app_name: $app_name"
echo "pkg_name: $pkg_name"
echo "--------------------------------------------------------------------------"
# commit to bzr repo
bzr add *
bzr commit -m "updated"
#skip errors as commit may fail if no changes
echo "--------------------------------------------------------------------------"
# clean build dir
rm -rf ../builds
# build source
bzr builddeb --source --native --build-dir ../builds/temp --result-dir ../builds
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
cd "$backup"; echo "Failed"; exit 1;
fi
echo "--------------------------------------------------------------------------"
# list files
ls -l ../builds
echo "-------------------------------------------------------------------------"
cd "$backup"

View File

@ -1,21 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
echo "Adding Git origin..."
git remote add origin git@github.com:teejee2008/timeshift.git
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -1,19 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
echo "Re-initializing Git repo and pushing changes..."
git push --force --set-upstream origin master
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -1,19 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
echo "Pushing local changes to Git repo..."
git push -u origin master
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -1,21 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
echo "Updating local Git repo..."
bzr fast-export --plain . | git fast-import
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -1,236 +0,0 @@
#!/bin/bash
app_name='timeshift'
app_fullname='Timeshift'
generic_depends=(rsync libgee json-glib)
debian_depends=(rsync libgee2 libjson-glib-1.0-0)
redhat_depends=(rsync libgee json-glib)
arch_depends=(rsync libgee json-glib)
generic_recommends=()
debian_recommends=()
redhat_recommends=()
arch_recommends=()
Reset='\e[0m'
Red='\e[1;31m'
Green='\e[1;32m'
Yellow='\e[1;33m'
CHECK_COLOR_SUPPORT() {
colors=`tput colors`
if [ $colors -gt 1 ]; then
COLORS_SUPPORTED=0
else
COLORS_SUPPORTED=1
fi
}
MSG_INFO() {
add_newline=''
if [ "$2" == 0 ]; then
add_newline='-n'
fi
if [ $COLORS_SUPPORTED -eq 0 ]; then
echo -e ${add_newline} "[${Yellow}*${Reset}] ${Green}$1${Reset}"
else
echo -e ${add_newline} "[*] $1"
fi
}
MSG_WARNING() {
add_newline=''
if [ "$2" == 0 ]; then
add_newline='-n'
fi
if [ $COLORS_SUPPORTED -eq 0 ]; then
echo -e ${add_newline} "[${Red}!${Reset}] ${Yellow}$1${Reset}"
else
echo -e ${add_newline} "[!] $1"
fi
}
MSG_ERROR() {
add_newline=''
if [ "$2" == 0 ]; then
add_newline='-n'
fi
if [ $COLORS_SUPPORTED -eq 0 ]; then
echo -e ${add_newline} "[${Red}X${Reset}] ${Yellow}$1${Reset}"
else
echo -e ${add_newline} "[X] $1"
fi
}
CD_PUSH() {
cd_backup=`pwd`
}
CD_POP() {
if [ ! -z "${cd_backup}" ]; then
cd "${cd_backup}"
fi
}
BACKUP_IFS(){
IFS_backup="${IFS}"
}
SET_IFS_NEWLINE(){
IFS=$'\n'
}
RESET_IFS() {
if [ ! -z "${IFS_backup}" ]; then
IFS="${IFS_backup}"
fi
}
EXIT(){
RESET_IFS
CD_POP
exit $1
}
WAIT_FOR_INPUT() {
echo ""
echo "Press any key to exit..."
read dummy
}
GET_SCRIPT_PATH(){
SCRIPTPATH="$(cd "$(dirname "$0")" && pwd)"
SCRIPTNAME=`basename $0`
}
RUN_AS_ADMIN() {
if [ ! `id -u` -eq 0 ]; then
GET_SCRIPT_PATH
if command -v sudo >/dev/null 2>&1; then
sudo "${SCRIPTPATH}/${SCRIPTNAME}"
EXIT $?
elif command -v su >/dev/null 2>&1; then
su -c "${SCRIPTPATH}/${SCRIPTNAME}"
EXIT $?
else
echo ""
MSG_ERROR "** Installer must be run as Admin (using 'sudo' or 'su') **"
echo ""
EXIT 1
fi
fi
}
CD_PUSH
CHECK_COLOR_SUPPORT
RUN_AS_ADMIN
BACKUP_IFS
SET_IFS_NEWLINE
MSG_INFO "Expanding directories..."
for f in `find ./ -type d -exec echo "{}" \;`; do
directory=`echo "$f" | sed -r 's/^.{2}//'`
mkdir -p -m 755 "/$directory"
echo "/$directory"
done
echo ""
MSG_INFO "Installing files..."
for f in `find ./ -type f \( ! -iname "install.sh" \) -exec echo "{}" \;`; do
file=`echo "$f" | sed -r 's/^.{2}//'`
install -m 0755 "./$file" "/$file"
echo "/$file"
done
echo ""
RESET_IFS
install_dependencies=y
if command -v apt-get >/dev/null 2>&1; then
if [ -f /etc/debian_version ]; then
install_dependencies=y
else
MSG_INFO "Found 'apt-get' package manager"
MSG_INFO "Install dependencies with 'apt-get'? (y/n):" "0"
read install_dependencies
if [ "$install_dependencies" == "" ]; then
install_dependencies=y
fi
fi
if [ "$install_dependencies" == "y" ]; then
MSG_INFO "Installing Debian packages..."
echo ""
for i in "${debian_depends[@]}"; do
MSG_INFO "Installing: $i"
apt-get install $i
echo ""
done
fi
elif command -v yum >/dev/null 2>&1; then
if [ -f /etc/redhat-release ]; then
install_dependencies=y
else
MSG_INFO "Found 'yum' package manager"
MSG_INFO "Install dependencies with 'yum'? (y/n):" "0"
read install_dependencies
if [ "$install_dependencies" == "" ]; then
install_dependencies=y
fi
fi
if [ "$install_dependencies" == "y" ]; then
MSG_INFO "Installing RedHat packages..."
echo ""
for i in "${redhat_depends[@]}"; do
MSG_INFO "Installing: $i"
yum install $i
echo ""
done
fi
elif command -v pacman >/dev/null 2>&1; then
if [ -f /etc/arch-release ] || [ -f /etc/manjaro-release ]; then
install_dependencies=y
else
MSG_INFO "Found 'pacman' package manager"
MSG_INFO "Install dependencies with 'pacman'? (y/n):" "0"
read install_dependencies
if [ "$install_dependencies" == "" ]; then
install_dependencies=y
fi
fi
if [ "$install_dependencies" == "y" ]; then
MSG_INFO "Installing ArchLinux packages..."
echo ""
for i in "${arch_depends[@]}"; do
MSG_INFO "Installing: $i"
pacman -S $i
echo ""
done
fi
fi
echo ""
MSG_INFO "Install completed."
echo ""
echo "******************************************************************"
echo "Start ${app_fullname} using the shortcut in the Applications Menu"
echo "or by running the command: sudo ${app_name}"
echo "If it fails to start, check and install the following packages:"
echo "Required: ${generic_depends[@]}"
echo "Optional: (none)"
echo "******************************************************************"
WAIT_FOR_INPUT
EXIT 0

7
installer/sanity.config Normal file
View File

@ -0,0 +1,7 @@
app_name: Timeshift
depends_debian: libgee-0.8-2 libvte-2.91-0 libjson-glib-1.0-0 libxml2 libsoup2.4 rsync
depends_redhat: libgee vte291 json-glib libxml2 rsync
depends_arch: libgee vte3 json-glib libxml2 rsync
depends_generic: libgee libvte json-glib libxml2 libsoup rsync
assume_yes: 0
exec_line: timeshift-gtk

View File

@ -1,3 +0,0 @@
#!/bin/bash
grep -n --color=always -R TODO src/

30
push.sh
View File

@ -1,30 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
sh build-source.sh
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
echo "Pushing new revisions to launchpad..."
bzr push lp:~teejee2008/timeshift/trunk
#check for errors
if [ $? -ne 0 ]; then
cd "$backup"
echo "Failed"
exit 1
fi
cd "$backup"

View File

@ -17,7 +17,7 @@ long_line_behaviour=1
long_line_column=80
[files]
current_page=53
current_page=23
FILE_NAME_0=932;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FArchiveFile.vala;0;4
FILE_NAME_1=3523;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FAsyncTask.vala;0;4
FILE_NAME_2=37;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility%2FBash.vala;0;4
@ -41,7 +41,7 @@ FILE_NAME_19=2223;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftime
FILE_NAME_20=11352;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FCore%2FSnapshot.vala;0;4
FILE_NAME_21=6998;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FCore%2FSnapshotRepo.vala;0;4
FILE_NAME_22=2675;Make;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2Fmakefile;0;4
FILE_NAME_23=6321;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FRsyncLogWindow.vala;0;4
FILE_NAME_23=2717;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FRsyncLogWindow.vala;0;4
FILE_NAME_24=1669;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FBackupBox.vala;0;4
FILE_NAME_25=2509;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FEstimateBox.vala;0;4
FILE_NAME_26=3409;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FGtk%2FBackupDeviceBox.vala;0;4

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: timeshift 1.6\n"
"Report-Msgid-Bugs-To: teejeetech@gmail.com\n"
"POT-Creation-Date: 2017-01-26 13:48+0530\n"
"POT-Creation-Date: 2017-09-17 19:16+0530\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1122,7 +1122,7 @@ msgstr ""
msgid "Invalid snapshot"
msgstr ""
#: Gtk/ExcludeBox.vala:276
#: Gtk/ExcludeBox.vala:277
msgid "Items Not Selected"
msgstr ""
@ -1411,7 +1411,7 @@ msgid ""
"(@ and @home subvolumes). Other layouts are not supported."
msgstr ""
#: Core/Main.vala:3885
#: Core/Main.vala:3891
msgid "Older log files removed"
msgstr ""
@ -1826,11 +1826,11 @@ msgstr ""
msgid "Select backup device"
msgstr ""
#: Gtk/ExcludeBox.vala:429
#: Gtk/ExcludeBox.vala:428
msgid "Select directory"
msgstr ""
#: Gtk/ExcludeBox.vala:409
#: Gtk/ExcludeBox.vala:408
msgid "Select file(s)"
msgstr ""
@ -1854,7 +1854,7 @@ msgstr ""
msgid "Select the intervals for creating snapshots"
msgstr ""
#: Gtk/ExcludeBox.vala:277
#: Gtk/ExcludeBox.vala:278
msgid "Select the items to be removed from the list"
msgstr ""

View File

@ -1,10 +0,0 @@
#!/bin/bash
backup=`pwd`
DIR="$( cd "$( dirname "$0" )" && pwd )"
cd "$DIR"
sh ./build-source.sh
dput ppa:teejee2008/ppa ../builds/timeshift*.changes
cd "$backup"