From 817166012a43f1274f800addabbbf288aeb8e3b7 Mon Sep 17 00:00:00 2001 From: rhatto Date: Sun, 14 Dec 2008 14:03:49 +0000 Subject: see CHANGELOG git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@653 04377dda-e619-0410-9926-eae83683ac58 --- trunk/src/createpkg | 133 ++++++++++++++++++++++++++++++++-------------------- 1 file changed, 81 insertions(+), 52 deletions(-) (limited to 'trunk/src/createpkg') diff --git a/trunk/src/createpkg b/trunk/src/createpkg index c72cb04..3d59ce5 100644 --- a/trunk/src/createpkg +++ b/trunk/src/createpkg @@ -106,22 +106,22 @@ function check_config { TMP=${TMP:=/tmp} if [ ! -z "$REPOS" ]; then - MAKEPKG_REPOS="$REPOS" + PACKAGES_DIR="$REPOS" else - REPOS=$MAKEPKG_REPOS + REPOS=$PACKAGES_DIR fi # Nested folders, if configured - if [ ! -z "$MAKEPKG_REPOS_STYLE" ]; then - MAKEPKG_REPOS_STYLE=$(echo $MAKEPKG_REPOS_STYLE | sed -e "s/none//g" -e "s/distro/`default_distro`/g" \ + if [ ! -z "$PACKAGES_REPOS_STYLE" ]; then + PACKAGES_REPOS_STYLE=$(echo $PACKAGES_REPOS_STYLE | sed -e "s/none//g" -e "s/distro/`default_distro`/g" \ -e "s/arch/`default_arch`/g" -e "s/version/`default_version`/g") - MAKEPKG_REPOS="$MAKEPKG_REPOS/$MAKEPKG_REPOS_STYLE" - REPOS="$REPOS/$MAKEPKG_REPOS_STYLE" + PACKAGES_DIR="$PACKAGES_DIR/$PACKAGES_REPOS_STYLE" + REPOS="$REPOS/$PACKAGES_REPOS_STYLE" fi # Create $TMP and $REPOS if need [ ! -e $TMP ] && mkdir -p $TMP - [ ! -e $MAKEPKG_REPOS ] && mkdir -p $MAKEPKG_REPOS + [ ! -e $PACKAGES_DIR ] && mkdir -p $PACKAGES_DIR # SLACKBUILDS_DIR=${SLACKBUILDS_DIR:=/var/simplepkg/slackbuilds} # @@ -156,8 +156,8 @@ function solve_dep { if [ $EXIT_CODE -eq $ERROR_CREATEPKG_SLACKBUILD_NOTFOUND ]; then # Try to use simplaret - ARCH=$CREATE_ARCH simplaret --update - ARCH=$CREATE_ARCH simplaret --install $PACK + ARCH=$CREATEPKG_ARCH simplaret --update + ARCH=$CREATEPKG_ARCH simplaret --install $PACK [ $? -ne 0 ] && handle_error $ERROR_CREATEPKG_SLACKBUILD_NOTFOUND $PACK elif [ $EXIT_CODE -ne 0 ]; then handle_error $EXIT_CODE $PACK @@ -247,33 +247,61 @@ function list_builds { function load_parameters { # Load Createpkg parameters - MAKEPKG_REPOS="`eval_parameter MAKEPKG_REPOS /var/simplepkg/repos`" - MAKEPKG_REPOS_STYLE="`eval_parameter MAKEPKG_REPOS_STYLE none`" - NOARCH_REPOS="`eval_parameter MAKEPKG_REPOS /var/simplepkg/repos`/noarch" + PACKAGES_DIR="`eval_parameter PACKAGES_DIR /var/simplepkg/repos`" + PACKAGES_SVN="`eval_parameter PACKAGES_SVN http://slack.sarava.org/packages`" + PACKAGES_REPOS_STYLE="`eval_parameter PACKAGES_REPOS_STYLE none`" + NOARCH_DIR="`eval_parameter PACKAGES_DIR /var/simplepkg/repos`/noarch" SOURCE_DIR="`eval_parameter SOURCE_DIR /var/simplepkg/sources`" SLACKBUILDS_DIR="`eval_parameter SLACKBUILDS_DIR /var/simplepkg/slackbuilds`" SLACKBUILDS_SVN="`eval_parameter SLACKBUILDS_SVN http://slack.sarava.org/slackbuilds`" - SVN_USER="`eval_parameter MAKEPKG_SVN_USER`" - SVN_GROUP="`eval_parameter MAKEPKG_SVN_GROUP`" + SVN_USER="`eval_parameter PACKAGES_SVN_USER`" + SVN_GROUP="`eval_parameter PACKAGES_SVN_GROUP`" COLOR_MODE="`eval_parameter COLOR_MODE none`" - CREATE_ARCH="`eval_parameter CREATE_ARCH $(default_arch)`" - CREATE_CLEANUP="`eval_parameter CREATE_CLEANUP yes`" + CREATEPKG_ARCH="`eval_parameter CREATEPKG_ARCH $(default_arch)`" + CREATEPKG_CLEANUP="`eval_parameter CREATEPKG_CLEANUP yes`" TMP="`eval_parameter TMP /tmp`" REMOVE_OLD_PACKAGE="`eval_boolean_parameter REMOVE_OLD_PACKAGE $off`" MOVE_BIN_PACKAGE="`eval_boolean_parameter MOVE_BIN_PACKAGE $off`" MOVE_SLACK_REQUIRED="`eval_boolean_parameter MOVE_SLACK_REQUIRED $off`" - MAKEPKG_REPOS_NOARCH="`eval_boolean_parameter MAKEPKG_REPOS_NOARCH $off`" + PACKAGES_REPOS_NOARCH="`eval_boolean_parameter PACKAGES_REPOS_NOARCH $off`" + +} + +function repository_checkout { + + local svn + + if [ -d "$PACKAGES_DIR" ]; then + mv $PACKAGES_DIR $PACKAGES_DIR.old + fi + + if [ -z "$1" ]; then + svn="$1" + else + svn="$SLACKBUILDS_SVN" + fi + + svn checkout $svn $PACKAGES_DIR } function repository_update { - if [ -d "$MAKEPKG_REPOS/.svn" ]; then + if [ -d "$PACKAGES_DIR/.svn" ]; then + echo "Fetching changes from svn repository for $PACKAGES_DIR..." cwd="`pwd`" - chown_svn $MAKEPKG_REPOS && chgrp_svn $MAKEPKG_REPOS - cd $MAKEPKG_REPOS && su_svn update + chown_svn $PACKAGES_DIR && chgrp_svn $PACKAGES_DIR + cd $PACKAGES_DIR && su_svn update + cd $cwd + fi + + if [ -d "$NOARCH_DIR/.svn" ]; then + echo "Fetching changes from svn repository for $NOARCH_DIR..." + cwd="`pwd`" + chown_svn $NOARCH_DIR && chgrp_svn $NOARCH_DIR + cd $NOARCH_DIR && su_svn update cd $cwd fi @@ -283,17 +311,17 @@ function repository_update { function repository_status { - if [ -d "$MAKEPKG_REPOS/.svn" ]; then - echo "Status of $MAKEPKG_REPOS." + if [ -d "$PACKAGES_DIR/.svn" ]; then + echo "Status of $PACKAGES_DIR." cwd="`pwd`" - cd $MAKEPKG_REPOS && su_svn status + cd $PACKAGES_DIR && su_svn status cd $cwd fi - if [ -d "$NOARCH_REPOS/.svn" ]; then + if [ -d "$NOARCH_DIR/.svn" ]; then cwd="`pwd`" - echo "Status of $NOARCH_REPOS." - cd $NOARCH_REPOS && su_svn status + echo "Status of $NOARCH_DIR." + cd $NOARCH_DIR && su_svn status cd $cwd fi @@ -380,7 +408,7 @@ function remove_old_package_data { ) else - # Using -mindepth 2 so it doesn't delete the new PACKAGE + # Using -mindepth 2 so it doesn't delete the new package find $makepkg_repos -mindepth 2 -name "$PACKAGE-*-*-*.tgz" -exec rm {} 2>/dev/null \; find $makepkg_repos -mindepth 2 -name "$PACKAGE-*-*-*.meta" -exec rm {} 2>/dev/null \; find $makepkg_repos -name "$PACKAGE.slack-required" -exec rm {} 2>/dev/null \; @@ -530,9 +558,9 @@ case $1 in ;; '--commit') shift - commit_changes $MAKEPKG_REPOS "`basename $MAKEPKG_REPOS:`" $* - if [ $MAKEPKG_REPOS_NOARCH -eq $on ]; then - commit_changes "noarch:" $NOARCH_REPOS $* + commit_changes $PACKAGES_DIR "`basename $PACKAGES_DIR:`" $* + if [ $PACKAGES_REPOS_NOARCH -eq $on ]; then + commit_changes "noarch:" $NOARCH_DIR $* fi exit $EXIT_CODE ;; @@ -626,10 +654,10 @@ cd $SCRIPT_BASE TMP=$TMP \ SRC_DIR=${SRC_DIR:=$SOURCE_DIR} \ SRC=${SRC_DIR:=$SOURCE_DIR} \ - ARCH=${ARCH:=$CREATE_ARCH} \ + ARCH=${ARCH:=$CREATEPKG_ARCH} \ COLOR=${COLOR:=$COLOR_MODE} \ - REPOS=${REPOS:=$MAKEPKG_REPOS} \ - CLEANUP=${CLEANUP:=$CREATE_CLEANUP} \ + REPOS=${REPOS:=$PACKAGES_DIR} \ + CLEANUP=${CLEANUP:=$CREATEPKG_CLEANUP} \ INTERACT=no sh $SHELL_FLAG ./$SCRIPT_NAME ) @@ -637,31 +665,31 @@ cd $SCRIPT_BASE handle_error $? $PACKAGE # Get package name -PKG_NAME="`ls -1 -c $MAKEPKG_REPOS/$PACKAGE-*-*-*.tgz | head -n 1 | xargs basename`" +PKG_NAME="`ls -1 -c $PACKAGES_DIR/$PACKAGE-*-*-*.tgz | head -n 1 | xargs basename`" # Select repository directory if [ $MOVE_BIN_PACKAGE -eq $on ]; then SUBFOLDER="$( echo ${SCRIPT_BASE#$SLACKBUILDS_DIR/} )" - NEW_REPOS=$MAKEPKG_REPOS/$SUBFOLDER + NEW_REPOS=$PACKAGES_DIR/$SUBFOLDER else SUBFOLDER="." - NEW_REPOS=$MAKEPKG_REPOS + NEW_REPOS=$PACKAGES_DIR fi # Create the repository folders -create_repo_folder $MAKEPKG_REPOS +create_repo_folder $PACKAGES_DIR # Remove old packages from repository tree -remove_old_package_data $MAKEPKG_REPOS +remove_old_package_data $PACKAGES_DIR # Move package to SlackBuilds-like tree if [ $MOVE_BIN_PACKAGE -eq $on ]; then - mv $MAKEPKG_REPOS/$PKG_NAME $NEW_REPOS/ + mv $PACKAGES_DIR/$PKG_NAME $NEW_REPOS/ if [ -d "$NEW_REPOS/.svn" ]; then ( cd $NEW_REPOS - chown_svn $MAKEPKG_REPOS && chgrp_svn $MAKEPKG_REPOS + chown_svn $PACKAGES_DIR && chgrp_svn $PACKAGES_DIR svn_add $PKG_NAME ) fi @@ -676,22 +704,23 @@ if [ $MOVE_BIN_PACKAGE -eq $on ]; then fi # Update repository metadata -update_metadata $MAKEPKG_REPOS +repository update +update_metadata $PACKAGES_DIR # General cleanup echo Cleaning up the repository... -svn_remove_empty_folders $MAKEPKG_REPOS +svn_remove_empty_folders $PACKAGES_DIR # Update noarch repository -if [ $MAKEPKG_REPOS_NOARCH -eq $on ] && [ "`package_arch $PKG_NAME`" == "noarch" ]; then +if [ $PACKAGES_REPOS_NOARCH -eq $on ] && [ "`package_arch $PKG_NAME`" == "noarch" ]; then echo Copying package to noarch repository... - create_repo_folder $NOARCH_REPOS - remove_old_package_data $NOARCH_REPOS - svn_copy $NEW_REPOS/$PKG_NAME $NOARCH_REPOS/$SUBFOLDER/ - svn_copy $NEW_REPOS/`basename $PKG_NAME .tgz`.meta $NOARCH_REPOS/$SUBFOLDER/ - svn_copy $NEW_REPOS/$PACKAGE.slack-required $NOARCH_REPOS/$SUBFOLDER/ - update_metadata $NOARCH_REPOS - svn_remove_empty_folders $NOARCH_REPOS + create_repo_folder $NOARCH_DIR + remove_old_package_data $NOARCH_DIR + svn_copy $NEW_REPOS/$PKG_NAME $NOARCH_DIR/$SUBFOLDER/ + svn_copy $NEW_REPOS/`basename $PKG_NAME .tgz`.meta $NOARCH_DIR/$SUBFOLDER/ + svn_copy $NEW_REPOS/$PACKAGE.slack-required $NOARCH_DIR/$SUBFOLDER/ + update_metadata $NOARCH_DIR + svn_remove_empty_folders $NOARCH_DIR fi # Install package @@ -701,8 +730,8 @@ fi echo "Package saved at $NEW_REPOS/$PKG_NAME" -if [ $MAKEPKG_REPOS_NOARCH -eq $on ] && [ "`package_arch $PKG_NAME`" == "noarch" ]; then - echo "Aditional copy saved at $NOARCH_REPOS/$SUBFOLDER/$PKG_NAME" +if [ $PACKAGES_REPOS_NOARCH -eq $on ] && [ "`package_arch $PKG_NAME`" == "noarch" ]; then + echo "Aditional copy saved at $NOARCH_DIR/$SUBFOLDER/$PKG_NAME" fi exit $EXIT_CODE -- cgit v1.2.3