Hello community,

here is the log from the commit of package inkscape for openSUSE:Factory 
checked in at 2012-05-22 08:15:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/inkscape (Old)
 and      /work/SRC/openSUSE:Factory/.inkscape.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "inkscape", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/inkscape/inkscape.changes        2012-02-28 
14:13:19.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.inkscape.new/inkscape.changes   2012-05-22 
08:16:00.000000000 +0200
@@ -1,0 +2,7 @@
+Wed May 16 13:11:44 UTC 2012 - [email protected]
+
+- Add inkscape-return-on-exit.patch: Return non-zero values in case
+  of errors. Patch has been accepted and merged by upstream.
+  [bnc#758275, lp#993500].
+
+-------------------------------------------------------------------

New:
----
  inkscape-return-on-exit.patch

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

Other differences:
------------------
++++++ inkscape.spec ++++++
--- /var/tmp/diff_new_pack.Zbq9BM/_old  2012-05-22 08:16:02.000000000 +0200
+++ /var/tmp/diff_new_pack.Zbq9BM/_new  2012-05-22 08:16:02.000000000 +0200
@@ -16,6 +16,7 @@
 #
 
 
+
 Name:           inkscape
 Version:        0.48.3.1
 Release:        0
@@ -31,6 +32,8 @@
 Patch0:         inkscape-remove-datetime.patch
 # PATCH-FIX-OPENSUSE inkscape-packages.patch [email protected] -- Suggest 
packages instead of compilation from source.
 Patch1:         inkscape-packages.patch
+# PATCH-FIX-UPSTREAM inkscape-return-on-exit.patch bnc#758275 lp#993500 
[email protected] -- Return non-zero on error.
+Patch2:         inkscape-return-on-exit.patch
 BuildRequires:  boost-devel
 BuildRequires:  docbook-toys
 BuildRequires:  fdupes
@@ -150,6 +153,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 export CFLAGS="%{optflags} -fno-strict-aliasing"
@@ -206,6 +210,7 @@
 
 # We can't really move the localized manpages to the lang package, since they'd
 # create a conflict between the lang subpackage and bundles
+
 %files -f inkscape.lst -f %{name}.man-lang
 %defattr(-,root,root)
 %doc AUTHORS COPYING COPYING.LIB ChangeLog INSTALL NEWS README* TRANSLATORS

++++++ inkscape-return-on-exit.patch ++++++
--- inkscape-0.48.3.1/src/main.cpp.orig 2012-04-18 20:25:28.000000000 +0200
+++ inkscape-0.48.3.1/src/main.cpp      2012-04-19 17:42:14.731534000 +0200
@@ -986,12 +986,13 @@ sp_main_gui(int argc, char const **argv)
 }
 
 /**
  * Process file list
  */
-void sp_process_file_list(GSList *fl)
+int sp_process_file_list(GSList *fl)
 {
+    int retVal = 0;
     while (fl) {
         const gchar *filename = (gchar *)fl->data;
 
         SPDocument *doc = NULL;
         try {
@@ -1011,10 +1012,11 @@ void sp_process_file_list(GSList *fl)
                 doc = NULL;
             }
         }
         if (doc == NULL) {
             g_warning("Specified document %s cannot be opened (does not exist 
or not a valid SVG file)", filename);
+            retVal++;
         } else {
             if (sp_vacuum_defs) {
                 vacuum_document(doc);
             }
             if (sp_vacuum_defs && !sp_export_svg) {
@@ -1060,10 +1062,11 @@ void sp_process_file_list(GSList *fl)
 
             delete doc;
         }
         fl = g_slist_remove(fl, fl->data);
     }
+    return retVal;
 }
 
 /**
  * Run the application as an interactive shell, parsing command lines from 
stdin
  * Returns -1 on error.
@@ -1115,19 +1118,21 @@ int sp_main_shell(char const* command_na
                     if ( g_shell_parse_argv(command_line, &argc, &argv, 
&parseError) ) {
                         poptContext ctx = poptGetContext(NULL, argc, 
const_cast<const gchar**>(argv), options, 0);
                         poptSetOtherOptionHelp(ctx, _("[OPTIONS...] 
[FILE...]\n\nAvailable options:"));
                         if ( ctx ) {
                             GSList *fl = sp_process_args(ctx);
-                            sp_process_file_list(fl);
+                            if (sp_process_file_list(fl))
+                               retval = -1;
                             poptFreeContext(ctx);
                         } else {
                             retval = 1; // not sure why. But this was the 
previous return value
                         }
                         resetCommandlineGlobals();
                         g_strfreev(argv);
                     } else {
                         g_warning("Cannot parse commandline: %s", useme);
+                       retval = -1;
                     }
                 }
             }
         } // if (linedata...
     } while (linedata && (retval == 0));
@@ -1160,14 +1165,15 @@ int sp_main_console(int argc, char const
     }
 
     inkscape_application_init(argv[0], false);
 
     if (sp_shell) {
-        sp_main_shell(argv[0]); // Run as interactive shell
-        exit(0);
+        int retVal = sp_main_shell(argv[0]); // Run as interactive shell
+       exit((retVal < 0) ? 1 : 0);
     } else {
-        sp_process_file_list(fl); // Normal command line invokation
+        int retVal = sp_process_file_list(fl); // Normal command line 
invokation
+       if (retVal) exit(1);
     }
 
     return 0;
 }
 
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to