Hello community,

here is the log from the commit of package icmake for openSUSE:Factory checked 
in at 2013-07-29 21:01:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icmake (Old)
 and      /work/SRC/openSUSE:Factory/.icmake.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "icmake"

Changes:
--------
--- /work/SRC/openSUSE:Factory/icmake/icmake.changes    2013-01-12 
07:51:13.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.icmake.new/icmake.changes       2013-07-29 
21:01:05.000000000 +0200
@@ -1,0 +2,11 @@
+Sun Jul 28 11:56:04 UTC 2013 - [email protected]
+
+- Update to version 7.20.00
+  * added missing '\n' to the strtok call in icmbuild's 'dependenciesOf'
+    function
+  * line continuation in CLASSES results in one line being counted in the
+    icmbuild script.
+  * Added suggestions by Johann 'Myrkraverk' Oskarsson about compiling icmake
+    on solaris (in ./contributions/solaris)
+
+-------------------------------------------------------------------

Old:
----
  icmake_7.19.00.orig.tar.gz

New:
----
  icmake_7.20.00.orig.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ icmake.spec ++++++
--- /var/tmp/diff_new_pack.i5jxef/_old  2013-07-29 21:01:06.000000000 +0200
+++ /var/tmp/diff_new_pack.i5jxef/_new  2013-07-29 21:01:06.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package icmake
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 Name:           icmake
 BuildRequires:  bison
 BuildRequires:  flex
-Version:        7.19.00
+Version:        7.20.00
 Release:        0
 Summary:        A program maintenance (make) utility using a C-like grammar
 License:        GPL-3.0

++++++ icmake_7.19.00.orig.tar.gz -> icmake_7.20.00.orig.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/VERSION new/icmake-7.20.00/VERSION
--- old/icmake-7.19.00/VERSION  2012-09-07 09:44:40.000000000 +0200
+++ new/icmake-7.20.00/VERSION  2013-03-09 10:46:34.000000000 +0100
@@ -1,2 +1,2 @@
-VERSION=7.19.00
-YEARS=1992-2012
+VERSION=7.20.00
+YEARS=1992-2013
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/changelog new/icmake-7.20.00/changelog
--- old/icmake-7.19.00/changelog        2012-09-07 09:44:40.000000000 +0200
+++ new/icmake-7.20.00/changelog        2013-03-09 14:48:54.000000000 +0100
@@ -1,3 +1,16 @@
+icmake (7.20.00)
+
+  * added missing '\n' to the strtok call in icmbuild's 'dependenciesOf'
+    function
+
+  * line continuation in CLASSES results in one line being counted in the
+    icmbuild script.
+
+  * Added suggestions by Johann 'Myrkraverk' Oskarsson about compiling icmake
+    on solaris (in ./contributions/solaris)
+
+ -- Frank B. Brokken <[email protected]>  Sat, 09 Mar 2013 14:48:45 +0100
+
 icmake (7.19.00)
 
   * build scripts for constructing icmake now support the CC environment
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/contributions/solaris 
new/icmake-7.20.00/contributions/solaris
--- old/icmake-7.19.00/contributions/solaris    1970-01-01 01:00:00.000000000 
+0100
+++ new/icmake-7.20.00/contributions/solaris    2013-03-09 10:38:31.000000000 
+0100
@@ -0,0 +1,61 @@
+Date: Sun, 16 Oct 2011 19:59:00 +0000
+Subject: A few hoops for icmake to compile on Solaris
+From: "Johann 'Myrkraverk' Oskarsson"
+To: [email protected]
+
+
+Hi,
+
+Here is a short list of hoops I had to jump through in order to make
+icmake compile on Solaris.  Specifically OpenIndiana 151a.
+
+Change to icm_bootstrap: The comp subdirectory does not build with
+gcc, but does with Solaris Studio 12.3 cc:
+
+echo Creating tmp/${LIBDIR}/icm-comp${EXTENSION}
+try cd comp
+try cc ${GLB} ${CFLAGS} \
+        -o ../tmp/${LIBDIR}/icm-comp${EXTENSION} *.c ../tmp/libicrss.a \
+        ${LDFLAGS}
+cd ..
+
+In the following three files, before #include <stdlib.h>,
+exec/string/string.ih, exec/virtual/virtual.ih, exec/list/list.ih:
+
+#undef getopt
+#undef getoptindex
+#undef getoptval
+
+I was unable to find a way to exclude these three symbols from the
+header file with a -Ddefine.  If these symbols are not meant to be
+there in some Posix standard it should be.  The reason: it conflicts
+with the ic_ definitions from earlier include files.
+
+Above, when comp is compiled with gcc, errors similar (or same as) the
+following spew out:
+
+In file included from /usr/include/stdio.h:81:0,
+                 from lexer.c:21:
+/usr/include/iso/stdio_iso.h:212:60: error: redefinition of parameter 
'restrict'
+
+
+If you need more information to fix this for future versions of
+icmake, please just ask,
+
+Johann
+
+
+----------------------------------------
+
+Date: Tue, 22 Apr 2008 00:56:23 +0000
+
+o   Bitrot: I had to add -std=c99 to all gcc lines due to some macro
+defining the "restrict" keyword in my system header files.  I suspect
+something defined in the icmake header files but I 'm not sure.
+
+o   I had to change all getoptXXX calls to ic_getoptXXX becouse of
+some conflict with my system getopt/headers/macros or something.
+
+o   In all build scripts, I had to change the shebang lines from
+#!tmp/icmake -qt/tmp/pp to #!/opt/myrkraverk/bin/icmake -qt/tmp/pp --
+or at least, I had to change them due to something.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/doc/icmake.1 
new/icmake-7.20.00/doc/icmake.1
--- old/icmake-7.19.00/doc/icmake.1     2012-09-07 09:44:40.000000000 +0200
+++ new/icmake-7.20.00/doc/icmake.1     2013-03-09 14:16:27.000000000 +0100
@@ -1,4 +1,4 @@
-.TH "icmake" "1" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "A program 
maintenance utility"
+.TH "icmake" "1" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "A program 
maintenance utility"
 
 .PP 
 .SH "NAME"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/doc/icmbuild.1 
