Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add pcre2 support #4736

Merged
merged 5 commits into from
Nov 16, 2023
Merged

add pcre2 support #4736

merged 5 commits into from
Nov 16, 2023

Conversation

elliefm
Copy link
Contributor

@elliefm elliefm commented Nov 13, 2023

Fixes: #3861 #4711

@elliefm elliefm added backport-to-3.6 for PRs that are to be backported to 3.6 backport-to-3.4 for PRs that are to be backported to 3.4 backport-to-3.2 for PRs that are to be backported to 3.2 backport-to-3.8 for PRs that are to be backported to 3.8 labels Nov 13, 2023
@elliefm
Copy link
Contributor Author

elliefm commented Nov 13, 2023

@elliefm When backporting, leave out the "prefer pcre2..." commit

Copy link
Member

@rsto rsto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builds and unit tests clean on my build

"pcre": false,
"pcre2": true,

@ksmurchison
Copy link
Contributor

Builds and unit tests clean on my build

"pcre": false,
"pcre2": true,

Same here.

@elliefm
Copy link
Contributor Author

elliefm commented Nov 15, 2023

@rsto I've added upgrade instructions to the changes file to clarify the pcre/pcre2/pcre3 situation, to explain how to make configure use the older one when both are present (otherwise it will prefer the newer one), and to explain how to deal with a situation where pcre2 is half-installed already (but not enough for Cyrus to use). I think this should address your issues deploying this PR to Fastmail -- in a generic way that will be useful to non-Fastmail deployments.

Sorry I missed this earlier. My bullseye VM already had libpcre2-dev installed as a dependency for some other thing, so in my testing I didn't need to do anything in particular to switch between versions. It hadn't occurred to me that a system might have enough of pcre2 to detect but not enough of it to actually use.

In Fastmail-specific terms (but please read the generic instructions too): I think you need to modify mkdebian.pl to either:

  • replace libpcre3-dev with libpcre2-dev in Build-Depends: (as well as whatever else it takes to get that package and its dependencies actually installed onto systems); OR
  • add --disable-pcre2 to the ./configure line under build:.

We can get away with staying on the old (unsupported, unmaintained) pcre (aka pcre3) for the time being, but we will be forced to upgrade to pcre2 when we upgrade to Bookworm, so IMO we might as well get it over with now.

@elliefm elliefm requested a review from rsto November 15, 2023 00:16
Copy link
Member

@rsto rsto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good to me.

Copy link
Contributor

@ksmurchison ksmurchison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, with a small nit

@elliefm elliefm merged commit f912397 into cyrusimap:master Nov 16, 2023
@elliefm elliefm mentioned this pull request Nov 16, 2023
@elliefm
Copy link
Contributor Author

elliefm commented Nov 16, 2023

@elliefm when you get to backporting this, the 3.4 conversion is already done in #4738 (just needs release notes as usual)

@elliefm
Copy link
Contributor Author

elliefm commented Nov 22, 2023

@elliefm any version that this gets backported to will also need #4741

@elliefm
Copy link
Contributor Author

elliefm commented Nov 28, 2023

@elliefm and also #4749

@elliefm elliefm removed backport-to-3.8 for PRs that are to be backported to 3.8 backport-to-3.6 for PRs that are to be backported to 3.6 labels Jan 16, 2024
@elliefm elliefm removed backport-to-3.4 for PRs that are to be backported to 3.4 backport-to-3.2 for PRs that are to be backported to 3.2 labels Mar 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3.4.6: can't find pcre in /usr/include/pcre cyrus-imapd: depends on obsolete pcre library
3 participants