Bug 838675 - Review Request: python-beautifulsoup4 - HTML/XML parser for quick-turnaround applications like screen-scraping
Summary: Review Request: python-beautifulsoup4 - HTML/XML parser for quick-turnaround ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Simone Caronni
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 836032 837744
TreeView+ depends on / blocked
 
Reported: 2012-07-09 18:44 UTC by Terje Røsten
Modified: 2012-12-05 15:36 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-08-01 18:19:50 UTC
Type: ---
Embargoed:
negativo17: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Terje Røsten 2012-07-09 18:44:52 UTC
spec: http://terjeros.fedorapeople.org/bs4/python-beautifulsoup4.spec
srpm: http://terjeros.fedorapeople.org/bs4/python-beautifulsoup4-4.1.1-1.fc16.src.rpm

Description:
Beautiful Soup is a Python HTML/XML parser designed for quick
turnaround projects like screen-scraping. Three features make it
powerful:

Beautiful Soup won't choke if you give it bad markup.

Beautiful Soup provides a few simple methods and Pythonic idioms for
navigating, searching, and modifying a parse tree.

Beautiful Soup automatically converts incoming documents to Unicode
and outgoing documents to UTF-8.

Beautiful Soup parses anything you give it.

Valuable data that was once locked up in poorly-designed websites is
now within your reach. Projects that would have taken hours take only
minutes with Beautiful Soup.

Fedora Account System Username: terjeros

Note: this will obsolete the slightly misplaced bs4 in python-BeautifulSoup (version 3).

When this new package is accepted bs4 in python-BeautifulSoup (version 3) will be removed.

Comment 1 Nicolas Chauvet (kwizart) 2012-07-09 18:51:35 UTC
No, this must be python3-beautifulsoup as the relevant ABI in the python3 one here.

Comment 2 Terje Røsten 2012-07-09 18:54:05 UTC
Sorry, I don't understand, the package provide bs4 for python and python3. 

bs3 is left untounced as python2 only package.

Comment 3 Terje Røsten 2012-07-09 18:55:00 UTC
That was of course: the package provide bs4 for python2 and python3.

Comment 4 Nicolas Chauvet (kwizart) 2012-07-09 19:03:58 UTC
OK I miss that you want to build both flavor
Now it's remain questionable to still have python-BS-3.2x as compatibility package.

Here are the package that depends on it:
OpenLP-0:1.9.9-1.fc17.noarch
OpenLP-0:1.9.10-2.fc17.noarch
anki-0:1.2.9-4.fc17.noarch
calibre-0:0.8.42-1.fc17.x86_64
calibre-0:0.8.50-1.fc17.x86_64
mediascrapper-0:0.1-9.fc17.noarch
moksha-0:0.5.0-5.fc15.noarch
moksha-0:0.8.6-1.fc17.noarch
python-imdb-0:4.7-2.fc17.x86_64
python-tw2-jit-0:2.0.3-4.fc17.noarch
python-xgoogle-0:1.4-4.fc17.noarch
scap-workbench-0:0.6.3-1.fc17.noarch
sugar-read-0:99-1.fc17.noarch
wordgroupz-0:0.3.1-5.fc17.noarch

If the python2 version can run with python-BS-4x there is no reason to keep this compatibility package.

Comment 5 Terje Røsten 2012-07-09 19:13:34 UTC
There are some info here:

 http://www.crummy.com/software/BeautifulSoup/bs4/doc/#porting-code-to-bs4

Don't seems like a drop in replacement to me.

Debian also have two packages:
 http://packages.debian.org/wheezy/python-beautifulsoup
 http://packages.debian.org/wheezy/python-bs4

Comment 6 Simone Caronni 2012-07-10 06:47:23 UTC
I will review this package

Comment 7 Simone Caronni 2012-07-10 07:01:39 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated

==== Generic ====
[!]: MUST Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: MUST Package successfully compiles and builds into binary rpms on at
     least one supported primary architecture.
[-]: MUST %build honors applicable compiler flags or justifies otherwise.
[x]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[!]: MUST Buildroot is not present
     Note: Buildroot is not needed unless packager plans to package for EPEL5