new/icmake-7.20.00/doc/icmbuild.1
--- old/icmake-7.19.00/doc/icmbuild.1   2012-09-07 09:44:40.000000000 +0200
+++ new/icmake-7.20.00/doc/icmbuild.1   2013-03-09 14:16:27.000000000 +0100
@@ -1,4 +1,4 @@
-.TH "icmbuild" "1" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "A generic 
program maintenance script"
+.TH "icmbuild" "1" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "A generic 
program maintenance script"
 
 .PP 
 .SH "NAME"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/doc/icmstart.1 
new/icmake-7.20.00/doc/icmstart.1
--- old/icmake-7.19.00/doc/icmstart.1   2012-09-07 09:44:40.000000000 +0200
+++ new/icmake-7.20.00/doc/icmstart.1   2013-03-09 14:16:27.000000000 +0100
@@ -1,4 +1,4 @@
-.TH "icmstart" "1" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" "starts 
icmbuild program maintenance"
+.TH "icmstart" "1" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" "starts 
icmbuild program maintenance"
 
 .PP 
 .SH "NAME"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/doc/icmstart.rc.7 
new/icmake-7.20.00/doc/icmstart.rc.7
--- old/icmake-7.19.00/doc/icmstart.rc.7        2012-09-07 09:44:40.000000000 
+0200
+++ new/icmake-7.20.00/doc/icmstart.rc.7        2013-03-09 14:16:27.000000000 
+0100
@@ -1,4 +1,4 @@
-.TH "icmstart\&.rc" "7" "1992\-2012" "icmake\&.7\&.19\&.00\&.tar\&.gz" 
"icmstart resource file"
+.TH "icmstart\&.rc" "7" "1992\-2013" "icmake\&.7\&.20\&.00\&.tar\&.gz" 
"icmstart resource file"
 
 .PP 
 .SH "NAME"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/doc/manpage/icmconf.yo 
new/icmake-7.20.00/doc/manpage/icmconf.yo
--- old/icmake-7.19.00/doc/manpage/icmconf.yo   2012-09-07 09:44:40.000000000 
+0200
+++ new/icmake-7.20.00/doc/manpage/icmconf.yo   2013-03-09 13:52:39.000000000 
+0100
@@ -94,8 +94,8 @@
     y   x
     z   y
         )
-    then 'icmbuild program' will result in the recompilation of all of the
-sources in classes x, y and z.
+    then 'icmbuild program' results in recompiling all of the sources in
+classes x, y and z.
 
 By default, class-dependencies are not interpreted. To activate them the line
     verb(
@@ -106,6 +106,15 @@
 #define USE_ALL             "a"
     )
 
