Bug 1367569 - Review Request: perl-PFT - Hacker friendly static blog generator, core library
Summary: Review Request: perl-PFT - Hacker friendly static blog generator, core library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Parag AN(पराग)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-16 19:48 UTC by Giovanni
Modified: 2017-01-10 13:20 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-01-10 13:20:58 UTC
panemade: fedora-review+


Attachments (Terms of Use)

Description Giovanni 2016-08-16 19:48:13 UTC
Spec URL: http://copr-dist-git.fedorainfracloud.org/cgit/dacav/pft/perl-PFT.git/plain/perl-PFT.spec


SRPM URL: https://copr-be.cloud.fedoraproject.org/results/dacav/pft/fedora-rawhide-x86_64/00441360-perl-PFT/perl-PFT-1.0.3-2.fc26.src.rpm


Description:
PFT stands for *Plain F. Text*, where the meaning of *F.* is up to
personal interpretation. Like *Fancy* or *Fantastic*.

It is yet another static website generator. This means your content is
compiled once and the result can be served by a simple HTTP server,
without need of server-side dynamic content generation.

This package provides the core library which abstracts away the file-system
access.


Fedora Account System Username: dacav@openmailbox.org


I'm the upstream maintainer of this software, and this is the first package software I submit, so I would need a sponsor.

The package builds fine on Koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=15277986

Comment 1 Parag AN(पराग) 2016-08-18 07:12:55 UTC
I will sponsor you but you need to follow following things please.

We have this process  http://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group to get sponsored into the packager group. Can you either submit few more packages and/or some full detailed package reviews? This is needed to make sure package submitter understands the rpm packaging well and follows the fedora packaging guidelines.

Please go through the following links
1) http://fedoraproject.org/wiki/Package_Review_Process

2) https://fedoraproject.org/wiki/PackagingGuidelines

3) To find the packages already submitted for review, check http://fedoraproject.org/PackageReviewStatus/

4) http://fedoraproject.org/wiki/Packaging:ReviewGuidelines and http://fedoraproject.org/wiki/Package_Review_Process#Reviewer is useful while doing package reviews.

5) https://fedorahosted.org/FedoraReview/ this is fedora-review tool to help review packages in fedora. You need to use this and do un-official package reviews of packages submitted by other contributors. While doing so mention "This is un-official review of the package." at top of your review comment.

Good to review packages listed in http://fedoraproject.org/PackageReviewStatus/NEW.html

When you do full package review of some packages, provide that review comment link here so that I can look how you have reviewed those packages.

If you got any questions please ask :)

Comment 2 Giovanni 2016-08-18 19:39:53 UTC
Hello Parag,

I'm planning to have some reviews in the next days, when I'll have some time.

You mentioned that I can also submit more packages. Actually the perl-PFT package I've submitted is the base library for an application package named perl-App-PFT, which I was planning to submit as second package.

If you think this is a good idea, I can also submit the second one. If so, should I set you as assignee for it?

Comment 3 Parag AN(पराग) 2016-08-21 03:00:22 UTC
Yes please submit another package and assign to me.

Comment 4 Giovanni 2016-08-21 12:21:45 UTC
(In reply to Parag AN(पराग) from comment #3)
> Yes please submit another package and assign to me.

Done. Thank you very much for your help!

Comment 5 Giovanni 2016-08-23 20:15:11 UTC
Some updates obtained by applying compatible comments from Bug 1368790.
New version of the spec and of its src.rpm.

- SPEC: http://copr-dist-git.fedorainfracloud.org/cgit/dacav/pft/perl-PFT.git/plain/perl-PFT.spec

- SRPM: https://copr-be.cloud.fedoraproject.org/results/dacav/pft/fedora-rawhide-x86_64/00443648-perl-PFT/perl-PFT-1.0.3-3.fc26.src.rpm

Comment 6 Giovanni 2016-08-23 20:30:06 UTC
Adding up Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=15353711

Comment 7 Parag AN(पराग) 2016-08-24 13:09:25 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed

Suggestions:

1) The changelog style in general includes < > characters for email address. Include those in all changelog entries.

2) Here what I found is that the README.md contains information for APP::PFT. Can you fix this in upstream? This should only contain information related to PFT module. It confused me as if PFT and APP::PFT source code's README.md is almost same.

3) I missed one part in other review that perl packages need to follow https://fedoraproject.org/wiki/Packaging:Perl#Build_Dependencies

