Bug 521724 - Review Request: perl-Makefile-DOM - Simple DOM parser for Makefiles
Summary: Review Request: perl-Makefile-DOM - Simple DOM parser for Makefiles
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Ian Weller
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 521723 528347
TreeView+ depends on / blocked
 
Reported: 2009-09-07 23:34 UTC by Ryan Lerch
Modified: 2010-07-26 22:28 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-11-04 00:32:56 UTC
Type: ---
Embargoed:
ian: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Ryan Lerch 2009-09-07 23:34:17 UTC
Spec URL: http://ryanlerch.fedorapeople.org/perl-Makefile-DOM/perl-Makefile-DOM.spec

SRPM URL: http://ryanlerch.fedorapeople.org/perl-Makefile-DOM/perl-Makefile-DOM-0.004-1.fc11.src.rpm

Description: This libary can serve as an advanced lexer for (GNU) makefiles. It parses makefiles as "documents" and the parsing is lossless. The results are data structures similar to DOM trees. The DOM trees hold every single bit of the information in the original input files, including white spaces, blank lines and makefile comments. That means it's possible to reproduce the original makefiles from the DOM trees. In addition, each node of the DOM trees is modifiable and so is the whole tree, just like the PPI module used for Perl source parsing and the HTML::TreeBuilder module used for parsing HTML source. This is my first package - will somebody sponsor me please?

Comment 1 Nick Bebout 2009-10-22 22:56:20 UTC
I am doing an informal review, as I am not a sponsor for the packager group.

OK: rpmlint must be run on every package. The output should be posted in the
review.

[nb@epsilon SPECS]$ rpmlint perl-Makefile-DOM.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
[nb@epsilon SRPMS]$ rpmlint perl-Makefile-DOM-0.004-1.fc12.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[nb@epsilon noarch]$ rpmlint perl-Makefile-DOM-0.004-1.fc12.noarch.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

OK: The package must be named according to the Package Naming Guidelines .
OK: The spec file name must match the base package %{name}, in the format
%{name}.spec unless your package has an exemption.
OK: The package must meet the Packaging Guidelines .
OK: The package must be licensed with a Fedora approved license and meet the
Licensing Guidelines .
both CC-BY-SA and BSD licenses are ok - there are also some PHP-licensed
libraries and LGPL libraries. 
OK: The License field in the package spec file must match the actual license. 
License tag is incorrect, see below
OK: 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.
OK: The spec file must be written in American English.
OK: The spec file for the package MUST be legible. 
OK: The sources used to build the package must match the upstream source, as
provided in the spec URL. Reviewers should use md5sum for this task. 
Make your conf file another source rather than combining it to the existing
tarball. 
OK: The package MUST successfully compile and build into binary rpms on at
least one primary architecture. 
OK: If the package does not successfully compile, build or work on any arch bug
must be filed and/or exclude arch used. 
OK: All build dependencies must be listed in BuildRequires, except for any that
are listed in the exceptions section of the Packaging Guidelines ; inclusion of
those as BuildRequires is optional. Apply common sense.
OK: The spec file MUST handle locales properly. This is done by using the
%find_lang macro. Using %{_datadir}/locale/ is strictly forbidden.
N/A: 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. 
OK: Packages must NOT bundle copies of system libraries.
OK: If the package is designed to be relocatable, the packager must state
this fact in the request for review, along with the rationalization for
relocation of that specific package. Without this, use of Prefix: /usr is
considered a blocker. 
OK: A package must own all directories that it creates. If it does not create a
directory that it uses, then it should require a package which does create that
directory. 
OK: A Fedora package must not list a file more than once in the spec file's
%files listings.
OK: Permissions on files must be set properly. Executables should be set with
executable permissions, for example. Every %files section must include a
%defattr(...) line.
OK: Each package must have a %clean section, which contains rm -rf %{buildroot}
(or $RPM_BUILD_ROOT).
OK: Each package must consistently use macros. 
OK: The package must contain code, or permissable content.
NA: Large documentation files must go in a -doc subpackage. (The definition of
large is left up to the packager's best judgement, but is not restricted to
size. Large can refer to either size or quantity). 
OK: If a package includes something as %doc, it must not affect the runtime of
the application. To summarize: If it is in %doc, the program must run properly
if it is not present.
NA: Header files must be in a -devel package.
NA: Static libraries must be in a -static package. 
NA: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for
directory ownership and usability). 
NA: 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.
NA: In the vast majority of cases, devel packages must require the base package
using a fully versioned dependency: Requires: %{name} = %{version}-%{release}
NA: Packages must NOT contain any .la libtool archives, these must be removed
in the spec if they are built.
NA: Packages containing GUI applications must include a %{name}.desktop file
OK: Packages must not own files or directories already owned by other packages 
OK: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
OK: All filenames in rpm packages must be valid UTF-8.  

If I were a sponsor for the packager group, this package would be APPROVED.

Comment 2 Ian Weller 2009-10-22 23:10:40 UTC
I'll go ahead and take a sponsorship role of Ryan. A full review of my own will come in a little bit.

Ryan, you'll either need to create another package (preferably non-Perl) or do some informal reviews of other packages to have me approve you as a packager. (:

Comment 3 Jeroen van Meeuwen 2009-10-26 23:23:01 UTC
This is a requirement for a working version of Publican to land in Fedora, could we *please* cut this some slack, I'll enlist as a co-maintainer right-away.

