SPECS: adapter, builder, adapter.awk - adapter portions moved to a...
glen
glen at pld-linux.org
Wed Dec 14 13:51:46 CET 2005
Author: glen Date: Wed Dec 14 12:51:46 2005 GMT
Module: SPECS Tag: HEAD
---- Log message:
- adapter portions moved to adapter
---- Files affected:
SPECS:
adapter (1.12 -> 1.13) , builder (1.359 -> 1.360) , adapter.awk (1.247 -> 1.248)
---- Diffs:
================================================================
Index: SPECS/adapter
diff -u SPECS/adapter:1.12 SPECS/adapter:1.13
--- SPECS/adapter:1.12 Tue Dec 13 16:03:11 2005
+++ SPECS/adapter Wed Dec 14 13:51:41 2005
@@ -1,4 +1,19 @@
#!/bin/sh
+#
+# This is adapter v0.27. Adapter adapts .spec files for PLD Linux.
+#
+# Copyright (C) 1999-2003 PLD-Team <feedback at pld-linux.org>
+# Authors:
+# Michał Kuratczyk <kura at pld.org.pl>
+# Sebastian Zagrodzki <s.zagrodzki at mimuw.edu.pl>
+# Tomasz Kłoczko <kloczek at rudy.mif.pg.gda.pl>
+# Artur Frysiak <wiget at pld-linux.org>
+# Michal Kochanowicz <mkochano at pld.org.pl>
+# Elan Ruusamäe <glen at pld-linux.org>
+#
+# See cvs log adapter{,.awk} for list of contributors
+#
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
self=$(basename "$0")
usage="Usage: $self [FLAGS] SPECFILE
@@ -47,9 +62,116 @@
shift
done
+diffcol()
+{
+ # vim like diff colourization
+ sed -e '
+ s,,[44m^[[49m,g;
+ s,,[44m^G[49m,g;
+ s,^\(Index:\|diff\|---\|+++\) .*$,[32m&,;
+ s,^@@ ,[33m&,g;
+ s,^-,[35m&,;
+ s,^+,[36m&,;
+ s,
,[44m^M[49m,g;
+ s, , ,g;
+ s,\([^[:space:]]\)\([[:space:]]\+\)$,\1[41m\2[49m,g;
+ s,$,[0m,
+ ' "$@"
+}
+
+diff2hunks()
+{
+ # diff2hunks orignally by dig
+ perl -e '
+#! /usr/bin/perl -w
+
+use strict;
+
+for my $filename (@ARGV) {
+ my $counter = 1;
+ my $fh;
+ open $fh, "<", $filename or die "$filename: open for reading: $!";
+ my @lines = <$fh>;
+ my @hunks;
+ my @curheader;
+ for my $i (0 ... $#lines) {
+ next unless $lines[$i] =~ m/^\@\@ /;
+ if ($i >= 2 and $lines[$i - 2] =~ m/^--- / and $lines[$i - 1] =~ m/^\+\+\+ /) {
+ @curheader = @lines[$i - 2 ... $i - 1];
+ }
+ next unless @curheader;
+ my $j = $i + 1;
+ while ($j < @lines and $lines[$j] !~ m/^\@\@ /) {$j++}
+ $j -= 2
+ if $j >= 3 and $j < @lines
+ and $lines[$j - 2] =~ m/^--- /
+ and $lines[$j - 1] =~ m/^\+\+\+ /;
+ $j--;
+ $j-- until $lines[$j] =~ m/^[ @+-]/;
+ my $hunkfilename = $filename;
+ $hunkfilename =~ s/((\.(pat(ch)?|diff?))?)$/"-".sprintf("%03i",$counter++).$1/ei;
+ my $ofh;
+ open $ofh, ">", $hunkfilename or die "$hunkfilename: open for writing: $!";
+ print $ofh @curheader, @lines[$i ... $j];
+ close $ofh;
+ }
+}
+' "$@"
+}
+
+adapterize()
+{
+ local tmpdir
+ tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/adapter-XXXXXX) || exit
+ awk -f adapter.awk $SPECFILE > $tmpdir/$SPECFILE || exit
+
+ if [ "`diff --brief $SPECFILE $tmpdir/$SPECFILE`" ] ; then
+ diff -u $SPECFILE $tmpdir/$SPECFILE > $tmpdir/$SPECFILE.diff
+ if [ -t 1 ]; then
+ diffcol $tmpdir/$SPECFILE.diff | less -r
+ while : ; do
+ echo -n "Accept? (Yes, No, Confirm each chunk)? "
+ read ans
+ case "$ans" in
+ [yYoO]) # y0 mama
+ mv -f $tmpdir/$SPECFILE $SPECFILE
+ echo "Ok, adapterized."
+ break
+ ;;
+ [cC]) # confirm each chunk
+ diff2hunks $tmpdir/$SPECFILE.diff
+ for t in $(ls $tmpdir/$SPECFILE-*.diff); do
+ diffcol $t | less -r
+ echo -n "Accept? (Yes, [N]o)? "
+ read ans
+ case "$ans" in
+ [yYoO]) # y0 mama
+ patch < $t
+ ;;
+ esac
+ done
+ break
+ ;;
+ [QqnNsS])
+ echo "Ok, exiting."
+ break
+ ;;
+ esac
+ done
+ else
+ cat $tmpdir/$SPECFILE.diff
+ fi
+ else
+ echo "The SPEC is perfect ;)"
+ fi
+
+ rm -rf $tmpdir
+}
+
if [ $# -ne 1 -o ! -f "$1" ]; then
echo "$usage"
exit 1
fi
-exec ./builder --adapter "$1"
+SPECFILE="$1"
+adapterize
================================================================
Index: SPECS/builder
diff -u SPECS/builder:1.359 SPECS/builder:1.360
--- SPECS/builder:1.359 Tue Dec 13 15:36:20 2005
+++ SPECS/builder Wed Dec 14 13:51:41 2005
@@ -1446,112 +1446,10 @@
fi
}
-diffcol()
-{
- # vim like diff colourization, glen at pld-linux.org
- sed -e '
- s,,[44m^[[49m,g;
- s,,[44m^G[49m,g;
- s,^\(Index:\|diff\|---\|+++\) .*$,[32m&,;
- s,^@@ ,[33m&,g;
- s,^-,[35m&,;
- s,^+,[36m&,;
- s,
,[44m^M[49m,g;
- s, , ,g;
- s,\([^[:space:]]\)\([[:space:]]\+\)$,\1[41m\2[49m,g;
- s,$,[0m,
- ' "$@"
-}
-
-
-diff2hunks()
-{
- # diff2hunks orignally by dig
- perl -e '
-#! /usr/bin/perl -w
-
-use strict;
-
-for my $filename (@ARGV) {
- my $counter = 1;
- my $fh;
- open $fh, "<", $filename or die "$filename: open for reading: $!";
- my @lines = <$fh>;
- my @hunks;
- my @curheader;
- for my $i (0 ... $#lines) {
- next unless $lines[$i] =~ m/^\@\@ /;
- if ($i >= 2 and $lines[$i - 2] =~ m/^--- / and $lines[$i - 1] =~ m/^\+\+\+ /) {
- @curheader = @lines[$i - 2 ... $i - 1];
- }
- next unless @curheader;
- my $j = $i + 1;
- while ($j < @lines and $lines[$j] !~ m/^\@\@ /) {$j++}
- $j -= 2
- if $j >= 3 and $j < @lines
- and $lines[$j - 2] =~ m/^--- /
- and $lines[$j - 1] =~ m/^\+\+\+ /;
- $j--;
- $j-- until $lines[$j] =~ m/^[ @+-]/;
- my $hunkfilename = $filename;
- $hunkfilename =~ s/((\.(pat(ch)?|diff?))?)$/"-".sprintf("%03i",$counter++).$1/ei;
- my $ofh;
- open $ofh, ">", $hunkfilename or die "$hunkfilename: open for writing: $!";
- print $ofh @curheader, @lines[$i ... $j];
- close $ofh;
- }
-}
-' "$@"
-}
-
adapterize()
{
cd "$SPECS_DIR"
- local tmpdir
- tmpdir=$(mktemp -d ${TMPDIR:-/tmp}/adapter-XXXXXX) || exit
- awk -f adapter.awk $SPECFILE > $tmpdir/$SPECFILE || exit
-
- if [ "`diff --brief $SPECFILE $tmpdir/$SPECFILE`" ] ; then
- diff -u $SPECFILE $tmpdir/$SPECFILE > $tmpdir/$SPECFILE.diff
- if [ -t 1 ]; then
- diffcol $tmpdir/$SPECFILE.diff | less -r
- while : ; do
- echo -n "Accept? (Yes, No, Confirm each chunk)? "
- read ans
- case "$ans" in
- [yYoO]) # y0 mama
- mv -f $tmpdir/$SPECFILE $SPECFILE
- echo "Ok, adapterized."
- break
- ;;
- [cC]) # confirm each chunk
- diff2hunks $tmpdir/$SPECFILE.diff
- for t in $(ls $tmpdir/$SPECFILE-*.diff); do
- diffcol $t | less -r
- echo -n "Accept? (Yes, [N]o)? "
- read ans
- case "$ans" in
- [yYoO]) # y0 mama
- patch < $t
- ;;
- esac
- done
- break
- ;;
- [QqnNsS])
- echo "Ok, exiting."
- break
- ;;
- esac
- done
- else
- cat $tmpdir/$SPECFILE.diff
- fi
- else
- echo "The SPEC is perfect ;)"
- fi
-
- rm -rf $tmpdir
+ ./adapter $SPECFILE
}
#---------------------------------------------
================================================================
Index: SPECS/adapter.awk
diff -u SPECS/adapter.awk:1.247 SPECS/adapter.awk:1.248
--- SPECS/adapter.awk:1.247 Wed Dec 14 10:32:21 2005
+++ SPECS/adapter.awk Wed Dec 14 13:51:41 2005
@@ -1,15 +1,18 @@
#!/bin/awk -f
#
-# This is adapter v0.27. Adapter adapts .spec files for PLD.
+# This is adapter v0.27. Adapter adapts .spec files for PLD Linux.
#
-# Copyright (C) 1999-2003 PLD-Team <feedback at pld-linux.org>
+# Copyright (C) 1999-2005 PLD-Team <feedback at pld-linux.org>
# Authors:
# Michał Kuratczyk <kura at pld.org.pl>
# Sebastian Zagrodzki <s.zagrodzki at mimuw.edu.pl>
# Tomasz Kłoczko <kloczek at rudy.mif.pg.gda.pl>
# Artur Frysiak <wiget at pld-linux.org>
# Michal Kochanowicz <mkochano at pld.org.pl>
-# Elan Ruusamäe <glen at pld-linux.org>
+# Elan Ruusamä¤e <glen at pld-linux.org>
+#
+# See cvs log adapter{,.awk} for list of contributors
+#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# TODO
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SPECS/adapter?r1=1.12&r2=1.13&f=u
http://cvs.pld-linux.org/SPECS/builder?r1=1.359&r2=1.360&f=u
http://cvs.pld-linux.org/SPECS/adapter.awk?r1=1.247&r2=1.248&f=u
More information about the pld-cvs-commit
mailing list