-
Notifications
You must be signed in to change notification settings - Fork 202
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
Details on new maintainership #603
Changes from 17 commits
d16d50d
e880989
4045b9f
fce20d3
54bd8b7
6a9d9fb
7c38a2b
7206737
03e25d1
06221ad
5999827
f0ed196
e96c6bf
b2936ba
3d48d12
ca1427d
8d21cb7
f229627
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -103,6 +103,28 @@ jobs: | |
- name: Test | ||
run: cd build && ctest -j3 --output-on-failure | ||
|
||
dodo: | ||
# Tests with: Autconf on oldest supported Ubuntu (in non-extended support) | ||
name: GCC -Os, old Autotools | ||
runs-on: ubuntu-20.04 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
submodules: true | ||
|
||
- name: Prepare | ||
run: ./autogen.sh | ||
|
||
- name: Configure | ||
run: ./configure CFLAGS='-Os -Wall -Wextra -Werror -Wno-error=unused-but-set-parameter' --enable-jit --enable-pcre2-16 --enable-pcre2-32 --enable-debug | ||
|
||
- name: Build | ||
run: make -j3 | ||
|
||
- name: Test | ||
run: make check | ||
|
||
wasp: | ||
# Tests with: French locale; oldest supported CMake; no JIT; -Os; libreadline | ||
name: GCC -Os, CMake+ninja, no JIT | ||
|
@@ -232,6 +254,9 @@ jobs: | |
maint/RunPerlTest | ||
|
||
chaffinch: | ||
# Job to verify that the CMake "unity" build (single-file / jumbo build) passes. | ||
# If this fails, it's usually because two different files define some file-static | ||
# functions or macros which collide. | ||
name: CMake unity build | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
@@ -248,3 +273,39 @@ jobs: | |
|
||
- name: Test | ||
run: cd build && ctest -j3 --output-on-failure | ||
|
||
heron: | ||
# Job to verify that the tasks performed by PrepareRelease have been done. It is | ||
# the committer's responsibility (currently) to run PrepareRelease themselves when | ||
# making a PR, so that everything is kept in-sync. | ||
name: Check autogenerated file freshness | ||
runs-on: ubuntu-24.04 # TODO: Update to ubuntu-latest when that switches to 24.04 | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
submodules: false | ||
fetch-depth: 0 | ||
fetch-tags: false | ||
|
||
- name: PrepareRelease | ||
run: maint/PrepareRelease | ||
|
||
- name: 'Rebuild *.h.generic' | ||
run: | | ||
./autogen.sh && ./configure | ||
rm -f src/*.generic | ||
make src/config.h.generic src/pcre2.h.generic | ||
|
||
- name: Working directory clean | ||
run: | | ||
if [ -n "`git status --porcelain`" ] ; then | ||
( | ||
echo "Dirty working tree! Affected files:" | ||
git status --porcelain || true | ||
echo "" | ||
echo "Diff:" | ||
git diff || true | ||
Comment on lines
+304
to
+308
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You'll now get build failures if you update documentation files, but forget to sync the HTML or TXT. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. unless we improve the tooling, this sounds a little restrictive. Truth is that with Philip being the only native English speaker, his "final" touches over the generated documentation were an invaluable part of making sure it is as high quality as it is (including of course, updating the date with the necessary "fixes") There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Updating the docs can still be done by me (or other native English speaker). But there seems to be no good use-case for having the different copies of the documentation be out-of-sync with each other. If that ever happens, it's simply because a contributor forgot to sync the HTML or TXT files after updating the man pages. If you'd prefer, we make it so that the CI job applies the changes and pushes a bot-authored commit to the PR. That seemed like a bit too much infrastructure though, for a simple sanity-check. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The way I saw it was that the "source" files for the documentation were being updated by the developer, and the merge that Philip did which usually included the "documentation fixes" and "generated files" was akin to a compilation and "release" of the documentation. specially since there is a copy of it that is autogenerated and publicly available in the web site as part of the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oops. I had completely forgotten to mention github.io to Nick. Apologies. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm aware of it. It hosts We could do what some projects do, and have different versions of the docs available (for each library version) so the user has a choice of whether to read the "master" or "10.44" docs. In a future PR, when I spruce up that website a bit, I'll probably just make it so it shows the docs for the last-released version of PCRE2. |
||
) >&2 | ||
exit 1 | ||
fi |
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
PCRE2 Authorship and Contributors | ||
================================= | ||
|
||
COPYRIGHT | ||
--------- | ||
|
||
Please see the file [LICENCE](./LICENCE.md) in the PCRE2 distribution for | ||
copyright details. | ||
|
||
|
||
MAINTAINERS | ||
----------- | ||
|
||
The PCRE and PCRE2 libraries were authored and maintained by Philip Hazel. | ||
|
||
Since 2024, the contributors with administrator access to the project are now | ||
Nicholas Wilson and Zoltán Herczeg. See the file [SECURITY](./SECURITY.md) for | ||
GPG keys. | ||
|
||
Both administrators are volunteers acting in a personal capacity. | ||
|
||
<table> | ||
<thead> | ||
<tr> | ||
<th>Name</th> | ||
<th>Role</th> | ||
<tr> | ||
</thead> | ||
<tbody> | ||
<tr> | ||
<td> | ||
|
||
Nicholas Wilson<br/> | ||
`nicholas@nicholaswilson.me.uk`<br/> | ||
Currently of Microsoft Research Cambridge, UK | ||
|
||
</td> | ||
<td> | ||
|
||
* General project administration & maintenance | ||
* Release management | ||
* Code maintenance | ||
|
||
</td> | ||
</tr> | ||
<tr> | ||
<td> | ||
|
||
Zoltán Herczeg<br/> | ||
`hzmester@freemail.hu`<br/> | ||
Currently of the University of Szeged, Hungary | ||
|
||
</td> | ||
<td> | ||
|
||
* Code maintenance | ||
* Ownership of `sljit` and PCRE2's JIT | ||
|
||
</td> | ||
</tr> | ||
</tbody> | ||
</table> | ||
|
||
|
||
CONTRIBUTORS | ||
------------ | ||
|
||
Many others have participated and contributed to PCRE2 over its history. | ||
|
||
The maintainers are grateful for all contributions and participation over the | ||
years. We apologise for any names we have forgotten. | ||
|
||
We are especially grateful to Philip Hazel, creator of PCRE and PCRE2, and | ||
maintainer from 1997 to 2024. | ||
|
||
All names listed alphabetically. | ||
|
||
### Contributors to PCRE2 | ||
|
||
This list is includes names up until the PCRE2 10.44 release. New names will be | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think "is" is not grammatically correct here There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. !! Well spotted, thanks. |
||
added from the Git history on each release. | ||
|
||
Scott Bell | ||
Carlo Marcelo Arenas Belón | ||
Edward Betts | ||
Jan-Willem Blokland | ||
Ross Burton | ||
Dmitry Cherniachenko | ||
Alexey Chupahin | ||
Jessica Clarke | ||
Alejandro Colomar | ||
Jeremie Courreges-Anglas | ||
Addison Crump | ||
Alex Dowad | ||
Daniel Engberg | ||
Daniel Richard G | ||
David Gaussmann | ||
Andrey Gorbachev | ||
Jordan Griege | ||
Jason Hood | ||
Bumsu Hyeon | ||
Roy Ivy | ||
Martin Joerg | ||
Guillem Jover | ||
Ralf Junker | ||
Ayesh Karunaratne | ||
Michael Kaufmann | ||
Yunho Kim | ||
Joshua Kinard | ||
David Korczynski | ||
Uwe Korn | ||
Jonas Kvinge | ||
Kristian Larsson | ||
Kai Lu | ||
Behzod Mansurov | ||
B. Scott Michel | ||
Nathan Moinvaziri | ||
Mike Munday | ||
Marc Mutz | ||
Fabio Pagani | ||
Christian Persch | ||
Tristan Ross | ||
William A Rowe Jr | ||
David Seifert | ||
Yaakov Selkowitz | ||
Rich Siegel | ||
Karl Skomski | ||
Maciej Sroczyński | ||
Wolfgang Stöggl | ||
Thomas Tempelmann | ||
Greg Thain | ||
Lucas Trzesniewski | ||
Theodore Tsirpanis | ||
Matthew Vernon | ||
Rémi Verschelde | ||
Thomas Voss | ||
Ezekiel Warren | ||
Carl Weaver | ||
Chris Wilson | ||
Amin Yahyaabadi | ||
Joe Zhang | ||
|
||
### Contributors to PCRE1 | ||
|
||
These people contributed either by sending patches or reporting serious issues. | ||
|
||
Irfan Adilovic | ||
Alexander Barkov | ||
Daniel Bergström | ||
David Burgess | ||
Ross Burton | ||
David Byron | ||
Fred Cox | ||
Christian Ehrlicher | ||
Tom Fortmann | ||
Lionel Fourquaux | ||
Mike Frysinger | ||
Daniel Richard G | ||
Dair Gran | ||
"Graycode" (Red Hat Product Security) | ||
Viktor Griph | ||
Wen Guanxing | ||
Robin Houston | ||
Martin Jerabek | ||
Peter Kankowski | ||
Stephen Kelly | ||
Yunho Kim | ||
Joshua Kinard | ||
Carsten Klein | ||
Evgeny Kotkov | ||
Ronald Landheer-Cieslak | ||
Alan Lehotsky | ||
Dmitry V. Levin | ||
Nuno Lopes | ||
Kai Lu | ||
Giuseppe Maxia | ||
Dan Mooney | ||
Marc Mutz | ||
Markus Oberhumer | ||
Sheri Pierce | ||
Petr Pisar | ||
Ari Pollak | ||
Bob Rossi | ||
Ruiger Rill | ||
Michael Shigorin | ||
Rich Siegel | ||
Craig Silverstein (C++ wrapper) | ||
Karl Skomski | ||
Paul Sokolovsky | ||
Stan Switzer | ||
Ian Taylor | ||
Mark Tetrode | ||
Jeff Trawick | ||
Steven Van Ingelgem | ||
Lawrence Velazquez | ||
Jiong Wang | ||
Stefan Weber | ||
Chris Wilson | ||
|
||
Thanks go to Jeffrey Friedl for testing and debugging assistance. |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,7 +19,7 @@ copy_file( | |
out = "src/pcre2_chartables.c", | ||
) | ||
|
||
# Removed src/pcre2_ucptables.c below because it is #included in | ||
# Removed src/pcre2_ucptables.c below because it is #included in | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ensured that Detrail is run on all files that are part of the output tarball (...except the files where we deliberately don't want to run it, eg CRLF files, and any/all tool outputs from autoconf). There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ideally I would like to see that ALL our files get I can see there might be a few exceptions (ex: test files that require explicit trailing blank characters), but even those could be exempted at the line number level IMHO. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We just have two nasty old |
||
# src/pcre2_tables.c. Also fixed typo: ckdint should be chkdint. | ||
# PH, 22-March-2023. | ||
cc_library( | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1259,13 +1259,25 @@ set(PCRE2_CONFIG_VERSION_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config-vers | |
configure_file(${PCRE2_CONFIG_VERSION_IN} ${PCRE2_CONFIG_VERSION_OUT} @ONLY) | ||
install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION cmake) | ||
|
||
file(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html) | ||
file(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html ${PROJECT_SOURCE_DIR}/doc/html/*.txt) | ||
file( | ||
GLOB txts | ||
${PROJECT_SOURCE_DIR}/doc/*.txt | ||
AUTHORS.md | ||
COPYING | ||
ChangeLog | ||
LICENCE.md | ||
NEWS | ||
README | ||
SECURITY.md | ||
) | ||
Comment on lines
+1262
to
+1273
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fixed discrepancy between |
||
file(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) | ||
file(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3) | ||
|
||
install(FILES ${man1} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) | ||
install(FILES ${man3} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3) | ||
install(FILES ${html} DESTINATION share/doc/pcre2/html) | ||
install(FILES ${txts} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/pcre2) | ||
install(FILES ${html} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/pcre2/html) | ||
|
||
if(MSVC AND INSTALL_MSVC_PDB) | ||
install(FILES ${DLL_PDB_FILES} DESTINATION bin CONFIGURATIONS RelWithDebInfo) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Annoyingly... the changes between Automake 1.15 and 1.16 turn out to be somewhat annoying, and it took several attempts to make my changes to Makefile.am. We didn't have an autoconf build on old Ubuntu, which would have helped me to catch the problems.