OpenSDE Framework (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

81 lines
2.5 KiB

# --- 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
}