freeipa/install/ui/util/sync.sh
Petr Vobornik 3e0ae97268 Use only system fonts
This commit changes how fonts are used.

- remove usage of bundled fonts and only system fonts are used instead
  - by using alias in httpd conf
  - by using local("Font Name") directive in font-face
- removed usage of overpass font
- redefined Open Sans font-face declarations. Note: upstream is doing the
  same change so we will be fine on upgrade.
- introduce variable.less for variable definitions and overrides. This file
  will be very useful when we upgrade to newer RCUE so we will be able to
  redefine their and bootstrap's variables.

Fixes: https://fedorahosted.org/freeipa/ticket/2861
2014-01-21 12:05:09 +01:00

360 lines
8.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
sync.sh - Sync development files with installed FreeIPA
SYNOPSIS
path/to/sync.sh [--help] [--host login@host.name] [--freeipa]
DESCRIPTION
Sync UI development files from 'install' dir to '/usr/share/ipa' dir.
OPTIONS
--help print the help message
-h
--host
host login in format login@hostname
-f
--freeipa
files from ui/src/freeipa to ui/js/freeipa
--libs
files from ui/src/libs to ui/js/libs
-d
--dojo
files from ui/src/dojo to ui/js/dojo
--misc
files from ui/ non-recursive
--images
files from ui/images
--css
files from ui/css
--data
files from ui/test/data
--migration
files from migration/
--config
files from html/
--strings
ipalib/plugins/internal.py
-C
--compiled
changes source dir of --freeipa and --dojo to /src/build/freeipa
and /src/built/dojo
-c
--clean
removes all files from from target dir
-e
--existing
updates only existing files. Don't transfer new files.
-r
--restart
restart httpd
--create-dir
create target dir
--no-sync
don't copy files
__EOF__
}
args=`getopt -u -l help,ui,host:,freeipa,libs,dojo,misc,images,css,data,\
migration,config,strings,compiled,clean,restart,create-dir,no-sync h:fdcCer $*`
if test $? != 0
then
usage
exit 1
fi
set -- $args
for i
do
case "$i" in
--help)
shift
HELP=1
;;
--host | -h)
shift
HOST=$1
shift
;;
--freeipa | -f)
shift
FREEIPA=1
;;
--libs)
shift
LIBS=1
;;
--dojo)
shift
DOJO=1
;;
--misc)
shift
MISC=1
;;
--images)
shift
IMAGES=1
;;
--css)
shift
CSS=1
;;
--data)
shift
DATA=1
;;
--migration)
shift
MIGRATION=1
;;
--config)
shift
CONFIG=1
;;
--strings)
shift
STRINGS=1
;;
--compiled | -C)
shift
COMPILED=1
;;
--clean | -c)
shift
CLEAN=1
;;
--restart | -r)
shift
RESTART=1
;;
--existing | -e)
shift
EXISTING=1
;;
--create-dir)
shift
CREATE_DIR=1
;;
--no-sync)
shift
NO_SYNC=1
;;
*)
;;
esac
done
set -- $args
if [[ $HELP ]] ; then
usage
exit 0
fi
sync-files() {
# global vars: (SOURCE, TARGET, HOST, RECURSIVE, EXISTING, CLEAN)
# local vars: OPTIONS
# TARGET: absolute path or relative to account home
# SOURCE: file expression
# HOST: in format username@host.name
if [[ $HOST ]] ; then
#remote sync
if [[ $CREATE_DIR ]] ; then
echo "$HOST \"mkdir $TARGET\""
ssh $HOST "mkdir -p $TARGET"
fi
if [[ $CLEAN = 1 ]] ; then
if [[ $RECURSIVE = 1 ]] ; then
echo "ssh $HOST \"rm -rf $TARGET/*\""
ssh $HOST "rm -rfv $TARGET/*"
else
echo "ssh $HOST \"rm -fv $TARGET/*\""
ssh $HOST "rm -fv $TARGET/*"
fi
fi
if [[ ! $NO_SYNC ]] ; then
# options for rsync
# archvive, verbose, compress, update
# archive: rlptgoD - recursive, links, permissions, times, groups,
# owner, specials
OPTIONS='-avzu'
if [[ $EXISTING = 1 ]] ; then
OPTIONS="$OPTIONS --existing"
fi
if [[ $RECURSIVE = 0 ]] ; then
OPTIONS="$OPTIONS --no-r"
fi
echo "rsync $OPTIONS $EXCEPTIONS $SOURCE $HOST:$TARGET/"
rsync $OPTIONS $EXCEPTIONS $SOURCE $HOST:$TARGET/
fi
else
#local sync
if [[ $CLEAN = 1 ]] ; then
if [[ $RECURSIVE = 1 ]] ; then
rm -rf $TARGET/*
else
rm -f $TARGET/*
fi
fi
if [[ ! $NO_SYNC ]] ; then
#--existing is ignored
OPTIONS=''
if [[ $RECURSIVE = 1 ]] ; then
OPTIONS="$OPTIONS -r"
fi
cp $OPTIONS $SOURCE $TARGET/
fi
fi
}
pushd $DIR/../../ #freeipa/install
TARGET_BASE='/usr/share/ipa'
LOGIN=$HOST
if [[ $FREEIPA ]] ; then
SOURCE=ui/src/freeipa/*
if [[ $COMPILED ]] ; then
SOURCE=ui/build/freeipa/*
fi
TARGET=$TARGET_BASE/ui/js/freeipa
RECURSIVE=1
EXCEPTIONS="--exclude /Makefile*"
sync-files
fi
if [[ $LIBS ]] ; then
SOURCE=ui/src/libs/*
TARGET=$TARGET_BASE/ui/js/libs
RECURSIVE=1
EXCEPTIONS="--exclude /Makefile* --exclude .in"
sync-files
fi
if [[ $DOJO ]] ; then
SOURCE=ui/src/dojo/*
if [[ $COMPILED ]] ; then
SOURCE=ui/build/dojo/*
fi
TARGET=$TARGET_BASE/ui/js/dojo
RECURSIVE=1
EXCEPTIONS="--exclude tests --exclude .git"
sync-files
fi
if [[ $MISC ]] ; then
SOURCE=ui/*
TARGET=$TARGET_BASE/ui
RECURSIVE=0
EXCEPTIONS="--exclude /Makefile*"
sync-files
fi
if [[ $IMAGES ]] ; then
SOURCE=ui/images/*
TARGET=$TARGET_BASE/ui/images
RECURSIVE=1
EXCEPTIONS="--exclude /Makefile*"
sync-files
SOURCE=ui/img/*
TARGET=$TARGET_BASE/ui/img
RECURSIVE=1
EXCEPTIONS="--exclude /Makefile*"
sync-files
fi
if [[ $CSS ]] ; then
SOURCE=ui/*.css
TARGET=$TARGET_BASE/ui
RECURSIVE=0
EXCEPTIONS="--exclude /Makefile*"
sync-files
SOURCE=ui/css/*.css
TARGET=$TARGET_BASE/ui/css
RECURSIVE=0
EXCEPTIONS="--exclude /Makefile*"
sync-files
fi
if [[ $DATA ]] ; then
SOURCE=ui/test/data/*
TARGET=$TARGET_BASE/ui/test/data
RECURSIVE=1
sync-files
fi
if [[ $MIGRATION ]] ; then
SOURCE=migration/*
TARGET=$TARGET_BASE/migration
RECURSIVE=1
EXCEPTIONS="--exclude /Makefile*"
sync-files
fi
if [[ $CONFIG ]] ; then
SOURCE=html/*
TARGET=/etc/ipa/html
RECURSIVE=1
EXCEPTIONS="--exclude /Makefile*"
sync-files
fi
popd
if [[ $STRINGS ]] ; then
SOURCE=ipalib/plugins/internal.py
TARGET=/usr/lib/python2.7/site-packages/ipalib/plugins
RECURSIVE=0
CLEAN=0 # don't clean entire folder
pushd $DIR/../../../
sync-files
popd
fi
if [[ $RESTART ]] ; then
if [[ ! $HOST ]] ; then
echo "Restarting httpd"
sudo systemctl restart httpd.service
else
echo "Restarting httpd: $HOST"
ssh $HOST "systemctl restart httpd.service"
fi
fi