Bug 153071 (otto06217)

Summary: rpmbuild prints error about Unknown option ? in suse_update_desktop_file
Product: [openSUSE] SUSE Linux 10.1 Reporter: Petr Mladek <pmladek>
Component: DevelopmentAssignee: Michael Schröder <mls>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: thorsten.stettin
Version: Beta 8   
Target Milestone: ---   
Hardware: All   
OS: SuSE Linux 10.1   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Petr Mladek 2006-02-23 12:33:48 UTC
I got this errors when building the package OpenOffice_org in STABLE:

--- cut ---
error: Unknown option ? in suse_update_desktop_file(:-:)
error: Unknown option ? in suse_update_desktop_file(:-:)
error: Unknown option ? in suse_update_desktop_file(:-:)
--- cut ---

These are the related commands in OpenOffice_org.spec:

--- cut ---
%suse_update_desktop_file -n base
%suse_update_desktop_file -n calc
%suse_update_desktop_file -n draw
--- cut ---

I see this error in build logs of other packages as well, for example, in the buildlog of gaim, gamix.

There is probably something wrong in the %suse_update_desktop_file macro definition.
Comment 1 Michael Schröder 2006-02-23 15:01:17 UTC
Reassigned to Rudi.
Comment 2 Ruediger Oertel 2006-02-28 00:40:14 UTC
yes, I'll have to test it with "()" instead of "(:-:)"
might even work with current rpm.
Comment 3 Ruediger Oertel 2006-03-01 14:43:18 UTC
nope, doesn't help:
-error: Unknown option ? in suse_update_desktop_file(:-:)
+suse_update_desktop_file: invalid option -- G
+error: Unknown option ? in suse_update_desktop_file()

we'll have to hack this into rpm probably ...

Micha: any way to suppress the error message if the option string is ":-:" ?
Comment 4 Thorsten Stettin 2006-03-18 22:36:39 UTC
(In reply to comment #3)
Hai!

Using the macro from SuSE 10.0 solves the problem:

The current macro definition

%suse_update_desktop_file(:-:) \
   /usr/lib/rpm/suse_update_desktop_file.sh %{**} || exit 1 \
  %nil

The old macro definition

%suse_update_desktop_file(cinrud) \
   /usr/lib/rpm/suse_update_desktop_file.sh %{**} || exit 1 \
  %nil

It seems to have something to do with ":-:" in the new macro definition.
After changing the macro definition I had no problems anymore.

BTW: What the hell does ":-:" mean?

Regards

otto06217
Comment 5 Ruediger Oertel 2006-03-28 10:42:25 UTC
":-:" is a getopt internal to pass all flags "as is"
it was used to avoid having to adapt the macro whenever a new option
to suse_update_desktop_file.sh is added.

using the new macro def now:
%suse_update_desktop_file(cinrudD:N:C:G:) \
   /usr/lib/rpm/suse_update_desktop_file.sh %{-c:-c} %{-i:-i} %{-n:-n} \ %{-r:-r} %{-u:-u} %{-d:-d} %{-D:-D %{-D*}} %{-N:-N %{-N*}} %{-G:-G %{-G*}} \ %{-C:-C %{-C*}} %* || exit 1 \
  %nil