#!/bin/bash # makedebs script for easy compiling and building deb packages for beryl git # # (c) 2006-2007 Trevio - Released under GPLv2 Terms # # USAGE # You should simply run this script to create and your beryl git # tree and package it, but there are also some "advanced" tasks: # # ./makedebs performs all the tasks (sync and package) # ./makedebs update just sync the local data to remote git # ./makedebs build try to build the needed items # ./makedebs build only the (if needed) # ./makedebs rebuild force a rebuild of the # ./makedebs repack force a repack of the # # To change the content of a package (or applying patch) you can add # some bash script files called "pkgxtra.sh" on each dir to # perform extra tasks after that each package has been compiled # # To Package an file not included yet on the $DISTRODIR you can # define add an "/debian" folder to your $DISTRODIR_USER (see below) # packager="Trevi" packager_email="trevi55@gmail.com" package_sufix="3v1ubuntu" #to test settings-dump properly export DISPLAY="" DEFPREFIX="/usr/local" MYPREFIX=${PREFIX:-$DEFPREFIX} DISTRODIR="distro-specific-build-files" DISTRODIR_USER="distro-specific-build-files-user" PRIOPKGS="beryl-core beryl-settings-bindings beryl-plugins" GITURL="git+ssh://maniac@git.beryl-project.org/git" GITWEB="http://gitweb.beryl-project.org" #for i in $(find |grep "\.git/remotes/origin"); do echo $i; perl -i -p -e 's/git./anongit./' $i; done #sed -i -e 's;git://git\.;git://anongit.;' ${file} autogenpkg_cmd="./autogen.sh --prefix=$MYPREFIX" buildpkg_cmd="fakeroot dpkg-buildpackage -b -us -uc" repkg_cmd="fakeroot ./debian/rules binary" git_items="$(wget -q -O - "$GITWEB/?a=project_index"|grep "^$1/" | cut -d' ' -f1)" if [ -z "$git_items" ]; then echo "There are problems while retrieving the beryl items list; exiting..." exit 2; fi if [ -z "$(which git-clone)" ]; then echo -e "\nYou must install the 'git-core' package in order to use needed git tools\n" exit 2 fi for git_item in $git_items; do #git_item_name="$(basename $git_item)" git_item_name=$git_item if [ ! -d "$git_item/.git" ]; then echo -e "\n\033[4mNo $git_item_name git folder found! Downloading...\033[0m" if ! git-clone $GITURL/$git_item $git_item; then echo "There are problems retrieving git data for $git_item_name. Skipping..." #exit 2; fi echo "" elif [ -d "$git_item" ]; then pushd "$git_item" if ! git-log &> /dev/null; then echo "The $git_item_name git directory isn't here, please remove the '$git_item' dir and run again this script." echo "Whould you like this script make this (all your '$git_item' data will be removed)?" read -p " [Y/n]: " -n1 continue; if [ "$continue" != "$(echo Y | tr [:upper:] [:lower:])" ]; then echo '' exit 2 else popd rm -rf "$git_item" if ! git-clone $GITURL/$git_item $git_item; then echo "There are problems retriving git data for $git_item_name. Skipping..." #exit 2; fi fi else if [ -z "$(echo $* | grep -wE "batch|noupdate|build")" ]; then echo -e "\n\033[4mUpdating the $git_item_name package...\033[0m" if ! git-pull origin; then report="$report\n\033[4mGIT PULL FAILED\033[0m" sleep 3 fi git-repo-config user.name "Danny Baumann" git-repo-config user.email "dannybaumann@web.de" fi fi popd else echo "There are some errors with build directories, please report this to the Author" exit 2 fi done if [ -n "$(echo $* | grep -wE "update|pull")" ]; then exit 0; fi