Created attachment 351409 [details] SPEC file Val(a)IDE is an Intergrate Developpement Environnement for the Vala programming language. RPMLINT issue: _____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-0.5.1-275svn.0.2.fc11.x86_64.rpm valide.x86_64: W: no-soname /usr/lib64/libvalide-0.0.so valide.x86_64: E: zero-length /usr/share/valide/licenses/None valide.x86_64: W: devel-file-in-non-devel-package /usr/include/valide-0.5/plugins/opened-documents/opened-documents.h A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package. valide.x86_64: W: devel-file-in-non-devel-package /usr/include/valide-0.5/plugins/todo/todo.h A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package. valide.x86_64: W: devel-file-in-non-devel-package /usr/include/valide-0.5/plugins/completion/completion.h A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package. valide.x86_64: W: devel-file-in-non-devel-package /usr/include/valide-0.5/libvalide/valide-0.0.h A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package. valide.x86_64: W: devel-file-in-non-devel-package /usr/include/valide-0.5/plugins/file-browser/file-browser.h A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package. valide.x86_64: W: devel-file-in-non-devel-package /usr/include/valide-0.5/plugins/symbol/symbol.h A development file (usually source code) is located in a non-devel package. If you want to include source code in your package, be sure to create a development package. valide.x86_64: W: file-not-in-%lang /usr/share/locale/fr/LC_MESSAGES/valide.mo valide.x86_64: E: invalid-desktopfile /usr/share/applications/valide.desktop .desktop file is not valid, check with desktop-file-validate 1 packages and 0 specfiles checked; 2 errors, 8 warnings. _____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-debuginfo-0.5.1-275svn.0.2.fc11.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. _____________________________________________________________________ $ rpmlint -i rpmbuild/SRPMS/valide-0.5.1-275svn.0.2.fc11.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Created attachment 351410 [details] SRC.RPM
*** Bug 498106 has been marked as a duplicate of this bug. ***
I would like to suggest that you take a look at the Fedora Packaging Guidelines [1] if you have missed that till now. [1] https://fedoraproject.org/wiki/Packaging:Guidelines
can you explain please ? for devel file ? this file is generated by waf in %build, i delete this file after build? put in %{include} ? if you have an anwer i take it ;)
can you explain please ? for devel file ? this file is generated by waf in %build, i delete this file after build? put in %{include} ? if you have an answer i take it ;)
What was wrong with the existing ticket for this? In addition to the guidelines above, I really suggest that you read http://fedoraproject.org/wiki/PackageMaintainers/Join There are many procedures there which will make your package review happen faster, but you don't seem to have followed them. Using bugzilla attachments for package reviews makes it rather difficult on the reviewer, and if you wish for your package to be reviewed it's best to make things as easy on the reviewers. Do you not have some web space you can put the spec and src.rpm in? It's nice that you posted the rpmlint output along with rpmlint's suggestions for resolving it, but what you really need to do is either actually resolve rpmlint's complaints, or justify why each complaint is acceptable. The output by itself is not really useful.
ok, sorry link for src.rpm http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-275svn.0.2.fc11.src.rpm link for spec file: http://bioinformatiques.free.fr/SPECS/valide.spec i have contact upstream for all this warning E: invalid-desktopfile /usr/share/applications/valide.desktop will be fixed quickly for this: W: no-soname /usr/lib64/libvalide-0.0.so E: zero-length /usr/share/valide/licenses/None I wait upstream, maybe for the first need use libtool for W: devel-file-in-non-devel-package i did'nt know what i need to do, this file are generated by waf (autotool) in build section. .h and .c generated file i remove it ? Thanks for answer, sorry for previous inconvenience
Generally we just don't package zero-length files like that, unless they serve some purpose. What are the .h and .c files for? Do they actually need to be installed with the package? Are they somehow used at runtime? Your release tag doesn't match the requirements for snapshot packages: http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages
@tibbs _________________________________________________________________________ In addition to the guidelines above, I really suggest that you read http://fedoraproject.org/wiki/PackageMaintainers/Join _________________________________________________________________________ i have already get gponsored with spe package, earth-and-moon-package, gdesklets-citations, gdesklet-SlideShow ok for naming rpm i will be fix tomorrow ( have read this guideline but too quickly) is not 0.5.1-275svn.0.2 but is 0.5.1-0.2.275svn
sorry %{alphatag} beginning with the date in YYYYMMDD format ^^ i go to bed --> []
You shouldn't strip libraries and executables or you'll get the empty debug package. Please, don't do it.
You have to fill your whole name in Bugzilla.
Have you even read the packaging guidelines..? - Explicit requires are forbidden, at least those on gtk2, gtksourceview2, sqlite and unique are automatically picked up by rpm. http://fedoraproject.org/wiki/Packaging/Guidelines - You have a big bunch of unowned directories. %{_includedir}/valide-0.5/ %{_libdir}/plugins/ (this doesn't look correct!) %{_datadir}/pixmaps/valide/ %{_datadir}/vala/vapi/ %{_datadir}/valide/ Also the %files section is way too long. - Desktop file is not installed correctly. http://fedoraproject.org/wiki/Packaging/Guidelines - Locales are not handled properly. "Using %{_datadir}/locale/* is strictly forbidden" http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
ok some fix: ____________________________________________________________________ $ rpmlint -i rpmbuild/SRPMS/valide-0.5.1-278svn.0.3.fc11.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-debuginfo-0.5.1-278svn.0.3.fc11.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-0.5.1-278svn.0.3.fc11.x86_64.rpm valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/file-browser/libfile-browser.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/opened-documents/libopened-documents.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/libvalide-0.0.so.0.5.1 valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/symbol/libsymbol.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/completion/libcompletion.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/todo/libtodo.so valide.x86_64: E: zero-length /usr/share/valide/licenses/None 1 packages and 0 specfiles checked; 1 errors, 6 warnings. ____________________________________________________________________ For the 5th warning i have remove strip command ---> #11 For the last warning, the upstream say is normal intentionally empty file Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-278svn.0.3.fc11.src.rpm
A few comments: - You still need to fill in your whole name in Bugzilla. - I get the following output from rpmlint: valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/file-browser/libfile-browser.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/opened-documents/libopened-documents.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/libvalide-0.0.so.0.5.1 valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/symbol/libsymbol.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/completion/libcompletion.so valide.x86_64: W: unstripped-binary-or-object /usr/lib64/valide/plugins/todo/libtodo.so valide.x86_64: E: zero-length /usr/share/valide/licenses/None 4 packages and 0 specfiles checked; 1 errors, 6 warnings. Check that you have the package "redhat-rpm-macros" installed on your system and add find %{buildroot}%{_libdir} -name *.so -exec chmod 755 {} \; to the end of install to give the .so files executable permissions so that rpmbuild picks them up and strips them. - Drop the explicit requires. rpm automatically picks up the requires on all of them. As an IDE this probably should Require: vala-devel though. The intltool requirement is OK. http://fedoraproject.org/wiki/Packaging/Guidelines#Explicit_Requires - The remove command should most likely be in %preun, since in the %postun phase the package has already been removed and %{_bindir}/%{name} doesn't exist anymore. Also, you should probably add some logic so that the commands aren't run when the package is upgraded. - The "%{_bindir}/%{name} --add" doesn't work. Upon installation of the RPM I get Preparing... ########################################### [100%] 1:valide ########################################### [100%] (valide:21124): Gtk-WARNING **: cannot open display: warning: %post(valide-0.5.1-278svn.0.3.fc11.x86_64) scriptlet failed, exit status 1 - For consistency use %{_bindir}/valide in the files section instead of %{_bindir}/%{name}. - Unowned directories issues. Change %dir %{_libdir}/%{name} %{_libdir}/%{name}/plugins/* %{_datadir}/pixmaps/valide/* %{_datadir}/vala/vapi/* %{_datadir}/valide/* to %{_libdir}/%{name}/ %{_datadir}/pixmaps/valide/ %{_datadir}/vala/vapi/* %{_datadir}/valide/ in the main package and %{_includedir}/valide-0.5/* to %{_includedir}/valide-0.5/ in the -devel package. - You are placing icons in %{_datadir}/icons/hicolor/ so you must Require: hicolor-icon-theme. You must refresh the icon cache as instructed in https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache - Package doesn't build in mock due to missing BR desktop-file-utils. - Add Requires: %{name} = %{version}-%{release} to the -devel package. You don't have to duplicate the requires of the main package in the -devel package when there is a dependency chain. http://fedoraproject.org/wiki/Packaging/Guidelines#Requiring_Base_Package - You are mixing macros, which is forbidden. http://fedoraproject.org/wiki/Packaging/Guidelines#Using_.25.7Bbuildroot.7D_and_.25.7Boptflags.7D_vs_.24RPM_BUILD_ROOT_and_.24RPM_OPT_FLAGS - Change all references to "./waf" to "./waf -v" to get debugging output. - Change ./waf configure --prefix=%{_prefix} --with-libdir=%{_libdir} to CFLAGS="%{optflags}" LINKFLAGS="%{optflags}" ./waf -v configure --prefix=%{_prefix} --with-libdir=%{_libdir} in order to get the Fedora optimization flags into use. - For consistency, change %defattr(-, root, root) to %defattr(-,root,root,-) in the -devel package. - ldconfig is part of glibc, so I'd drop the Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig
The release tag is incorrect: instead of %{svn_revision}.0.3%{?dist} it should be 0.3.%{svn_revision}%{?dist} http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Pre-Release_packages
(In reply to comment #12) > You have to fill your whole name in Bugzilla. Where do you get that "have to" from ?
(In reply to comment #17) > (In reply to comment #12) > > You have to fill your whole name in Bugzilla. > > Where do you get that "have to" from ? It's not necessary for "normal" BZ users, but for packagers it's standard procedure since the bugzilla account is tightly coupled with the Fedora Account System. At least you can think of it as courtesy to other people.
(In reply to comment #18) > At least you can think of it as courtesy to other people. .. and I refuse to review any packages submitted/written by anonymous people.
I understand you point of view and accept it, but I can see Jonathan's name of the page here and on the spec :)
(In reply to comment #20) > I understand you point of view and accept it, but I can see Jonathan's name of > the page here and on the spec :) It was already in the spec but he must have changed the name in bugzilla now...
This morining i have add in preference account my firts name but the last name exist since a long time
This morning i have add in preference account my first name but the last name exist since a long time
Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-278svn.0.3.fc11.src.rpm ____________________________________________________________________ $ rpmlint -i rpmbuild/SRPMS/valide-0.5.1-0.4.278svn.fc11.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* valide.x86_64: E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package itself. valide.x86_64: E: zero-length /usr/share/valide/licenses/None 3 packages and 0 specfiles checked; 2 errors, 0 warnings. ____________________________________________________________________
E: zero-length /usr/share/valide/licenses/None --> Comment #14 |--->For the last warning, the upstream say is normal intentionally empty file E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package-------> As an IDE this probably should Require: vala-devel though. The intltool requirement is OK. Comment # 15
- You didn't increment the release tag. Please increment the release tag whenever making changes to the spec file. (Except when the version tag is incremented the release tag falls back to 1.) - Drop Requires: vala >= %{vala_version} and put the version requirement in the Requires: vala-devel. (dependency on vala is automatically picked up, also vala-devel pulls it in.) - Devel package doesn't have to Requires: vala-devel >= %{vala_version} since this requirement is already in the main package. Drop it. - The BuildRequires line is unnecessarily long. Please divide it in at least two separate lines. - You should add comments to the %post and %postun sections. Now it's a bit unclear to the reader what is the purpose of the commands. - For clarity of the spec file you could remove some of the empty lines within the sections, %build, %install, %post and %postun are a bit too sparse compared to their environment.
(In reply to comment #26) > - You didn't increment the release tag. Please increment the release tag > whenever making changes to the spec file. (Except when the version tag is > incremented the release tag falls back to 1.) Oh, that was just in the link you posted. No problem.
(In reply to comment #24) > $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* > valide.x86_64: E: devel-dependency vala-devel > Your package has a dependency on a devel package but it's not a devel package > itself. Yes, this is fine. > valide.x86_64: E: zero-length /usr/share/valide/licenses/None This can be ignored if it's supposed to be empty by design.
Your Requires: lines are messed up. $ rpm -qpR valide-0.5.1-0.4.278svn.fc11.x86_64.rpm /bin/sh /bin/sh 0.7.3 hicolor-icon-theme libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcairo.so.2()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgdk-x11-2.0.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgmodule-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgthread-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libgtksourceview-2.0.so.0()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libsqlite3.so.0()(64bit) libunique-1.0.so.0()(64bit) libvala.so.0()(64bit) libvalide-0.0.so.0()(64bit) libxml2.so.2()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) vala >= >= vala-devel $ rpm -qpR valide-devel-0.5.1-0.4.278svn.fc11.x86_64.rpm 0.7.3 2.7.3 intltool libvalide-0.0.so.0()(64bit) libxml2-devel >= >= rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 vala-devel >= >= valide = 0.5.1-0.4.278svn.fc11
ok fixed Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.5.278svn.fc11.src.rpm ____________________________________________________________________ $ rpm -qpR rpmbuild/RPMS/x86_64/valide-0.5.1-0.5.278svn.fc11.x86_64.rpm /bin/sh /bin/sh hicolor-icon-theme libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcairo.so.2()(64bit) libfontconfig.so.1()(64bit) libfreetype.so.6()(64bit) libgdk-x11-2.0.so.0()(64bit) libgdk_pixbuf-2.0.so.0()(64bit) libgio-2.0.so.0()(64bit) libglib-2.0.so.0()(64bit) libgmodule-2.0.so.0()(64bit) libgobject-2.0.so.0()(64bit) libgthread-2.0.so.0()(64bit) libgtk-x11-2.0.so.0()(64bit) libgtksourceview-2.0.so.0()(64bit) libpango-1.0.so.0()(64bit) libpangocairo-1.0.so.0()(64bit) libpangoft2-1.0.so.0()(64bit) libpthread.so.0()(64bit) librt.so.1()(64bit) libsqlite3.so.0()(64bit) libunique-1.0.so.0()(64bit) libvala.so.0()(64bit) libvalide-0.0.so.0()(64bit) libxml2.so.2()(64bit) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH) vala-devel >= 0.7.3 ____________________________________________________________________ rpm -qpR rpmbuild/RPMS/x86_64/valide-devel-0.5.1-0.5.278svn.fc11.x86_64.rpm intltool libvalide-0.0.so.0()(64bit) libxml2-devel >= 2.7.3 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 valide = 0.5.1-0.5.278svn.fc11
$ sudo rpm -Uvh valide-0.5.1-0.5.278svn.fc11.x86_64.rpm Preparing... ########################################### [100%] 1:valide ########################################### [100%] (valide:13042): Gtk-WARNING **: cannot open display: $ sudo rpm -e valide /var/tmp/rpm-tmp.9uSTWm: line 3: /usr/bin/valide: No such file or directory Comment #15 item 5.
Where did you get the commands valide --add and valide --remove ? I get (after installation): $ valide --add Unknown option --add $ valide --remove Unknown option --remove Drop the invocations from the spec file.
yes sorry fixed Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.6.278svn.fc11.src.rpm ____________________________________________________________________ $ su -c 'rpm -ivh rpmbuild/RPMS/x86_64/valide-0.5.1-0.6.278svn.fc11.x86_64.rpm' Mot de passe : Préparation... ########################################### [100%] 1:valide ########################################### [100%] ____________________________________________________________________ $ which valide /usr/bin/valide ____________________________________________________________________ $ su -c 'rpm -e valide /var/tmp/rpm-tmp.xtJcWO: line 3: /usr/bin/valide: No such file or directory ???
(In reply to comment #33) > yes sorry fixed > Spec file: > http://bioinformatiques.free.fr/SPECS/valide.spec > > SRC.RPM file: > http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.6.278svn.fc11.src.rpm > ____________________________________________________________________ > > $ su -c 'rpm -ivh rpmbuild/RPMS/x86_64/valide-0.5.1-0.6.278svn.fc11.x86_64.rpm' > Mot de passe : > Préparation... ########################################### [100%] > 1:valide ########################################### [100%] > ____________________________________________________________________ > $ which valide > /usr/bin/valide > ____________________________________________________________________ > $ su -c 'rpm -e valide > /var/tmp/rpm-tmp.xtJcWO: line 3: /usr/bin/valide: No such file or directory ?? Why do you want to run valide as root when the rpm is installed / uninstalled ?? As I said in comment #31, I explained the reason for that error in comment #15.
____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* valide.x86_64: E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package itself. valide.x86_64: E: zero-length /usr/share/valide/licenses/None 3 packages and 0 specfiles checked; 2 errors, 0 warnings. ____________________________________________________________________ $ su -c 'rpm -ivh rpmbuild/RPMS/x86_64/valide-0.5.1-0.7.278svn.fc11.x86_64.rpm ' Mot de passe : Préparation... ########################################### [100%] 1:valide ########################################### [100%] ____________________________________________________________________ $ su -c 'rpm -e valide' Password : $ ____________________________________________________________________ Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.7.278svn.fc11.src.rpm
- I'm still quite not sure about the Requires of the devel package Requires: libxml2-devel >= %{libxml2_version} Requires: intltool The upstream page http://www.valaide.org/content/download doesn't say anything about these. libxml2 is needed to run, but that requirement is already there. I'd drop these. - Drop the %doc from -devel. -devel requires the main package which already contains the same documentation. - You could be more verbose in your changelog comments. "Fix spec file" doesn't tell you anything. - Version the BuildRequires: vala-devel and gtk2-devel. The build should fail if the dependencies are not there.
the upstream say is necessary libxml2-devel but for a latest version Then i remove this requires ____________________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* valide.x86_64: E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package itself. valide.x86_64: E: zero-length /usr/share/valide/licenses/None valide-devel.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. 3 packages and 0 specfiles checked; 2 errors, 1 warnings. ____________________________________________________________________ Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.8.278svn.fc11.src.rpm
- You still have to have intltool in the BuildRequires, otherwise the package won't build in mock. - I suggest changing the Summary of the main package to "An integrated development environment (IDE) for the Vala programming language" - The summary of -devel should be "Support for developing plugins for Val(a)IDE" (drop the "the") - A couple of spelling mistakes in the %description, it should read "Val(a)IDE is an Integrated Development Environment for the Vala programming language." and that of -devel "Val(a)IDE is an Integrated Development Environment for the Vala programming language. This package allows you to develop plugins that add new functionality to Val(a)IDE." - You are missing %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : from https://fedoraproject.org/wiki/Packaging:ScriptletSnippets ** rpmlint output: valide.src:112: W: macro-in-%changelog _bindir valide.src:118: W: macro-in-%changelog global valide.src:122: W: macro-in-%changelog vala_version valide.src:123: W: macro-in-%changelog vala_version valide.src:125: W: macro-in-%changelog post valide.src: W: mixed-use-of-spaces-and-tabs (spaces: line 122, tab: line 1) valide.src: E: specfile-error error: Macro %variable has empty body valide.x86_64: E: devel-dependency vala-devel valide.x86_64: E: zero-length /usr/share/valide/licenses/None valide-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 3 errors, 7 warnings. - When you refer to macros in changelog put another % in front of it so that rpm doesn't evaluate them, e.g. %%{_bindir}. That takes care of 1-5 and 7. Remove the tabbing in the changelog entry to get rid of 6. - The three last rpmlint errors and warnings are expected. MUST: The package does not yet exist in Fedora. The Review Request is not a duplicate. OK MUST: The spec file for the package is legible and macros are used consistently. OK - Check the suggestions above. MUST: The package must be named according to the Package Naming Guidelines. OK MUST: The spec file name must match the base package %{name}. OK MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. OK MUST: The License field in the package spec file must match the actual license. OK MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. NEEDSWORK - Why are you using an SVN version and not the stable release tarball? - If you really have to use the SVN version, you have to look at https://fedoraproject.org/wiki/Packaging/SourceURL#Using_Revision_Control to mark the spec file accordingly. MUST: The package MUST successfully compile and build into binary rpms. OK MUST: The spec file MUST handle locales properly. OK MUST: Optflags are used and time stamps preserved. OK - Headers seem to be generated during build, so their time stamps will differ from build to build. MUST: Packages containing shared library files must call ldconfig. OK MUST: A package must own all directories that it creates or require the package that owns the directory. OK MUST: Files only listed once in %files listings. OK - I suggest using %{_libdir}/libvalide-*.so.* in %files of the main package and %{_libdir}/libvalide-*.so in the %files of the -devel package to avoid trouble when the soname changes. Same thing with %{_includedir}/valide-0.5/ you can use %{_includedir}/valide-*/ instead. MUST: Debuginfo package is complete. OK MUST: Permissions on files must be set properly. OK MUST: Clean section exists. OK MUST: Large documentation files must go in a -doc subpackage. N/A MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. OK - You could alphabetize the %doc listing, it's faster to check that way. MUST: Header files must be in a -devel package. OK MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK MUST: Packages does not contain any .la libtool archives. N/A MUST: Desktop files are installed properly. OK MUST: No file conflicts with other packages and no general names. OK MUST: Buildroot cleaned before install. OK SHOULD: %{?dist} tag is used in release. OK SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK SHOULD: The package builds in mock. OK
i think all is fixed ____________________________________________________________ $ rpmlint -i rpmbuild/SRPMS/valide-0.5.1-0.9.20090713svn278.fc11.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ____________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* valide.x86_64: E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package itself. valide.x86_64: E: zero-length /usr/share/valide/licenses/None valide-devel.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. 3 packages and 0 specfiles checked; 2 errors, 1 warnings. ____________________________________________________________ I use svn release because i have do some work with upstream for fix the build in fedora environment Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.9.20090713svn278.fc11.src.rpm
Some tinkering: - Remove the second line break in %description: Val(a)IDE is an Integrated Development Environment for the Vala programming language. - Remove the empty line before the Requires: of the devel package, and add one before the %description of devel and in the middle of the chapters of devel's %description. - You can also remove some of the extra line breaks in %files. - You don't have to write "Fix spec file:" in the changelog if you write what you have done after it. (Then there was the alphabetization of %doc.) ** These are rather trivial issues, I'll let you fix these yourself. This package is APPROVED
Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.10.20090713svn278.fc11.src.rpm ____________________________________________________________ $ rpmlint -i rpmbuild/SRPMS/valide-0.5.1-0.10.20090713svn278.fc11.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. ____________________________________________________________ $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* valide.x86_64: E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package itself. valide.x86_64: W: incoherent-version-in-changelog 0.5.1-0.10.svn27820090713 ['0.5.1-0.10.20090713svn278.fc11', '0.5.1-0.10.20090713svn278'] The last entry in %changelog contains a version identifier that is not coherent with the epoch:version-release tuple of the package. valide.x86_64: E: zero-length /usr/share/valide/licenses/None valide-devel.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. 3 packages and 0 specfiles checked; 2 errors, 2 warnings. _________________________________________________________
New Package CVS Request ======================= Package Name: valide Short Description: An IDE for the Vala programming language Owners: bioinfornatics Branches: F10 F11 InitialCC: bioinfornatics
New Package CVS Request ======================= Package Name: valide Short Description: An IDE for the Vala programming language Owners: bioinfornatics Branches: F10 F11
sorry fixe changelog $ rpmlint -i rpmbuild/RPMS/x86_64/valide-* valide.x86_64: E: devel-dependency vala-devel Your package has a dependency on a devel package but it's not a devel package itself. valide.x86_64: E: zero-length /usr/share/valide/licenses/None valide-devel.x86_64: W: no-documentation The package contains no documentation (README, doc, etc). You have to include documentation files. 3 packages and 0 specfiles checked; 2 errors, 1 warnings. Spec file: http://bioinformatiques.free.fr/SPECS/valide.spec SRC.RPM file: http://bioinformatiques.free.fr/SRPMS/valide-0.5.1-0.11.20090713svn278.fc11.src.rpm
CVS done.
Thanks to Jussi Lehtola for this help and this review
Well, - Would you check for the dependency for -devel subpackage? For example, valide-0.5/libvalide/valide-0.0.h contains: ------------------------------------------------------------- 5 #include <glib.h> 6 #include <gtk/gtk.h> 7 #include <glib-object.h> 8 #include <stdlib.h> 9 #include <string.h> 10 #include <gdk-pixbuf/gdk-pixdata.h> 11 #include <gtksourceview/gtksourceview.h> 12 #include <gdk/gdk.h> 13 #include <float.h> 14 #include <math.h> 15 #include <libxml/xpath.h> 16 #include <sqlite3.h> ------------------------------------------------------------- This means that -devel package should have "Requires: gtksourceview2-devel" and so on.
yes, in the fisrt spec they had this require but the comment #13 say no explicit require --> http://fedoraproject.org/wiki/Packaging/Guidelines I add or non this require ?
yes, in the fisrt spec they had this require but the comment #13 say no explicit require --> http://fedoraproject.org/wiki/Packaging/Guidelines I add or no this require ?
(In reply to comment #49) > yes, in the fisrt spec they had this require but the comment #13 say no > explicit require --> http://fedoraproject.org/wiki/Packaging/Guidelines > > I add or no this require ? That doesn't apply to -devel packages - only the libraries are pulled in. If the use of a -devel package requires some other headers to be present, the -devel pacakge must Requires: them.
ok so i need add this require