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

  1. # --- SDE-COPYRIGHT-NOTE-BEGIN ---
  2. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  3. #
  4. # Filename: lib/sde-package/new.in
  5. # Copyright (C) 2006 - 2007 The OpenSDE Project
  6. #
  7. # More information can be found in the files COPYING and README.
  8. #
  9. # This program is free software; you can redistribute it and/or modify
  10. # it under the terms of the GNU General Public License as published by
  11. # the Free Software Foundation; version 2 of the License. A copy of the
  12. # GNU General Public License can be found in the file COPYING.
  13. # --- SDE-COPYRIGHT-NOTE-END ---
  14. package_new() {
  15. local method=
  16. if [ "$1" = "-fm" ]; then
  17. method="freshmeat"
  18. shift
  19. elif [ "$1" = "-deb" ];then
  20. shift
  21. cd $SDEROOT
  22. exec python ./lib/sde-package/new-debian.py "$@"
  23. fi
  24. # new package
  25. new_package="$1"; shift
  26. if [ "$new_package" != "${new_package//\//}" ]; then
  27. new_repository="${new_package%/*}"
  28. new_package="${new_package##*/}"
  29. if [ ! -d "${new_repository}" ]; then
  30. # uhm, it doesn't exist yet
  31. if [ "$new_repository" == "${new_repository//\//}" ]; then
  32. # uh, just a repo name
  33. new_repository="$SDEROOT/package/$new_repository"
  34. elif [ -d "$SDEROOT/${new_repository%/*}" ]; then
  35. # SDEROOT relative
  36. new_repository="$SDEROOT/$new_repository"
  37. else
  38. # not even $SDEROOT relative
  39. echo_abort 1 "package_new() can't handle repository '$new_repository'."
  40. fi
  41. fi
  42. else
  43. new_repository=$( package_autodetect_repo )
  44. echo_warning "assuming requested repository as '${new_repository:-wip}'."
  45. new_repository="$SDEROOT/package/${new_repository:-wip}"
  46. fi
  47. if [ -d "${new_repository%/*}" ]; then
  48. # normalize
  49. new_repository=$( cd ${new_repository%/*}; pwd -P )/${new_repository##*/}
  50. else
  51. echo_abort 1 "repository ${new_repository} doesn't have a valid parent folder."
  52. fi
  53. # on this tree, and at package/
  54. [ "${new_repository%/*}" == "$SDEROOT/package" ] ||
  55. echo_abort 1 "invalid repository location. (${new_repository%/*})"
  56. if [ ! -d "$new_repository" ]; then
  57. echo_warning "New repository created. (${new_repository#$SDEROOT/package/})"
  58. fi
  59. cd "$SDEROOT"
  60. case "${method}" in
  61. freshmeat)
  62. fm_name=${1:-$new_package}
  63. /bin/bash ./lib/sde-package/new-freshmeat.sh ${new_repository#$SDEROOT/package/}/$new_package "$fm_name"
  64. ;;
  65. *) /bin/sh ./lib/sde-package/new.sh ${new_repository#$SDEROOT/package/}/$new_package "$@"
  66. ;;
  67. esac
  68. if [ -e package/*/$new_package/$new_package.desc ];then
  69. echo -n "Updating chksum $new_package... "
  70. if ./bin/sde pkg up $new_package &> /dev/null;then
  71. echo "ok"
  72. else
  73. echo "failed"
  74. fi
  75. fi
  76. }