From 7acae6ff6dd9b2785c65bd74e234ec431ca97a96 Mon Sep 17 00:00:00 2001 From: David Ochner Date: Fri, 23 Aug 2024 08:10:12 +0200 Subject: [PATCH] Add rubygem-llhttp-ffi package --- comps/comps-foreman-el8.xml | 14 +-- comps/comps-foreman-el9.xml | 14 +-- comps/comps-foreman-plugins-el8.xml | 16 ++-- comps/comps-foreman-plugins-el9.xml | 14 +-- package_manifest.yaml | 1 + .../rubygem-llhttp-ffi/llhttp-ffi-0.5.0.gem | 1 + .../rubygem-llhttp-ffi.spec | 93 +++++++++++++++++++ 7 files changed, 125 insertions(+), 28 deletions(-) create mode 120000 packages/plugins/rubygem-llhttp-ffi/llhttp-ffi-0.5.0.gem create mode 100644 packages/plugins/rubygem-llhttp-ffi/rubygem-llhttp-ffi.spec diff --git a/comps/comps-foreman-el8.xml b/comps/comps-foreman-el8.xml index f9f1905c016..02feb02bf52 100644 --- a/comps/comps-foreman-el8.xml +++ b/comps/comps-foreman-el8.xml @@ -405,8 +405,8 @@ rubygem-google-apis-pubsub_v1-doc rubygem-google-apis-sqladmin_v1beta4-doc rubygem-google-apis-storage_v1-doc - rubygem-googleauth-doc rubygem-google-cloud-env-doc + rubygem-googleauth-doc rubygem-graphql-batch-doc rubygem-graphql-doc rubygem-gssapi-doc @@ -416,8 +416,8 @@ rubygem-highline-doc rubygem-hocon-doc rubygem-http-accept-doc - rubygem-httpclient-doc rubygem-http-cookie-doc + rubygem-httpclient-doc rubygem-i18n-doc rubygem-ipaddress-doc rubygem-journald-logger-doc @@ -444,12 +444,12 @@ rubygem-multi_json-doc rubygem-multipart-post-doc rubygem-mustermann-doc - rubygem-net_http_unix-doc rubygem-net-ldap-doc rubygem-net-ping-doc - rubygem-netrc-doc rubygem-net-scp-doc rubygem-net-ssh-doc + rubygem-net_http_unix-doc + rubygem-netrc-doc rubygem-nio4r-doc rubygem-nokogiri-doc rubygem-oauth-doc @@ -492,15 +492,15 @@ rubygem-roadie-doc rubygem-roadie-rails-doc rubygem-rsec-doc + rubygem-ruby-libvirt-doc rubygem-ruby2_keywords-doc rubygem-ruby2ruby-doc - rubygem-rubyipmi-doc - rubygem-ruby-libvirt-doc rubygem-ruby_parser-doc + rubygem-rubyipmi-doc rubygem-safemode-doc + rubygem-sass-rails-doc rubygem-sassc-doc rubygem-sassc-rails-doc - rubygem-sass-rails-doc rubygem-scoped_search-doc rubygem-sd_notify-doc rubygem-secure_headers-doc diff --git a/comps/comps-foreman-el9.xml b/comps/comps-foreman-el9.xml index 5b4b8cdc643..635259362f7 100644 --- a/comps/comps-foreman-el9.xml +++ b/comps/comps-foreman-el9.xml @@ -403,8 +403,8 @@ rubygem-google-apis-pubsub_v1-doc rubygem-google-apis-sqladmin_v1beta4-doc rubygem-google-apis-storage_v1-doc - rubygem-googleauth-doc rubygem-google-cloud-env-doc + rubygem-googleauth-doc rubygem-graphql-batch-doc rubygem-graphql-doc rubygem-gssapi-doc @@ -414,8 +414,8 @@ rubygem-highline-doc rubygem-hocon-doc rubygem-http-accept-doc - rubygem-httpclient-doc rubygem-http-cookie-doc + rubygem-httpclient-doc rubygem-i18n-doc rubygem-ipaddress-doc rubygem-journald-logger-doc @@ -442,12 +442,12 @@ rubygem-multi_json-doc rubygem-multipart-post-doc rubygem-mustermann-doc - rubygem-net_http_unix-doc rubygem-net-ldap-doc rubygem-net-ping-doc - rubygem-netrc-doc rubygem-net-scp-doc rubygem-net-ssh-doc + rubygem-net_http_unix-doc + rubygem-netrc-doc rubygem-nio4r-doc rubygem-nokogiri-doc rubygem-oauth-doc @@ -490,15 +490,15 @@ rubygem-roadie-doc rubygem-roadie-rails-doc rubygem-rsec-doc + rubygem-ruby-libvirt-doc rubygem-ruby2_keywords-doc rubygem-ruby2ruby-doc - rubygem-rubyipmi-doc - rubygem-ruby-libvirt-doc rubygem-ruby_parser-doc + rubygem-rubyipmi-doc rubygem-safemode-doc + rubygem-sass-rails-doc rubygem-sassc-doc rubygem-sassc-rails-doc - rubygem-sass-rails-doc rubygem-scoped_search-doc rubygem-sd_notify-doc rubygem-secure_headers-doc diff --git a/comps/comps-foreman-plugins-el8.xml b/comps/comps-foreman-plugins-el8.xml index a0583df0ff0..f99a995e702 100644 --- a/comps/comps-foreman-plugins-el8.xml +++ b/comps/comps-foreman-plugins-el8.xml @@ -141,6 +141,7 @@ rubygem-jquery-matchheight-rails rubygem-jsonpath rubygem-kubeclient + rubygem-llhttp-ffi rubygem-logify rubygem-mqtt rubygem-ms_rest @@ -237,6 +238,7 @@ rubygem-ffi-compiler-doc rubygem-fog-kubevirt-doc rubygem-fog-proxmox-doc + rubygem-foreman-tasks-doc rubygem-foreman_acd-doc rubygem-foreman_ansible-doc rubygem-foreman_azure_rm-doc @@ -270,7 +272,6 @@ rubygem-foreman_snapshot_management-doc rubygem-foreman_statistics-doc rubygem-foreman_supervisory_authority-doc - rubygem-foreman-tasks-doc rubygem-foreman_templates-doc rubygem-foreman_vault-doc rubygem-foreman_vmwareannotations-doc @@ -279,14 +280,14 @@ rubygem-fugit-doc rubygem-gapic-common-doc rubygem-git-doc - rubygem-googleapis-common-protos-doc - rubygem-googleapis-common-protos-types-doc rubygem-google-cloud-common-doc rubygem-google-cloud-compute-doc rubygem-google-cloud-compute-v1-doc rubygem-google-cloud-core-doc rubygem-google-cloud-errors-doc rubygem-google-protobuf-doc + rubygem-googleapis-common-protos-doc + rubygem-googleapis-common-protos-types-doc rubygem-graphite-api-doc rubygem-grpc-doc rubygem-hammer_cli_foreman_admin-doc @@ -305,24 +306,25 @@ rubygem-hammer_cli_foreman_tasks-doc rubygem-hammer_cli_foreman_templates-doc rubygem-hammer_cli_foreman_webhooks-doc - rubygem-httparty-doc rubygem-http-doc rubygem-http-form_data-doc rubygem-http_parser.rb-doc + rubygem-httparty-doc rubygem-infoblox-doc rubygem-interactor-doc rubygem-jgrep-doc rubygem-jquery-matchheight-rails-doc rubygem-jsonpath-doc rubygem-kubeclient-doc + rubygem-llhttp-ffi-doc rubygem-logify-doc rubygem-mqtt-doc - rubygem-ms_rest_azure-doc rubygem-ms_rest-doc + rubygem-ms_rest_azure-doc rubygem-multi_xml-doc - rubygem-netbox-client-ruby-doc rubygem-net-ssh-gateway-doc rubygem-net-ssh-multi-doc + rubygem-netbox-client-ruby-doc rubygem-newt-doc rubygem-openscap-doc rubygem-openscap_parser-doc @@ -343,6 +345,7 @@ rubygem-ruby-hmac-doc rubygem-ruby-nmap-doc rubygem-sentry-raven-doc + rubygem-smart-proxy-probing-doc rubygem-smart_proxy_acd-doc rubygem-smart_proxy_ansible-doc rubygem-smart_proxy_container_gateway-doc @@ -362,7 +365,6 @@ rubygem-smart_proxy_monitoring-doc rubygem-smart_proxy_omaha-doc rubygem-smart_proxy_openscap-doc - rubygem-smart-proxy-probing-doc rubygem-smart_proxy_pulp-doc rubygem-smart_proxy_realm_ad_plugin-doc rubygem-smart_proxy_remote_execution_ssh-doc diff --git a/comps/comps-foreman-plugins-el9.xml b/comps/comps-foreman-plugins-el9.xml index a0583df0ff0..11053d92978 100644 --- a/comps/comps-foreman-plugins-el9.xml +++ b/comps/comps-foreman-plugins-el9.xml @@ -237,6 +237,7 @@ rubygem-ffi-compiler-doc rubygem-fog-kubevirt-doc rubygem-fog-proxmox-doc + rubygem-foreman-tasks-doc rubygem-foreman_acd-doc rubygem-foreman_ansible-doc rubygem-foreman_azure_rm-doc @@ -270,7 +271,6 @@ rubygem-foreman_snapshot_management-doc rubygem-foreman_statistics-doc rubygem-foreman_supervisory_authority-doc - rubygem-foreman-tasks-doc rubygem-foreman_templates-doc rubygem-foreman_vault-doc rubygem-foreman_vmwareannotations-doc @@ -279,14 +279,14 @@ rubygem-fugit-doc rubygem-gapic-common-doc rubygem-git-doc - rubygem-googleapis-common-protos-doc - rubygem-googleapis-common-protos-types-doc rubygem-google-cloud-common-doc rubygem-google-cloud-compute-doc rubygem-google-cloud-compute-v1-doc rubygem-google-cloud-core-doc rubygem-google-cloud-errors-doc rubygem-google-protobuf-doc + rubygem-googleapis-common-protos-doc + rubygem-googleapis-common-protos-types-doc rubygem-graphite-api-doc rubygem-grpc-doc rubygem-hammer_cli_foreman_admin-doc @@ -305,10 +305,10 @@ rubygem-hammer_cli_foreman_tasks-doc rubygem-hammer_cli_foreman_templates-doc rubygem-hammer_cli_foreman_webhooks-doc - rubygem-httparty-doc rubygem-http-doc rubygem-http-form_data-doc rubygem-http_parser.rb-doc + rubygem-httparty-doc rubygem-infoblox-doc rubygem-interactor-doc rubygem-jgrep-doc @@ -317,12 +317,12 @@ rubygem-kubeclient-doc rubygem-logify-doc rubygem-mqtt-doc - rubygem-ms_rest_azure-doc rubygem-ms_rest-doc + rubygem-ms_rest_azure-doc rubygem-multi_xml-doc - rubygem-netbox-client-ruby-doc rubygem-net-ssh-gateway-doc rubygem-net-ssh-multi-doc + rubygem-netbox-client-ruby-doc rubygem-newt-doc rubygem-openscap-doc rubygem-openscap_parser-doc @@ -343,6 +343,7 @@ rubygem-ruby-hmac-doc rubygem-ruby-nmap-doc rubygem-sentry-raven-doc + rubygem-smart-proxy-probing-doc rubygem-smart_proxy_acd-doc rubygem-smart_proxy_ansible-doc rubygem-smart_proxy_container_gateway-doc @@ -362,7 +363,6 @@ rubygem-smart_proxy_monitoring-doc rubygem-smart_proxy_omaha-doc rubygem-smart_proxy_openscap-doc - rubygem-smart-proxy-probing-doc rubygem-smart_proxy_pulp-doc rubygem-smart_proxy_realm_ad_plugin-doc rubygem-smart_proxy_remote_execution_ssh-doc diff --git a/package_manifest.yaml b/package_manifest.yaml index ef9449b9ab7..f90f4c322a7 100644 --- a/package_manifest.yaml +++ b/package_manifest.yaml @@ -670,6 +670,7 @@ foreman_plugin_packages_tier2: rubygem-foreman_webhooks: {} rubygem-foreman_vmwareannotations: {} rubygem-foreman_wreckingball: {} + rubygem-llhttp-ffi: {} rubygem-puppetdb_foreman: {} fdi_plugin_packages: diff --git a/packages/plugins/rubygem-llhttp-ffi/llhttp-ffi-0.5.0.gem b/packages/plugins/rubygem-llhttp-ffi/llhttp-ffi-0.5.0.gem new file mode 120000 index 00000000000..2b253b998ea --- /dev/null +++ b/packages/plugins/rubygem-llhttp-ffi/llhttp-ffi-0.5.0.gem @@ -0,0 +1 @@ +../../../.git/annex/objects/2Q/MX/SHA256E-s100864--496f40ad44bcbf99de02da1f26b1ad64e6593cd487b931508a86228e2a3af0fa.0.gem/SHA256E-s100864--496f40ad44bcbf99de02da1f26b1ad64e6593cd487b931508a86228e2a3af0fa.0.gem \ No newline at end of file diff --git a/packages/plugins/rubygem-llhttp-ffi/rubygem-llhttp-ffi.spec b/packages/plugins/rubygem-llhttp-ffi/rubygem-llhttp-ffi.spec new file mode 100644 index 00000000000..69ee9bf2756 --- /dev/null +++ b/packages/plugins/rubygem-llhttp-ffi/rubygem-llhttp-ffi.spec @@ -0,0 +1,93 @@ +# template: default +# +# PLEASE UPDATE WITH CARE! +# The directory structure is very special and +# does not really align with any other package +# +%global gem_name llhttp-ffi +%global gem_require_name llhttp +%global debug_package %{nil} + +Name: rubygem-%{gem_name} +Version: 0.5.0 +Release: 1%{?dist} +Summary: Ruby FFI bindings for llhttp +License: MPL-2.0 +URL: https://github.com/bryanp/llhttp/ +Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem + +# start specfile generated dependencies +Requires: ruby >= 2.5.0 +BuildRequires: ruby-devel >= 2.5.0 +BuildRequires: rubygems-devel +BuildRequires: (rubygem(ffi-compiler) >= 1.0 with rubygem(ffi-compiler) < 2) +BuildRequires: (rubygem(rake) >= 13.0 with rubygem(rake) < 14) +# Compiler is required for build of gem binary extension. +# https://fedoraproject.org/wiki/Packaging:C_and_C++#BuildRequires_and_Requires +BuildRequires: gcc +# end specfile generated dependencies + +%description +Ruby FFI bindings for llhttp. + + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description doc +Documentation for %{name}. + +%prep +%setup -q -n %{gem_name}-%{version} + +%build +# Create the gem as gem install only works on a gem file +gem build ../%{gem_name}-%{version}.gemspec + +# %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir +# by default, so that we can move it into the buildroot in %%install +%gem_install + +%install +mkdir -p %{buildroot}%{gem_dir} +cp -a .%{gem_dir}/* \ + %{buildroot}%{gem_dir}/ + +mkdir -p %{buildroot}%{gem_extdir_mri}/%{gem_name} +cp -a .%{gem_extdir_mri}/gem.build_complete %{buildroot}%{gem_extdir_mri}/ +cp -a %{buildroot}%{gem_instdir}/ext/%{_arch}-%{_target_os}/*.so %{buildroot}%{gem_extdir_mri}/%{gem_name} + +# Prevent dangling symlink in -debuginfo (rhbz#878863). +#rm -rf %{buildroot}%{gem_instdir}/ext/ + +%check +# Ideally, this would be something like this: +# GEM_PATH="%{buildroot}%{gem_dir}:$GEM_PATH" ruby -e "require '%{gem_require_name}'" +# But that fails to find native extensions on EL8, so we fake the structure that ruby expects +mkdir gem_ext_test +cp -a %{buildroot}%{gem_dir} gem_ext_test/ +mkdir -p gem_ext_test/gems/extensions/%{_arch}-%{_target_os}/$(ruby -r rbconfig -e 'print RbConfig::CONFIG["ruby_version"]')/ +cp -a %{buildroot}%{gem_extdir_mri} gem_ext_test/gems/extensions/%{_arch}-%{_target_os}/$(ruby -r rbconfig -e 'print RbConfig::CONFIG["ruby_version"]')/ +GEM_PATH="./gem_ext_test/gems:$GEM_PATH" ruby -e "require '%{gem_require_name}'" +rm -rf gem_ext_test + +%files +%dir %{gem_instdir} +%{gem_extdir_mri} +%license %{gem_instdir}/LICENSE +%{gem_instdir}/ext +%{gem_libdir} +%exclude %{gem_cache} +%{gem_spec} + +%files doc +%doc %{gem_docdir} +%doc %{gem_instdir}/CHANGELOG.md +%doc %{gem_instdir}/README.md + +%changelog +* Fri Aug 23 2024 0.5.0-1 +- Add rubygem-llhttp-ffi generated by gem2rpm using the default template +