Spec URL: http://pingou.fedorapeople.org/RPMs/openstego.spec SRPM URL: http://pingou.fedorapeople.org/RPMs/openstego-0.5.2-1.fc15.src.rpm Description: Openstego is a steganography program that is able to hide data in various kinds of image- and audio-files. The color- respectively sample-frequencies are not changed thus making the embedding resistant against first-order statistical tests. Features of Openstego include compression and encryption of embedded data, embedding of a check-sum to verify the integrity of the extracted data and support for jpg, bmp, wave and audio files. Hello, this is my third package, but I need a sponsor. I don't have any fedorapeople, and I thank pingou for hosting my files.
Just a few comments: - your package provides a single JAR file, you *don't* have to create a dedicated directory for it in %{_javadir}: http://fedoraproject.org/wiki/Packaging:Java#Installation_directory By the way, you'll fix so the %{_javadir}/%{name}/ directory which is not owned by your package. - you should probably name your icon « %{name}.svg » instead of « stenago.svg », this may be more coherent. - the Ant build file provides a Javadoc target (ant doc); you *must* build it and provide it in a separate package: http://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation - did you try to run the executable script generated by %jpackage_script? I really don't think so, because the Main class you provided to %jpackage_script (com.sun.msv.driver.textui.Driver) has *nothing* to do with openstengo. It *can't* work! You can get the Main class by opening the generated jar file and read the MANIFEST.MF file. By the way, the generic script openstengo.sh file sets memory options that can be good to reuse in %jpackage_script (second argument of the macro). - about these lines: #delete file for Windows : rm -f %{buildroot}/openstego.bat I suppose you try to delete the BAT file in the sources. The %{buildroot} is *not* the source tree. This command does nothing (see silent -f option). If you want to delete a file in the sources, you'd better do it in %prep, which is run in the source tree, as for the %build/%install targets. By the way, this step is useless since this script has no impact in the build, you should ignore it.
(In reply to comment #1) Hello > Just a few comments: > - your package provides a single JAR file, you *don't* have to create a > dedicated directory for it in %{_javadir}: > http://fedoraproject.org/wiki/Packaging:Java#Installation_directory > By the way, you'll fix so the %{_javadir}/%{name}/ directory which is not owned > by your package. Done > > - you should probably name your icon « %{name}.svg » instead of « stenago.svg > », this may be more coherent. Done > > - the Ant build file provides a Javadoc target (ant doc); you *must* build it > and provide it in a separate package: > http://fedoraproject.org/wiki/Packaging:Java#Javadoc_installation Done > > - did you try to run the executable script generated by %jpackage_script? I > really don't think so, because the Main class you provided to %jpackage_script > (com.sun.msv.driver.textui.Driver) has *nothing* to do with openstengo. It > *can't* work! > You can get the Main class by opening the generated jar file and read the > MANIFEST.MF file. By the way, the generic script openstengo.sh file sets memory > options that can be good to reuse in %jpackage_script (second argument of the > macro). Done > > - about these lines: > #delete file for Windows : > rm -f %{buildroot}/openstego.bat > I suppose you try to delete the BAT file in the sources. The %{buildroot} is > *not* the source tree. This command does nothing (see silent -f option). If you > want to delete a file in the sources, you'd better do it in %prep, which is run > in the source tree, as for the %build/%install targets. By the way, this step > is useless since this script has no impact in the build, you should ignore it. Done
Oups, I've forgotten urls files... Spec URL: http://pingou.fedorapeople.org/RPMs/openstego.spec SRPM URL: http://pingou.fedorapeople.org/RPMs/openstego-0.5.2-3.fc15.src.rpm
The package looks almost fine. There are only a few things that have to be fixed: - Remove the trailing asterisk from %{_javadocdir}/%{name}/* for proper directory ownership. - Add the LICENSE file to the javadoc package, too (with %doc). - Drop the Encoding entry from the .desktop file, and append a semicolon to "Categories=System". $ desktop-file-validate openstego.desktop openstego.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated openstego.desktop: error: value "System" for string list key "Categories" in group "Desktop Entry" does not have a semicolon (';') as trailing character - As you probably don't want to build this package for EPEL < 6, drop the BuildRoot field and the %defattr lines. $ rpmlint /var/lib/mock/fedora-15-x86_64/result/*.rpm openstego.noarch: W: spelling-error %description -l en_US steganography -> stenography, stenographer, oceanography openstego.noarch: W: spelling-error %description -l en_US jpg -> jog, jg, pg openstego.noarch: W: spelling-error %description -l en_US bmp -> mp, bump, imp openstego.noarch: W: no-manual-page-for-binary openstego openstego.src: W: spelling-error %description -l en_US steganography -> stenography, stenographer, oceanography openstego.src: W: spelling-error %description -l en_US jpg -> jog, jg, pg openstego.src: W: spelling-error %description -l en_US bmp -> mp, bump, imp openstego.src:80: W: macro-in-%changelog %{_javadir} openstego.src:81: W: macro-in-%changelog %{name} openstego.src:82: W: macro-in-%changelog %jpackage_script 3 packages and 0 specfiles checked; 0 errors, 10 warnings. --------------------------------- key: [+] OK [.] OK, not applicable [X] needs work --------------------------------- [+] MUST: The package must be named according to the Package Naming Guidelines. [+] MUST: The spec file name must match the base package %{name}. [+] MUST: The package must meet the Packaging Guidelines. [+] MUST: The package must be licensed with a Fedora approved license. - GPLv2 according to README [+] MUST: The License field in the package spec file must match the actual license. [X] MUST: The file containing the text of the license(s) for the package must be included in %doc. - add the LICENSE file to the javadoc package, too [+] MUST: The spec file must be written in American English. [+] MUST: The spec file for the package MUST be legible. [+] MUST: The sources used to build the package must match the upstream source. $ md5sum openstego-src-0.5.2.zip* 2c5576c3129ed36b22251c3db97fe85d openstego-src-0.5.2.zip 2c5576c3129ed36b22251c3db97fe85d openstego-src-0.5.2.zip.upstream [+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. [.] MUST: If the package does not successfully compile, build or work on an architecture, ... [+] MUST: All build dependencies must be listed in BuildRequires. [.] MUST: When compiling C, C++, or Fortran files, %{optflags} must be applied. [.] MUST: The spec file MUST handle locales properly. [.] MUST: If a package installs files below %{_datadir}/icons, the icon cache must be updated. [.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun. [.] MUST: Packages must NOT bundle copies of system libraries. [.] MUST: If the package is designed to be relocatable, ... [X] MUST: A package must own all directories that it creates. %{_javadocdir}/%{name}/ is unowned [+] MUST: A Fedora package must not list a file more than once in %files. [+] MUST: Permissions on files must be set properly. [+] MUST: Each package must consistently use macros. [+] MUST: The package must contain code, or permissable content. [.] MUST: Large documentation files must go in a -doc subpackage. [.] MUST: Files in %doc must not affect the runtime of the application. [.] MUST: Header files must be in a -devel package. [.] MUST: Static libraries must be in a -static package. [.] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. [.] MUST: devel packages must require the base package using a fully versioned dependency. [+] MUST: Packages must NOT contain any .la libtool archives. [+] MUST: Packages containing GUI applications must include a %{name}.desktop file. [+] MUST: .desktop files must be properly installed with desktop-file-install in the %install section. [+] MUST: Packages must not own files or directories already owned by other packages. [+] MUST: All filenames in rpm packages must be valid UTF-8. [+] MUST: Java packages must BR java-devel and jpackage-utils. [+] MUST: Java packages must require java and jpackage-utils. [+] MUST: Bundled binary files (.class, .jar) must be removed in %prep. EPEL <= 5 only: [+] MUST: The spec file must contain a valid BuildRoot field. [X] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}. [X] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}. [.] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' [+] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [+] SHOULD: Timestamps of files should be preserved. [+] SHOULD: The reviewer should test that the package builds in mock. [+] SHOULD: The package should compile and build into binary rpms on all supported architectures. [+] SHOULD: The reviewer should test that the package functions as described. [.] SHOULD: If scriptlets are used, those scriptlets must be sane. [.] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. [.] SHOULD: pkgconfig(.pc) files should be placed in a -devel pkg. [.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. [.] SHOULD: Your package should contain man pages for binaries/scripts. [+] SHOULD: Java applications SHOULD provide a wrapper script in %{_bindir}.
(In reply to comment #4) > - Remove the trailing asterisk from %{_javadocdir}/%{name}/* for proper > directory ownership. Removed > - Add the LICENSE file to the javadoc package, too (with %doc). Added > - Drop the Encoding entry from the .desktop file, and append a semicolon to > "Categories=System". Done > $ desktop-file-validate openstego.desktop > openstego.desktop: warning: key "Encoding" in group "Desktop Entry" is > deprecated > openstego.desktop: error: value "System" for string list key "Categories" > in group "Desktop Entry" does not have a semicolon (';') as trailing > character Thanks for this command. I'll use it always now. > - As you probably don't want to build this package for EPEL < 6, drop the > BuildRoot field and the %defattr lines. Done Spec URL: http://fantom.fedorapeople.org/openstego.spec SRPM URL: http://fantom.fedorapeople.org/openstego-0.5.2-4.fc15.src.rpm
OK, looks good now. There's still a %defattr line present in %files javadoc -- remove it before you check in the package. Also, please be a bit more specific in the %changelog. At least blocker items, e.g. fixing directory ownerships or desktop file errors should be listed. Nonetheless, this package is ready now. ;) ---------------- Package APPROVED ----------------
(In reply to comment #6) > OK, looks good now. There's still a %defattr line present in %files javadoc -- > remove it before you check in the package. Also, please be a bit more specific > in the %changelog. At least blocker items, e.g. fixing directory ownerships or > desktop file errors should be listed. Nonetheless, this package is ready now. > ;) Done Spec URL: http://fantom.fedorapeople.org/openstego.spec SRPM URL: http://fantom.fedorapeople.org/openstego-0.5.2-5.fc15.src.rpm New Package SCM Request ======================= Package Name: openstego Short Description: Free Steganography solution Owners: fantom Branches: f15 f16 el6 InitialCC:
Apologizes, openstego =! OpenStego So I'm fixing here New Package SCM Request ======================= Package Name: OpenStego Short Description: Free Steganography solution Owners: fantom Branches: f15 f16 el6 InitialCC:
Git done (by process-git-requests).
OpenStego-0.5.2-6.1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/OpenStego-0.5.2-6.1.fc16
OpenStego-0.5.2-6.1.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/OpenStego-0.5.2-6.1.fc15
OpenStego-0.5.2-6.1.fc16 has been pushed to the Fedora 16 testing repository.
OpenStego-0.5.2-6.1.fc16 has been pushed to the Fedora 16 stable repository.
OpenStego-0.5.2-6.1.fc15 has been pushed to the Fedora 15 stable repository.
Package Change Request ====================== Please remove OpenStego from EL6 branch. Reason: FTBFS
This isn't done via SCM requests, just commit a dead.package file and Retire the branch in pkgdb.u