Opened 3 years ago

Closed 3 years ago

#62207 closed defect (fixed)

py-beautifulsoup4 depends on nonexistent py-soupsieve subports

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: Schamschula (Marius Schamschula), blair (Blair Zajac)
Port: py-beautifulsoup4 py-soupsieve

Description

https://build.macports.org/builders/ports-10.15_x86_64-builder/builds/50420/steps/install-dependencies/logs/stdio

Error: Dependency 'py35-soupsieve' not found.
Error: mportdepends py35-beautifulsoup4 activate failed.
Calculating dependencies for 'py35-beautifulsoup4' failed, aborting.
./mpbb/mpbb: error: `install-dependencies' failed to run successfully

https://build.macports.org/builders/ports-10.15_x86_64-builder/builds/50419/steps/install-dependencies/logs/stdio

Error: Dependency 'py27-soupsieve' not found.
Error: mportdepends py27-beautifulsoup4 activate failed.
Calculating dependencies for 'py27-beautifulsoup4' failed, aborting.
./mpbb/mpbb: error: `install-dependencies' failed to run successfully

Change History (11)

comment:1 Changed 3 years ago by Schamschula (Marius Schamschula)

True enough. I was in a rush to get certbot updated, and this was a blocker.

Thus, versions > py36 need to revert to an older version of py-beautifulsoup4, as py-soupsieve explicitly does not support these versions of Python.

I'm not sure at what point py-soupsieve became a dependency.

comment:2 Changed 3 years ago by Schamschula (Marius Schamschula)

Looking at the Changelog for beautifulsoup, it seems that the soupsieve dependency was added with version 4.7.0 (2018-12-31). This means I'll have to revert older py <= 35 to version 4.6.3.

We didn't notice because only the select() method triggers soupsieve to be loaded. Apparently, certbot 1.12.0 calling certbot-dns-namecheap does so.

comment:3 Changed 3 years ago by Schamschula (Marius Schamschula)

In 0a18220040c6fe104200990a85f87405a0f6d025/macports-ports (master):

py-beautifulsoup4: revert to and lock py <= 35 to version 4.6.3

See: #62207

comment:4 Changed 3 years ago by dershow

I'm also getting a checksum mismatch on the attempt to upgrade:

%sudo port outdated
py27-beautifulsoup4            4.9.3_0 < 4.6.3_0  (epoch 0 < 1)
%sudo port upgrade outdated
--->  Computing dependencies for py27-beautifulsoup4
--->  Fetching archive for py27-beautifulsoup4
--->  Attempting to fetch py27-beautifulsoup4-4.6.3_0+html5lib+lxml.darwin_19.noarch.tbz2 from https://ywg.ca.packages.macports.org/mirror/macports/packages/py27-beautifulsoup4
--->  Attempting to fetch py27-beautifulsoup4-4.6.3_0+html5lib+lxml.darwin_19.noarch.tbz2 from https://lil.fr.packages.macports.org/py27-beautifulsoup4
--->  Attempting to fetch py27-beautifulsoup4-4.6.3_0+html5lib+lxml.darwin_19.noarch.tbz2 from https://mse.uk.packages.macports.org/py27-beautifulsoup4
--->  Verifying checksums for py27-beautifulsoup4
Error: Checksum (rmd160) mismatch for beautifulsoup4-4.9.3.tar.gz
Error: Checksum (sha256) mismatch for beautifulsoup4-4.9.3.tar.gz
Error: Checksum (size) mismatch for beautifulsoup4-4.9.3.tar.gz
Error: Failed to checksum py27-beautifulsoup4: Unable to verify file checksums
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_python_py-beautifulsoup4/py27-beautifulsoup4/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

comment:5 Changed 3 years ago by Schamschula (Marius Schamschula)

That's strange. However, as I don't want to install and maintain ancient versions of Python on my machine, I'm not too surprised that there is an issue.

It looks like your machine downloaded the correct archive, but checked it against the wrong set of checksums.

I'll have a look.

comment:6 Changed 3 years ago by Schamschula (Marius Schamschula)

Looking at the Portfile, I'm actually surprised that it succeeded downloading the source file at all.

It should have picked up the correct checksums, however. I'll move the checksums for Python 36 and above under the else block.

comment:7 Changed 3 years ago by Schamschula (Marius Schamschula)

In fbaffe95774a6566d0224e2c81d09669597d7a11/macports-ports (master):

py-beautifulsoup4: 2nd attempt to revert for py < 36

See: #62207

comment:8 Changed 3 years ago by blair (Blair Zajac)

The last commit appears to be generating this error:

$ /opt/local/bin/portindex
Failed to parse file python/py-beautifulsoup4/Portfile: can't read "version": no such variable

comment:9 Changed 3 years ago by blair (Blair Zajac)

Cc: blair added

comment:10 Changed 3 years ago by Schamschula (Marius Schamschula)

In 47ef20a81943f21545f52b7e9db3287517dd1ef5/macports-ports (master):

py-beautifulsoup4: move up version and checksum block

See: #62207

comment:11 Changed 3 years ago by Schamschula (Marius Schamschula)

Owner: set to Schamschula
Resolution: fixed
Status: newclosed

In 14b450c5d79b555ec4bcbb123361c37a7dba39f8/macports-ports (master):

py-beautifulsoup4: simplify, fix version for livecheck

Closes: #62207

Note: See TracTickets for help on using tickets.