+Empty lines and lines whose first non-blank character is a hash-mark (tt(#))
+or whose first non-blank characters are two consecutive forward slashes (//)
+are ignored. Long lines can be split over multiple lines by using a final
+backslash character at lines which continue at the next line. E.g.,
+        verb(
+    name1 depends on     \
+          multiple other \
+          classes
+        )
 
 manpagesection(ICMCONF PARAMETERS)
     itemization(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/doc/manpage/release.yo 
new/icmake-7.20.00/doc/manpage/release.yo
--- old/icmake-7.19.00/doc/manpage/release.yo   1970-01-01 01:00:00.000000000 
+0100
+++ new/icmake-7.20.00/doc/manpage/release.yo   2013-03-09 14:16:27.000000000 
+0100
@@ -0,0 +1,2 @@
+SUBST(_CurVers_)(7.20.00)
+SUBST(_CurYrs_)(1992-2013)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/icmake-7.19.00/scripts/icmbuild.in 
new/icmake-7.20.00/scripts/icmbuild.in
--- old/icmake-7.19.00/scripts/icmbuild.in      2012-09-07 09:44:40.000000000 
+0200
+++ new/icmake-7.20.00/scripts/icmbuild.in      2013-03-09 14:48:03.000000000 
+0100
@@ -23,6 +23,7 @@
 int     g_compiled;     // any source compiled (but main)?
 int     g_keepGramspec; // keep the gramspec directory
 list    g_classLines;   // list of all lines in CLASSES
+list    g_classLine;    // line of the CLASSES file
 list    g_inspected;    // list of classes whose dependencies have been 
                         // inspected (used with USE_ALL)
 int     g_base;         // compile the sources in the base directory
@@ -190,12 +191,11 @@
     //  find all classes that depend on g_classes[idx], 
     //  if those classes haven't been inspected yet, then set their USE_ALL 
     //  file and inspect their dependencies.
-void dependendenciesOf(string thisClass)
+void dependenciesOf(string thisClass)
 {
     int ret;
     int idx;
-    string classLine;
-    string hit;
+    list hit;
 
     if (find(thisClass, g_inspected) != -1) // this class already inspected
         return;                             // then done with this class
@@ -208,13 +208,12 @@
         // find all classes depending on thisClass
     for (idx = 0; idx != g_nClasses; ++idx)
     {
-        classLine = g_classLines[idx];
+        hit = strtok(g_classLines[idx], " \t");
 
-        if (strfind(classLine, thisClass) > 0)
+        if (find(thisClass, hit) > 0)
         {
-            hit = strtok(classLine, " \t")[0];
-            touch(hit);
-            dependendenciesOf(hit);
+            touch(hit[0]);
+            dependenciesOf(hit[0]);
         }
     }
 }            
@@ -229,7 +228,7 @@
         all = g_classes[idx] + "/" USE_ALL;
 
         if (exists(all))
-            dependendenciesOf(g_classes[idx]);
+            dependenciesOf(g_classes[idx]);
     }
 
     if (g_base)
@@ -238,6 +237,54 @@
     
 #endif
 
+int isEmpty(string line)
+{
+    list parts;
+
+    parts = strtok(line, " \t");
+    
+    return (int)(sizeof(parts) == 0 ||
+                parts[0][0] == "#" || strfind(parts[0], "//") == 0);
+}
+
+    
+list nextCLASSESline()
+{
+    string ret;
+    string line;
+    int last;
+    int backslash;
+
+    while (sizeof(g_classLine = fgets("CLASSES", (int)g_classLine[1])))
+    {
+        line = strtok(g_classLine[0], "\n")[0];     // get the string
+
+        if (isEmpty(line))
+        {
+            if (strlen(ret) != 0)
+                break;
+        }
+        else 
+        {
+            last = strlen(line) - 1;
+            backslash = line[last] == "\\";
+
+            if (backslash)
+                line = substr(line, 0, last);
+
+            ret += line + " ";
+
+            if (!backslash)
+                break;
+        }
+    }
+
+    if (!isEmpty(ret))
+        g_classLines += (list)ret;
+
+    return strtok(ret, " \t");
+}
+    
 void setClasses()
 {
     string dir;
@@ -251,30 +298,19 @@
     if (PARSER_DIR != "")
         g_classes += (list)PARSER_DIR;
 
-    while (sizeof(class = fgets("CLASSES", (int)class[1])))
+    while (sizeof(class = nextCLASSESline()))
     {
-        dir = element(0, strtok(class[0], " \t\n"));
+        dir = class[0];
 
         if 
         (
-            strlen(dir)                 // omit empty lines
+            dir != SCANNER_DIR          // SCANNER_DIR is already there
             &&
-            strfind(dir, "#") != 0      // omit lines starting in #
-            &&
-            strfind(dir, "/") != 0      // omit lines starting in //
+            dir != PARSER_DIR           // PARSER_DIR is already there
         )
-        {
-            if 
-            (
-                dir != SCANNER_DIR          // SCANNER_DIR is already there
-                &&
-                dir != PARSER_DIR           // PARSER_DIR is already there
-            )
-                g_classes += (list)dir;     // add this dir.
-
-            g_classLines += (list)class[0];
-        }
+            g_classes += (list)dir;     // add this dir.
     }
+
     // classLines contains the full lines of the CLASSES file, and thus
     // stores its dependencies.
 

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to