Bug 675388 - Review Request: xmlada - full XML stack for Ada
Summary: Review Request: xmlada - full XML stack for Ada
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dmitrij S. Kryzhevich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 675478
TreeView+ depends on / blocked
 
Reported: 2011-02-05 10:56 UTC by Pavel Zhukov
Modified: 2011-11-07 13:17 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-03-04 14:27:47 UTC
Type: ---
kryzhev: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Pavel Zhukov 2011-02-05 10:56:32 UTC
Spec URL: http://landgraf.fedorapeople.org/packages/requested/xmlada/xmlada.spec
SRPM URL: http://landgraf.fedorapeople.org/packages/requested/xmlada/xmlada-3.2.1-3.fc14.src.rpm

Description: 
XML/Ada includes support for parsing XML files, including DTDs,
full support for SAX, and an almost complete support for the core part of the DOM. It includes support for validating XML files with XML schemas

I've built it for my next package gprbuild and other packages from Ada stack (such as AWS).

koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=2763602 (for dist f13 and f14 is also OK).

Comment 1 Pavel Zhukov 2011-02-05 10:59:38 UTC
rpmlint output:
xmlada.src: W: spelling-error %description -l en_US schemas -> schema, sachems, schemes
xmlada.src: W: invalid-url Source0: http://libre.adacore.com/xmlada-gpl-3.2.1-src.tgz HTTP Error 404: Not Found
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
xmlada.x86_64: W: spelling-error %description -l en_US schemas -> schema, sachems, schemes
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
xmlada-devel.x86_64: W: spelling-error %description -l en_US xml -> XML, cml, ml
xmlada-devel.x86_64: W: spelling-error %description -l en_US ada -> Ada, ads, ad
xmlada-devel.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
1 packages and 0 specfiles checked; 0 errors, 0 warnings.




-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 3 Pavel Zhukov 2011-02-06 16:48:34 UTC

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 6 Dmitrij S. Kryzhevich 2011-02-18 08:55:59 UTC
Take this.

DESTDIR patch contain usless ${}
Liscence is GPLv2_+_
There is a python script without python dep.

Comment 7 Jason Tibbitts 2011-02-18 14:48:39 UTC
Please wait until the ada packaging guidelines have at least been discussed by the packaging committee before approving this.

Comment 8 Orion Poplawski 2011-02-18 15:19:52 UTC
Is that likely to happen anytime soon?  I don't even see a proposal?  I'd like to see something too for help with the plplot-ada sub-package.

Comment 9 Pavel Zhukov 2011-02-18 16:01:47 UTC
Orion, 
https://fedorahosted.org/fpc/ticket/56 
Packaging Ada draft was in agenda yesterday: http://lists.fedoraproject.org/pipermail/packaging/2011-February/007646.html



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 10 Pavel Zhukov 2011-02-18 16:02:28 UTC

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 11 Dmitrij S. Kryzhevich 2011-02-19 05:50:45 UTC
Jason, I will track the Ada draft.

Pavel, you add https://fedorahosted.org/cobbler/ticket/56 but not https://fedorahosted.org/fpc/ticket/56.

I don't know how to add correct ticket, but remove incorect one.

One more, Pavel, I will not be in touch from 28.02 till 22.03. I could drop assigment at 28.02 if you wish.

Comment 12 Björn Persson 2011-02-19 16:11:01 UTC
The URL given as Source0 gives me a 404. If you can't find a direct download URL, then put only the filename in SourceX and give download instructions in a comment.

http://fedoraproject.org/wiki/Packaging:SourceURL#Troublesome_URLs

Comment 14 Dmitrij S. Kryzhevich 2011-02-20 05:56:36 UTC
No changes.

+1 to comment #12.

Comment 16 Dmitrij S. Kryzhevich 2011-02-28 04:36:13 UTC
Ada guide is accepted. Continue.
Note: there is new spec update, not announced by Pavel, new srpm at http://landgraf.fedorapeople.org/packages/requested/xmlada/xmlada-3.2.1-8.fc14.src.rpm

==== Review ====

+ rpmlint must be run on the source rpm and all binary rpms the build produces. 
+ The package must be named according to the  Package Naming Guidelines.
+ The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
+ The package must meet the  Packaging Guidelines. 
==== + With new Ada guide too.
+ The package must be licensed with a Fedora approved license and meet the  Licensing Guidelines. GPLv2+
+ The License field in the package spec file must match the actual license.
+ 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 must be included in %doc.
+ The spec file must be written in American English.
+ The spec file for the package MUST be legible.
+ The sources used to build the package must match the upstream source, as provided in the spec URL. 
+ The package MUST successfully compile and build into binary rpms on at least one primary architecture.
+ All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines.
* Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
Package contain symlinks in %{_libdir}.
+ Packages must NOT bundle copies of system libraries.
+ A package must own all directories that it creates. 
+ A Fedora package must not list a file more than once in the spec file's %files listings.
+ Permissions on files must be set properly.
+ Each package must consistently use macros.
+ The package must contain code, or permissable content.
+ If a package includes something as %doc, it must not affect the runtime of the application.
+ Header files must be in a -devel package.
+ 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.
+ In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name}%{?_isa} = %{version}-%{release}
+ Packages must NOT contain any .la libtool archives.
+ Packages must not own files or directories already owned by other packages.
+ All filenames in rpm packages must be valid UTF-8.

======
Approved.


NB!
I will not be in touch for 3 weeks (untill 22 of March). If some questions arised, someone is wellcomed to drop my assigment and rerunning of review.

