Opened 23 months ago

Closed 23 months ago

Last modified 23 months ago

#66568 closed enhancement (fixed)

libressl: improve livecheck

Reported by: Zweihorn (@Zweihorn) Owned by: artkiver (グレェ)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: neverpanic (Clemens Lang)
Port: libressl

Description (last modified by Zweihorn (@Zweihorn))

I appreciate the current parallel update to libressl and libressl-devel by the new maintainers.

However, would it be possible to improve / enhance the Livecheck procedure of libressl in a way that this port does not flag an "outdated" if just one major version behind libressl-devel port?

Example and proposal:

  • libressl 3.6.1 should not be outdated because of 3.7.x
  • libressl 3.6.1 shall become outdated if 3.6.2 upstream
  • libressl 3.6.x shall become outdated if 3.8 or newer upstream
  • libressl-devel 3.7.0 shall continue being outdated by 3.7.1 or 3.8 or newer

IMO this enhancement would improve the user experience including the view on the port library GUI (see attach).

My five cents.

Furthermore, you may approach me to volunteer with more commitment by myself providing an improved Livecheck formula. However, I may be slow in response and/or slow on meeting a schedule.

Naturally, you could set the priority of this Ticket to Low until I meet your expections in due time.

Attachments (1)

Bildschirmfoto 2022-12-27 um 08.30.06.png (21.8 KB) - added by Zweihorn (@Zweihorn) 23 months ago.
port MacPorts web GUI and libressl port flagging "outdated"

Download all attachments as: .zip

Change History (12)

Changed 23 months ago by Zweihorn (@Zweihorn)

port MacPorts web GUI and libressl port flagging "outdated"

comment:1 Changed 23 months ago by Zweihorn (@Zweihorn)

Description: modified (diff)

comment:2 Changed 23 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: neverpanic added
Keywords: x86_64 removed
Owner: set to artkiver
Status: newassigned
Summary: improve the Livecheck of libressllibressl: improve livecheck

comment:3 Changed 23 months ago by artkiver (グレェ)

I am not too familiar with the Livecheck code.

However, that referenced GitHub ticket seems to be checking a releases page, whereas the ChangeLog (e.g. https://github.com/libressl-portable/portable/blob/master/ChangeLog) is probably a better resource as it more definitively seems to indicate which releases are Development (and thus should presumably best be associated with libressl-devel) and which are Stable (and thus should are probably best associated with the libressl port).

However, even the ChangeLog has releases marked as: "Reliability fix" or "Security release".

In such instances, it seems to me that those should still be good for the main libressl Portfile updates, but I am less sure if we should have libressl-devel track them?

Regardless, thank you for bringing this to our attention, I hadn't been aware of that libressl-portable issue previously and it appears as if that is still open and may be able to benefit from some additional commentary given it's been (checks date) more than five years since it was opened! Wow.

Last edited 23 months ago by artkiver (グレェ) (previous) (diff)

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

The suggestion in that issue was:

You can check the stable version on http://www.libressl.org/ as "The latest stable release is x.x.x" .

Is that not suitable?

comment:5 in reply to:  4 Changed 23 months ago by artkiver (グレェ)

I mean, that may be suitable? Regardless, the livecheck code is part of https://github.com/macports/macports-base I think? I don't know much about it, though I have started looking into it, tips and hints and suggestions are welcome.

Replying to ryandesign:

The suggestion in that issue was:

You can check the stable version on http://www.libressl.org/ as "The latest stable release is x.x.x" .

Is that not suitable?

comment:6 Changed 23 months ago by artkiver (グレェ)

From the extant Portfile we have:

livecheck.type      regex
livecheck.url       https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/
livecheck.regex     "(\\d+\\.\\d+\\.\\d+)"

running %sudo port -v livecheck

Results in:

libressl seems to have been updated (port version: 3.6.1, new version: 3.7.0)

But how that is processed, is totally opaque to me.

I am reading https://guide.macports.org/chunked/reference.livecheck.html without many additional insights.

Whereas https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ is basically just a directory, so I am guessing it is just enumerating whatever the most recent version is from that, but if I for example, change that to https://www.libressl.org it doesn't seem to break, but it doesn't change anything either, nor does adding for example:

livecheck.distname "The latest stable release"

In other words, I would love to know where to look to get a deeper understanding of the livecheck code itself, but I am currently a bit out of my depth.

Last edited 23 months ago by artkiver (グレェ) (previous) (diff)

comment:7 Changed 23 months ago by artkiver (グレェ)

Changing these lines:

livecheck.type      regex
livecheck.url       https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/
livecheck.regex     "(\\d+\\.\\d+\\.\\d+)"

to:

livecheck.type      regex
livecheck.url       https://www.libressl.org/
livecheck.regex    "The latest stable release is (\\d+\\.\\d+\\.\\d+)"

Results in:

sudo port -v livecheck

libressl seems to be up to date

Which is presumably, closer to what you want? I can prep a PR for that.

comment:8 Changed 23 months ago by artkiver (グレェ)

PR submitted here:

https://github.com/macports/macports-ports/pull/17125

I will see if I can create something similar to improve libressl-devel's livecheck as well.

comment:9 Changed 23 months ago by artkiver (グレェ)

Submitted this PR for libressl-devel as well: https://github.com/macports/macports-ports/pull/17126

comment:10 Changed 23 months ago by artkiver (グレェ)

Resolution: fixed
Status: assignedclosed

In 7e0d0afcdafa03cdb5a15ac2754dde16afd28809/macports-ports (master):

libressl: improve livecheck.

comment:11 Changed 23 months ago by artkiver (グレェ)

https://github.com/macports/macports-ports/pull/17127 (I ended up deleting 17126 accidentally after running into some issues with branches) was also merged for libressl-devel. Hopefully moving forward, those changes will result in more accurate results for each.

Note: See TracTickets for help on using tickets.