mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-24 16:10:02 -06:00
92de64ec73
Added symbolic links which points to directories which should contain files of Web UI layers. By changing those links we can switch between debugging (using source codes) or testing (compiled version). util/change-profile.sh utility serves for changing symbolic links in js/ dir and therefore for switching between debugging and testing. Default configuration for development is: * freeipa source files * libs as in git * compiled Dojo layer https://fedorahosted.org/freeipa/ticket/112
142 lines
3.2 KiB
Bash
Executable File
142 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Authors:
|
|
# Petr Vobornik <pvoborni@redhat.com>
|
|
#
|
|
# Copyright (C) 2012 Red Hat
|
|
# see file 'COPYING' for use and warranty information
|
|
#
|
|
# 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, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
RDIR=$DIR/../release
|
|
|
|
usage() {
|
|
cat <<-__EOF__;
|
|
NAME
|
|
change-profile.sh - Changes development enviroment.
|
|
|
|
SYNOPSIS
|
|
path/to/change-profile.sh [--help] [--profile] NAME
|
|
|
|
DESCRIPTION
|
|
Changes symbolic links to switch between development profiles. Run
|
|
with --git-ignore option to prevent git change notifications.
|
|
|
|
OPTIONS
|
|
--help print the help message
|
|
|
|
-p PROFILE
|
|
--profile PROFILE
|
|
allsource: both dojo, freeipa uses source files
|
|
compiled: both dojo, freeipa uses compiled versions
|
|
source: dojo compiled, freeipa source files
|
|
default: source
|
|
--git-ignore
|
|
set git --assume-unchanged on dojo and freeipa symlinks
|
|
--git-undo
|
|
undo --git-ignore
|
|
|
|
__EOF__
|
|
}
|
|
|
|
args=`getopt -u -l help,profile:,git-ignore,git-undo p: $*`
|
|
|
|
if test $? != 0
|
|
then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
set -- $args
|
|
for i
|
|
do
|
|
case "$i" in
|
|
--help)
|
|
shift;
|
|
HELP=1
|
|
;;
|
|
--profile | -p)
|
|
shift;
|
|
PROFILE=$1
|
|
shift;
|
|
;;
|
|
--git-ignore)
|
|
shift;
|
|
GIT_IGNORE=1
|
|
;;
|
|
--git-undo)
|
|
shift;
|
|
GIT_UNDO=1
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
done
|
|
|
|
set -- $args
|
|
|
|
if [[ $HELP ]] ; then
|
|
usage
|
|
exit 0
|
|
fi
|
|
|
|
if [[ $# = 2 ]] ; then
|
|
PROFILE=$2
|
|
fi
|
|
|
|
if [[ $# = 1 ]] ; then
|
|
PROFILE='source'
|
|
fi
|
|
|
|
printprofile() {
|
|
echo "Setting profile: $PROFILE"
|
|
}
|
|
|
|
|
|
pushd $DIR/../js
|
|
rm -f ./dojo
|
|
rm -f ./freeipa
|
|
|
|
case "$PROFILE" in
|
|
'source')
|
|
printprofile
|
|
ln -s ../build/dojo ./dojo
|
|
ln -s ../src/freeipa ./freeipa
|
|
;;
|
|
'allsource')
|
|
printprofile
|
|
ln -s ../src/dojo ./dojo
|
|
ln -s ../src/freeipa ./freeipa
|
|
;;
|
|
'compiled')
|
|
printprofile
|
|
ln -s ../build/dojo ./dojo
|
|
ln -s ../build/freeipa ./freeipa
|
|
;;
|
|
*)
|
|
echo "Error: Unknown profile: $PROFILE"
|
|
;;
|
|
esac
|
|
|
|
if [[ $GIT_IGNORE ]] ; then
|
|
git update-index --assume-unchanged ./dojo
|
|
git update-index --assume-unchanged ./freeipa
|
|
fi
|
|
|
|
if [[ $GIT_UNDO ]] ; then
|
|
git update-index --no-assume-unchanged ./dojo
|
|
git update-index --no-assume-unchanged ./freeipa
|
|
fi
|
|
popd |