aboutsummaryrefslogtreecommitdiff
path: root/trunk/src
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src')
-rw-r--r--trunk/src/createpkg98
-rwxr-xr-xtrunk/src/mkbuild54
2 files changed, 79 insertions, 73 deletions
diff --git a/trunk/src/createpkg b/trunk/src/createpkg
index 18e5aaf..579f2c8 100644
--- a/trunk/src/createpkg
+++ b/trunk/src/createpkg
@@ -296,11 +296,11 @@ function repository_checkout {
svn="$PACKAGES_SVN"
fi
- if valid_svn_repo $svn; then
+ if valid_svn_repo $svn; then
svn checkout $svn $PACKAGES_DIR
chown_svn $PACKAGES_DIR && chgrp_svn $PACKAGES_DIR
if [ "$svn" != "$PACKAGES_SVN" ]; then
- echo "Using svn repository different from the one pointed at $CONF."
+ echo "Using svn repository different from the one pointed at $CONF."
fi
else
echo "Invalid repository $repository, aborting."
@@ -611,52 +611,52 @@ function create_package {
# Synchronize repository
[ $SYNC -eq $yes ] && sync_svn_repo $SLACKBUILDS_DIR $SLACKBUILDS_SVN
-
+
# Update keyring
update_keyring $SLACKBUILDS_DIR/GPG-KEY
-
+
# Get SlackBuild script
BUILD_SCRIPT="`find_slackbuild $PACKAGE`"
-
+
# Check SlackBuild script found
if [ -z "$BUILD_SCRIPT" ]; then
handle_error $ERROR_CREATEPKG_SLACKBUILD_NOTFOUND $PACKAGE
fi
-
+
# Select one SlackBuild
if [ "`echo $BUILD_SCRIPT | wc -w`" -gt 1 ]; then
AUX="$PS3"
PS3="Choice: "
LIST=`echo $BUILD_SCRIPT | sed 's/ /\n/g' | sed -r 's/.*\/(.*)\.SlackBuild$/\1/'`" EXIT"
-
+
select PACKAGE in `echo $LIST`; do
break
done
-
+
if [ "$PACKAGE" = "EXIT" ]; then
eecho $error "error: no package selected"
return 1
fi
-
+
# Select only one SlackBuild in BUILD_SCRIPT
BUILD_SCRIPT=`echo $BUILD_SCRIPT | sed 's/ /\n/g' | grep "/$PACKAGE.SlackBuild"`
PS3="$AUX"
else
PACKAGE=`basename $BUILD_SCRIPT .SlackBuild`
fi
-
+
# Get dirname and script name from slackbuild
SCRIPT_BASE="`dirname $BUILD_SCRIPT`"
SCRIPT_NAME="`basename $BUILD_SCRIPT`"
eecho $messag "$BASENAME: found script $PACKAGE.SlackBuild, now checking for dependencies"
-
+
# Sets the package's slack-required
if [ -f "$SCRIPT_BASE/$PACKAGE.slack-required" ]; then
SLACK_REQUIRED="$SCRIPT_BASE/$PACKAGE.slack-required"
elif [ -f "$SCRIPT_BASE/slack-required" ]; then
SLACK_REQUIRED="$SCRIPT_BASE/slack-required"
fi
-
+
if [ ! -z "$SLACK_REQUIRED" -a $NO_DEPS -ne $on ]; then
# This routine checks for dependencies in package's slack-required
(
@@ -671,17 +671,17 @@ function create_package {
done
)
[ $? -ne 0 ] && handle_error $error $ERROR_CREATEPKG_DEPENDENCY
-
+
eecho $messag "$BASENAME: done checking for $PACKAGE dependencies"
else
eecho $messag "$BASENAME: no unmet dependencies for $PACKAGE"
fi
-
+
eecho $messag "$BASENAME: processing $SCRIPT_NAME"
-
+
# Change to script base directory
cd $SCRIPT_BASE
-
+
# Use fakeroot if needed and available
if [ "`whoami`" != "root" ]; then
FAKEROOT="`which fakeroot`"
@@ -718,7 +718,7 @@ function create_package {
return 1
fi
fi
-
+
# Run SlackBuild script
[ $DEBUG -eq $off ] && SHELL_FLAG="+x" || SHELL_FLAG="-x"
(
@@ -733,27 +733,27 @@ function create_package {
SLACKBUILD_PATH="/" \
INTERACT=no $FAKEROOT sh $SHELL_FLAG ./$SCRIPT_NAME
)
-
+
# Check if package was built
handle_error $? $PACKAGE
-
+
# Fix source folder user
if [ ! -z "$SOURCE_DIR_USER" ]; then
chown -R $SOURCE_DIR_USER $SOURCE_DIR
fi
-
+
# Fix source folder group
if [ ! -z "$SOURCE_DIR_GROUP" ]; then
chgrp -R $SOURCE_DIR_GROUP $SOURCE_DIR
fi
-
+
# Get package name, arch, version and build number
PKG_NAME="`ls -1 -c $PACKAGES_DIR/$PACKAGE-*-*-*.tgz | head -n 1 | xargs basename`"
PACKAGE_NAME="`package_name $PKG_NAME`"
PACKAGE_VERSION="`package_version $PKG_NAME`"
PACKAGE_ARCH="`package_arch $PKG_NAME`"
PACKAGE_BUILD="`package_build $PKG_NAME`"
-
+
# Update package author
if [ ! -z "$CREATEPKG_AUTHOR" ]; then
AUTHOR="`echo $PACKAGE_BUILD | sed -e 's/^[0-9]*//'`"
@@ -768,14 +768,14 @@ function create_package {
echo "New package name is $PKG_NAME."
fi
fi
-
+
# Sign package
if [ $SIGN_PACKAGES -eq $on ]; then
-
+
echo "Signing package..."
-
+
get_sign_user
-
+
if [ ! -z "$SIGN_PACKAGES_USER" ] && [ "`whoami`" != "$SIGN_PACKAGES_USER" ]; then
tmp_sign_folder="`mktemp -d $TMP/createpkg_sign.XXXXXX`"
chown $SIGN_PACKAGES_USER $tmp_sign_folder
@@ -788,9 +788,9 @@ function create_package {
cp $tmp_sign_folder/$PKG_NAME.asc $PACKAGES_DIR/$PKG_NAME.asc
rm -rf $tmp_sign_folder
fi
-
+
fi
-
+
# Select repository directory
if [ $MOVE_BIN_PACKAGE -eq $on ]; then
SUBFOLDER="$( echo ${SCRIPT_BASE#$SLACKBUILDS_DIR/} )"
@@ -799,24 +799,24 @@ function create_package {
SUBFOLDER="."
NEW_REPOS=$PACKAGES_DIR
fi
-
+
# Update information from remote repository
repository_update $PACKAGES_DIR
-
+
# Create the repository folders
create_repo_folder $PACKAGES_DIR
-
+
# Remove old packages from repository tree
remove_old_package_data $PACKAGES_DIR
-
+
# Move package to SlackBuilds-like tree
- if [ $MOVE_BIN_PACKAGE -eq $on ]; then
-
+ if [ $MOVE_BIN_PACKAGE -eq $on ]; then
+
mv $PACKAGES_DIR/$PKG_NAME $NEW_REPOS/
if [ -e "$PACKAGES_DIR/$PKG_NAME.asc" ]; then
mv $PACKAGES_DIR/$PKG_NAME.asc $NEW_REPOS/
fi
-
+
if svn_folder $NEW_REPOS; then
(
cd $NEW_REPOS
@@ -825,23 +825,23 @@ function create_package {
svn_add $PKG_NAME.asc
)
fi
-
+
# Move package's slack-required to binary repository
if [ $MOVE_SLACK_REQUIRED -eq $on ]; then
if [ ! -z "$SLACK_REQUIRED" ]; then
svn_copy $SLACK_REQUIRED $NEW_REPOS/$PACKAGE.slack-required
fi
fi
-
+
fi
-
+
# Update repository metadata
update_metadata $PACKAGES_DIR
-
+
# General cleanup
echo Cleaning up the repository...
svn_remove_empty_folders $PACKAGES_DIR
-
+
# Update noarch repository
if [ $PACKAGES_REPOS_NOARCH -eq $on ] && [ "`package_arch $PKG_NAME`" == "noarch" ]; then
repository_update $NOARCH_DIR
@@ -855,18 +855,18 @@ function create_package {
update_metadata $NOARCH_DIR
svn_remove_empty_folders $NOARCH_DIR
fi
-
+
# Install package
if [ "$INSTALL" -eq $on ]; then
upgradepkg --install-new $NEW_REPOS/$PKG_NAME
fi
-
+
echo "Package saved at $NEW_REPOS/$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
-
+
return $EXIT_CODE
}
@@ -965,9 +965,13 @@ case $1 in
list_slackbuilds
else
LIST=`find_slackbuild $2`
- for i in $LIST; do
- echo $i | sed 's/.*\/\([^\/]\+\)\.[Ss]lack[Bb]uild$/ \1/'
- done
+ if [ -z $LIST ]; then
+ EXIT_CODE=1
+ else
+ for i in $LIST; do
+ echo $i #| sed 's/.*\/\([^\/]\+\)\.[Ss]lack[Bb]uild$/ \1/'
+ done
+ fi
fi
exit $EXIT_CODE
;;
diff --git a/trunk/src/mkbuild b/trunk/src/mkbuild
index b490d6e..9be4a16 100755
--- a/trunk/src/mkbuild
+++ b/trunk/src/mkbuild
@@ -102,6 +102,8 @@ ${red}DESCRIPTION${normal}
print debug information
${red}-e${normal}, ${red}--edit${normal}
edit a mkbuild
+ ${red}-um${normal}, ${red}--update-manifest${normal}
+ update manifest file
${red}-wc${normal}, ${red}--working-copy${normal}
create an unversioned mkbuild working copy
${red}--get-param-copy${normal}
@@ -450,6 +452,7 @@ function start_build {
edit_file "VERSION" "$VERSION" $1
edit_file "SOURCE NAME CONSTRUCTION STRING" "$CONST_STRING" $1
edit_file "EXTENSION" "$EXTENSION" $1
+ edit_file "MKBUILD COMPRESS" "$MKBUILD_COMPRESS" $1
edit_file "DOWNLOAD FOLDER URL" "$URL_BASE" $1
edit_file "OTHER CONFIGURE ARGS" "$OPTIONS" $1
edit_file "DOCUMENTATION FILES" "$DOCFILES" $1
@@ -470,6 +473,9 @@ function clear_files {
[ ! -z $AUX_TMP ] && rm $AUX_TMP 2>/dev/null
[ ! -z $SLACKBUILD_TEMP ] && rm $SLACKBUILD_TEMP 2>/dev/null
[ ! -z $DIFF_FILE ] && rm $DIFF_FILE 2>/dev/null
+ if [ "`ls $TMP/`" == "" ]; then
+ rm -rf $TMP
+ fi
chmod 755 *.SlackBuild 2>/dev/null
}
@@ -517,15 +523,6 @@ function activate_sections {
set_status $SECTION $STATUS $SLACKBUILD_TEMP
done
- #if [ $SVN_MOD -eq $on -o $URL == "" ]; then
- # LIST_OFF="download_source md5sum_download_and_check_0 md5sum_download_and_check_1 gpg_signature_check untar_source"
- # verbose -e "\nSubversion or empty URL changes:"
- # for i in $LIST_OFF; do
- # set_status $i "off" $SLACKBUILD_TEMP
- # done
- # [ $SVN_MOD -eq $on ] && set_status svn_source "on" $SLACKBUILD_TEMP
- #fi
-
}
function build_slackbuild {
@@ -539,9 +536,11 @@ function build_slackbuild {
sed -i '/^<.*$/ d' $SLACKBUILD_TEMP
# Remove clear lines
# isto pode ser feito com "cat -s SLACKBUILD_TEMP ..."
- sed -i ':i ; $! N; s/\n/Ø/ ; t i ; s/Ø\{3,\}/ØØ/g ; s/Ø/\n/g' $SLACKBUILD_TEMP
+ #sed -i ':i ; $! N; s/\n/Ø/ ; t i ; s/Ø\{3,\}/ØØ/g ; s/Ø/\n/g' $SLACKBUILD_TEMP
+ cat -s $SLACKBUILD_TEMP > $SLACKBUILD
# Remove from frist line do #!/... line
- sed '1,/^#\!/ {/^#\!/ b; d }' $SLACKBUILD_TEMP > $SLACKBUILD
+ #sed '1,/^#\!/ {/^#\!/ b; d }' $SLACKBUILD_TEMP > $SLACKBUILD
+ sed -i '1,/^#\!/ {/^#\!/ b; d }' $SLACKBUILD
}
@@ -672,7 +671,7 @@ function apply_mkpatch {
}
# ----------------------------------------------------------------
-# svn functions
+# svn functions
# ----------------------------------------------------------------
function submit_slackbuild {
@@ -756,7 +755,7 @@ function submit_mkbuild {
echo "Removing mkbuild found at old path $oldplace"
svn_del $oldplace
fi
- done
+ done
submit_cleanup
@@ -776,7 +775,7 @@ function submit_cleanup {
}
-function import_mkbuilds {
+function import_mkbuilds {
# import mkbuilds into a subversion repository
# usage: repository_import [repository]
@@ -787,7 +786,7 @@ function import_mkbuilds {
repository="file:////var/svn/mkbuilds"
fi
- repository_import $MKBUILDS_DIR $repository
+ repository_import $MKBUILDS_DIR $repository
}
@@ -802,7 +801,7 @@ function import_slackbuilds {
repository="file:////var/svn/slackbuilds"
fi
- repository_import $SLACKBUILDS_DIR $repository
+ repository_import $SLACKBUILDS_DIR $repository
}
@@ -829,7 +828,7 @@ function repository_status {
}
# ----------------------------------------------------------------
-# general functions
+# general functions
# ----------------------------------------------------------------
function validate_parameter {
@@ -876,7 +875,7 @@ function decompress_find {
function load_parameters {
# Load Createpkg parameters
- SOURCE_DIR="`eval_parameter SOURCE_DIR /var/simplepkg/sources`"
+ SOURCE_DIR="`eval_parameter SOURCE_DIR /var/simplepkg/sources`"
SLACKBUILDS_DIR="`eval_parameter SLACKBUILDS_DIR /var/simplepkg/slackbuilds`"
[ ! -d $SLACKBUILDS_DIR ] && mkdir -p $SLACKBUILDS_DIR
@@ -890,7 +889,9 @@ function load_parameters {
COLOR_MODE="`eval_parameter COLOR_MODE none`"
TMP="`eval_parameter TMP /tmp`"
+ [ ! -e $TMP ] && mkdir -p $TMP
+ MKBUILD_COMPRESS="`eval_parameter MKBUILD_COMPRESS tgz`"
MKBUILD_AUTHOR="`eval_parameter MKBUILD_AUTHOR`"
MKBUILD_AUTHOR_INITIALS="`eval_parameter MKBUILD_AUTHOR_INITIALS`"
@@ -907,7 +908,7 @@ function load_parameters {
GPG_AGENT_OPTION="--use-agent"
else
GPG_AGENT_OPTION=""
- fi
+ fi
# For use at common.sh functions
SIGN="$SIGN_MANIFESTS"
@@ -987,7 +988,7 @@ function file_metainfo {
if [ "$file_type" == "DIST" ] || [ "$file_type" == "PATCH" ]; then
echo "Please make sure that the following hashes are correct:"
grep -e "^$file_type $dist_name " $manifest_file
- fi
+ fi
}
@@ -1066,10 +1067,10 @@ function edit_manifest {
else
echo "Can't get $DIST_SRC_NAME."
fi
- fi
+ fi
else
# Add source code information if its not already there
- if ! grep -q -e "^DIST $DIST_SRC_NAME " $WORK/Manifest; then
+ if ! grep -q -e "^DIST $DIST_SRC_NAME " $WORK/Manifest; then
update_manifest_info $DIST_SRC_NAME dist
fi
fi
@@ -1092,7 +1093,7 @@ function edit_manifest {
for i in `find $WORK | grep -E -v '(SlackBuild|old|slack-required|.mkbuild$|.tmp$|Manifest$)\*{0,1}$' | \
grep -E -v '(.diff$|.diff.gz$|.diff.bz2$|.patch$|.patch.gz$|.patch.bz2$)\*{0,1}$' | \
grep -v "/\.svn"`; do
- # Avoid folders, dotfiles and DIST files
+ # Avoid folders, dotfiles and DIST files
if [ ! -d "$WORK/$i" ] && \
[ "`basename $i`" != "$DIST_SRC_NAME" ] && \
! echo "`basename $i`" | grep -q -e "^\."; then
@@ -1252,7 +1253,7 @@ function update_manifest {
# Get mkbuild values
get_mkbuild_values
-
+
# Update the Manifest
edit_manifest --update
@@ -1564,7 +1565,7 @@ function search_mkbuild {
fi
if [ ! -z "$MKBUILD_PATH" ]; then
- if echo $name | grep -q -e "\.mkbuild$"; then
+ if echo $name | grep -q -e "\.mkbuild$"; then
if [ -d "$MKBUILDS_DIR/$MKBUILD_PATH" ]; then
find $MKBUILDS_DIR/$MKBUILD_PATH -name $MKBUILD_NAME
else
@@ -1583,7 +1584,7 @@ function search_mkbuild {
find $MKBUILDS_DIR -name $MKBUILD_NAME
fi
fi
-
+
}
function set_mkbuild_name {
@@ -1822,6 +1823,7 @@ SLACKDESC_LEN=78
# Load error codes
error_codes
+# Show help if has no arguments
[ $# -eq 0 ] && mkbuild_use && exit 1
# Configure input parameters