This says add all the BuildRequires: for your package needed at build time only. I got help from Perl package maintainers on IRC and I was told that to find BuildRequires: list for any module, we can use tangerine package/command. e.g. 
tangerine -c Makefile.PL lib/ t

Fix suggestions at least 1 and 3 and provide new updated SPEC and SRPM.


===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "GPL (v3 or later)", "Unknown or generated". 31 files have
     unknown license. Detailed output of licensecheck in
     /home/parag/1367569-perl-PFT/licensecheck.txt
[x]: Package contains no bundled libraries without FPC exception.
[?]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 1 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.
[x]: 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 is included in %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[x]: Package contains the mandatory BuildRequires and Requires:.

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: No rpmlint messages.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: perl-PFT-1.0.3-3.fc26.noarch.rpm
          perl-PFT-1.0.3-3.fc26.src.rpm
2 packages and 0 specfiles checked; 0 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
1 packages and 0 specfiles checked; 0 errors, 0 warnings.



Requires
--------
perl-PFT (rpmlib, GLIBC filtered):
    perl(:MODULE_COMPAT_5.24.0)
    perl(:VERSION)
    perl(Carp)
    perl(Cwd)
    perl(Encode)
    perl(Encode::Locale)
    perl(Exporter)
    perl(File::Basename)
    perl(File::Path)
    perl(File::Spec)
    perl(File::Spec::Functions)
    perl(IO::File)
    perl(PFT::Conf)
    perl(PFT::Content)
    perl(PFT::Content::Attachment)
    perl(PFT::Content::Base)
    perl(PFT::Content::Blob)
    perl(PFT::Content::Blog)
    perl(PFT::Content::Entry)
    perl(PFT::Content::File)
    perl(PFT::Content::Month)
    perl(PFT::Content::Page)
    perl(PFT::Content::Picture)
    perl(PFT::Content::Tag)
    perl(PFT::Date)
    perl(PFT::Header)
    perl(PFT::Map)
    perl(PFT::Map::Index)
    perl(PFT::Map::Node)
    perl(PFT::Text)
    perl(PFT::Text::Symbol)
    perl(PFT::Util)
    perl(Scalar::Util)
    perl(Text::Markdown)
    perl(YAML::Tiny)
    perl(constant)
    perl(overload)
    perl(parent)
    perl(strict)
    perl(utf8)
    perl(warnings)



Provides
--------
perl-PFT:
    perl(PFT)
    perl(PFT::Conf)
    perl(PFT::Content)
    perl(PFT::Content::Attachment)
    perl(PFT::Content::Base)
    perl(PFT::Content::Blob)
    perl(PFT::Content::Blog)
    perl(PFT::Content::Entry)
    perl(PFT::Content::File)
    perl(PFT::Content::Month)
    perl(PFT::Content::Page)
    perl(PFT::Content::Picture)
    perl(PFT::Content::Tag)
    perl(PFT::Date)
    perl(PFT::Header)
    perl(PFT::Map)
    perl(PFT::Map::Index)
    perl(PFT::Map::Node)
    perl(PFT::Text)
    perl(PFT::Text::Symbol)
    perl(PFT::Tree)
    perl(PFT::Util)
    perl-PFT



Source checksums
----------------
https://github.com/dacav/PFT/archive/v1.0.3.tar.gz#/PFT-1.0.3.tar.gz :
  CHECKSUM(SHA256) this package     : 16d51faa818ccaee071abe0cdac2f4f3ebf7662b2357dd2f6fdf7c0dade7575a
  CHECKSUM(SHA256) upstream package : 16d51faa818ccaee071abe0cdac2f4f3ebf7662b2357dd2f6fdf7c0dade7575a


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1367569 -m fedora-rawhide-x86_64

Comment 8 Parag AN(पराग) 2016-08-24 13:40:18 UTC
Also, start reviewing other people's packages as part of your package's sponsorship process.

Comment 9 Giovanni 2016-08-26 20:00:50 UTC
Hello Parag

In reply to Comment 7:

1) Done. I found a bit weird the fact that rpmdev-bumpspec is not using the angular bracket. However I've fixed it manually.

2) I've fixed the README files upstream, however the SPEC file is pointing with Source0 to the archive of version 1.0.3. In order to enable the new README I should bump the version of the whole package and probably re-publish on CPAN too. The same applies to APP::PFT 1.0.5.

3) Thanks for the suggestion. I've used tangerine as suggested, and you will find the updated SPEC (links follow). Just out of curiosity I've checked with mock if the RPM was constructed with the original set of `BuildRequires:`, and it turned out to be feasible nevertheless (the missing `BuildRequires:` were not installed as transitive dependencies!). I think however it's good to be conservative and to rely on the tangerine tool.

