Browse Source

sde-reschedule-package: Introduced default discriminator of `sde defer`, implementing options parsing only

karasz/new-early
Alejandro Mery 16 years ago
parent
commit
871634b5e8
1 changed files with 96 additions and 0 deletions
  1. +96
    -0
      bin/sde-reschedule-package

+ 96
- 0
bin/sde-reschedule-package

@ -0,0 +1,96 @@
#!/bin/sh
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: bin/sde-reschedule-package
# Copyright (C) 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 ---
#Description: Reschedule packages from the builds
[ -n "$SDEROOT" ] ||
export SDEROOT=$( cd "${0%/*}/.."; pwd -P )
. "$SDEROOT/lib/libsde.in"
reschedule_usage() {
local progname=${0##*/}
cat <<EOT
Usage: ${progname//-/ } [<options>] <package_1> ...
Supported Options:
--all|-a every package
--new|-N every package updated since it was built
--deps|-D every package depending on the others
--cfg|-c <config> process a given config (multiple supported)
--any|-A process any available config
--dry-run|-n don't really reschedule
--soft|-s don't remove the packages when rescheduling
EOT
}
shortopts='aNDc:Ans'
longopts='help,all,new,deps,cfg:,any,soft,dry-run'
options=$( getopt -o "$shortopts" -l "$longopts" -- "$@" )
if [ $? -ne 0 ]; then
reschedule_usage
exit -1
fi
# load new arguments list
eval set -- "$options"
reschedule_all=
reschedule_new=
reschedule_dependers=
reschedule_any=
reschedule_soft=
reschedule_dry=
reschedule_configs=
while [ $# -gt 0 ]; do
case "$1" in
--help)
reschedule_usage
exit 0 ;;
--all|-a) reschedule_all=yes ;;
--new|-N) reschedule_new=yes ;;
--deps|-D) reschedule_dependers=yes ;;
--any|-A) reschedule_any=yes ;;
--soft|-s) reschedule_soft=yes ;;
--dry-run|-n) reschedule_dry=yes ;;
--cfg|-c) reschedule_configs="$reschedule_configs $2"
shift ;;
--) shift; break ;;
*) echo_abort 1 "$1: Unknown argument, aborting."
esac
shift
done
. "$SDEROOT/lib/sde-config.in"
# which configs?
#
if [ -n "$reschedule_any" ]; then
reschedule_configs=$( config_list )
[ -n "$reschedule_configs" ] || echo_abort 1 "No config found."
elif [ -z "$reschedule_configs" ]; then
# try default
reschedule_configs=default
fi
echo_abort 2 'Not Implemented'

Loading…
Cancel
Save