Bug 892335 - Review Request: AudioCuesheetEditor - Audio Cuesheet Editor
Review Request: AudioCuesheetEditor - Audio Cuesheet Editor
Status: ASSIGNED
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Björn "besser82" Esser
Fedora Extras Quality Assurance
:
: 880763 (view as bug list)
Depends On:
Blocks: FE-NEEDSPONSOR
  Show dependency treegraph
 
Reported: 2013-01-06 13:24 EST by Sven Baus
Modified: 2013-11-21 10:51 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
fedora: fedora‑review?


Attachments (Terms of Use)

  None (edit)
Description Sven Baus 2013-01-06 13:24:23 EST
SPEC: http://sourceforge.net/p/audiocuesheet/code/148/tree/trunk/RPM%20Build/AudioCuesheetEditor.spec
SOURCE: http://sourceforge.net/projects/audiocuesheet/files/0.2.1/AudioCuesheetEditor-src-v0.2.1.tar.gz/download
SRPM: coming soon
RPM: coming soon

I would like to get AudioCuesheetEditor into Fedora packages. 

I also need a sponsor ;).

TODO:
 - check the package (no rpmlint or mock has been done yet)
 - desktop file
 - symlink

During rpmbuild -ba it says the following error:

+ STATUS=0
+ '[' 0 -ne 0 ']'
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Ausführung(%build): /bin/sh -e /var/tmp/rpm-tmp.acnqth
+ umask 022
+ cd /home/makerpm/rpmbuild/BUILD
+ cd AudioCuesheetEditor-0.2.1
+ LANG=C
+ export LANG
+ unset DISPLAY
+ xbuild /property:Configuration=Release AudioCuesheetEditor.sln
XBuild Engine Version 2.10.8.0
Mono, Version 2.10.8.0
Copyright (C) Marek Sieradzki 2005-2008, Novell 2008-2011.

Build started 01/06/2013 19:15:04.
__________________________________________________
Project "/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.sln" (default target(s)):
        Target ValidateSolutionConfiguration:
                Building solution configuration "Release|x86".
        Target Build:
                Project "/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.csproj" (default target(s)):
                        Target PrepareForBuild:
                                Configuration: Release Platform: x86
                                Created directory "bin/Release/"
                                Created directory "obj/x86/Release/"
                        Target CopyNonResxEmbeddedResources:
                                Copying file from '/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/gtk-gui/gui.stetic' to '/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/obj/x86/Release/AudioCuesheetEditor.gtk-gui.gui.stetic'
                        Target GenerateSatelliteAssemblies:
                        No input files were specified for target GenerateSatelliteAssemblies, skipping.
                        Target CoreCompile:
                                Tool /usr/bin/gmcs execution started with arguments: /noconfig /debug- /optimize- /out:obj/x86/Release/AudioCuesheetEditor.exe /resource:obj/x86/Release/AudioCuesheetEditor.gtk-gui.gui.stetic,gui.stetic gtk-gui/generated.cs MainWindow.cs gtk-gui/MainWindow.cs AssemblyInfo.cs Language.cs Speechfile.cs Option.cs Program.cs Optionfile.cs Cuesheet.cs Track.cs Cuesheetfile.cs Audiofile.cs TextInputfile.cs Projectfile.cs MainClass.cs Logfile.cs OptionWindow.cs gtk-gui/AudioCuesheetEditor.OptionWindow.cs /target:winexe /main:AudioCuesheetEditor.MainClass /reference:/usr/lib/mono/2.0/System.dll /reference:/usr/lib/mono/2.0/Mono.Posix.dll /reference:/usr/lib/mono/gtk-sharp-2.0/gtk-sharp.dll /reference:/usr/lib/mono/gtk-sharp-2.0/gdk-sharp.dll /reference:/usr/lib/mono/gtk-sharp-2.0/glib-sharp.dll /reference:/usr/lib/mono/gtk-sharp-2.0/glade-sharp.dll /reference:/usr/lib/mono/gtk-sharp-2.0/pango-sharp.dll /reference:/usr/lib/mono/gtk-sharp-2.0/atk-sharp.dll /reference:/usr/lib/mono/2.0/System.Xml.dll /warn:4
gtk-gui/MainWindow.cs(152,51): error CS1012: Too many characters in character literal
gtk-gui/MainWindow.cs(171,52): error CS1012: Too many characters in character literal
gtk-gui/MainWindow.cs(199,53): error CS1012: Too many characters in character literal
gtk-gui/AudioCuesheetEditor.OptionWindow.cs(181,67): error CS1012: Too many characters in character literal
gtk-gui/AudioCuesheetEditor.OptionWindow.cs(247,64): error CS1012: Too many characters in character literal
                        Task "Csc" execution -- FAILED
                        Done building target "CoreCompile" in project "/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.csproj".-- FAILED
                Done building project "/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.csproj".-- FAILED
        Task "MSBuild" execution -- FAILED
        Done building target "Build" in project "/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.sln".-- FAILED
Done building project "/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.sln".-- FAILED

Build FAILED.
Errors:

/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.sln (default targets) ->
(Build target) ->
/home/makerpm/rpmbuild/BUILD/AudioCuesheetEditor-0.2.1/AudioCuesheetEditor.csproj (default targets) ->
/usr/lib/mono/3.5/Microsoft.CSharp.targets (CoreCompile target) ->

        gtk-gui/MainWindow.cs(152,51): error CS1012: Too many characters in character literal
        gtk-gui/MainWindow.cs(171,52): error CS1012: Too many characters in character literal
        gtk-gui/MainWindow.cs(199,53): error CS1012: Too many characters in character literal
        gtk-gui/AudioCuesheetEditor.OptionWindow.cs(181,67): error CS1012: Too many characters in character literal
        gtk-gui/AudioCuesheetEditor.OptionWindow.cs(247,64): error CS1012: Too many characters in character literal

         0 Warning(s)
         5 Error(s)

Time Elapsed 00:00:00.3506470
Fehler: Fehler-Status beim Beenden von /var/tmp/rpm-tmp.acnqth (%build)


Fehler beim Bauen des RPM:
    Fehler-Status beim Beenden von /var/tmp/rpm-tmp.acnqth (%build)

Could anybody help me? That would be fine :D!

I see that the error comes from the rpmbuild environment, since I can build the package with "xbuild /property:Configuration=Release AudioCuesheetEditor.sln".

Has anybody any idea, why it fails? I really would like to get this tool into fedora.

Greets
Sven
Comment 1 Antonio Trande 2013-01-06 13:42:51 EST
Why don't you continue with #880763 ?
Comment 2 Sven Baus 2013-01-06 13:58:26 EST
#880763 was for version 0.2.0, this is now for version 0.2.1.

