Bug 252245 - [META] Ports broken by libgnuregex removal in -CURRENT
Summary: [META] Ports broken by libgnuregex removal in -CURRENT
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kyle Evans
URL:
Keywords:
Depends on: 252255 252246 252247 252248 252249 252250 252251 252252 252254 252256 252257 252258 252259
Blocks:
  Show dependency treegraph
 
Reported: 2020-12-29 04:58 UTC by Kyle Evans
Modified: 2021-01-10 17:31 UTC (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kyle Evans freebsd_committer 2020-12-29 04:58:11 UTC
Several ports are broken as fallout from removing libgnuregex (=-(). Here's a list from a cursory grep:

- comms/acfac
- x11-toolkits/vdk
- www/spreadlogd
- textproc/mgdiff
- textproc/chpp
- lang/scm
- devel/cvs
- misc/colortail (still builds, but without regex support)
- news/pan
- editors/xcoral
- editors/ne
- editors/zile

Patches forthcoming.
Comment 1 commit-hook freebsd_committer 2020-12-29 05:42:14 UTC
A commit references this bug:

Author: kevans
Date: Tue Dec 29 05:41:15 UTC 2020
New revision: 559542
URL: https://svnweb.freebsd.org/changeset/ports/559542

Log:
  [NEW PORT] devel/libgnuregex: GNU regex(3) extension library

  This version of libgnuregex is based on the latest version of devel/gnulib
  in the tree, and is intended as a direct replacement for the libgnuregex
  that has been historically provided in base.

  A port was chosen over all consumers dragging in devel/gnulib to save
  rebuilds since more than ~5 consumers need libgnuregex, and this also makes
  for an easier migration as ports just need to bring in the port and make
  sure LOCALBASE/lib and LOCALBASE/inclue are included.

  It is currently expected that ports dependant on this will fully specify the
  shlib version against ports tree convention so that we can provide a
  consistent experience across all versions of FreeBSD, past and future, using
  a less-broken version of the library.

  PR:		252245

Changes:
  head/devel/Makefile
  head/devel/libgnuregex/
  head/devel/libgnuregex/Makefile
  head/devel/libgnuregex/files/
  head/devel/libgnuregex/files/Makefile
  head/devel/libgnuregex/files/config.h
  head/devel/libgnuregex/files/gnuregex.h
  head/devel/libgnuregex/files/patch-regex.c
  head/devel/libgnuregex/files/patch-regex.h
  head/devel/libgnuregex/files/patch-regex__internal.h
  head/devel/libgnuregex/pkg-descr
  head/devel/libgnuregex/pkg-plist
Comment 2 Chris Hutchinson 2020-12-29 07:01:34 UTC
As the maintainer of 2 of those consumers. I'd like
to extend a HUGE thank you, Kyle, for doing this.

Greatly appreciated!

--Chris
Comment 3 Mikhail T. 2020-12-29 08:40:38 UTC
>  It is currently expected that ports dependant on this will fully specify the
  shlib version against ports tree convention

I do not understand, where this expectation is coming from. I for one intend to arrange for my ports to continue using the base-provided library, where available - based on the OSVERSION - and I encourage other maintainers to do the same. 

The convention to NOT use explicit major library numbers is there for good reasons - why should this case be an exception, I do not understand...

That said, thank you, Kyle, for doing the heavy-lifting. This was a lot of work, done in a short time...
Comment 4 Kyle Evans freebsd_committer 2020-12-29 13:00:57 UTC
(In reply to Mikhail T. from comment #3)

> The convention to NOT use explicit major library numbers is there for good reasons - why should this case be an exception, I do not understand...

This is explained in the rest of that very paragraph:

> so that we can provide a consistent experience across all versions of FreeBSD, past and future, using a less-broken version of the library.

You are not doing yourself or your users any favors by using the base version on any FreeBSD release. It has been removed because it has known bugs, and deciding to use it there will just confuse folks as expressions may inconsistently work across a FreeBSD upgrade on the same port version.
Comment 5 Mikhail T. 2020-12-29 15:06:47 UTC
That’s a generic reason to use the latest version of everything. It doesn’t always apply. Upgrading the entire OS - jumping to a new major release - will always bring changes, that’s bit confusing anyone.

On contrast, if, indeed, the new library version is as different as you suggest, there may be confusion - and possible breakage - as folks upgrade a port from one port-revision to another and encounter changes in behavior...
Comment 6 Kyle Evans freebsd_committer 2020-12-29 15:11:46 UTC
(In reply to Mikhail T. from comment #5)

I don't really wish to continue this discussion. I'm telling you as effectively the closest thing to maintainer of libgnuregex in base that it's a terrible idea to use it, it's your prerogative to ignore that and do it anyways -- clearly your mind is already made up. The port you maintain is already certainly broken in subtle ways because of the version it's using, it's not my problem as long as it starts building on -CURRENT again.
Comment 7 commit-hook freebsd_committer 2020-12-31 20:22:02 UTC
A commit references this bug:

Author: mi
Date: Thu Dec 31 20:21:53 UTC 2020
New revision: 559774
URL: https://svnweb.freebsd.org/changeset/ports/559774

Log:
  Start searching for headers and libraries under ${LOCALBASE}/ --
  in case newer implementations of anything are installed there.

  When compiling on 13.x or above, insist on libgnuregex version above
  5 -- earlier FreeBSD releases came with libgnuregex.so.5, but that's
  now gone and replaced by the devel/libgnuregex port, which currently
  installs libgnuregex.so.6.

  PR:		252252 252250 252245
  Submitted by:	kevans
  Sponsored by:	United Marsupials

Changes:
  head/editors/xcoral/Makefile
  head/lang/scm/Makefile
  head/lang/scm/files/patch-build.scm
Comment 8 commit-hook freebsd_committer 2021-01-10 17:30:26 UTC
A commit references this bug:

Author: kevans
Date: Sun Jan 10 17:29:35 UTC 2021
New revision: 561088
URL: https://svnweb.freebsd.org/changeset/ports/561088

Log:
  audio/tagtool: use libgnuregex from devel/libgnuregex

  libgnuregex has been removed in FreeBSD 13.0. The version in base had a
  number of known or likely bugs associated with it, so just use the newer
  and more stable port on all supported FreeBSD versions.

  PR:		252245
  MFH:		2020Q1

Changes:
  head/audio/tagtool/Makefile
Comment 9 commit-hook freebsd_committer 2021-01-10 17:31:29 UTC
A commit references this bug:

Author: kevans
Date: Sun Jan 10 17:31:20 UTC 2021
New revision: 561089
URL: https://svnweb.freebsd.org/changeset/ports/561089

Log:
  MFH: r561088

  audio/tagtool: use libgnuregex from devel/libgnuregex

  libgnuregex has been removed in FreeBSD 13.0. The version in base had a
  number of known or likely bugs associated with it, so just use the newer
  and more stable port on all supported FreeBSD versions.

  PR:		252245

Changes:
_U  branches/2021Q1/
  branches/2021Q1/audio/tagtool/Makefile