summaryrefslogtreecommitdiffstats
path: root/debian/_buildscripts/local/create_repo.sh
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2018-07-11 23:38:32 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2018-07-11 23:38:32 +0900
commiteeaccbeddbaa2974406eb20cbb7beca3fb4a59f0 (patch)
tree510e0eea682ebf69263b187287873956394b5e7b /debian/_buildscripts/local/create_repo.sh
parent02dbbffa606c3c52833bbaf3dc5c5a050f295dbf (diff)
downloadtde-packaging-eeaccbeddbaa2974406eb20cbb7beca3fb4a59f0.tar.gz
tde-packaging-eeaccbeddbaa2974406eb20cbb7beca3fb4a59f0.zip
DEB build scripts: several enhancements as follow:
- major rework of update_repositories.sh script, which now supports multiple branches and provide better feedback to user. - added support for pre-built extra dependency packages. A user can now use Slavek Banko's binary packages instead of building the extra dependency locally. This removes a quite tedious process during the setup of the building environment. - bug fixes and more user friendly folder names. - improved README to cover the complete process until TDE installation. Special thanks to Gregory Guy <zadig83@laposte.net> for testing and feedback done so far. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'debian/_buildscripts/local/create_repo.sh')
-rwxr-xr-xdebian/_buildscripts/local/create_repo.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/debian/_buildscripts/local/create_repo.sh b/debian/_buildscripts/local/create_repo.sh
new file mode 100755
index 000000000..f03f92e84
--- /dev/null
+++ b/debian/_buildscripts/local/create_repo.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+#
+# Create/update TDE local debian repository
+#
+
+# Load common code and initialization
+. ./internals/_build_common.sh
+init_common
+
+#----------------------------
+# Check command line arguments
+parm_MAKE_BACKUP="n"
+for arg in $@; do
+ if [ "$arg" = "-b" ]; then # backup old repository
+ parm_MAKE_BACKUP="y"
+ fi
+done
+
+
+#----------------------------
+# Create/update TDE local debian repository
+echo -e "${CLightCyan}#### TDE local repository creation begin ####${CNone}"
+ARCH_PATH="dists/$DISTRO_NAME/main/binary-$ARCHITECTURE"
+REPO_DIR="$TDE_DIR/$CFG_REPO_DIR"
+REPO_DIR_BACKUP="$REPO_DIR.backup"
+REPO_PKG_DIR="$REPO_DIR/$ARCH_PATH"
+
+# Backup
+if [ "$parm_MAKE_BACKUP" = "y" ] && [ -d "$REPO_DIR" ]; then
+ echo -e "${CYellow}> Backing up old repository${CNone}"
+ rm -R "$REPO_DIR_BACKUP" &>/dev/null
+ mv "$REPO_DIR" "$REPO_DIR_BACKUP" &>/dev/null
+ echo "Copy of the old repository available at \"$REPO_DIR_BACKUP\""
+fi
+
+# Create repository
+echo -e "${CYellow}> Creating new repository${CNone}"
+if [ -d "$REPO_DIR" ]; then
+ rm -R "$REPO_DIR" &>/dev/null
+fi
+mkdir -p "$REPO_PKG_DIR"
+rsync -aHS --exclude="*/src/*.xz" --exclude="*/src/*.dsc" --exclude="*/src/*.changes" --exclude="*/src/*.buildinfo" --exclude="Packages*" "$TDE_DEBS_DIR/" "$REPO_PKG_DIR/"
+
+# Create package index file
+echo -e "${CYellow}> Creating package index file${CNone}"
+cd "$REPO_DIR"
+dpkg-scanpackages "./$ARCH_PATH" | gzip -9c > "./$ARCH_PATH/Packages.gz"
+
+
+#----------------------------
+# Repository created
+echo -e "${CLightGreen}#### TDE local repository created ####${CNone}"
+cd "$SCRIPT_DIR"
+exit 0