summaryrefslogtreecommitdiff
path: root/STLinux
diff options
context:
space:
mode:
authorHugues Hiegel <hugues@hiegel.fr>2009-02-06 14:59:12 +0100
committerHugues Hiegel <hugues@hiegel.fr>2009-02-06 14:59:12 +0100
commit382aedeba3ecd2924c790166e2b65d4e249f83f5 (patch)
treef78786d5d5c62bdc4c15edf36a4be30ff9557b24 /STLinux
parent9c63dfa5e3b46e738fc653828393a1c3317a0836 (diff)
scripts moved back to parent dir
Diffstat (limited to 'STLinux')
-rwxr-xr-xSTLinux/stlinux_generate_spec_file.sh23
-rwxr-xr-xSTLinux/stlinux_import_patches.sh119
-rwxr-xr-xSTLinux/stlinux_reset_tags.sh39
3 files changed, 0 insertions, 181 deletions
diff --git a/STLinux/stlinux_generate_spec_file.sh b/STLinux/stlinux_generate_spec_file.sh
deleted file mode 100755
index d39ec7c..0000000
--- a/STLinux/stlinux_generate_spec_file.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/zsh
-
-LOG=$1
-
-usage()
-{
- cat << EOF
-usage: $0:t <commitish>..<commitish>
-EOF
-}
-
-if [ $# -ne 1 -o -z $LOG ]
-then
- usage
- exit 27 # 27 ? Yes, 27.
-fi
-
-git-log --decorate $LOG |\
-grep "\[Patch\|refs/tags" |\
-sed 's/^commit ........................................ .*refs\/tags\/\([0-9]\+\)[,)].*/# Kernel \1 released here/;s/.*Patch #\([0-9]\+\)\].* Applied /Patch\1: /' |\
-grep -v "^commit " |\
-tac
-
diff --git a/STLinux/stlinux_import_patches.sh b/STLinux/stlinux_import_patches.sh
deleted file mode 100755
index 38afb14..0000000
--- a/STLinux/stlinux_import_patches.sh
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/zsh
-
-usage()
-{
- cat << EOF
-usage: $0:t <STLINUX_PATCHES FOLDER> <TAG PREFIX> [Patch # start] [Patch # end]
-EOF
-}
-
-if ! git-rev-parse --git-dir >/dev/null
-then
- echo "This is not a GIT repository !"
- usage
- exit 27 # I like 27.
-fi
-if [ $# -lt 2 ]
-then
- usage
- exit 42 # 42 ? Because !
-fi
-
-STLINUX_FOLDER=$1
-TAG_PREFIX=$2
-START_FROM=${3:-0}
-END_TO=${4:-}
-
-PATCHES_LIST=$STLINUX_FOLDER/.patches
-
-grep -if =(grep "^%patch" $STLINUX_FOLDER/*.spec | sed 's/%\(patch.*\) .*/^\1:/') $STLINUX_FOLDER/*.spec | awk '{ print $2 }' > $PATCHES_LIST
-
-#cat $PATCHES_LIST
-
-function read_patch_file()
-{
- case $1:e in
- "patch")
- < $1
- ;;
- "bz2")
- bunzip2 -c $1
- ;;
- "*")
- echo >&2 "Error ! $1:e is not a recognized patch extension !"
- exit;
- ;;
- esac
-}
-
-export RELEASE=""
-for file in $(cat $PATCHES_LIST )
-do
-
- i=$(grep "^Patch.*:[[:blank:]]\+$file$" $STLINUX_FOLDER/*.spec | sed 's/^Patch\(.*\): .*$/\1/')
-
- if [ $i -ge $START_FROM -a \( -z "$END_TO" -o $i -le "$END_TO" \) ]
- then
-
- if [ ! -e $STLINUX_FOLDER/$file -a -e $STLINUX_FOLDER/$file:r ]
- then
- file=$file:r
- fi
-
- (
- #
- # On extrait le numéro de release ST dans le nom du fichier .patch
- #
- _RELEASE="$(echo $file | sed 's/linux-.*[-_]stm\(.\)\(.\)[-_]\([0-9]*\)[_-\.].*/\3/')"
-
- # Ça a marché ? Alors on vérifie qu'on n'est pas passé à la release suivante...
- if [ "$_RELEASE" != "$file" ]
- then
- # On épure le numéro de révision
- _RELEASE=$(( $_RELEASE ))
- if [ "$(( $_RELEASE ))" -gt "$(( $RELEASE ))" ]
- then
- # Ha ! On est passé à une release "supérieure", alors on pose le tag
- git-tag "$TAG_PREFIX${_RELEASE}"
- # Et on stocke le résultat pour le récupérer dans le bloc parent
- echo $_RELEASE > .git/release
- fi
-
- # On crée le tag pour le message de commit
- RELEASE="[$_RELEASE] "
- else
- RELEASE=""
- fi
-
- # Voici la première ligne du message de commit. C'est la plus jolie.
- echo "[Patch #$i] ${RELEASE}Applied $file"
-
- #
- # On récupère le commentaire dans le patch en guise de message de commit
- # avec gestion des .patch ou des .patch.bz2
- #
- read_patch_file $STLINUX_FOLDER/$file | awk '{ RS="--- "; } { if ( NR <= 2 ) { print $0 } }' | \
- grep -v -e "^diff \-" -e "^Index: " -e "^=*$" -e "^Signed-off-by: " -e "^index ";
-
- ) | sed 's/ //' > .git/message ;
-
- # On récupère la release trouvée dans le bloc précédent
- RELEASE=$([ -s .git/release ] && ( cat .git/release ; rm -f .git/release) )
- #
- # On affiche le résultat de l'application du patch dans le message de commit
- #
- echo "---" >> .git/message
- read_patch_file $STLINUX_FOLDER/$file | patch -Np1 >> .git/message
- # Suppression des fichiers supprimés par le patch
- git-rm $(git-ls-files --deleted) 2>/dev/null
- # Ajout de tout le reste :-)
- git-add .
- # Et on committe !!
- git-commit -F .git/message
- else
-
- echo >&2 "Skipping patch #$i : $file"
-
- fi
-done
-git-tag "$TAG_PREFIX$((RELEASE + 1))"
diff --git a/STLinux/stlinux_reset_tags.sh b/STLinux/stlinux_reset_tags.sh
deleted file mode 100755
index e30535a..0000000
--- a/STLinux/stlinux_reset_tags.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/zsh
-
-FILE=$1
-TAGPREFIX=$2
-
-usage()
-{
- cat << EOF
-usage: $0:t <FILE.spec> [<TAGPREFIX>]"
- Where FILE.spec is a .spec file with list of patches and of kernel releases
- To generate this FILE.spec, you should take a look to stlinux_generate_spec_file.sh
-
- TAGPREFIX should be used to prefix the tags
-EOF
-}
-
-if [ $# -lt 1 -o $# -gt 2 -o ! -f $FILE ]
-then
- usage
- exit 42 # Yes, 42.
-fi
-
-local tag commit release
-
-for tag in $(grep -i "^# Kernel [0-9]\+ released here$" $FILE | sed 's/^# Kernel \([0-9]*\) released here$/\1/')
-do
- release=$(
- grep -i "^# Kernel $tag released here$" $FILE -B1 |\
- head -n1 |\
- sed 's/^Patch\([0-9]*\): /\\[Patch \\#\1\\].* /'
- )
- commit=$(
- git-log --grep="$release" --pretty=oneline |\
- cut -c1-40
- )
- echo "#$tag -- $(git-log --grep="$release" | grep "$release")"
- git-tag $TAGPREFIX$tag $commit
-done
-