]> git.pld-linux.org Git - packages/adapter.git/commitdiff
version 0.3
authorkura <kura@pld-linux.org>
Sat, 20 Nov 1999 09:12:33 +0000 (09:12 +0000)
committerkura <kura@pld-linux.org>
Sat, 20 Nov 1999 09:12:33 +0000 (09:12 +0000)
- added formating descriptions. There is small bug - if description is
  divided to paragraphs adapter joins them, but there is double space in
  the place where was empty line.
- added adding "%define date %(echo `LC_ALL="C" date +"%a %b %d %Y"`)
  before changelog section

Changed files:
    adapter.awk -> 1.3

adapter.awk

index 637f7672698f67c05c879e291c0262199c394b7b..d150da506944609b8d2ad362b9a61e75cb630900 100644 (file)
@@ -1,12 +1,13 @@
 #!/bin/awk -f
 #
-# This is adapter v0.2. Adapter adapts .spec files for PLD.
+# This is adapter v0.3. Adapter adapts .spec files for PLD.
 # Copyright (C) 1999 Micha³ Kuratczyk <kura@pld.org.pl>
 
 BEGIN {
        preamble = 1;
        bof = 1;        # Beggining of file
        boc = 2;        # Beggining of %changelog
+       tw = 77;        # Descriptions width
 }
 
 # There should be a comment with CVS keywords on the first line of file.
@@ -19,13 +20,42 @@ bof == 1 {
 # descriptions:
 /%description/, (/^%[a-z]+/ && !/%description/) {
        preamble = 0;
-
+       
        # Define _prefix and _mandir if it is X11 application
        if (/^%description$/ && x11 == 1) {
                print "%define\t\t_prefix\t\t/usr/X11R6";
                print "%define\t\t_mandir\t\t%{_prefix}/man\n";
                x11 == 2;
        }
+
+       # Collect whole text of description
+       if (description == 1 && !/^%[a-z]+/ && !/%description/) {
+               description_text = description_text $0 " ";
+               noprint = 1;
+       }
+       
+       # Formt description to the length of tw (default == 77)
+       if (/^%[a-z]+/ && !/%description/) {
+               n = split(description_text, dt, / /);
+               for (i = 1; i <= n; i++) {
+                       if (length(line) + length(dt[i]) + 1 < tw) {
+                               line = line dt[i] " ";
+                       } else {
+                               print line;
+                               line = "";
+                               i--;
+                       }
+               }
+               
+               print line "\n";
+               line = "";
+               delete dt;
+               description_text = "";
+
+               description = 0;
+       } else {
+               description = 1;
+       }
 }
 
 # %prep section:
@@ -82,6 +112,7 @@ bof == 1 {
        
        if (/%defattr/)
                $0 = "%defattr(644,root,root,755)";
+
 }
 
 # %changelog section:
@@ -98,8 +129,12 @@ bof == 1 {
                boc = 0;
        }
        
-       if (boc == 2)
+       # Define date macro.
+       if (boc == 2 && date == 0) {
+               printf "%%define date\t%%(echo `LC_ALL=\"C\"";
+               print " date +\"%a %b %d %Y\"`)"
                boc--;
+       }
 }
 
 # preambles:
@@ -153,6 +188,11 @@ preamble == 1 {
 # but set the redundant_line to 0.
 {
        preamble = 1;
+       
+       # Macro 'date' already defined.
+       if (/%define date/)
+               date = 1;
+       
        if (noprint == 0)
                print;
        else
This page took 0.027936 seconds and 4 git commands to generate.