diff options
| author | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2006-09-19 16:56:25 +0000 |
|---|---|---|
| committer | rhatto <rhatto@04377dda-e619-0410-9926-eae83683ac58> | 2006-09-19 16:56:25 +0000 |
| commit | 397f31fcb0b47000c6e5c5c4aaf441970ce06e3a (patch) | |
| tree | 0df0e0bbc0ef9d4f2a388d4bd634e8683e9a36af /createpkg | |
| parent | a5ad04283516a7ff72cfd33f3221cfd3c10c3b5b (diff) | |
| download | simplepkg-397f31fcb0b47000c6e5c5c4aaf441970ce06e3a.tar.gz simplepkg-397f31fcb0b47000c6e5c5c4aaf441970ce06e3a.tar.bz2 | |
simplepkg 0.4.9pre2
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@5 04377dda-e619-0410-9926-eae83683ac58
Diffstat (limited to 'createpkg')
| -rw-r--r-- | createpkg | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/createpkg b/createpkg deleted file mode 100644 index 0faa82d..0000000 --- a/createpkg +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/bash -# -# createpkg: package builder using http://slack.sarava.org/slackbuilds scripts -# feedback: rhatto at riseup.net | gpl -# -# createpkg is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or any later version. -# -# createpkg is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, write to the Free Software Foundation, Inc., 59 Temple -# Place - Suite 330, Boston, MA 02111-1307, USA -# -# /etc/simplepkg/slackbuildrc parameters: -# -# SLACKBUILDS="/folder/to/place/slackbuilds", defaults to /var/slackbuilds -# SVN="svn://repository", defaults do svn://slack.sarava.org/slackbuilds -# SYNC="yes|no", whether to always update the repository -# - -COMMON="/usr/libexec/simplepkg/common.sh" -SLACKBUILDRC="/etc/slackbuildrc" - -if [ -f "$COMMON" ]; then - source $COMMON -else - echo "error: file $COMMON found, check your `basename $0` installation" - exit 1 -fi - -function safe_exit { - - # exit codes - case $1 in - 2) echo Could not create folder $2;; - 3) echo Could not update the repository $2 ;; - 4) usage ;; - 5) echo Script not found;; - *) exit 1 - esac - - exit $1 - -} - -function build_repo { - - BASEDIR="`dirname $SLACKBUILDS`" - mkdir -p $BASEDIR || safe_exit 2 $BASEDIR - cd $BASEDIR - svn checkout $SVN - cd $SLACKBUILDS - -} - -function usage { - - echo "usage: createpkg [--install] package-name" - echo " createpkg --search package-name" - echo " createpkg --sync" - -} - -function check_config { - - if [ -f "$SLACKBUILDRC" ]; then - source $SLACKBUILDRC - fi - - TMP=${TMP:=/tmp} - REPOS=${REPOS:=$TMP} - SLACKBUILDS=${SLACKBUILDS:=/var/slackbuilds} - SVN=${SVN:=svn://slack.sarava.org/slackbuilds} - SYNC=${SYNC:=no} - BASEDIR="`dirname $SLACKBUILDS`" - -} - -function solve_dep { - - # TODO: solve dep with version checking - - pack="$1" - for candidate in `ls /var/log/packages/$pack* 2> /dev/null`; do - candidate="`package_name $candidate`" - if [ "$pack" == "$candidate" ]; then - found="1" - break - fi - done - - if [ "$found" != "1" ]; then - createpkg --install $pack - fi - -} - -function check_repo { - - if [ ! -d "$SLACKBUILDS" ]; then - build_repo - fi - -} - -function sync_repo { - - cd $SLACKBUILDS - svn update || build_repo - -} - -function find_script { - - find $SLACKBUILDS | grep -v .svn | grep $1.SlackBuild - -} - -check_config -check_repo - -if [ -z "$1" ]; then - safe_exit 4 -elif [ "$1" == "--sync" ]; then - sync_repo - exit -elif [ "$1" == "--search" ]; then - find_script $2 - exit -elif [ "$1" == "--install" ]; then - PACKAGE="$2" - INSTALL="1" -else - PACKAGE="$1" -fi - -if [ "$SYNC" == "yes" ]; then - sync_repo -fi - -BUILD_SCRIPT="`find_script $PACKAGE`" - -if [ -z "$BUILD_SCRIPT" ]; then - safe_exit 5 -fi - -SCRIPT_BASE="`dirname $BUILD_SCRIPT`" - -if [ -f "$SCRIPT_BASE/$PACKAGE.slack-required" ]; then - SLACK_REQ="$SCRIPT_BASE/$PACKAGE.slack-required" -elif [ -f "$SCRIPT_BASE/slack-required" ]; then - SLACK_REQ="$SCRIPT_BASE/slack-required" -fi - -if [ ! -z "$SLACK_REQ" ]; then - - cat $SLACK_REQ | while read dep; do - dep="`echo $dep | sed -e 's/>=/equalorgreater/' -e 's/=</equalorless/' -e 's/</less/' -e 's/>/greater/' -e 's/=/equal/'`" - solve_dep $dep - done - -fi - -cd $SCRIPT_BASE -INTERACT=no ./`basename $BUILD_SCRIPT` - -VERSION="`grep -e '^VERSION=' $BUILD_SCRIPT | head -n 1 | sed -e "s/VERSION//g" -e 's/=//g' -e 's/-//g' | cut -d ":" -f 2 | cut -d "}" -f 1`" -BUILD="`grep -e '^BUILD=' $BUILD_SCRIPT | head -n 1 | sed -e "s/BUILD//g" -e 's/=//g' | cut -d ":" -f 2 | cut -d "}" -f 1`" -_ARCH="`grep -e '^ARCH' $BUILD_SCRIPT | head -n 1 | cut -d "=" -f 2 | sed -e 's/"//g'`" - -if [ "$_ARCH" == "noarch" ]; then - ARCH="noarch" -fi - -if [ "$INSTALL" == "1" ]; then - installpkg $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz -fi - |