Or should I have reused the bug?!
Comment 3 Mario Blättermann 2013-01-06 14:15:21 EST
(In reply to comment #2)
> #880763 was for version 0.2.0, this is now for version 0.2.1.
> 
> Or should I have reused the bug?!

For a review request, the version number doesn't matter. Please choose the bug report on which you want to continue and mark the other one as a duplicate.
Comment 4 Sven Baus 2013-01-06 14:35:28 EST
*** Bug 880763 has been marked as a duplicate of this bug. ***
Comment 5 Sven Baus 2013-01-08 13:32:40 EST
Hello,

I could need some help over here. Anyone has any idea, why it fails with xbuild?

Greetings
Sven
Comment 6 Sven Baus 2013-01-11 10:08:57 EST
No one any idea?
Comment 7 Michael Schwendt 2013-01-13 09:14:14 EST
I've been away for a week and need to catch up with accumulated mail.

The provided spec file has not been tested by you at all. :(  It fails for simple commands, such as rpmbuild -bs and -bb, because the download link for the source tarball results in a wrong file name. For a last try, I've given "spectool -g AudioCueSheet.spec" a try, and it redownloaded the tarball as a file with name "download" because of the Source0 URL you use. That may be a temporary work-around, but needs fixing.

Finally, the built src.rpm failed early with Fedora 18 for rpmbuild -bb: line 29: xbuild: command not found

A build requirement is missing.
I've stopped there.

The spec file also still suffers from issues I've pointed out in the old ticket. You won't manage to maintain an RPM package if you don't care about packaging topics.

Please provide a src.rpm that builds for you with either plain rpmbuild, Mock or in the official Fedora Build System:

  https://fedoraproject.org/wiki/Join_the_package_collection_maintainers#Install_the_client_tools_.28Koji.29_and_set_up_your_certificate

  https://fedoraproject.org/wiki/Join_the_package_collection_maintainers#Upload_Your_Package


If your released upstream source tarball doesn't build at all, this is beyond the scope of a Fedora Package Review Request. I see you've asked about xbuild in another place already, note that there's also a Fedora "mono" list, perhaps with subscribers who can help: https://admin.fedoraproject.org/mailman/listinfo/mono
Comment 8 Sven Baus 2013-01-13 12:52:26 EST
Thank you Michael for your explanating answer. As you have already seen, the spec isn't finished yet, since I'm stuck in the build stage. When I can get the xbuild run, I can fix everything else, since I'm currently trying a first build of the rpm.

Thank you for informing me about the mailing list, I will ask there for help.
Comment 9 Michael Schwendt 2013-01-13 15:04:05 EST
"BuildRequires: mono-devel" for /usr/bin/xbuild


> gtk-gui/MainWindow.cs(152,51): error CS1012: Too many characters in character literal

%build
export LANG=en_US.UTF-8
xbuild …

makes the build work. When using rpmbuild, it sets 'export LANG="C"' for the build environment.
Comment 10 Michael Schwendt 2013-01-15 08:06:31 EST
I see that consulting Fedora's "mono" list has been fruitful, too. Good.
Comment 11 Sven Baus 2013-01-15 14:18:31 EST
Desktop File: https://sourceforge.net/p/audiocuesheet/code/154/tree/trunk/RPM%20Build/AudioCuesheetEditor.desktop
SPEC: https://sourceforge.net/p/audiocuesheet/code/154/tree/trunk/RPM%20Build/AudioCuesheetEditor.spec

Hello Everybody,

I've reworked some stuff and have been able to build an rpm. I have done first tests with rpmlint to it, which gave me the following output:

[makerpm@Sven SPECS]$ rpmlint AudioCuesheetEditor.spec
AudioCuesheetEditor.spec:20: W: rpm-buildroot-usage %prep %setup -q -c %{buildroot}/%{name}-%{version}
0 packages and 1 specfiles checked; 0 errors, 1 warnings.

The Warning concerns the setup stage. I have no idea how to do it other way, so I would ignore this warning.

Would you guys please take a first look above the spec and tell me if there are bad errors inside?

Thank you for your help.

Greetings
Sven
Comment 12 Mario Blättermann 2013-01-15 14:29:51 EST
First, have a look at the packaging guidelines to get a proper download URL for SourceForge stuff:
http://fedoraproject.org/wiki/Packaging:SourceURL#Sourceforge.net

W: rpm-buildroot-usage %prep %setup -q -c %{buildroot}/%{name}-%{version}

It should be unneded to define such a folder for extracting the sources. The -c switch is for creating a build folder if the tarball doesn't contain it. Try "%setup -q" with the tarball from the mentioned download URL, should work.
Comment 13 Michael Schwendt 2013-01-15 15:53:04 EST
I had pointed out the wrong %setup usage in bug 880763 comment 7 already. Reading such comments and answering/acknowledging can lead to better communication with reviewers.
Comment 14 Sven Baus 2013-01-17 14:44:58 EST
I will rework the spec since I have seen, that I have missed several things:
 - install of desktop file
 - install of start script

I'm currently working on it, but haven't finished everything yet. You will get a new version in time.
Comment 15 Sven Baus 2013-01-22 13:59:45 EST
SPEC: https://sourceforge.net/p/audiocuesheet/code/157/tree/trunk/RPM%20Build/AudioCuesheetEditor.spec

rpmlint output:

[makerpm@Sven SPECS]$ rpmlint AudioCuesheetEditor.spec ../RPMS/x86_64/AudioCuesheetEditor-0.2.1-1.fc17.x86_64.rpm ../SRPMS/AudioCuesheetEditor-0.2.1-1.fc17.src.rpm

AudioCuesheetEditor.x86_64: W: spelling-error Summary(en_US) cuesheet -> cue sheet, cue-sheet, dustsheet

No spelling error!

AudioCuesheetEditor.x86_64: W: spelling-error %description -l en_US cuesheets -> cue sheets, cue-sheets, dustsheets

No spelling error!

AudioCuesheetEditor.x86_64: E: no-binary

There are binaries called "AudioCuesheetEditor.exe" that need to be run with mono.

AudioCuesheetEditor.x86_64: W: only-non-binary-in-usr-lib

As mentioned above there are binaries.

AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share/doc/AudioCuesheetEditor-0.2.1/LICENCE.TXT
AudioCuesheetEditor.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor-0.2.1/LICENCE.TXT

I could find no encoding error. The files are UTF8 encoded.

AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share/doc/AudioCuesheetEditor-0.2.1/CHANGELOG.TXT
AudioCuesheetEditor.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor-0.2.1/CHANGELOG.TXT

I could find no encoding error. The files are UTF8 encoded.

AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share/doc/AudioCuesheetEditor-0.2.1/README.TXT

What about that error? I removed the executable bit inside the build stage.

AudioCuesheetEditor.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor-0.2.1/README.TXT

I could find no encoding error. The files are UTF8 encoded.

AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share/doc/AudioCuesheetEditor-0.2.1/LICENCE_DE.TXT

What about that error? I removed the executable bit inside the build stage.

AudioCuesheetEditor.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor-0.2.1/LICENCE_DE.TXT

I could find no encoding error. The files are UTF8 encoded.

AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share/doc/AudioCuesheetEditor-0.2.1/KNOWN_ISSUES.TXT

What about that error? I removed the executable bit inside the build stage.

AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share/doc/AudioCuesheetEditor-0.2.1/LICENCE_EN.TXT

What about that error? I removed the executable bit inside the build stage.

AudioCuesheetEditor.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor-0.2.1/LICENCE_EN.TXT

I could find no encoding error. The files are UTF8 encoded.

AudioCuesheetEditor.x86_64: W: no-manual-page-for-binary AudioCuesheetEditor

Suplied inside README.TXT

AudioCuesheetEditor.src: W: spelling-error Summary(en_US) cuesheet -> cue sheet, cue-sheet, dustsheet

No spelling error!

AudioCuesheetEditor.src: W: spelling-error %description -l en_US cuesheets -> cue sheets, cue-sheets, dustsheets

No spelling error!

2 packages and 1 specfiles checked; 6 errors, 12 warnings.


Could you please help me with the errors? I have no idea what I should do to set the correct permission?!

Thanks and greetings

Sven
Comment 16 Sven Baus 2013-01-22 14:07:52 EST
SPEC: https://sourceforge.net/p/audiocuesheet/code/158/tree/trunk/RPM%20Build/AudioCuesheetEditor.spec

Sorry updated spec wasn't uploaded yet.
Comment 17 Michael Schwendt 2013-01-22 14:29:20 EST
Please be so smart to ignore obvious false positives in those spelling-errors rpmlints. Those are quite normal for many packages, where the spell-checker doesn't recognize technical terms or suggests hyphenated compounds ("cue-sheet") instead of closed compounds ("cuesheet").

It makes no sense to clutter up the review ticket with repeatedly referring to the same rpmlint warning. They are just Warnings not errors.

[...]

About the other warnings and errors, prefer "rpmlint -i …" because it will print more verbose/helpful explanations.

I may comment on some of them but would need a buildable src.rpm first.

[...]

> AudioCuesheetEditor.x86_64: W: spurious-executable-perm /usr/share
> /doc/AudioCuesheetEditor-0.2.1/LICENCE_EN.TXT
> 
> What about that error? I removed the executable bit inside the build stage.

Verify it by listing the package contents. Use "rpm" or "rpmls".
Comment 18 Sven Baus 2013-01-24 13:55:31 EST
SPEC: http://sourceforge.net/p/audiocuesheet/code/161/tree/trunk/RPM%20Build/SPECS/AudioCuesheetEditor.spec
RPM: http://sourceforge.net/p/audiocuesheet/code/162/tree/trunk/RPM%20Build/RPMS/x86_64/AudioCuesheetEditor-0.2.1-1.fc17.x86_64.rpm
SRPM: http://sourceforge.net/p/audiocuesheet/code/161/tree/trunk/RPM%20Build/SRPMS/AudioCuesheetEditor-0.2.1-1.fc17.src.rpm

rpmlint output (only errors included):

[makerpm@Sven SPECS]$ rpmlint AudioCuesheetEditor.spec ../RPMS/x86_64/AudioCuesheetEditor-0.2.1-1.fc17.x86_64.rpm ../SRPMS/AudioCuesheetEditor-0.2.1-1.fc17.src.rpm 

AudioCuesheetEditor.x86_64: E: no-binary

There are binaries called "AudioCuesheetEditor.exe" that need to be run with mono.

2 packages and 1 specfiles checked; 1 errors, 12 warnings.

So, now the only error is not an error. I have done some testing on the package and on the vm everything works perfect. How do we now go on?

Greetings

Sven
Comment 19 Michael Schwendt 2013-01-24 15:38:17 EST
Okay, a src.rpm that can be built. Let's try to squash some of the issues:


> %{_libdir}/%{name}/*

* Are you aware of the Mono Packaging Guidelines?

   https://fedoraproject.org/wiki/Packaging:Guidelines
   -> https://fedoraproject.org/wiki/Packaging:Mono


> BuildRequires:  gtk-sharp2,mono-core,gtk-sharp2-devel,mono-devel

A bit too many here. Typically, the -devel packages depend on their base packages already:

  gtk2-sharp2-devel  ->  gtk2-sharp 
  mono-devel  ->  mono-core


> Requires:       gtk-sharp2,mono-core

This is still an issue (bug 880763 comment 7). There are several automatic dependencies for Mono. Check out:

  rpm -qR AudioCuesheetEditor|grep ^mono

https://fedoraproject.org/wiki/Packaging:Guidelines#Explicit_Requires


* rpmlint. You don't need to run it for the spec file when you run it for the src.rpm, which contains the spec file.

There is also this warning: 

  AudioCuesheetEditor.src: W: strange-permission AudioCuesheetEditor.spec 0777L

$ rpmls -p AudioCuesheetEditor-0.2.1-1.fc17.src.rpm
-rw-rw-r--  AudioCuesheetEditor-src-v0.2.1.tar.gz
-rwxrwxrwx  AudioCuesheetEditor.spec


> %description

You've changed it to a much shorter one compared with 0.2.0, why not mention that it features a graphical user-interface (GUI)? When users search for a graphical cuesheet editor, that could be helpful.


> %install
> cp -R %{_builddir}/%{name}-%{version}/bin/Release/resources %{buildroot}%{_libdir}/%{name}/resources

> %build
> chmod a-x %{_builddir}/%{name}-%{version}/*.TXT
> chmod a-x %{_builddir}/%{name}-%{version}/bin/Release/resources/*.xml

At the beginning of each section, such as %build or %install, you are inside the right build directory. The directory you've %setup in %prep. So, explicitly referring to paths in %_builddir is not necessary in the whole spec file:

  chmod a-x *.TXT bin/Release/resources/*.xml

Further, many more files inside the RPM package executable. For example, the icons and the EXE (the .exe doesn't need to be executable, does it?). Basically, you could chmod -x many more files at the end of %prep already.


> echo '[Desktop Entry]' >> %{buildroot}%{_datadir}/applications/%{name}.desktop
> echo 'Type=Application' >> %{buildroot}%{_datadir}/applications/%{name}.desktop
> echo 'Exec=AudioCuesheetEditor' >> %{buildroot}%{_datadir}/applications/%{name}.desktop
> ...

Much more readable and much less effort to type it or change it:

cat > %{buildroot}%{_datadir}/applications/%{name}.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=AudioCuesheetEditor
...
EOF


> desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{buildroot}%{_datadir}/applications/%{name}.desktop

Two guidelines are relevant here:

  https://fedoraproject.org/wiki/Packaging:Guidelines#desktop-file-install_usage

  https://fedoraproject.org/wiki/Packaging:Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS
Comment 20 Sven Baus 2013-01-29 11:48:40 EST
(In reply to comment #19)
Ok, I have been able to do some more optimization as you offered. Thank you. Only 2 more thing are open:


> > %{_libdir}/%{name}/*
> 
> * Are you aware of the Mono Packaging Guidelines?
> 
>    https://fedoraproject.org/wiki/Packaging:Guidelines
>    -> https://fedoraproject.org/wiki/Packaging:Mono

What exactly do you mean? AudioCuesheetEditor binaries and stuff will be stored under %{_libdir}/%{name}/*, so why not use wildcards? Or what is the major problem here?


> > There is also this warning: 
> 
>   AudioCuesheetEditor.src: W: strange-permission AudioCuesheetEditor.spec
> 0777L
> 
> $ rpmls -p AudioCuesheetEditor-0.2.1-1.fc17.src.rpm
> -rw-rw-r--  AudioCuesheetEditor-src-v0.2.1.tar.gz
> -rwxrwxrwx  AudioCuesheetEditor.spec

Sorry, that was because of my build. I build under a different user, will be removed, if the package can go on ;).

Thanks for helping me.

Greetings
Sven
Comment 21 Sven Baus 2013-02-10 13:20:27 EST
(In reply to comment #20)
> (In reply to comment #19)
> Ok, I have been able to do some more optimization as you offered. Thank you.
> Only 2 more thing are open:
> 
> 
> > > %{_libdir}/%{name}/*
> > 
> > * Are you aware of the Mono Packaging Guidelines?
> > 
> >    https://fedoraproject.org/wiki/Packaging:Guidelines
> >    -> https://fedoraproject.org/wiki/Packaging:Mono
> 
> What exactly do you mean? AudioCuesheetEditor binaries and stuff will be
> stored under %{_libdir}/%{name}/*, so why not use wildcards? Or what is the
> major problem here?

Anyone any idea, what is meant here? I would like to get this package started ;).
Comment 22 Sven Baus 2013-02-17 07:24:16 EST
SPEC: http://sourceforge.net/p/audiocuesheet/code/179/tree/trunk/RPM%20Build/SPECS/AudioCuesheetEditor.spec
RPM: http://sourceforge.net/p/audiocuesheet/code/179/tree/trunk/RPM%20Build/RPMS/x86_64/AudioCuesheetEditor-0.2.1-1.fc17.x86_64.rpm
SRPM: http://sourceforge.net/p/audiocuesheet/code/179/tree/trunk/RPM%20Build/SRPMS/AudioCuesheetEditor-0.2.1-1.fc17.src.rpm

rpmlint output (only new errors mentioned) :

[makerpm@Sven SPECS]$ rpmlint AudioCuesheetEditor.spec ../RPMS/x86_64/AudioCuesheetEditor-0.2.1-1.fc17.x86_64.rpm ../SRPMS/AudioCuesheetEditor-0.2.1-1.fc17.src.rpm 
AudioCuesheetEditor.spec:25: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}

Needs to be done, because mono should not be packaged to _libdir.

How do we now go on?
Comment 23 Sven Baus 2013-02-23 09:34:15 EST
Hello? Any Help would be good?!
Comment 24 Sven Baus 2013-03-01 06:39:40 EST
No one alive?
Comment 25 Sven Baus 2013-03-10 07:12:53 EDT
Hello?

I would like to package this package for fedora?!
Comment 26 Sven Baus 2013-03-28 04:34:31 EDT
Version 0.3.0 is almost done, seems like developing works faster than packaging for fedora.
Comment 27 Sven Baus 2013-04-07 13:26:00 EDT
SPEC: https://sourceforge.net/p/audiocuesheet/code/255/tree/trunk/RPM%20Build/SPECS/AudioCuesheetEditor.spec
RPM: https://sourceforge.net/p/audiocuesheet/code/255/tree/trunk/RPM%20Build/RPMS/x86_64/AudioCuesheetEditor-0.3.0-1.fc17.x86_64.rpm
SRPM: https://sourceforge.net/p/audiocuesheet/code/255/tree/trunk/RPM%20Build/SRPMS/AudioCuesheetEditor-0.3.0-1.fc17.src.rpm

rpmlint output (only errors mentioned):
AudioCuesheetEditor.spec:25: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}

Needed by mono guidelines

AudioCuesheetEditor.spec:28: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/resources

Needed by mono guidelines

AudioCuesheetEditor.spec:29: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/%{name}.exe

Needed by mono guidelines

AudioCuesheetEditor.spec:46: E: hardcoded-library-path in /usr/lib/%{name}/*

Needed by mono guidelines

AudioCuesheetEditor.x86_64: E: no-binary

Binary is included!

AudioCuesheetEditor.src:25: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}

Needed by mono guidelines

AudioCuesheetEditor.src:28: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/resources

Needed by mono guidelines

AudioCuesheetEditor.src:29: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/%{name}.exe

Needed by mono guidelines

AudioCuesheetEditor.src:46: E: hardcoded-library-path in /usr/lib/%{name}/*

Needed by mono guidelines

2 packages and 1 specfiles checked; 9 errors, 12 warnings.

This is version 0.3.0. I really would thank anyone for getting this inside fedora ;).
Comment 28 Sven Baus 2013-07-16 13:49:32 EDT
SPEC: http://sourceforge.net/p/audiocuesheet/code/324/tree//trunk/RPM%20Build/SPECS/AudioCuesheetEditor.spec
RPM: http://sourceforge.net/p/audiocuesheet/code/324/tree//trunk/RPM%20Build/RPMS/x86_64/AudioCuesheetEditor-1.0.3-1.fc17.x86_64.rpm
SRPM: http://sourceforge.net/p/audiocuesheet/code/324/tree//trunk/RPM%20Build/SRPMS/AudioCuesheetEditor-1.0.3-1.fc17.src.rpm

rpmlint output (only errors mentioned):

AudioCuesheetEditor.spec:25: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}

Needed by mono guidelines

AudioCuesheetEditor.spec:28: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/resources

Needed by mono guidelines

AudioCuesheetEditor.spec:29: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/%{name}.exe

Needed by mono guidelines

AudioCuesheetEditor.spec:46: E: hardcoded-library-path in /usr/lib/%{name}/*

Needed by mono guidelines

AudioCuesheetEditor.x86_64: E: no-binary

Binary is included!


This is version 1.0.3. I really would thank anyone for getting this inside fedora ;).
Comment 29 Christopher Meng 2013-07-16 20:59:34 EDT
You still need to find a sponsor first, this can help get this software into Fedora quickly.
Comment 30 Sven Baus 2013-10-20 05:08:16 EDT
Thanks for tagging this bug. How do I get sponsored? Still couldn't find someone?!
Comment 31 Christopher Meng 2013-10-20 05:33:40 EDT
(In reply to Sven Baus from comment #30)
> Thanks for tagging this bug. How do I get sponsored? Still couldn't find
> someone?!

https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group
Comment 32 Björn "besser82" Esser 2013-10-20 05:42:31 EDT
I'll take this.  ;)
Comment 33 Björn "besser82" Esser 2013-10-20 05:59:24 EDT
INFO: Downloading .spec and .srpm files
error: line 1: Unknown tag: <!DOCTYPE html>
ERROR: "Can't parse specfile: can't parse specfile\n" (logs in /home/besser82/.cache/fedora-review.log)

---> Please upload your recent spec and srpm to some place you can directly
     link from.  To save you some difficulties, I just gave you permissions
     to access some webspace (~ 2GB) on `fedorapeople.org`.  You just need
     to upload a RSA-key on the FAS [1] and start uploading your files using
     e.g. scp or filezilla (in SFTP-mode).  In order to make your uploads
     available for public access, you'll need to create a `public_html`-dir
     inside your home on fp.org and put the files there.  When your done with
     that please provide the links inside a new comment inside this bug.

[1] https://admin.fedoraproject.org/accounts/
Comment 34 Christopher Meng 2013-10-20 06:04:05 EDT
My point:

1. From your desktop entry I can see icon is located at:

Icon=/usr/lib/%{name}/resources/icons/application-x-cue-128.png

In common we put icons under /usr/share/pixmaps.

I also think that all data files should be installed to %{_datadir}/%{name} but not /usr/lib/%{name}

2. Mix using  %{buildroot} and ${RPM_BUILD_ROOT}, you should only use one of them.
Comment 35 Björn "besser82" Esser 2013-10-24 02:05:51 EDT
===== Review report for AudioCuesheetEditor-1.0.3-1 =====

This review report has been made from manually downloaded spec / srpm as announced in comment #28.

Package has severe issues.  :(


Package Review
==============

Legend:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated


Issues
======

- specfile-error warning: bogus date in %changelog:
    Tue Jun 16 2013 Sven Baus <s.baus86@gmx.net> 1.0.3-1
    Tue Jun 09 2013 Sven Baus <s.baus86@gmx.net> 1.0.3-1
    Sun Apr 04 2013 Sven Baus <s.baus86@gmx.net> 0.3.0-1

  ---> please fix those bogus-dates to existing ones, like either
       changing the day matching the date or vice-versa.


- wrong-file-end-of-line-encoding:
    /usr/share/doc/AudioCuesheetEditor/LICENCE.TXT
    /usr/share/doc/AudioCuesheetEditor/KNOWN_ISSUES.TXT
    /usr/share/doc/AudioCuesheetEditor/CHANGELOG.TXT
    /usr/share/doc/AudioCuesheetEditor/README.TXT

  ---> please fix this as explained on:  https://fedoraproject.org/wiki/Common_Rpmlint_issues#wrong-file-end-of-line-encoding

       I'd recommend using this script during %prep, which preserves the
       original file's timestamp, too:

       for _file in '*.TXT'
       do
         sed -i.orig -e 's!\r$!!g' ${_file} &&	\
         touch -r ${_file}.orig ${_file} &&	\
         rm -rf ${_file}.orig
       done


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "*No copyright* GPL (v3 or later)", "Unknown or generated". 5 files have
     unknown license. Detailed output of licensecheck in
     /home/besser82/shared/fedora/review/review-
     AudioCuesheetEditor/licensecheck.txt

     ---> License-tag is fine.  :)

[!]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib/AudioCuesheetEditor

     ---> dir is created by the package itself, but not owned
          as explained below.

[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/lib/AudioCuesheetEditor

     ---> remove the '/*' from `/usr/lib/%{name}/*` in %files.  This
          will make the rpm own `/usr/lib/%{name}` with all it's
          contents.

[!]: %build honors applicable compiler flags or justifies otherwise.

     ---> compiler-flags don't get exported properly.  Add
          `%configure ||:` at the very beginning of %build.

[x]: Package contains no bundled libraries without FPC exception.
[!]: Changelog in prescribed format.

     ---> bogus-dates are present.  as explained above.

[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).

     ---> hardcoding `/usr/lib/` is intentional on Mono / C# based
          packages, as explained by the Mono-guidelines:
          https://fedoraproject.org/wiki/Packaging:Mono#File_Locations

[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[!]: Useful -debuginfo package or justification otherwise.

     ---> debuginfo-pkg is empty, because you strip the exec-perms
          from the build binary.  make sure the binary keeps it's
          exec-perms, please, so rpmbuild's debuginfo automagic will
          properly find and extract all debugging symbols from build.

[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 51200 bytes in 4 files.
[!]: Package complies to the Packaging Guidelines

     ---> severe issues are present.

[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
     file-validate if there is such a file.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local


===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).

     ---> explicit `Requires: gtk-sharp2,mono-core` is not need
          at all.  those dependencies are picked up by AutoRequires.

[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.

     ---> no testsuite present.

[!]: Packages should try to preserve timestamps of original installed files.

     ---> timestamps on resources/* are not preserved.
          I'd recommend using `cp -a` instead of `cp -R`

[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.


===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: AudioCuesheetEditor-1.0.3-1.fc21.x86_64.rpm
          AudioCuesheetEditor-1.0.3-1.fc21.src.rpm
AudioCuesheetEditor.x86_64: W: spelling-error Summary(en_US) cuesheet -> cue sheet, cue-sheet, dustsheet
AudioCuesheetEditor.x86_64: W: spelling-error %description -l en_US cuesheet -> cue sheet, cue-sheet, dustsheet
AudioCuesheetEditor.x86_64: W: spelling-error %description -l en_US gui -> GUI, goo, gun
AudioCuesheetEditor.x86_64: E: no-binary
AudioCuesheetEditor.x86_64: W: only-non-binary-in-usr-lib
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/LICENCE.TXT
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/KNOWN_ISSUES.TXT
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/CHANGELOG.TXT
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/README.TXT
AudioCuesheetEditor.x86_64: W: no-manual-page-for-binary AudioCuesheetEditor
AudioCuesheetEditor.src: W: spelling-error Summary(en_US) cuesheet -> cue sheet, cue-sheet, dustsheet
AudioCuesheetEditor.src: W: spelling-error %description -l en_US cuesheet -> cue sheet, cue-sheet, dustsheet
AudioCuesheetEditor.src: W: spelling-error %description -l en_US gui -> GUI, goo, gun
AudioCuesheetEditor.src:25: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}
AudioCuesheetEditor.src:28: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/resources
AudioCuesheetEditor.src:29: E: hardcoded-library-path in %{buildroot}/usr/lib/%{name}/%{name}.exe
AudioCuesheetEditor.src:46: E: hardcoded-library-path in /usr/lib/%{name}/*
AudioCuesheetEditor.src: E: specfile-error warning: bogus date in %changelog: Tue Jun 16 2013 Sven Baus <s.baus86@gmx.net> 1.0.3-1
AudioCuesheetEditor.src: E: specfile-error warning: bogus date in %changelog: Tue Jun 09 2013 Sven Baus <s.baus86@gmx.net> 1.0.3-1
AudioCuesheetEditor.src: E: specfile-error warning: bogus date in %changelog: Sun Apr 04 2013 Sven Baus <s.baus86@gmx.net> 0.3.0-1
2 packages and 0 specfiles checked; 8 errors, 12 warnings.

---> 'hardcoded-library-path' is intentional on Mono / C# based packages
      as explained by Mono-guidelines:
      https://fedoraproject.org/wiki/Packaging:Mono#File_Locations

      'wrong-file-end-of-line-encoding' and
      'specfile-error warning: bogus date' is as explained within `Issues`.

      Please fix spelling: cuesheet -> cue-sheet / gui -> GUI

      The rest of those messages can be safely ignored.


Rpmlint (installed packages)
----------------------------
# rpmlint AudioCuesheetEditor
AudioCuesheetEditor.x86_64: W: spelling-error Summary(en_US) cuesheet -> cue sheet, cue-sheet, dustsheet
AudioCuesheetEditor.x86_64: W: spelling-error %description -l en_US cuesheet -> cue sheet, cue-sheet, dustsheet
AudioCuesheetEditor.x86_64: W: spelling-error %description -l en_US gui -> GUI, goo, gun
AudioCuesheetEditor.x86_64: E: no-binary
AudioCuesheetEditor.x86_64: W: only-non-binary-in-usr-lib
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/LICENCE.TXT
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/KNOWN_ISSUES.TXT
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/CHANGELOG.TXT
AudioCuesheetEditor.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/AudioCuesheetEditor/README.TXT
AudioCuesheetEditor.x86_64: W: no-manual-page-for-binary AudioCuesheetEditor
1 packages and 0 specfiles checked; 1 errors, 9 warnings.
# echo 'rpmlint-done:'

---> As written above.



Requires
--------
AudioCuesheetEditor (rpmlib, GLIBC filtered):
    /bin/sh
    gtk-sharp2
    mono(System)
    mono(System.Xml)
    mono(gdk-sharp)
    mono(glib-sharp)
    mono(gtk-sharp)
    mono(mscorlib)
    mono-core



Provides
--------
AudioCuesheetEditor:
    AudioCuesheetEditor
    AudioCuesheetEditor(x86-64)
    application()
    application(AudioCuesheetEditor.desktop)
    mono(AudioCuesheetEditor)



Source checksums
----------------
http://downloads.sourceforge.net/audiocuesheet/AudioCuesheetEditor-src-v1.0.3.tar.gz :
  CHECKSUM(SHA256) this package     : cc9d5a221e583fecea43f327294f02f77a9764dd6bd7955253f0a8baf28028e3
  CHECKSUM(SHA256) upstream package : cc9d5a221e583fecea43f327294f02f77a9764dd6bd7955253f0a8baf28028e3


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -n AudioCuesheetEditor
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG


===== Additional comments =====

- BuildRequires:  gtk-sharp2-devel,mono-devel,desktop-file-utils

  ---> It usually improves the readability of a spec-file to have the
       BRs split into one per line and ordered by alphabet.

         BuildRequires:  desktop-file-utils
         BuildRequires:  gtk-sharp2-devel
         BuildRequires:  mono-devel


- Summary is somehow useless.

  ---> I'd change it to: `Write audio cuesheets fast and efficient`


- LC_CTYPE=de_DE.UTF-8 xbuild

  ---> Builds usually shouldn't use any locale different from "C".
       If you really need some UTF-8 encoding during build, you should
       use `us_US.UTF-8` instead.


- The description of the package is is somehow a bit to unexplainive.

  ---> Some better description would be:

       Annoyed of writing your audio cuesheets via text editor?
       Here comes the solution!  Audio Cuesheet Editor helps you
       editing your audio cuesheet file.

       With Audio Cuesheet Editor you can import textfiles, edit
       the imported data and afterwards export to a working audio
       cuesheet.

       Features

         * Import Textfiles (Scheme can be changed in Options)
         * Import existing cuesheets
         * Edit Imported Data
         * Edit Cuesheet in GUI
         * Several logical test (starttime < endtime,etc)
           with warning for users
         * Export as Cuesheet
         * Export profiles can be configured (*.csv,*.txt, etc.)
         * Several Options
         * Automatic Update recognition
         * Drag & Drop

       That would -- from my pov -- give a lot more information and idea
       about what you can do with the app.


- chmod a-x *.TXT bin/Release/resources/*.xml ... in %build

  ---> I'd move that to %prep and use a modified version:

       find . -depth -type f -print0 | xargs -0 chmod 0644


- You can drop the use of `%{_builddir}/%{name}-src-v%{version}/` in
  %install, because rpmbuild always makes sure you are in toplevel
  of the sources.


===== Solution =====

NOT APPROVED -- Please fix the present issues and think about my additional comments.  I'll run another review on the updated packages.
Comment 36 Sven Baus 2013-10-25 13:40:20 EDT
Thanks for the first report. I'll take my time over the weekend to do some stuff. Currently the next release is in testing, so what would you do? Wait for it, or package the current stable release?!
Comment 37 Björn "besser82" Esser 2013-10-26 01:11:07 EDT
I'd usually package the lastest stable.  If there's a new release then, I'd isn't that hard to upgrade the package again...
Comment 38 Sven Baus 2013-10-26 14:11:53 EDT
(In reply to Björn "besser82" Esser from comment #35)
> - LC_CTYPE=de_DE.UTF-8 xbuild
> 
>   ---> Builds usually shouldn't use any locale different from "C".
>        If you really need some UTF-8 encoding during build, you should
>        use `us_US.UTF-8` instead.

I was trying to build it with the locale us-US.UTF-8, but this fails. Also leaving the locale setting out, fails the build. You have any idea, why?
Comment 39 Björn "besser82" Esser 2013-10-26 14:18:50 EDT
Can you provide me links to scratch-builds on koji, please?  To do such a scratch-build you can use `koji build --scratch --nowait rawhide $srpm`.  Then you can paste the links inside here.  You will need to have completed the cert-setup using `fedora-packager-setup` before you can use the koji-cli.
Comment 40 Björn "besser82" Esser 2013-10-26 14:24:00 EDT
btw. looking at comment 9: mschwendt said he got the build working using `export LANG="us_US.UTF-8"` before invoking the compiler-stage.  Might be worth a try...
Comment 41 Sven Baus 2013-10-27 07:14:38 EDT
(In reply to Björn "besser82" Esser from comment #40)
> btw. looking at comment 9: mschwendt said he got the build working using
> `export LANG="us_US.UTF-8"` before invoking the compiler-stage.  Might be
> worth a try...

Thanks, that helped ;).

Note You need to log in before you can comment on or make changes to this bug.