|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
#
|
|
# Filename: lib/sde-package/new.in
|
|
# Copyright (C) 2006 - 2008 The OpenSDE Project
|
|
#
|
|
# More information can be found in the files COPYING and README.
|
|
#
|
|
# This program 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; version 2 of the License. A copy of the
|
|
# GNU General Public License can be found in the file COPYING.
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
package_new() {
|
|
local method=
|
|
if [ "$1" = "-fm" ]; then
|
|
method="freshmeat"
|
|
shift
|
|
elif [ "$1" = "-deb" ];then
|
|
shift
|
|
cd $SDEROOT
|
|
exec python ./lib/sde-package/new-debian.py "$@"
|
|
fi
|
|
# new package
|
|
new_package="$1"; shift
|
|
if [ "$new_package" != "${new_package//\//}" ]; then
|
|
new_repository="${new_package%/*}"
|
|
new_package="${new_package##*/}"
|
|
|
|
if [ ! -d "${new_repository}" ]; then
|
|
# uhm, it doesn't exist yet
|
|
if [ "$new_repository" = "${new_repository//\//}" ]; then
|
|
# uh, just a repo name
|
|
new_repository="$SDEROOT/package/$new_repository"
|
|
elif [ -d "$SDEROOT/${new_repository%/*}" ]; then
|
|
# SDEROOT relative
|
|
new_repository="$SDEROOT/$new_repository"
|
|
else
|
|
# not even $SDEROOT relative
|
|
echo_abort 1 "package_new() can't handle repository '$new_repository'."
|
|
fi
|
|
fi
|
|
else
|
|
new_repository=$( package_autodetect_repo )
|
|
echo_warning "assuming requested repository as '${new_repository:-wip}'."
|
|
new_repository="$SDEROOT/package/${new_repository:-wip}"
|
|
fi
|
|
|
|
if [ -d "${new_repository%/*}" ]; then
|
|
# normalize
|
|
new_repository=$( cd ${new_repository%/*}; pwd -P )/${new_repository##*/}
|
|
else
|
|
echo_abort 1 "repository ${new_repository} doesn't have a valid parent folder."
|
|
fi
|
|
|
|
# on this tree, and at package/
|
|
[ "${new_repository%/*}" = "$SDEROOT/package" ] ||
|
|
echo_abort 1 "invalid repository location. (${new_repository%/*})"
|
|
|
|
if [ ! -d "$new_repository" ]; then
|
|
echo_warning "New repository created. (${new_repository#$SDEROOT/package/})"
|
|
fi
|
|
cd "$SDEROOT"
|
|
case "${method}" in
|
|
freshmeat)
|
|
fm_name=${1:-$new_package}
|
|
/bin/bash ./lib/sde-package/new-freshmeat.sh ${new_repository#$SDEROOT/package/}/$new_package "$fm_name"
|
|
;;
|
|
*) /bin/sh ./lib/sde-package/new.sh ${new_repository#$SDEROOT/package/}/$new_package "$@"
|
|
;;
|
|
esac
|
|
if [ -e package/*/$new_package/$new_package.desc ];then
|
|
echo -n "Updating chksum $new_package... "
|
|
if ./bin/sde pkg up $new_package &> /dev/null;then
|
|
echo "ok"
|
|
else
|
|
echo "failed"
|
|
fi
|
|
fi
|
|
}
|