Bug 988667 - Review Request: valadoc - Documentation tool for the vala project
Summary: Review Request: valadoc - Documentation tool for the vala project
Keywords:
Status: CLOSED DUPLICATE of bug 1367115
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zbigniew Jędrzejewski-Szmek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 684239 (view as bug list)
Depends On:
Blocks: FE-NEEDSPONSOR plank 1321473 1367115
TreeView+ depends on / blocked
 
Reported: 2013-07-26 06:10 UTC by Christopher Meng
Modified: 2016-08-15 14:58 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1367115 (view as bug list)
Environment:
Last Closed: 2016-08-15 14:58:40 UTC
Type: ---
Embargoed:
zbyszek: fedora-review+


Attachments (Terms of Use)
.spec file for valadoc 0.30 (1.61 KB, text/plain)
2016-02-23 11:26 UTC, Gergely Polonkai
no flags Details
.spec file for valadoc 0.30 (1.76 KB, text/plain)
2016-03-31 07:28 UTC, Gergely Polonkai
no flags Details
.spec file for valadoc 0.30 (1.78 KB, text/plain)
2016-04-05 08:59 UTC, Gergely Polonkai
no flags Details
.spec file for valadoc 0.30 (1.92 KB, text/plain)
2016-04-13 21:40 UTC, Gergely Polonkai
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 703688 0 None None None Never
Launchpad 933000 0 None None None 2016-08-06 15:33:01 UTC

Description Christopher Meng 2013-07-26 06:10:34 UTC
Spec URL: http://cicku.me/valadoc.spec
SRPM URL: http://cicku.me/valadoc-0.32-1.fc20.src.rpm
Description: Valadoc is a documentation generator for generating API documentation from Vala source code based on libvala.
Fedora Account System Username: cicku

Comment 1 Christopher Meng 2013-07-26 06:11:07 UTC
*** Bug 684239 has been marked as a duplicate of this bug. ***

Comment 2 Mario Blättermann 2013-08-25 15:02:10 UTC
The URLs are invalid.

Comment 3 Mario Blättermann 2013-09-15 17:45:06 UTC
Again, the URLs are invalid.