Comment 17 Björn Persson 2011-03-01 00:59:03 UTC
(In reply to comment #16)
I'm afraid Dmitrij was a little too eager to finish this review.

> + The package must meet the  Packaging Guidelines. 
> ==== + With new Ada guide too.

It doesn't meet the recently approved Ada guidelines:
· "BuildRequires: gcc-gnat" is missing.
· The project files contain a hard-coded directory name: "../../include/xmlada".
· "Requires: fedora-gnat-project-common >= 2" is missing from the -devel package.
· The project files aren't placed in %{_GNAT_project_dir}.

> * Every binary RPM package (or subpackage) which stores shared library files
> (not just symlinks) in any of the dynamic linker's default paths, must call
> ldconfig in %post and %postun.
> Package contain symlinks in %{_libdir}.

So it doesn't technically put the libraries in %{_libdir}, but don't they still need to get into the linker's cache somehow? How will that happen if ldconfig isn't run?

> + A package must own all directories that it creates. 

It doesn't own the directory %{_libdir}/xmlada/relocatable.

> + In the vast majority of cases, devel packages must require the base package
> using a fully versioned dependency: Requires: %{name}%{?_isa} =
> %{version}-%{release}

"%{?_isa}" is missing.


Some other things I have noticed:
· What is the empty directory %{_libdir}/xmlada/static needed for?
· The group of the -devel subpackage should be "Development/Libraries".
· The documentation should be in the -devel subpackage, except for COPYING.

Comment 18 Pavel Zhukov 2011-03-01 09:54:27 UTC
(In reply to comment #17)
> (In reply to comment #16)> 
> It doesn't meet the recently approved Ada guidelines:
> · "BuildRequires: gcc-gnat" is missing.
fixed

> · The project files contain a hard-coded directory name:
> "../../include/xmlada".
fixed 

> · "Requires: fedora-gnat-project-common >= 2" is missing from the -devel
> package.
Why -devel should depend on fedora-gnat-project-common? 

> · The project files aren't placed in %{_GNAT_project_dir}.
fixed

> It doesn't own the directory %{_libdir}/xmlada/relocatable.
fixed
 
> "%{?_isa}" is missing.
fixed 

> Some other things I have noticed:
> · What is the empty directory %{_libdir}/xmlada/static needed for?
It's needed for some other packages (gprbuild and aws for example)
> · The group of the -devel subpackage should be "Development/Libraries".
fixed
> · The documentation should be in the -devel subpackage, except for COPYING.
Why? I cannot find guidelines about it. Why README (for example) should be in -devel?

Comment 20 Björn Persson 2011-03-01 20:29:30 UTC
(In reply to comment #18)
> (In reply to comment #17)
> > · "Requires: fedora-gnat-project-common >= 2" is missing from the -devel
> > package.
> Why -devel should depend on fedora-gnat-project-common? 

Because the -devel package contains project files which depend on directories.gpr, which is in fedora-gnat-project-common, and we don't currently have a mechanism to auto-detect this dependency. It must be >= 2 because older versions of fedora-gnat-project-common don't contain directories.gpr.

> > Some other things I have noticed:
> > · What is the empty directory %{_libdir}/xmlada/static needed for?
> It's needed for some other packages (gprbuild and aws for example)

It sounds odd, but I suppose it's OK. It doesn't break any guideline that I can see.

> > · The group of the -devel subpackage should be "Development/Libraries".
> fixed

No, I still see "System Environment/Libraries".

> > · The documentation should be in the -devel subpackage, except for COPYING.
> Why? I cannot find guidelines about it. Why README (for example) should be in
> -devel?

Because the information in README is relevant only to developers who write programs that use the library. Users who merely run programs linked to XMLada won't be interested.

http://fedoraproject.org/wiki/Packaging:Guidelines#Documentation
"for example API documentation belongs in the -devel subpackage"

Comment 21 Pavel Zhukov 2011-03-01 20:50:50 UTC
> Because the -devel package contains project files which depend on
> directories.gpr, which is in fedora-gnat-project-common, and we don't currently
> have a mechanism to auto-detect this dependency. It must be >= 2 because older
> versions of fedora-gnat-project-common don't contain directories.gpr.

I think the better way is to add fedora-gnat-common-project to gcc-gnat Requires than adding one to all -devel packages. I'll create ticket for this.
 
> No, I still see "System Environment/Libraries".
I'm sorry, fixed ... again

> Because the information in README is relevant only to developers who write
> programs that use the library. Users who merely run programs linked to XMLada
> won't be interested.
There are LICENSING, BUG REPORTS, USING THE LIBRARY sections in README not only development information




-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 22 Pavel Zhukov 2011-03-03 15:50:43 UTC
New Package CVS Request
=======================
Package Name: xmlada
Short Description: Full XML stack for Ada 
Owners: landgraf
Branches: 
InitialCC:

Comment 23 Orion Poplawski 2011-03-03 16:05:41 UTC
You don't want *any* branches?  I would think at least f15, if not f14 and f13 as well.

Comment 24 Pavel Zhukov 2011-03-03 17:37:18 UTC
New Package CVS Request
=======================
Package Name: xmlada
Short Description: Full XML stack for Ada 
Owners: landgraf
Branches: F-15
InitialCC:



-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 25 Jason Tibbitts 2011-03-04 13:12:33 UTC
Git done (by process-git-requests).

Comment 26 Pavel Zhukov 2011-03-04 14:27:47 UTC
Thank everyone for review

Comment 27 Dmitrij S. Kryzhevich 2011-03-23 09:51:21 UTC
Sorry for that. Will drop if hurry next time.

Comment 28 Pavel Zhukov 2011-11-07 12:37:37 UTC
Package Change Request
======================
Package Name: xmlada
New Branches:  el6
Owners: landgraf

Comment 29 Gwyn Ciesla 2011-11-07 13:17:51 UTC
Git done (by process-git-requests).


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