Opened 12 years ago

Closed 11 years ago

#35867 closed update (fixed)

libarchive: update to 3.x

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: tobypeterson
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager), mfeiri
Port: libarchive

Description

$ port livecheck libarchive
libarchive seems to have been updated (port version: 2.8.5, new version: 3.0.4)

Change History (9)

comment:1 Changed 11 years ago by tobypeterson

Status: newassigned
Summary: libarchive: update to 3.0.4libarchive: update to 3.x

Latest version is 3.1.2. Problem is that libarchive 3.x isn't binary compatible with 2.x, so we'll need to chase dependencies.

comment:2 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:3 Changed 11 years ago by mfeiri

When talking about binary compatibility you are thinking of something like rev bumping all dependents, e.g. as in r69520 for openssl 0.9.8->1.0.0, right? AFAIK the new 'rev-upgrade' action in MacPorts 2.1 should handle this automatically. It "... checks for and rebuilds ports that may have become incorrectly linked when a dependency was upgraded to a new, binary-incompatible version. This runs automatically after upgrades and installs ...", see browser:trunk/base/NEWS and wiki:SummerOfCode2011#rev-upgrade

There is a small chance that some ports are not API compatible with version 3 of libarchive. A quick grep through the dports hierarchy reveals just 5 ports (hydrogen, elftoolchain, gvfs, epic5, ark) that actually depend on libarchive. Verifying that these 5 ports still build/work properly after the patch in #38164 is applied should be all we need.

Last edited 11 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:4 Changed 11 years ago by mfeiri

Cc: mfeiri@… added

Cc Me!

comment:5 Changed 11 years ago by tobypeterson

Yes, I believe it's just ABI compatibility, the API is (mostly) unchanged.

comment:6 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

rev-upgrade is only there to help users when maintainers forget to increase revisions to make ports rebuild. Increasing revisions when library versions change is still the correct solution. Just think what would happen if we didn't: users might get a binary from our packages server which rev-upgrade would immediately declare broken and have to rebuild.

comment:7 Changed 11 years ago by mfeiri

Thanks ryandesign, I didn't consider the pre-built binaries.

I've tried the patch from #38164 and it worked perfectly fine for me with elftoolchain, gvfs, and ark. It turned out that hydrogen doesn't actually use libarchive and epic5 is broken for other reasons. AFAICT the upgrade to libarchive 3 should be okay.

comment:8 Changed 11 years ago by cooljeanius (Eric Gallager)

Another option could be making a separate port for libarchive3...

comment:9 Changed 11 years ago by mfeiri

Resolution: fixed
Status: assignedclosed

Updated in r107252 (maintainer timeout)

Note: See TracTickets for help on using tickets.