Bug 273018 - www/obhttpd: Update to 7.3.20230714
Summary: www/obhttpd: Update to 7.3.20230714
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Robert Clausecker
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-08-08 19:24 UTC by Nikola Kolev
Modified: 2023-08-18 19:36 UTC (History)
1 user (show)

See Also:


Attachments
obhttpd 7.3.20230714 patch (3.62 KB, text/plain)
2023-08-08 19:24 UTC, Nikola Kolev
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikola Kolev 2023-08-08 19:24:09 UTC
Created attachment 243975 [details]
obhttpd 7.3.20230714 patch

Upgrade www/obhttpd to version 7.3.20230714.

Changelog: https://github.com/koue/httpd/blob/master/ChangeLog
Comment 1 Robert Clausecker freebsd_committer freebsd_triage 2023-08-08 19:46:38 UTC
Thank you for your submission.

Please consider the following issues for future updates:

 - check if the bundled libraries libressl, libevent and libimsg can be unbundled.
   libresssl is already available as security/libressl, a version of libevent as
   devel/libevent and libimsg would have to be ported
 - do not use REINPLACE_CMD for static replacements.  Instead use patch files.
 - use DISTVERSION instead of PORTVERSION if possible
 - please ideally post submissions for the ports tree in git-format-patch(1)
   format as that's the easiest way to apply them
 - please ensure that pkg-descr is at least three lines long

Will commit this patch as is for now.
Comment 2 commit-hook freebsd_committer freebsd_triage 2023-08-09 13:05:21 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=f8c975320b3e9ed639bdbca40ec1208f07dc7051

commit f8c975320b3e9ed639bdbca40ec1208f07dc7051
Author:     Nikola Kolev <koue@chaosophia.net>
AuthorDate: 2023-08-08 19:45:57 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-08-09 13:03:29 +0000

    www/obhttpd: update to 7.3.20230714

    Changelog: https://github.com/koue/httpd/blob/master/ChangeLog

    PR:             273018

 www/obhttpd/Makefile | 26 +++++++++++++-------------
 www/obhttpd/distinfo | 18 +++++++++---------
 2 files changed, 22 insertions(+), 22 deletions(-)
Comment 3 Robert Clausecker freebsd_committer freebsd_triage 2023-08-09 13:13:50 UTC
Thank you for your contribution.
Comment 4 Nikola Kolev 2023-08-18 12:57:56 UTC
Hi Robert,

Regarding libressl, libevent and libimsg. In the past I was using libressl from the ports tree and I had 3 main issues: 1) conflicts with OpenSSL, 2) changes in ports infrastructure causing obhttpd's compilation to fail, 3) sometimes when I upgrade obhttpd the proper version of LibreSSL is not available in the ports tree. The current approach works without issue for few years already.
Libevent is the ports tree is version 2. OpenBSD is still using libevent version 1 hence obhttpd requires libevent version 1. In the past my request libevent1 to remain in the ports tree was rejected. obhttpd is using libevent a lot, no way I'm going to patch it to use libevent2.
With 2 of the 3 libraries I have issues when use the default ports tree approach. libimsg is simple library easy one to be added to the ports tree. I don't have motivation to create another port and deal with separate issues once I already use the same approach for the other two libraries.
Regarding the other comments I'll refresh my knowledge about porters handbook and follow them in next updates. REINPLACE_CMD is very useful. What is the benefit of replacing it with patches?

Regards,
Nikola
Comment 5 Robert Clausecker freebsd_committer freebsd_triage 2023-08-18 19:36:58 UTC
> What is the benefit of replacing it with patches?

We have a policy that REINPLACE_CMD should only be used for dynamic replacements (as specified in Porter's Handbook).  This is so patch files show what changes we do to source code.  These patches can be picked up by upstream or other projects wanting to port the code.  This is much harder with REINPLACE_CMD.  Also, it's less transparant what is patched with REINPLACE_CMD.

To convert from REINPLACE_CMD to patch files, you might be able to build the port, then rename all .bak files to .orig, then run "make makepatch".  Then sort out the patches to tell apart static from dynamic replacements.

> Regarding libressl, libevent and libimsg. In the past I was using libressl from the ports tree and I had 3 main issues: 1) conflicts with OpenSSL, 2) changes in ports infrastructure causing obhttpd's compilation to fail, 3) sometimes when I upgrade obhttpd the proper version of LibreSSL is not available in the ports tree.

Requiring a specific libressl version is a an acceptable reason, but please pay attention that there are no open security issues in the version you ship.  Bundling libraries is a double-edged sword and we try to avoid it as much as possible.

> 2. OpenBSD is still using libevent version 1 hence obhttpd requires libevent version 1. In the past my request libevent1 to remain in the ports tree was rejected. obhttpd is using libevent a lot, no way I'm going to patch it to use libevent2.

This too is a good reason and it's unfortunate that libevent1 was dropped.  Do you have a link to the discussion?  I can try to ressurect the old port for unbundling purposes.

> libimsg is simple library easy one to be added to the ports tree. I don't have motivation to create another port and deal with separate issues once I already use the same approach for the other two libraries.

That is not a good reason, but I understand that you do not want to put in the work.  I'll see if I can get it ported on my own so you can proceed to unbundle.