From 6c1ae98825f47f05568f87e60da9df4cf3e67d91 Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Mon, 7 Oct 2024 14:52:32 -0500 Subject: [PATCH] Added nghttp2 dependency in preparation for apache/php-fpm/http2 Ticket: ENT-11440 Changelog: title --- README.md | 1 + build-scripts/compile-options | 2 +- deps-packaging/nghttp2/cfbuild-nghttp2.spec | 67 +++++++++++++++++++ .../debian/cfbuild-nghttp2-devel.install | 2 + .../nghttp2/debian/cfbuild-nghttp2.install | 1 + deps-packaging/nghttp2/debian/compat | 1 + deps-packaging/nghttp2/debian/control | 18 +++++ deps-packaging/nghttp2/debian/copyright | 0 deps-packaging/nghttp2/debian/rules | 50 ++++++++++++++ deps-packaging/nghttp2/distfiles | 1 + deps-packaging/nghttp2/source | 1 + deps-packaging/release-monitoring.json | 1 + 12 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 deps-packaging/nghttp2/cfbuild-nghttp2.spec create mode 100644 deps-packaging/nghttp2/debian/cfbuild-nghttp2-devel.install create mode 100644 deps-packaging/nghttp2/debian/cfbuild-nghttp2.install create mode 100644 deps-packaging/nghttp2/debian/compat create mode 100644 deps-packaging/nghttp2/debian/control create mode 100644 deps-packaging/nghttp2/debian/copyright create mode 100644 deps-packaging/nghttp2/debian/rules create mode 100644 deps-packaging/nghttp2/distfiles create mode 100644 deps-packaging/nghttp2/source diff --git a/README.md b/README.md index cdcf34f27..974052478 100644 --- a/README.md +++ b/README.md @@ -154,6 +154,7 @@ File `install-dependencies` and the relevant subdirectories in `deps-packaging` | [apr-util](https://apr.apache.org/) | 1.6.3 | 1.6.3 | 1.6.3 | | [Git](https://www.kernel.org/pub/software/scm/git/) | 2.47.0 | 2.47.0 | 2.47.0 | | [libexpat](https://libexpat.github.io/) | - | 2.6.3 | 2.6.3 | +| [nghttp2](https://nghttp2.opg/) | - | - | 1.62.1 | | [PHP](http://php.net/) | 8.3.12 | 8.3.12 | 8.3.12 | | [PostgreSQL](http://www.postgresql.org/) | 15.8 | 16.4 | 17.0 | | [rsync](https://download.samba.org/pub/rsync/) | 3.3.0 | 3.3.0 | 3.3.0 | diff --git a/build-scripts/compile-options b/build-scripts/compile-options index 11b091805..2efea9b64 100644 --- a/build-scripts/compile-options +++ b/build-scripts/compile-options @@ -208,7 +208,7 @@ case "$ROLE" in # HUB-ONLY dependencies hub) var_append DEPS "libcurl-hub" - var_append DEPS "libexpat apr apr-util apache git rsync" + var_append DEPS "nghttp2 libexpat apr apr-util apache git rsync" var_append DEPS "postgresql php" ;; # AGENT-ONLY dependencies diff --git a/deps-packaging/nghttp2/cfbuild-nghttp2.spec b/deps-packaging/nghttp2/cfbuild-nghttp2.spec new file mode 100644 index 000000000..07aeb11e6 --- /dev/null +++ b/deps-packaging/nghttp2/cfbuild-nghttp2.spec @@ -0,0 +1,67 @@ +%define nghttp2_version 1.62.1 + +Summary: CFEngine Build Automation -- nghttp2 +Name: cfbuild-nghttp2 +Version: %{version} +Release: 1 +Source0: nghttp2-%{nghttp2_version}.tar.xz +License: MIT +Group: Other +Url: nghttp2.org +BuildRoot: %{_topdir}/BUILD/%{name}-%{version}-%{release}-buildroot + +AutoReqProv: no + +%define prefix %{buildprefix} +%prep +mkdir -p %{_builddir} +%setup -q -n nghttp2-%{nghttp2_version} + +./configure --prefix=%{prefix} + +%build + +make + +%install + +rm -rf ${RPM_BUILD_ROOT} + +make install DESTDIR=${RPM_BUILD_ROOT} + +# Remove unused files +rm -rf ${RPM_BUILD_ROOT}%{prefix}/lib/libnghttp2.*a +rm -rf ${RPM_BUILD_ROOT}%{prefix}/share/doc/nghttp2/README.rst +rm -rf ${RPM_BUILD_ROOT}%{prefix}/share/man/man1/h2load.1 +rm -rf ${RPM_BUILD_ROOT}%{prefix}/share/man/man1/nghttp* +rm -rf ${RPM_BUILD_ROOT}%{prefix}/share/nghttp2/fetch-ocsp-response + +%clean + +rm -rf $RPM_BUILD_ROOT + +%package devel +Summary: CFEngine Build Automation -- nghttp2 -- development files +Group: Other +AutoReqProv: no + +%description +CFEngine Build Automation -- nghttp2 + +%description devel +CFEngine Build Automation -- nghttp2 -- development files + +%files +%defattr(-,root,root) + +%dir %prefix/lib +%prefix/lib/*.so* + +%files devel +%defattr(-,root,root) + +%prefix/include +%dir %prefix/lib +%prefix/lib/pkgconfig + +%changelog diff --git a/deps-packaging/nghttp2/debian/cfbuild-nghttp2-devel.install b/deps-packaging/nghttp2/debian/cfbuild-nghttp2-devel.install new file mode 100644 index 000000000..96c4b3019 --- /dev/null +++ b/deps-packaging/nghttp2/debian/cfbuild-nghttp2-devel.install @@ -0,0 +1,2 @@ +/var/cfengine/include +/var/cfengine/lib/pkgconfig diff --git a/deps-packaging/nghttp2/debian/cfbuild-nghttp2.install b/deps-packaging/nghttp2/debian/cfbuild-nghttp2.install new file mode 100644 index 000000000..d47339c9d --- /dev/null +++ b/deps-packaging/nghttp2/debian/cfbuild-nghttp2.install @@ -0,0 +1 @@ +/var/cfengine/lib/*.so* diff --git a/deps-packaging/nghttp2/debian/compat b/deps-packaging/nghttp2/debian/compat new file mode 100644 index 000000000..f599e28b8 --- /dev/null +++ b/deps-packaging/nghttp2/debian/compat @@ -0,0 +1 @@ +10 diff --git a/deps-packaging/nghttp2/debian/control b/deps-packaging/nghttp2/debian/control new file mode 100644 index 000000000..778b59ddc --- /dev/null +++ b/deps-packaging/nghttp2/debian/control @@ -0,0 +1,18 @@ +Source: cfbuild-nghttp2 +Section: libs +Priority: optional +Maintainer: CFEngine Packages +Build-Depends: debhelper +Standard-Version: 3.8.4 + +Package: cfbuild-nghttp2 +Section: libs +Architecture: any +Description: CFEngine Build Automation -- nghttp2 + CFEngine Build Automation -- nghttp2 + +Package: cfbuild-nghttp2-devel +Section: libdevel +Architecture: any +Desciption: CFEngine Build Automation -- cfbuild-nghttp2-devel + CFEngine Build Automation -- cfbuild-nghttp2-devel diff --git a/deps-packaging/nghttp2/debian/copyright b/deps-packaging/nghttp2/debian/copyright new file mode 100644 index 000000000..e69de29bb diff --git a/deps-packaging/nghttp2/debian/rules b/deps-packaging/nghttp2/debian/rules new file mode 100644 index 000000000..cf106c36b --- /dev/null +++ b/deps-packaging/nghttp2/debian/rules @@ -0,0 +1,50 @@ +#!/usr/bin/make -f +PREFIX=$(BUILDPREFIX) + +clean: + dh_testdir + dh_testroot + + dh_clean + +build: build-stamp +build-stamp: + dh_testdir + + ./configure --prefix=$(PREFIX) + + make + + touch build-stamp + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp + + rm -rf $(CURDIR)/debian/tmp$(PREFIX)/lib/libnghttp2.*a + rm -rf $(CURDIR)/debian/tmp$(PREFIX)/share/doc/nghttp2/README.rst + rm -rf $(CURDIR)/debian/tmp$(PREFIX)/share/man/man1/h2load.1 + rm -rf $(CURDIR)/debian/tmp$(PREFIX)/share/man/man1/nghttp* + rm -rf $(CURDIR)/debian/tmp$(PREFIX)/share/nghttp2 + +binary-indep: build install + +binary-arch: build install + dh_testdir + dh_testroot + dh_install --sourcedir=debian/tmp + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/deps-packaging/nghttp2/distfiles b/deps-packaging/nghttp2/distfiles new file mode 100644 index 000000000..ab9b85cef --- /dev/null +++ b/deps-packaging/nghttp2/distfiles @@ -0,0 +1 @@ +2345d4dc136fda28ce243e0bb21f2e7e8ef6293d62c799abbf6f633a6887af72 nghttp2-1.62.1.tar.xz diff --git a/deps-packaging/nghttp2/source b/deps-packaging/nghttp2/source new file mode 100644 index 000000000..bbdbefacd --- /dev/null +++ b/deps-packaging/nghttp2/source @@ -0,0 +1 @@ +https://github.com/nghttp2/nghttp2/releases/download/v1.62.1/ diff --git a/deps-packaging/release-monitoring.json b/deps-packaging/release-monitoring.json index 29a79f3a7..e9191f6ee 100644 --- a/deps-packaging/release-monitoring.json +++ b/deps-packaging/release-monitoring.json @@ -14,6 +14,7 @@ "libxml2":"1783", "libyaml":"13522", "lmdb":"6974", + "nghttp2":"8651", "openldap":"2551", "openssl":"2566", "pcre2":"5832",