Opened 12 months ago

Last modified 12 months ago

#67372 assigned enhancement

xmlsec @1.3.0 breaks ABI. This breaks many ports

Reported by: jimjag (Jim Jagielski) Owned by: Schamschula (Marius Schamschula)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mascguy (Christopher Nielsen)
Port: xmlsec

Description

Consider forking the xmlsec port into two: xmlsec and xmlsec-1.2 so that ports that have not yet been upgraded to work with xmlsec 1.3.0 can still build by requiring xmlsec-1.2

Change History (19)

comment:1 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Owner: set to Schamschula
Port: xmlsec added
Status: newassigned
Summary: xmlsec 1.3.0 breaks ABI. This breaks many portsxmlsec @1.3.0 breaks ABI. This breaks many ports

comment:2 Changed 12 months ago by Schamschula (Marius Schamschula)

If I add a xmlsec-1.2 port, I need to know which ports are affected by the ABI change, i.e. which Portfiles need to be updated to built against xmlsec-1.2.

comment:3 Changed 12 months ago by Marius Schamschula <mschamschula@…>

In 04c98ad0468250b229449565e39d09b9eb4e8f5a/macports-ports (master):

xmlsec-1.2: support old ABI

See: #67372

comment:4 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Could you adjust the livecheck to find only 1.2.x versions?

% port livecheck xmlsec-1.2
xmlsec-1.2 seems to have been updated (port version: 1.2.37, new version: 1.3.0)

comment:5 Changed 12 months ago by Schamschula (Marius Schamschula)

Will do!

comment:6 Changed 12 months ago by Schamschula (Marius Schamschula)

I'm thinking I might also want to install it into a different path so 1.2.37 and 1.3.x can be installed side by side.

comment:7 Changed 12 months ago by Schamschula (Marius Schamschula)

Still no word about which ports are incompatible with 1.3.0. py311-sunpy and its dependencies py311-xmlsec, and py311-zeep work correctly with the new ABI.

Last edited 12 months ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:8 Changed 12 months ago by Schamschula (Marius Schamschula)

This issue has been reported for oath-toolkit: https://gitlab.com/oath-toolkit/oath-toolkit/-/issues/33

As libreoffice, qore-xmlsec-module and pass-otp depend on oath-toolkit they are also broken.

Unfortunately, I wasn't able to rebuild oath-toolkit to pick up the alternate paths to xmlsec-1.2. There is no provision to specify a path in ./configure --help.

Last edited 12 months ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:9 Changed 12 months ago by Schamschula (Marius Schamschula)

Last edited 12 months ago by Schamschula (Marius Schamschula) (previous) (diff)

comment:10 Changed 12 months ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:11 in reply to:  8 Changed 12 months ago by mascguy (Christopher Nielsen)

Replying to Schamschula:

Unfortunately, I wasn't able to rebuild oath-toolkit to pick up the alternate paths to xmlsec-1.2. There is no provision to specify a path in ./configure --help.

We might be able to adjust the header and lib paths, to search those for xmlsec-1.2 first. Haven't tested that yet, but there's a reasonable possibility that it'll work. (The same technique we use to ensure that a new version of a port, doesn't pick up the headers and libs for the currently-installed previous version.)

comment:12 Changed 12 months ago by Christopher Nielsen <mascguy@…>

In 162b897fa738da4e7c5980eb9e1402a58758c43b/macports-ports (master):

oath-toolkit: use xmlsec-1.2; add missing lib deps
See: 82d8c07616b8953da39597b44e090d589a6c58fa/macports-ports#commitcomment-111874530
See: #67372

comment:13 in reply to:  8 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Replying to Schamschula:

This issue has been reported for oath-toolkit: https://gitlab.com/oath-toolkit/oath-toolkit/-/issues/33

See #67233.

comment:14 Changed 12 months ago by jimjag (Jim Jagielski)

For sure py-xmlsec 1.3.33 and earlier require libxmlsec 1.2.x and not 1.3.0

comment:15 in reply to:  14 Changed 12 months ago by Schamschula (Marius Schamschula)

Even though my test of py-sunpy, which depends on py-xmlsec did not show an error, this problem has been noted upstream.

See: https://github.com/xmlsec/python-xmlsec/issues/252

Replying to jimjag:

For sure py-xmlsec 1.3.33 and earlier require libxmlsec 1.2.x and not 1.3.0

comment:16 Changed 12 months ago by Schamschula (Marius Schamschula)

Indeed py-xmlsec fails to build against xmlsec 1.3.0.

I think the best way forward is to rebuild all dependents against xmlsec-1.2 and then to transition them back as soon as the upstream packages are updated.

comment:17 in reply to:  16 Changed 12 months ago by mascguy (Christopher Nielsen)

Replying to Schamschula:

Indeed py-xmlsec fails to build against xmlsec 1.3.0.

I think the best way forward is to rebuild all dependents against xmlsec-1.2 and then to transition them back as soon as the upstream packages are updated.

There's just one catch, you'll need to declare a build conflict with xmlsec. Alternatively, it might be worth segregating the latter too, to eliminate the need for those.

comment:18 Changed 12 months ago by Marius Schamschula <mschamschula@…>

In e349d0f15a5227a418a14488b528d941572f029b/macports-ports (master):

py-xmlsec: use xmlsec-1.2 until xmlsec 1.3.x is supported upstream

See: #67372
See: https://github.com/xmlsec/python-xmlsec/issues/252

comment:19 Changed 12 months ago by ryandesign (Ryan Carsten Schmidt)

Note: See TracTickets for help on using tickets.