Bug 824372

Summary: BeautifulSoup 4 disguised as 3
Product: [Fedora] Fedora Reporter: Michael Schwendt <bugs.michael>
Component: python-BeautifulSoupAssignee: Nicolas Chauvet (kwizart) <kwizart>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: kwizart, mcepl, mcepl, terje.rosten
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-09 22:55:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Schwendt 2012-05-23 11:10:09 UTC
Description of problem: This had been discovered related to bug 787401 (feedparser, which optionally uses BeautifulSoup). There is a highly confusing comment in the package changelog:

* Fri Feb 03 2012 Terje Rosten <terje.rosten> - 1:3.2.0-4
- Add Python 3 package based on BeautifulSoup 4

$ yum list \*Beautiful\*
[...]
python-BeautifulSoup.noarch                 1:3.2.0-4.fc17                fedora
python3-BeautifulSoup.noarch                1:3.2.0-4.fc17                fedora

Actually, you've packaged a 4.x release as 3.2.0 in a subpackage!

Please follow the package versioning guidelines also with regard to subpackages. Define a proper "Version" and "Release" tag for the python3-BeautifulSoup subpackage.

https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Package_Versioning

Comment 1 Terje Røsten 2012-05-23 13:10:04 UTC
Yeah, for python3 bs4 is required, hence this confusing move. 

The best option would be to create whole, new package bs4 with python2 and python3 subpackages, and remove pyhton3 subpackage from bs.

Comment 2 Michael Schwendt 2012-05-23 14:48:51 UTC
Oh, btw, current F-17 package fails to rebuild (only in the python3 %check, though). You might want to add "|| :" to that check, so the build doesn't fail.

Comment 3 Matěj Cepl 2012-05-27 16:14:32 UTC
(In reply to comment #2)
> Oh, btw, current F-17 package fails to rebuild (only in the python3 %check,
> though). You might want to add "|| :" to that check, so the build doesn't
> fail.

I think this is very unnice advice ... tests should be fixed, or when they are skipping maintainer should find out why.

Comment 4 Michael Schwendt 2012-05-28 08:15:43 UTC
That's the whole point of _continuing_ to run the tests, but ignoring the results.

That way, the test results enter the build.log for anyone to take a look at (including interested upstream maintainers, who don't support Python3 and 2to3 converted sources yet.

It isn't "unnice advice". It's considered helpful by many packagers, who assume that instead they could only not run the tests at all.

Comment 5 Michael Schwendt 2012-05-28 08:22:24 UTC
And in pkg it, for the failing build, that is even done already since February,
so this has been unneeded advice even: ;)

   111  %check
   112  %{__python} BeautifulSoupTests.py
   113  
   114  %if 0%{?with_python3}
   115  pushd beautifulsoup4-%{bs4}
   116  %{__python3} -m unittest discover -s bs4 || :
   117  %endif

Comment 6 Matěj Cepl 2012-05-28 19:08:02 UTC
(In reply to comment #4)
> That way, the test results enter the build.log for anyone to take a look at
> (including interested upstream maintainers, who don't support Python3 and
> 2to3 converted sources yet.

I don't think there is any hard rule on %check section, so it is up to the maintainer how she does it. However, it seems to me that this package is a right example why it is not a good idea: there are at least two failing tests in the package which doesn't seem to cause any activity on the side of maintainer. If the tests failed, I would hope that before packager would add @unittest.SkipTest she would investigate a bit what's the root cause of the issue and possibly filed upstream bug for it.

Anyway, how I said, any packager can do whatever he feels is right.

Comment 7 Terje Røsten 2012-07-09 19:00:02 UTC
Package review for bs4:

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

Comment 8 Fedora Update System 2012-07-31 17:16:28 UTC
python-BeautifulSoup-3.2.1-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/python-BeautifulSoup-3.2.1-3.fc17

Comment 9 Fedora Update System 2012-07-31 17:16:56 UTC
python-BeautifulSoup-3.2.1-3.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/python-BeautifulSoup-3.2.1-3.fc16

Comment 10 Fedora Update System 2012-08-01 18:15:43 UTC
Package python-BeautifulSoup-3.2.1-3.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing python-BeautifulSoup-3.2.1-3.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-11321/python-BeautifulSoup-3.2.1-3.fc17
then log in and leave karma (feedback).

Comment 11 Fedora Update System 2012-08-09 22:55:48 UTC
python-BeautifulSoup-3.2.1-3.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2012-08-09 23:29:56 UTC
python-BeautifulSoup-3.2.1-3.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.