Comment 4 Christopher Meng 2013-09-15 23:06:44 UTC
(In reply to Mario Blättermann from comment #3)
> Again, the URLs are invalid.

Please take a look at external tracker.

Comment 5 Mario Blättermann 2013-09-30 19:05:44 UTC
(In reply to Christopher Meng from comment #4)
> (In reply to Mario Blättermann from comment #3)
> > Again, the URLs are invalid.
> 
> Please take a look at external tracker.

Well, it shows that currently valadoc doesn't work properly. As long as we don't have files to review, this request is NotReady.

Comment 6 Christopher Meng 2014-01-23 07:37:12 UTC
Graphviz issue fixed by upstream. However it has been bumped to 0.23.2 which I'm not sure if it's the current version of it. Verifying.

Comment 7 Christopher Meng 2014-02-11 07:48:18 UTC
Spec URL: http://cicku.me/valadoc.spec
SRPM URL: http://cicku.me/valadoc-0.23.2-1.fc21.src.rpm

Note:

1. make checked failed because of upstream's bad logic.

2. build.log noted:

+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 /home/rpmaker/rpmbuild/BUILD/valadoc-0.23.2
extracting debug info from /home/rpmaker/rpmbuild/BUILDROOT/valadoc-0.23.2-1.fc21.i386/usr/lib/libvaladoc.so.0.0.0
extracting debug info from /home/rpmaker/rpmbuild/BUILDROOT/valadoc-0.23.2-1.fc21.i386/usr/lib/valadoc/doclets/html/libdoclet.so
extracting debug info from /home/rpmaker/rpmbuild/BUILDROOT/valadoc-0.23.2-1.fc21.i386/usr/lib/valadoc/doclets/devhelp/libdoclet.so
extracting debug info from /home/rpmaker/rpmbuild/BUILDROOT/valadoc-0.23.2-1.fc21.i386/usr/lib/valadoc/doclets/gtkdoc/libdoclet.so
extracting debug info from /home/rpmaker/rpmbuild/BUILDROOT/valadoc-0.23.2-1.fc21.i386/usr/lib/valadoc/drivers/0.24.x/libdriver.so
extracting debug info from /home/rpmaker/rpmbuild/BUILDROOT/valadoc-0.23.2-1.fc21.i386/usr/bin/valadoc
/usr/lib/rpm/sepdebugcrcfix: Updated 6 CRC32s, 0 CRC32s did match.
symlinked /usr/lib/debug/usr/lib/libvaladoc.so.0.0.0.debug to /usr/lib/debug/usr/lib/libvaladoc.so.0.debug
symlinked /usr/lib/debug/usr/lib/libvaladoc.so.0.0.0.debug to /usr/lib/debug/usr/lib/libvaladoc.so.debug
cpio: valadoc-0.23.2/src/libvaladoc/array.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/attribute.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/attributeargument.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/basicdoclet.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/block.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/blockcontent.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/browsable.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/callable.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/chart.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/chartfactory.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/childsymbolregistrar.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/class.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/comment.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/commentscanner.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/constant.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/contentelement.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/contentfactory.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/contentrenderer.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/contentvisitor.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/cssclassresolver.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/delegate.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/documentation.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/documentationimporter.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/documentationparser.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/driver.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/embedded.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/enum.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/enumvalue.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/errorcode.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/errordomain.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/field.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/formalparameter.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/formalparametertype.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/girdocumentationimporter.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/girmetadata.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/girsourcecomment.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/gtkdoccommentparser.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/gtkdoccommentscanner.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/headline.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/hierarchychart.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/htmlchartfactory.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/htmlmarkupwriter.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/htmlrenderer.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/inline.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/inlinecontent.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/inlinetaglet.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/interface.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/item.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/link.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/linkhelper.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/list.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/listitem.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/manyrule.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/member.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/method.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/methodbindingtype.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/namespace.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/node.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/nodetype.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/note.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/oneofrule.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/optionalrule.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/ownership.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/package.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/page.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/paragraph.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/parser.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/parsercallback.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/pointer.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/property.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/propertyaccessor.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/propertyaccessortype.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/propertybindingtype.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/resourcelocator.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/rule.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/run.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/scanner.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/sequencerule.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/signal.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/signaturebuilder.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/simplechartfactory.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/sourcecode.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/sourcecomment.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/sourcefile.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/sourcelocation.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/struct.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/stubrule.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/styleattributes.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/symbol.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/symbolaccessibility.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/symbollink.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/table.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tablecell.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tablerow.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/taglet.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletdeprecated.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletinheritdoc.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletinit.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletlink.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletparam.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletreturn.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletsee.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletsince.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tagletthrows.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/text.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/token.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tokentype.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/tree.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/typeparameter.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/typereference.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/typesymbol.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/valadocdocumentationimporter.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/valadocdocumentationimporterscanner.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/visitor.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/warning.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/wiki.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/wikilink.c: Cannot stat: No such file or directory
cpio: valadoc-0.23.2/src/libvaladoc/wikiscanner.c: Cannot stat: No such file or directory
25674 blocks

I'm not sure how to fixes warnings above currently, related to debuginfo IMO.

Comment 8 Ralf Corsepius 2014-02-11 08:14:38 UTC
There is no indication where this tarball originates from.
Source0: Is a local URL without any apparent upstream connection, URL: points to a site on which I also cannot gather any connection to the sources of this package.

Comment 9 Christopher Meng 2014-02-11 08:23:25 UTC
(In reply to Ralf Corsepius from comment #8)
> There is no indication where this tarball originates from.
> Source0: Is a local URL without any apparent upstream connection, URL:
> points to a site on which I also cannot gather any connection to the sources
> of this package.

That's why I marked this as NotReady again.

Comment 10 Ralf Corsepius 2014-02-11 13:09:35 UTC
(In reply to Christopher Meng from comment #9)
> That's why I marked this as NotReady again.
You submitted a package for review and now you can not tell us where you downloaded/obtained the tarball from? What shall we think of this?

BTW: IMO, this BZ should be closed and not marked "NotReady". It's not that the packaging needs works, there IS NO PACKAGE to review.

Comment 11 Michael Schwendt 2014-02-11 13:20:35 UTC
https://wiki.gnome.org/Projects/Valadoc

Comment 12 Gergely Polonkai 2016-02-23 11:26:16 UTC
Created attachment 1129723 [details]
.spec file for valadoc 0.30

I have successfully built some packages against the latest release branch (0.30).

make check still fails due to a failing test, though.

Unfortunately the .tar.gz file cannot be downloaded directly, only from git.gnome.org via Git (or at least I couldn’t find it). I upload the .spec file anyway (contains an invalid URL!).

Comment 13 Raphael Groner 2016-03-29 20:01:10 UTC
Is there still interest to get valadoc packaged? I guess we could close here cause Christopher lost all of its packages recently.

Comment 14 Zbigniew Jędrzejewski-Szmek 2016-03-29 20:38:11 UTC
Spec file in comment #12 looks almost OK. It'd be great if somebody turned it into a package. Gergely, would you be interested in becoming the maintainer?

Comment 15 Gergely Polonkai 2016-03-30 18:20:08 UTC
Zbigniew, sounds OK to me. Could you/someone point me to the problems that makes the spec just *almost* OK?

Comment 16 Zbigniew Jędrzejewski-Szmek 2016-03-30 18:49:23 UTC
In order of importance:
- Source0: https://git.gnome.org/browse/valadoc/snapshot/valadoc-valac-%{version}.tar.xz

- %{_libdir}/libvaladoc.so should be in -devel, not in the main package

- there's no license file listed in %files

- why do you delete the single .mo file? A comment in the spec file would be nice.

- URL seems wrong. It should point to the project page for valadoc (see comment #11), and not the website containing generated docs. Current URL is useful though, it might be worth putting it in %description ("\nDocumentation for various projects written in vala can be found at <URL>.")

- %description has an empty line at the top

- %description should be extended a bit to say something that valadoc extracts documentation from the source code (or whatever, I'm just guessing here).

- %post/%postun scriptlets require shell unnecessarily, %post -p /sbin/ldconfig is better [https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:ScriptletSnippets#Shared_libraries].

- %{buildroot} is preferred to $RPM_BUILD_ROOT and it's considered bad style to use both

- You can use %make_build instead of make %{?_smp_mflags} and %make_install instead of make install DESTDIR=%{buildroot}. More consise.

Comment 17 Gergely Polonkai 2016-03-31 07:28:21 UTC
Created attachment 1142088 [details]
.spec file for valadoc 0.30

(In reply to Zbigniew Jędrzejewski-Szmek from comment #16)
> In order of importance:
> - Source0:
> https://git.gnome.org/browse/valadoc/snapshot/valadoc-valac-%{version}.tar.xz

Thanks, I’m not too good with git web frontends, I’d have never found it (although I could have asked…)

> 
> - %{_libdir}/libvaladoc.so should be in -devel, not in the main package

No it shouldn’t. ldd shows that the valadoc binary uses libvaladoc.so

> 
> - there's no license file listed in %files

I have added the project’s COPYING file (GPL v2)

> 
> - why do you delete the single .mo file? A comment in the spec file would be
> nice.

TBH I was copying the .spec of another project of mine and left that line there accidentally (note the name "swe-glib" in the path)

> 
> - URL seems wrong. It should point to the project page for valadoc (see
> comment #11), and not the website containing generated docs. Current URL is
> useful though, it might be worth putting it in %description
> ("\nDocumentation for various projects written in vala can be found at
> <URL>.")

The only official page I could find is the project page on wiki.gnome.org; I have added that and put this old URL to the description as you suggested

> 
> - %description has an empty line at the top

fixed

> 
> - %description should be extended a bit to say something that valadoc
> extracts documentation from the source code (or whatever, I'm just guessing
> here).

I have added some more text, but I’m not really good at this. I will look into this deeper soon.

> 
> - %post/%postun scriptlets require shell unnecessarily, %post -p
> /sbin/ldconfig is better
> [https://fedoraproject.org/wiki/Packaging:Scriptlets?rd=Packaging:
> ScriptletSnippets#Shared_libraries].

Fixed that, thanks for the link

> 
> - %{buildroot} is preferred to $RPM_BUILD_ROOT and it's considered bad style
> to use both

I have fixed that. I also added a / between %{buildroot} and %{_libdir} for the sake of readability, but I’m not sure if it should be there

> 
> - You can use %make_build instead of make %{?_smp_mflags} and %make_install
> instead of make install DESTDIR=%{buildroot}. More consise.

I fixed that. I hope I got it right

Comment 18 Raphael Groner 2016-03-31 08:05:12 UTC
Can you upload the spec and srpm files to some external web space, e.g. fedorapeople.org? Someone could then use fedora-review tool.
https://fedoraproject.org/wiki/Package_Review_Process#Contributor

Comment 19 Raphael Groner 2016-03-31 08:19:58 UTC
Again, some general advice:

. You must use '%license COPYING', remove '%doc COPYING' instead.
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text

. There's no license for the sub packages (devel & data), make them 'Require: %{name}%{?_isa} = %{version}-%{release}'.
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Subpackage_Licensing 

. I guess you want also add 'Require: %{name}-data%{?_isa} = %{version}-%{release}' into main package, or data could be merged completely into main, why another sub package? At least, add 'BuildArch: noarch' into data subpackage.
https://fedoraproject.org/wiki/Packaging:Guidelines#Noarch_with_unported_dependencies

. Remove 'Group: Development/Tools', it's deprecated.
https://fedoraproject.org/wiki/How_to_create_an_RPM_package#SPEC_file_overview

. Maybe simplify/improve the removal of .la and .a files:
find %{buildroot}%{_libdir} -name \*.la -print -delete
rm -fv %{buildroot}/%{_libdir}/*.a

. You must provide a proper %changelog with at least some intial entry.
https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs

Comment 20 Raphael Groner 2016-03-31 08:28:24 UTC
. Folders ownership is not correct.
%files
%{_libdir}/%{name}/

%files data
%dir %{_datadir}/valadoc/

%package devel
Requires: vala-devel%{?_isa}
(for %{_datadir}/vala/ )


. I'm not sure, must the package depend on a concrete version of vala? We saw some issues with other vala builds to need rebuilds if base vala version changes (API breakage).

. Please use %{_mandir} .
%{_mandir}/man1/%{name}.1.gz

. Generally, you can use %{name} everywhere in the spec file, where 'valadoc' is set instead.

Comment 21 Zbigniew Jędrzejewski-Szmek 2016-03-31 12:20:24 UTC
(In reply to Gergely Polonkai from comment #17)
> Created attachment 1142088 [details]
> .spec file for valadoc 0.30
> 
> (In reply to Zbigniew Jędrzejewski-Szmek from comment #16)
> > In order of importance:
> > - Source0:
> > https://git.gnome.org/browse/valadoc/snapshot/valadoc-valac-%{version}.tar.xz

Version appears to be 0.30, not 0.30.0 (so the tarball URL works).

> > - %{_libdir}/libvaladoc.so should be in -devel, not in the main package
> 
> No it shouldn’t. ldd shows that the valadoc binary uses libvaladoc.so

It doesn't here :)

$ ldd /home/zbyszek/rpmbuild/BUILDROOT/valadoc-0.30-1.fc23.x86_64/usr/bin/valadoc
        linux-vdso.so.1 (0x00007ffdc9988000)
        libvaladoc.so.0 => ...

https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages has an explanation.

> > - %description should be extended a bit to say something that valadoc
> > extracts documentation from the source code (or whatever, I'm just guessing
> > here).
> 
> I have added some more text, but I’m not really good at this. I will look
> into this deeper soon.

I think current %description is OK.

> > - %{buildroot} is preferred to $RPM_BUILD_ROOT and it's considered bad style
> > to use both
> 
> I have fixed that. I also added a / between %{buildroot} and %{_libdir} for
> the sake of readability, but I’m not sure if it should be there

It's not necessary, and it will cause a double slash in the paths shown in build logs, but some people like to add it. Either way is fine.

> > - You can use %make_build instead of make %{?_smp_mflags} and %make_install
> > instead of make install DESTDIR=%{buildroot}. More consise.
> 
> I fixed that. I hope I got it right

Looks correct. But the package doesn't build here, rpm fails to find
%{_libdir}/valadoc/drivers/0.30.x/libdriver.so

(In reply to Raphael Groner from comment #20)
> . Please use %{_mandir} .
> %{_mandir}/man1/%{name}.1.gz
Or even %{_mandir}/man1/%{name}.1.*
in case the compression ever changes.

> . Generally, you can use %{name} everywhere in the spec file, where
> 'valadoc' is set instead.
Please don't :)
People do that, but there's no requirement (or suggestion) in the guidelines to do that, and it makes everything *much* harder to read. Using macros make sense for things which vary between builds or change over time. The name of the package is something that almost never changes.

Comment 22 Raphael Groner 2016-03-31 12:32:26 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #21)
…
> Version appears to be 0.30, not 0.30.0 (so the tarball URL works).

That's what is meant with vala api version. It changes in conjunction with vala major version bumps, so valadoc can be expected to need rebuilds with every vala update.

…
> > I have fixed that. I also added a / between %{buildroot} and %{_libdir} for
> > the sake of readability, but I’m not sure if it should be there

It's not needed to insert backticks when %{buildroot} is in front cause %{_libdir} gets replaced with '/usr/lib' or '/usr/lib64'.

> It's not necessary, and it will cause a double slash in the paths shown in
> build logs, but some people like to add it. Either way is fine.> (In reply to Raphael Groner from comment #20)
> > . Please use %{_mandir} .
> > %{_mandir}/man1/%{name}.1.gz
> Or even %{_mandir}/man1/%{name}.1.*
> in case the compression ever changes.

Even better: %{_mandir}/man1/%{name}.1*

Sorry, I overlooked that.
https://fedoraproject.org/wiki/Packaging:Guidelines#Manpages

> > . Generally, you can use %{name} everywhere in the spec file, where
> > 'valadoc' is set instead.
> Please don't :)
> People do that, but there's no requirement (or suggestion) in the guidelines
> to do that, and it makes everything *much* harder to read. Using macros make
> sense for things which vary between builds or change over time. The name of
> the package is something that almost never changes.

That's fine. It was meant as a recommended personal preference only. It's up to the requester how to handle.

Comment 23 Gergely Polonkai 2016-04-05 08:59:52 UTC
Created attachment 1143720 [details]
.spec file for valadoc 0.30

Sorry for the long delay. Here is a new version with further modifications based on your comments.

I’m thinking about making two more separate packages, like valadoc-driver-0.26 (IIRC that version is still included in Fedora; I don’t have a Fedora box with me right now) and valadoc-driver-0.30; they can (and must) depend on specific vala versions, the other packages wouldn’t.

My Fedora account’s SSH key is at home, so I can hopefully upload the .spec and SRPM to fedorapeople later today (at or after 7pm CEST).

Comment 24 Zbigniew Jędrzejewski-Szmek 2016-04-05 17:43:53 UTC
Please upload the spec file and srpm somewhere (see comment #18).

Comment 25 Zbigniew Jędrzejewski-Szmek 2016-04-05 17:46:36 UTC
(In reply to Gergely Polonkai from comment #23)
> My Fedora account’s SSH key is at home, so I can hopefully upload the .spec
> and SRPM to fedorapeople later today (at or after 7pm CEST).
Oh, OK. I missed that comment.

Comment 26 Gergely Polonkai 2016-04-05 20:47:13 UTC
Turns out I have no personal space on FedoraPeople.org…

You can fetch the SRPM and the slightly modified .spec here:

http://snoopy.polonkai.eu/priv/valadoc-rpm/

Comment 27 Zbigniew Jędrzejewski-Szmek 2016-04-08 00:59:07 UTC
There is no need to use fp.o. Any place where you can put the files and they can be downloaded without human help is OK. But the convention is to paste the links, this allows fedora-review to work without the reviewer having to download stuff  by hand. Like this:

spec: http://snoopy.polonkai.eu/priv/valadoc-rpm/valadoc-0.30-1.fc23.src.rpm
srpm: http://snoopy.polonkai.eu/priv/valadoc-rpm/valadoc.spec

Your package must build in a pristine build environment, either mock or koji [https://fedoraproject.org/wiki/How_to_create_an_RPM_package#Mock_and_Koji]. Mock is for local builds, and koji is for builds on the Fedora infrastructure. The first is generally faster, but the second requires less resources.

Testing your srpm in mock reveals that you need:
BuildRequires: libgee-devel
BuildRequires: vala

After this is added, it fails with:
error: File not found: /builddir/build/BUILDROOT/valadoc-0.30-1.fc25.i386/usr/lib/valadoc/drivers/0.30.x/libdriver.so

Please investigate!

Comment 28 Gergely Polonkai 2016-04-13 21:40:17 UTC
Created attachment 1146971 [details]
.spec file for valadoc 0.30

I have fixed what you suggested, and also added vala-devel as a build dependency. This is required to generate 0.30.x/libdriver.so

This brings up the question in me (again): what to do with this? For every available Vala version (all even numbers from 0.20 to 0.30), if libvala-{version} present, the corresponding libdriver.so will be generated; so if a user has a (maybe manually) installed version of Vala-0.20, then a new file will be created during the build, which won’t be handled anywhere in the .spec, hence, RPM will fail. This, of course, won’t happen in Mock/Koji.

I have uploaded the new SPEC and SRPM to the old URLs.

Comment 29 Zbigniew Jędrzejewski-Szmek 2016-04-15 14:32:19 UTC
I added your account the right group, you should have access to fedorapeople.org in case you need it in the future [https://fedoraproject.org/wiki/Infrastructure/fedorapeople.org].

> so if a user has a (maybe manually) installed version of Vala-0.20, then a new file will be created during the build, 
You could just remove those files at the end of %install:
find %{buildroot}/%{_libdir}/valadoc/drivers/ -type f \! -path *%{version}* -delete

Some issues from before which still aren't fixed:
(In reply to Raphael Groner from comment #19)
> Again, some general advice:
> 
> . You must use '%license COPYING', remove '%doc COPYING' instead.
> https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text

> . There's no license for the sub packages (devel & data), make them
> 'Require: %{name}%{?_isa} = %{version}-%{release}'.
> https://fedoraproject.org/wiki/Packaging:
> LicensingGuidelines#Subpackage_Licensing 
 
> . I guess you want also add 'Require: %{name}-data%{?_isa} =
> %{version}-%{release}' into main package, or data could be merged completely
> into main, why another sub package? At least, add 'BuildArch: noarch' into
> data subpackage.
> https://fedoraproject.org/wiki/Packaging:
> Guidelines#Noarch_with_unported_dependencies
 
> . Remove 'Group: Development/Tools', it's deprecated.
> https://fedoraproject.org/wiki/
> How_to_create_an_RPM_package#SPEC_file_overview

> . You must provide a proper %changelog with at least some intial entry.
> https://fedoraproject.org/wiki/Packaging:Guidelines#Changelogs

Comment 30 Gergely Polonkai 2016-04-18 19:24:59 UTC
Thanks for the Fedora space, I have uploaded the new version there:

https://gergelypolonkai.fedorapeople.org/valadoc/valadoc.spec
https://gergelypolonkai.fedorapeople.org/valadoc/valadoc-0.30-1.fc23.src.rpm

Should I keep attaching to the .spec here?

I think I addressed all the comments except the ChangeLog thing. It builds in Mock, and will start a Koji build soon.

Comment 31 Gergely Polonkai 2016-04-18 19:34:59 UTC
Here is the link to my Koji job (i686 and x86_64 passed, arm is still running as of writing):

http://koji.fedoraproject.org/koji/taskinfo?taskID=13701740

Comment 32 Zbigniew Jędrzejewski-Szmek 2016-04-19 01:34:13 UTC
So... the changelog. Please note that it's not something to fix, just a comment for the future: The last entry is OK, the first entry is OK, the ones in between are pretty much useless :) Even during review, before the package is offically built, it's recommended to add changelog entries (like the last one) to make the life of the reviewer easier. But for this to be useful, those entries need to say what the changes actually were.

No sense in installing ChangeLog file, it's empty.

Here we go:
+ package name is OK
+ latest version
+ license is acceptable (GPLv2+)
+ license file is present, %license is used
+ builds and installs OK
+ provides/requires look sane
+ scriplets are OK

Package is APPROVED.

--

You also need to be sponsored into the packagers group. I can do that.
Please do two or three reviews of packages from http://fedoraproject.org/PackageReviewStatus/NEW.html, and paste the links here. It's best to start with the output of fedora-review and going over the checklist it produces, and also rpmlint (although it has many false positives, so don't take it too seriously).

Comment 33 Gergely Polonkai 2016-04-21 06:02:13 UTC
Updated files in place, rpmlint output for this new version is as follows:

$ rpmlint valadoc-0.30-1.fc23.src.rpm
valadoc.src: W: spelling-error Summary(en_US) Vala -> Val, Vela, Vila
1 packages and 0 specfiles checked; 0 errors, 1 warnings.

You can check the Git repo of the spec at

https://fedorapeople.org/cgit/gergelypolonkai/public_git/valadoc-spec.git/

Comment 34 Raphael Groner 2016-04-21 08:24:46 UTC
To get sponsored, please follow the needed steps.
https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group

Comment 35 Gergely Polonkai 2016-04-21 08:55:03 UTC
Thank you, I’m aware of that and already working on it!

Comment 36 Raphael Groner 2016-08-06 15:31:42 UTC
Any news here?

https://bugs.launchpad.net/diodon/+bug/933000

@Gergely You may want to open or clone a new bug to restart the review with you as the proper requester.

Comment 37 Gergely Polonkai 2016-08-15 07:41:58 UTC
@Raphael: that may be a good idea, thanks! Could someone close this if I do so?

Comment 38 Zbigniew Jędrzejewski-Szmek 2016-08-15 12:52:56 UTC
After you open the new bug report, you should be able to mark this bug as the duplicate of the new one (click "Mark as duplicate" below). If that doesn't work, just leave a comment here and somebody'll it.

Comment 39 Gergely Polonkai 2016-08-15 14:58:40 UTC

*** This bug has been marked as a duplicate of bug 1367115 ***


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