Comment 4 Ryan Lerch 2009-10-26 23:30:42 UTC
(In reply to comment #3)
> This is a requirement for a working version of Publican to land in Fedora,
> could we *please* cut this some slack, I'll enlist as a co-maintainer
> right-away.  

FWIW, i have also filed this request (nothing to do with publican, but another package like ianweller requested...)

https://bugzilla.redhat.com/show_bug.cgi?id=530910

cheers,
ryanlerch

Comment 5 Ian Weller 2009-10-27 02:11:25 UTC
Ryan,

Please make sure your BuildRequires include all the ones listed here:
  https://fedoraproject.org/wiki/Packaging:Perl#Core_modules_as_buildrequires

Also please add Provides: perl(Makefile::DOM)

Comment 6 Ryan Lerch 2009-10-27 03:09:17 UTC
(In reply to comment #5)
> Ryan,
> 
> Please make sure your BuildRequires include all the ones listed here:
>   https://fedoraproject.org/wiki/Packaging:Perl#Core_modules_as_buildrequires

Done.

> 
> Also please add Provides: perl(Makefile::DOM)  

Also done.

I have uploaded the updated files on my fedorapeople:

http://ryanlerch.fedorapeople.org/perl-Makefile-DOM-0.004-2.fc11.src.rpm
http://ryanlerch.fedorapeople.org/perl-Makefile-DOM.spec

also completed a scratch build in koji:
http://ryanlerch.fedorapeople.org/perl-Makefile-DOM.spec

rpmlint output:
"""
% rpmlint perl-Makefile-DOM.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

% rpmlint perl-Makefile-DOM-0.004-2.fc11.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
"""

anything more i need to do or check on this one?

Comment 7 Ryan Lerch 2009-10-27 03:10:19 UTC
whoops, the koji link is obviously wrong. here is the correct one:

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

Comment 8 Ian Weller 2009-10-27 03:19:47 UTC
You forgot to add a %changelog entry. Please fix...

Comment 10 Ian Weller 2009-10-27 03:50:47 UTC
[  OK  ] source files match upstream:
  2860a83edc7396077716c63f30c12446  Makefile-DOM-0.004.tar.gz
  2860a83edc7396077716c63f30c12446  Makefile-DOM-0.004.tar.gz.1
[  OK  ] package meets naming and versioning guidelines.
[  OK  ] spec is properly named, cleanly written, and uses macros consistently.
[  OK  ] dist tag is present.
[  OK  ] build root is correct.
[  OK  ] license field matches the actual license.
[  OK  ] license is open source-compatible.
[  N/A ] license text included in package.
  (not necessary since it's the Perl terms, which are in the perl package)
[  OK  ] latest version is being packaged.
[  OK  ] BuildRequires are proper.
[  OK  ] compiler flags are appropriate.
[  OK  ] %clean is present. 
[  OK  ] package builds in mock.
[  OK  ] package installs properly.
[  N/A ] debuginfo package looks complete.
[  OK  ] rpmlint is silent.
[  OK  ] final provides and requires are sane
[  N/A ] %check is present and all tests pass:
[  OK  ] no shared libraries are added to the regular linker search paths.
[  OK  ] owns the directories it creates. 
[  OK  ] doesn't own any directories it shouldn't.
[  OK  ] no duplicates in %files.
[  OK  ] file permissions are appropriate.
[  N/A ] scriptlets match those on ScriptletSnippets page.
[  OK  ] documentation is small, so no -docs subpackage is necessary.
[  OK  ] %docs are not necessary for the proper functioning of the package.
[  OK  ] no headers.
[  OK  ] no pkgconfig files.
[  OK  ] no libtool .la droppings.
[  N/A ] desktop files valid and installed properly.

this package is APPROVED by me

since kanarip has offered to be a comaintainer and this package is fairly important I'm going to go ahead and sponsor you. we'll work on the other package (hyena) this week. be sure to include kanarip in your owners list when you do the CVS admin procedure.

Comment 11 Jeroen van Meeuwen 2009-10-27 10:18:17 UTC
Thanks for the speedy review and sponsoring Ian!

Ryan, thanks for taking on the package; my FAS account name is kanarip.

Comment 12 Ryan Lerch 2009-10-27 22:37:07 UTC
New Package CVS Request
=======================
Package Name: perl-Makefile-DOM
Short Description:Simple DOM parser for Makefiles
Owners: rlerch kanarip
Branches: F-10 F-11 F-12
InitialCC:  perl-sig

Comment 13 Ryan Lerch 2009-10-27 22:38:41 UTC
Sorry, i entered the wrong username for myself here is the corrected version:


New Package CVS Request
=======================
Package Name: perl-Makefile-DOM
Short Description:Simple DOM parser for Makefiles
Owners: ryanlerch kanarip
Branches: F-10 F-11 F-12
InitialCC:  perl-sig

Comment 14 Kevin Fenzi 2009-10-29 00:05:52 UTC
cvs done.

Comment 15 Ryan Lerch 2010-07-26 00:34:18 UTC
Package Change Request
=======================
Package Name: perl-Makefile-DOM
New Branches: EL-5
Owners: ryanlerch kanarip nb rlandmann
InitialCC: perl-sig

Comment 16 Kevin Fenzi 2010-07-26 22:28:18 UTC
CVS done (by process-cvs-requests.py).


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