[x]: MUST Package contains no bundled libraries.
[x]: MUST Changelog in prescribed format.
[!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean is needed only if supporting EPEL
[x]: MUST Sources contain only permissible code or content.
[!]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: defattr(....) present in %files section. This is OK if packaging
     for EPEL5. Otherwise not needed
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[x]: MUST Package is not known to require ExcludeArch.
[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[x]: MUST Fully versioned dependency in subpackages, if present.
[x]: MUST Spec file lacks Packager, Vendor, PreReq tags.
[!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf is only needed if supporting EPEL5
[-]: MUST Large documentation files are in a -doc subpackage, if required.
[x]: MUST 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 %doc.
[x]: MUST License field in the package spec file matches the actual license.
[x]: MUST License file installed when any subpackage combination is installed.
[x]: MUST Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST Package does not generate any conflict.
[x]: MUST Package obeys FHS, except libexecdir and /usr/target.
[x]: MUST Package must own all directories that it creates.
[x]: MUST Package does not own files or directories owned by other packages.
[x]: MUST Package installs properly.
[x]: MUST Requires correct, justified where necessary.
[!]: MUST Rpmlint output is silent.

rpmlint python-beautifulsoup4-4.1.1-1.fc17.noarch.rpm

python-beautifulsoup4.noarch: E: explicit-lib-dependency python-html5lib
python-beautifulsoup4.noarch: E: explicit-lib-dependency python3-html5lib
1 packages and 0 specfiles checked; 2 errors, 0 warnings.


rpmlint python-beautifulsoup4-4.1.1-1.fc17.src.rpm

1 packages and 0 specfiles checked; 0 errors, 0 warnings.


rpmlint python3-beautifulsoup4-4.1.1-1.fc17.noarch.rpm

python3-beautifulsoup4.noarch: W: obsolete-not-provided python3-BeautifulSoup
1 packages and 0 specfiles checked; 0 errors, 1 warnings.


[x]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
/home/slaanesh/Documents/fedora/838675/beautifulsoup4-4.1.1.tar.gz :
  MD5SUM this package     : fccee58b4d914fb489385d672fe89f43
  MD5SUM upstream package : fccee58b4d914fb489385d672fe89f43

[x]: MUST Spec file is legible and written in American English.
[x]: MUST Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: MUST Package contains a SysV-style init script if in need of one.
[x]: MUST File names are valid UTF-8.
[-]: MUST Useful -debuginfo package or justification otherwise.
[x]: SHOULD Reviewer should test that the package builds in mock.
[-]: SHOULD 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]: SHOULD Dist tag is present.
[x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin,
     /usr/sbin.
[x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[x]: SHOULD SourceX is a working URL.
[-]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[-]: SHOULD %check is present and all tests pass.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Comment 8 Simone Caronni 2012-07-10 07:11:00 UTC
> [!]: MUST Rpmlint output is silent.
> rpmlint python-beautifulsoup4-4.1.1-1.fc17.noarch.rpm
>
> python-beautifulsoup4.noarch: E: explicit-lib-dependency python-html5lib
> python-beautifulsoup4.noarch: E: explicit-lib-dependency python3-html5lib
> 1 packages and 0 specfiles checked; 2 errors, 0 warnings.

This can be ignored, rpmlint grabs the "lib" in the package name.

> [!]: MUST Buildroot is not present
>      Note: Buildroot is not needed unless packager plans to package for EPEL5
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
> [!]: MUST Package has no %clean section with rm -rf %{buildroot} (or
>      $RPM_BUILD_ROOT)
>      Note: Clean is needed only if supporting EPEL
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean
> [!]: MUST Each %files section contains %defattr if rpm < 4.4
>      Note: defattr(....) present in %files section. This is OK if packaging
>      for EPEL5. Otherwise not needed
> See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions
> [!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
>      beginning of %install.
>      Note: rm -rf is only needed if supporting EPEL5
> See: None

All of this can be ignored if you're planning also to build for EPEL 5, otherwise please remove all the old directives.

> [!]: MUST 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 %doc.
> See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
> [!]: MUST Package is licensed with an open-source compatible license and meets
>      other legal requirements as defined in the legal section of Packaging
>      Guidelines.

The package itself is built correctly as it does include the text license file in the package but the license itself is MIT (see COPYING.txt and project's website) and not BSD as stated in the spec file.

Comment 9 Simone Caronni 2012-07-10 07:14:22 UTC
> %package -n     python3-beautifulsoup4
> Obsoletes:      python3-BeautifulSoup < 1:4.1.0-1

I can't find "python3-BeautifulSoup < 1:4.1.0-1" in the Fedora packages, the last version in Fedora is 1:3.2.1-1:

http://koji.fedoraproject.org/koji/buildinfo?buildID=301717

What is your plan for the updates? Do you plan to introduce the package also for Fedora 16/17 thus obsoleting the package already in stable? Does it produce any breakage?

Apart from these small issues the package looks good.

Regards,
--Simone

Comment 10 Terje Røsten 2012-07-10 22:02:07 UTC
Updated package:

- License is MIT
- Remove old cruft
- Fix obsolete

spec: http://terjeros.fedorapeople.org/bs4/python-beautifulsoup4.spec
srpm: http://terjeros.fedorapeople.org/bs4/python-beautifulsoup4-4.1.1-2.fc16.src.rpm

Package is will pushed to all active branches, no breakage is the goal.

Comment 11 Simone Caronni 2012-07-11 06:30:30 UTC
Approved!

Thanks,
--Simone

Comment 12 Terje Røsten 2012-07-11 07:05:57 UTC
Thanks!

New Package SCM Request
=======================
Package Name: python-beautifulsoup4
Short Description: HTML/XML parser for quick-turnaround applications like screen-scraping
Owners: terjeros  kwizart
Branches: f16 f17 
InitialCC:

Comment 13 Gwyn Ciesla 2012-07-15 02:40:43 UTC
Git done (by process-git-requests).

Comment 14 Fedora Update System 2012-07-16 07:20:42 UTC
python-beautifulsoup4-4.1.1-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-beautifulsoup4-4.1.1-2.fc17

Comment 15 Fedora Update System 2012-07-16 07:20:53 UTC
python-beautifulsoup4-4.1.1-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/python-beautifulsoup4-4.1.1-2.fc16

Comment 16 Fedora Update System 2012-07-17 17:19:58 UTC
python-beautifulsoup4-4.1.1-2.fc17 has been pushed to the Fedora 17 testing repository.

Comment 17 Nicolas Chauvet (kwizart) 2012-07-22 12:41:37 UTC
There is an little issue with the python3 requirement that should only be in the python3 sub-package if built with python3.
This lead to have the python2 flavor to requires python3 dependencies.

Comment 18 Terje Røsten 2012-07-22 17:48:09 UTC
Yeah, I see that now, some req. need to be moved.

Comment 19 Fedora Update System 2012-08-01 18:19:50 UTC
python-beautifulsoup4-4.1.1-4.fc17 has been pushed to the Fedora 17 stable repository.

Comment 20 Fedora Update System 2012-08-01 18:25:20 UTC
python-beautifulsoup4-4.1.1-4.fc16 has been pushed to the Fedora 16 stable repository.

Comment 21 Kevin Fenzi 2012-12-04 22:18:36 UTC
Adding an epel branch. See bug 883537 where the Fedora maintainer is fine with me doing an epel branch. 

Package Change Request
======================
Package Name: python-beautifulsoup4
New Branches: el6
Owners: kevin
InitialCC:

Comment 22 Kevin Fenzi 2012-12-04 22:19:13 UTC
Adding an epel branch. See bug 883537 where the Fedora maintainer is fine with me doing an epel branch. 

Package Change Request
======================
Package Name: python-beautifulsoup4
New Branches: el6
Owners: kevin
InitialCC:

Comment 23 Gwyn Ciesla 2012-12-05 15:36:47 UTC
Git done (by process-git-requests).


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