Finally, I'm currently involved in the review of someone else's package: https://bugzilla.redhat.com/show_bug.cgi?id=1307271

SPEC: http://copr-dist-git.fedorainfracloud.org/cgit/dacav/pft/perl-PFT.git/plain/perl-PFT.spec
SRPM: https://copr-be.cloud.fedoraproject.org/results/dacav/pft/fedora-rawhide-x86_64/00446658-perl-PFT/perl-PFT-1.0.3-4.fc26.src.rpm

Comment 10 Parag AN(पराग) 2016-08-27 13:34:01 UTC
In the last FESCo meeting, its decided that there is no real requirement of new contributors to do any package reviews, hence I have sponsored you into packager group.

I will post the review for above update in next comment.

Comment 11 Parag AN(पराग) 2016-08-29 06:40:05 UTC
(In reply to Giovanni from comment #9)
> Hello Parag
> 
> In reply to Comment 7:
> 
> 1) Done. I found a bit weird the fact that rpmdev-bumpspec is not using the
> angular bracket. However I've fixed it manually.

When I tried this
rpmdev-bumpspec per-PFT.spec

I can see the angular bracket in the newly added changelog entry. Not sure what is missing at your system.

> 
> 2) I've fixed the README files upstream, however the SPEC file is pointing
> with Source0 to the archive of version 1.0.3. In order to enable the new
> README I should bump the version of the whole package and probably
> re-publish on CPAN too. The same applies to APP::PFT 1.0.5.

I will not block this review for this README update issue but good if you can do next release soon and update this package in Fedora.

> 
> 3) Thanks for the suggestion. I've used tangerine as suggested, and you will
> find the updated SPEC (links follow). Just out of curiosity I've checked
> with mock if the RPM was constructed with the original set of
> `BuildRequires:`, and it turned out to be feasible nevertheless (the missing
> `BuildRequires:` were not installed as transitive dependencies!). I think
> however it's good to be conservative and to rely on the tangerine tool.

I see that some BuildRequires you added are installed by just "perl" package and some are by their own packages. Feel free to contact perl developers in #fedora-perl IRC channel for more information on tagerine tool.

> 
> Finally, I'm currently involved in the review of someone else's package:
> https://bugzilla.redhat.com/show_bug.cgi?id=1307271


Thank you for doing some package review.

> 
> SPEC:
> http://copr-dist-git.fedorainfracloud.org/cgit/dacav/pft/perl-PFT.git/plain/
> perl-PFT.spec
> SRPM:
> https://copr-be.cloud.fedoraproject.org/results/dacav/pft/fedora-rawhide-
> x86_64/00446658-perl-PFT/perl-PFT-1.0.3-4.fc26.src.rpm

This looks good.

APPROVED this package.

Please follow 
https://fedoraproject.org/wiki/Package_Review_Process#Contributor page step 8 
OR
https://fedoraproject.org/wiki/New_package_process_for_existing_contributors page step 8

Comment 12 Giovanni 2016-09-03 13:39:10 UTC
Hi there.

I did a version bump of this package, which has basically the only purpose of having the README files in sync between upstream and the new spec.

There is no other change except for the version.   

https://github.com/dacav/PFT/commit/bd7d499009fbf5e1dfba479e229db00b6babbeb6

Updated SRPM: https://copr-be.cloud.fedoraproject.org/results/dacav/pft/fedora-rawhide-x86_64/00449153-perl-PFT/perl-PFT-1.0.4-1.fc26.src.rpm
Updated SPEC: http://copr-dist-git.fedorainfracloud.org/cgit/dacav/pft/perl-PFT.git/plain/perl-PFT.spec

Comment 13 Gwyn Ciesla 2016-09-04 17:44:51 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/perl-PFT

Comment 14 Parag AN(पराग) 2016-12-15 06:16:51 UTC
I am closing this as I see package review finished and SCM request also completed.

Comment 15 Giovanni 2016-12-15 09:20:58 UTC
Thanks :)

Comment 16 Fedora Update System 2016-12-30 22:30:08 UTC
perl-PFT-1.1.0-1.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2016-173acf8830

Comment 17 Fedora Update System 2016-12-31 09:28:23 UTC
perl-PFT-1.1.0-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-173acf8830

Comment 18 Fedora Update System 2017-01-10 13:20:58 UTC
perl-PFT-1.1.0-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.


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