From 01ce737e244e9f858efa30e1d3799d911f0cbe94 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Thu, 25 Apr 2024 16:11:17 -0700 Subject: [PATCH 01/45] Reapply "Upgrading ocaml to 5.1.1, promoting annobin and updating llvm" (#8910) This reverts commit b6706d79c6876ec144a6f5e3e1e9fe88a0d17f62. --- .../annobin/annobin.signatures.json | 5 - SPECS/annobin/annobin.signatures.json | 5 + .../annobin/annobin.spec | 386 +++++++--- SPECS/llvm/llvm.spec | 13 +- .../0001-Don-t-add-rpaths-to-libraries.patch | 41 +- ...-Allow-user-defined-C-compiler-flags.patch | 39 +- ...ters-tests-to-avoid-false-positive-w.patch | 694 ++++++++++++++++++ ...-stack-reallocation-code-in-PIC-mode.patch | 24 + SPECS/ocaml/macros.ocaml-rpm | 69 ++ SPECS/ocaml/ocaml.signatures.json | 4 +- SPECS/ocaml/ocaml.spec | 391 +++++++--- SPECS/ocaml/ocaml_files.py | 451 ++++++++++++ cgmanifest.json | 8 +- 13 files changed, 1880 insertions(+), 250 deletions(-) delete mode 100644 SPECS-EXTENDED/annobin/annobin.signatures.json create mode 100644 SPECS/annobin/annobin.signatures.json rename {SPECS-EXTENDED => SPECS}/annobin/annobin.spec (74%) create mode 100644 SPECS/ocaml/0003-Update-framepointers-tests-to-avoid-false-positive-w.patch create mode 100644 SPECS/ocaml/0004-Fix-s390x-stack-reallocation-code-in-PIC-mode.patch create mode 100644 SPECS/ocaml/macros.ocaml-rpm create mode 100644 SPECS/ocaml/ocaml_files.py diff --git a/SPECS-EXTENDED/annobin/annobin.signatures.json b/SPECS-EXTENDED/annobin/annobin.signatures.json deleted file mode 100644 index 9cc241912eb..00000000000 --- a/SPECS-EXTENDED/annobin/annobin.signatures.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "Signatures": { - "annobin-9.27.tar.xz": "1d94816974d265f3f3ccfa03c211bfdab40119392f2e217f0f403f683f027351" - } -} diff --git a/SPECS/annobin/annobin.signatures.json b/SPECS/annobin/annobin.signatures.json new file mode 100644 index 00000000000..409020db434 --- /dev/null +++ b/SPECS/annobin/annobin.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "annobin-12.49.tar.xz": "991660e75fa3314537cc3f5d4653265b60e46f2015dce026eacaa57878cbfbab" + } +} diff --git a/SPECS-EXTENDED/annobin/annobin.spec b/SPECS/annobin/annobin.spec similarity index 74% rename from SPECS-EXTENDED/annobin/annobin.spec rename to SPECS/annobin/annobin.spec index 1f9e27acef5..ee4fc6d396b 100644 --- a/SPECS-EXTENDED/annobin/annobin.spec +++ b/SPECS/annobin/annobin.spec @@ -1,62 +1,151 @@ -Vendor: Microsoft Corporation -Distribution: Azure Linux - Name: annobin Summary: Binary annotation plugin for GCC -Version: 9.27 -Release: 4%{?dist} -License: GPLv3+ -URL: https://fedoraproject.org/wiki/Toolchain/Watermark +Version: 12.49 +Release: 1%{?dist} +License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later +Vendor: Microsoft Corporation +Distribution: Azure Linux +URL: https://sourceware.org/annobin/ # Maintainer: nickc@redhat.com +# Web Page: https://sourceware.org/annobin/ +# Watermark Protocol: https://fedoraproject.org/wiki/Toolchain/Watermark +#--------------------------------------------------------------------------------- -# # Do not build the annobin plugin with annotation enabled. -# # This is because if we are bootstrapping a new build environment we can have -# # a new version of gcc installed, but without a new of annobin installed. -# # (i.e. we are building the new version of annobin to go with the new version -# # of gcc). If the *old* annobin plugin is used whilst building this new -# # version, the old plugin will complain that version of gcc for which it -# # was built is different from the version of gcc that is now being used, and -# # then it will abort. -# -# Suppress this for BZ 1630550. -# The problem should now only arise when rebasing to a new major version -# of gcc, in which case the undefine below can be temporarily reinstated. +# Set this to zero to disable the requirement for a specific version of gcc. +# This should only be needed if there is some kind of problem with the version +# checking logic or when building on RHEL-7 or earlier. # -# %%undefine _annotated_build - -# Use "--without tests" to disable the testsuite. The default is to run them. -%bcond_without tests +# Update: now that we have gcc version checking support in redhat-rpm-config +# there is no longer a great need for a hard gcc version check here. Not +# enabling this check greatly simplifies the process of installing a new major +# version of gcc into the buildroot. +%global with_hard_gcc_version_requirement 0 -# Use "--without annocheck" to disable the installation of the annocheck program. -%bcond_without annocheck +#--------------------------------------------------------------------------------- -# Use "--with debuginfod" to force support for debuginfod to be compiled into -# the annocheck program. By default the configure script will check for -# availablilty at build time, but this might not match the run time situation. -%bcond_with debuginfod +%global annobin_sources annobin-%{version}.tar.xz +Source: https://nickc.fedorapeople.org/%{annobin_sources} +# For the latest sources use: git clone git://sourceware.org/git/annobin.git -# Set this to zero to disable the requirement for a specific version of gcc. -# This should only be needed if there is some kind of problem with the version -# checking logic or when building on RHEL-7 or earlier. -%global with_hard_gcc_version_requirement 1 +# This is where a copy of the sources will be installed. +%global annobin_source_dir %{_usrsrc}/annobin -# Enable this if it is necessary to build annobin without using annobin. -# This is useful for example if the annobin plugin fails because of a change -# in the size of gcc's global_options structure. In order to rebuild annobin -# against the changed gcc it is necessary to disable annobin as otherwise -# the configuration step of annobin's build will fail. -%undefine _annotated_build +# Insert patches here, if needed. Eg: +# Patch01: annobin-plugin-default-string-notes.patch #--------------------------------------------------------------------------------- -Source: https://nickc.fedorapeople.org/annobin-%{version}.tar.xz -# For the latest sources use: git clone git://sourceware.org/git/annobin.git -# Insert patches here, if needed. -# Patch01: annobin-xxx.patch +# Make sure that the necessary sub-packages are built. + +Requires: %{name}-plugin-gcc +Requires: %{name}-plugin-llvm +Requires: %{name}-plugin-clang #--------------------------------------------------------------------------------- +%description +This package contains the tools needed to annotate binary files created by +compilers, and also the tools needed to examine those annotations. + +One of the tools is a plugin for GCC that records information about the +security options that were in effect when the binary was compiled. + +Note - the plugin is automatically enabled in gcc builds via flags +provided by the redhat-rpm-macros package. + +One of the tools is a plugin for Clang that records information about the +security options that were in effect when the binary was compiled. + +One of the tools is a plugin for LLVM that records information about the +security options that were in effect when the binary was compiled. + +One of the tools is a security checker which analyses the notes present in +annotated files and reports on any missing security options. + + +#--------------------------------------------------------------------------- + +# Now that we have sub-packages for all of the plugins and for annocheck, +# there are no executables left to go into the "annobin" rpm. But top-level +# packages cannot have "BuildArch: noarch" if sub-packages do have +# architecture requirements, and rpmlint generates an error if an +# architecture specific rpm does not contain any binaries. So instead all of +# the documentation has been moved into an architecture neutral sub-package, +# and there no longer is a top level annobin rpm at all. + +%package docs +Summary: Documentation and shell scripts for use with annobin +BuildArch: noarch +# The documentation uses pod2man... +BuildRequires: perl-interpreter +BuildRequires: perl-podlators +BuildRequires: gawk +BuildRequires: make +BuildRequires: sharutils + +%description docs +Provides the documentation files and example shell scripts for use with annobin. + +#---------------------------------------------------------------------------- +%package tests +Summary: Test scripts and binaries for checking the behaviour and output of the annobin plugin +Requires: %{name}-docs = %{version}-%{release} +BuildRequires: make +BuildRequires: sharutils +BuildRequires: elfutils-devel + +%description tests +Provides a means to test the generation of annotated binaries and the parsing +of the resulting files. + +#---------------------------------------------------------------------------- + +%package annocheck +Summary: A tool for checking the security hardening status of binaries + +BuildRequires: gcc +BuildRequires: elfutils +BuildRequires: elfutils-devel +BuildRequires: elfutils-libelf-devel +BuildRequires: rpm-devel +BuildRequires: make + +Requires: %{name}-docs = %{version}-%{release} +Requires: cpio +Requires: rpm + +%description annocheck +Installs the annocheck program which uses the notes generated by annobin to +check that the specified files were compiled with the correct security +hardening options. + +%package libannocheck +Summary: A library for checking the security hardening status of binaries + +BuildRequires: gcc +BuildRequires: elfutils +BuildRequires: elfutils-devel +BuildRequires: elfutils-libelf-devel +BuildRequires: rpm-devel +BuildRequires: make + +Requires: %{name}-docs = %{version}-%{release} + +%description libannocheck +Installs the libannocheck library which uses the notes generated by the +annobin plugins to check that the specified files were compiled with the +correct security hardening options. + +#---------------------------------------------------------------------------- +%package plugin-gcc +Summary: annobin gcc plugin + +Requires: %{name}-docs = %{version}-%{release} +Conflicts: %{name} <= 9.60-1 +BuildRequires: gcc-c++ +BuildRequires: gcc-plugin-devel + # [Stolen from gcc-python-plugin] # GCC will only load plugins that were built against exactly that build of GCC # We thus need to embed the exact GCC version as a requirement within the @@ -72,37 +161,29 @@ Source: https://nickc.fedorapeople.org/annobin-%{version}.tar.xz # # So we instead query the version from gcc's output. # -# gcc.spec has: -# Version: %%{gcc_version} -# Release: %%{gcc_release}%%{?dist} -# ...snip... -# echo 'Red Hat %%{version}-%%{gcc_release}' > gcc/DEV-PHASE -# # So, given this output: # -# $ gcc --version -# gcc (GCC) 9.1.0 -# Copyright (C) 2011 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# gcc (GCC) 13.2.0" +# Copyright (C) 2023 Free Software Foundation, Inc." +# This is free software; see the source for copying conditions. There is NO" +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # -# we can scrape out the "9.1.0" from the version line. +# we can scrape out the "13.2.0" from the version line. # # The following implements the above: -%global gcc_vr %(gcc --version | head -n 1 | cut -f3 -d" ") +%global gcc_vr %(gcc --version | head -n 1 | sed -e 's|.*(GCC)||g') # We need the major version of gcc. %global gcc_major %(echo "%{gcc_vr}" | cut -f1 -d".") %global gcc_next %(v="%{gcc_major}"; echo $((++v))) # Needed when building the srpm. -%if 0%{?gcc_major} -%else +%if "0%{?gcc_major}" == "0" %global gcc_major 0 %endif -# This is a gcc plugin, hence gcc is required. +# For a gcc plugin gcc is required. %if %{with_hard_gcc_version_requirement} # BZ 1607430 - There is an exact requirement on the major version of gcc. Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next}) @@ -110,49 +191,54 @@ Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next}) Requires: gcc %endif -BuildRequires: gcc gcc-plugin-devel gcc-c++ - -%description -Provides a plugin for GCC that records extra information in the files -that it compiles. +# Information about the gcc plugin is recorded in this file. +%global aver annobin-plugin-version-info -Note - the plugin is automatically enabled in gcc builds via flags -provided by the redhat-rpm-macros package. +%description plugin-gcc +Installs an annobin plugin that can be used by gcc. #--------------------------------------------------------------------------------- -%if %{with tests} - -%package tests -Summary: Test scripts and binaries for checking the behaviour and output of the annobin plugin +%package plugin-llvm +Summary: annobin llvm plugin -%description tests -Provides a means to test the generation of annotated binaries and the parsing -of the resulting files. +Requires: %{name}-docs = %{version}-%{release} +Requires: llvm +Conflicts: %{name} <= 9.60-1 +BuildRequires: clang +BuildRequires: clang-devel +BuildRequires: compiler-rt +BuildRequires: llvm +BuildRequires: llvm-devel -%endif +%description plugin-llvm +Installs an annobin plugin that can be used by LLVM tools. #--------------------------------------------------------------------------------- -%if %{with annocheck} - -%package annocheck -Summary: A tool for checking the security hardening status of binaries -BuildRequires: gcc elfutils elfutils-devel elfutils-libelf-devel rpm-devel binutils-devel -%if %{with debuginfod} -BuildRequires: elfutils-debuginfod-client-devel -%endif +%package plugin-clang +Summary: annobin clang plugin -%description annocheck -Installs the annocheck program which uses the notes generated by annobin to -check that the specified files were compiled with the correct security -hardening options. +Requires: %{name}-docs = %{version}-%{release} +Requires: llvm +Conflicts: %{name} <= 9.60-1 +BuildRequires: clang +BuildRequires: clang-devel +BuildRequires: compiler-rt +BuildRequires: llvm +BuildRequires: llvm-devel -%endif +%description plugin-clang +Installs an annobin plugin that can be used by Clang. #--------------------------------------------------------------------------------- +# Decide where the plugins will live. Change if necessary. + %global ANNOBIN_GCC_PLUGIN_DIR %(gcc --print-file-name=plugin) +%{!?llvm_plugin_dir:%global llvm_plugin_dir %{_libdir}/llvm/plugins} +%{!?clang_plugin_dir:%global clang_plugin_dir %{_libdir}/clang/plugins} + #--------------------------------------------------------------------------------- %prep @@ -176,79 +262,143 @@ touch doc/annobin.info #--------------------------------------------------------------------------------- %build +CONFIG_ARGS="$CONFIG_ARGS --quiet --with-debuginfod --with-clang --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR} --with-llvm" -CONFIG_ARGS= +export CFLAGS="$CFLAGS -DAARCH64_BRANCH_PROTECTION_SUPPORTED=1" -%if %{with debuginfod} -CONFIG_ARGS="$CONFIG_ARGS --with-debuginfod" -%else -CONFIG_ARGS="$CONFIG_ARGS --without-debuginfod" +%set_build_flags + +export CFLAGS="$CFLAGS $RPM_OPT_FLAGS %build_cflags" +export LDFLAGS="$LDFLAGS %build_ldflags" + +export PLUGIN_FORTIFY_OPTION="-D_FORTIFY_SOURCE=3" + +# Set target-specific security options to be used when building the +# Clang and LLVM plugins. FIXME: There should be a better way to do +# this. +%ifarch %{ix86} x86_64 +export CLANG_TARGET_OPTIONS="-fcf-protection" %endif -%if %{without tests} -CONFIG_ARGS="$CONFIG_ARGS --without-test" +%ifarch aarch64 +export CLANG_TARGET_OPTIONS="-mbranch-protection=standard" %endif -%configure --quiet --with-gcc-plugin-dir=%{ANNOBIN_GCC_PLUGIN_DIR} ${CONFIG_ARGS} || cat config.log +CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" CXXFLAGS="$CFLAGS" %configure ${CONFIG_ARGS} || cat config.log %make_build -# Rebuild the plugin, this time using the plugin itself! This +# Rebuild the plugin(s), this time using the plugin itself! This # ensures that the plugin works, and that it contains annotations -# of its own. This could mean that we end up with a plugin with -# double annotations in it. (If the build system enables annotations -# for plugins by default). I have not tested this yet, but I think -# that it should be OK. +# of its own. + cp gcc-plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so make -C gcc-plugin clean -BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so -fplugin-arg-tmp_annobin-rename" -# If building on RHEL7, enable the next option as the .attach_to_group assembler pseudo op is not available in the assembler. +BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so" + +OPTS="$(rpm --undefine=_annotated_build --eval '%build_cflags %build_ldflags')" + +# If building on systems with an assembler that does not support the +# .attach_to_group pseudo op (eg RHEL-7) then enable the next line. # BUILD_FLAGS="$BUILD_FLAGS -fplugin-arg-tmp_annobin-no-attach" -make -C gcc-plugin CXXFLAGS="%{optflags} $BUILD_FLAGS" + +make -C gcc-plugin CXXFLAGS="$OPTS $BUILD_FLAGS" rm %{_tmppath}/tmp_annobin.so +cp clang-plugin/annobin-for-clang.so %{_tmppath}/tmp_annobin.so +# To enable verbose more in the plugin append the following: ANNOBIN="verbose" +make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" + +cp llvm-plugin/annobin-for-llvm.so %{_tmppath}/tmp_annobin.so +# To enable verbose more in the plugin append the following: ANNOBIN_VERBOSE="true" +make -C llvm-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" + #--------------------------------------------------------------------------------- %install -%make_install -%{__rm} -f %{buildroot}%{_infodir}/dir + +# PLUGIN_INSTALL_DIR is used by the Clang and LLVM makefiles... +%make_install PLUGIN_INSTALL_DIR=%{buildroot}/%{llvm_plugin_dir} + +# Move the clang plugin to a seperate directory. +mkdir -p %{buildroot}/%{clang_plugin_dir} +mv %{buildroot}/%{llvm_plugin_dir}/annobin-for-clang.so %{buildroot}/%{clang_plugin_dir} + +# Record the version of gcc that built this plugin. +# Note - we cannot just store %%{gcc_vr} as sometimes the gcc rpm version changes +# without the NVR being altered. See BZ #2030671 for more discussion on this. +mkdir -p %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR} +echo "%{gcc_vr}" > %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver} + +# Also install a copy of the sources into the build tree. +mkdir -p %{buildroot}%{annobin_source_dir} +cp %{_sourcedir}/%{annobin_sources} %{buildroot}%{annobin_source_dir}/latest-annobin.tar.xz + +rm -f %{buildroot}%{_infodir}/dir #--------------------------------------------------------------------------------- -%if %{with tests} %check -# Change the following line to "make check || :" on RHEL7 or if you need to see the -# test suite logs in order to diagnose a test failure. -make check +# The first "make check" is run with "|| :" so that we can capture any logs +# from failed tests. The second "make check" is there so that the build +# will fail if any of the tests fail. +make check || : if [ -f tests/test-suite.log ]; then cat tests/test-suite.log fi -%endif +# If necessary use uuencode to preserve test binaries here. For example: +# uuencode tests/tmp_atexit/atexit.strip atexit.strip + +make check #--------------------------------------------------------------------------------- -%files -%{ANNOBIN_GCC_PLUGIN_DIR} +%files docs %license COPYING3 LICENSE %exclude %{_datadir}/doc/annobin-plugin/COPYING3 %exclude %{_datadir}/doc/annobin-plugin/LICENSE %doc %{_datadir}/doc/annobin-plugin/annotation.proposal.txt %{_infodir}/annobin.info* %{_mandir}/man1/annobin.1* -%{_mandir}/man1/built-by.1* -%{_mandir}/man1/check-abi.1* -%{_mandir}/man1/hardened.1* -%{_mandir}/man1/run-on-binaries-in.1* +%exclude %{_mandir}/man1/built-by.1* +%exclude %{_mandir}/man1/check-abi.1* +%exclude %{_mandir}/man1/hardened.1* +%exclude %{_mandir}/man1/run-on-binaries-in.1* + +%files plugin-llvm +%dir %{llvm_plugin_dir} +%{llvm_plugin_dir}/annobin-for-llvm.so + +%files plugin-clang +%dir %{clang_plugin_dir} +%{clang_plugin_dir}/annobin-for-clang.so + +%files plugin-gcc +%dir %{ANNOBIN_GCC_PLUGIN_DIR} +%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so +%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0 +%{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0.0.0 +%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver} +%{annobin_source_dir}/latest-annobin.tar.xz -%if %{with annocheck} %files annocheck %{_bindir}/annocheck %{_mandir}/man1/annocheck.1* -%endif + +%files libannocheck +%{_includedir}/libannocheck.h +%{_libdir}/libannocheck.* +%{_libdir}/pkgconfig/libannocheck.pc #--------------------------------------------------------------------------------- %changelog +* Fri Mar 08 2024 Mykhailo Bykhovtsev - 12.40-1 +- Promoted package from extended to core +- Upgraded to 12.49 +- Imported and adopted the spec from Fedora +- License verified + * Fri Oct 15 2021 Pawel Winogrodzki - 9.27-4 - Initial CBL-Mariner import from Fedora 32 (license: MIT). diff --git a/SPECS/llvm/llvm.spec b/SPECS/llvm/llvm.spec index 236c06d569b..a0a649f6fe7 100644 --- a/SPECS/llvm/llvm.spec +++ b/SPECS/llvm/llvm.spec @@ -1,7 +1,7 @@ Summary: A collection of modular and reusable compiler and toolchain technologies. Name: llvm Version: 18.1.2 -Release: 1%{?dist} +Release: 2%{?dist} License: NCSA Vendor: Microsoft Corporation Distribution: Azure Linux @@ -14,6 +14,7 @@ BuildRequires: libffi-devel BuildRequires: libxml2-devel BuildRequires: ninja-build BuildRequires: python3-devel +BuildRequires: binutils-devel Requires: libxml2 Provides: %{name} = %{version} Provides: %{name} = %{version}-%{release} @@ -62,6 +63,9 @@ cmake -G Ninja \ %install %ninja_install -C build +mkdir -p %{buildroot}%{_libdir}/bfd-plugins/ +ln -s -t %{buildroot}%{_libdir}/bfd-plugins/ ../LLVMgold.so + %post -p /sbin/ldconfig %postun -p /sbin/ldconfig @@ -85,6 +89,8 @@ ninja check-all %{_bindir}/* %{_libdir}/*.so %{_libdir}/*.so.* +%{_libdir}/LLVMgold.so +%{_libdir}/bfd-plugins/LLVMgold.so %dir %{_datadir}/opt-viewer %{_datadir}/opt-viewer/opt-diff.py %{_datadir}/opt-viewer/opt-stats.py @@ -96,9 +102,14 @@ ninja check-all %files devel %{_libdir}/*.a %{_libdir}/cmake/* +%{_libdir}/LLVMgold.so +%{_libdir}/bfd-plugins/LLVMgold.so %{_includedir}/* %changelog +* Fri Apr 5 2024 Mykhailo Bykhovtsev - 18.1.2-2 +- Added LLVMgold.so files to the main and devel packages + * Wed Apr 03 2024 Andrew Phelps - 18.1.2-1 - Upgrade to version 18.1.2 diff --git a/SPECS/ocaml/0001-Don-t-add-rpaths-to-libraries.patch b/SPECS/ocaml/0001-Don-t-add-rpaths-to-libraries.patch index f079b47cc6b..d497a12ee6a 100644 --- a/SPECS/ocaml/0001-Don-t-add-rpaths-to-libraries.patch +++ b/SPECS/ocaml/0001-Don-t-add-rpaths-to-libraries.patch @@ -1,26 +1,23 @@ -From 23f2e84d360208759c7d82b7ff795770ce6cf0b2 Mon Sep 17 00:00:00 2001 +From 799bf9088c131fc71626a48e9987e4d44a2f0194 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jun 2014 10:00:15 +0100 -Subject: [PATCH 1/3] Don't add rpaths to libraries. - +Subject: [PATCH 1/4] Don't add rpaths to libraries. + --- - utils/config.mlp | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/utils/config.mlp b/utils/config.mlp -index bbb3c5694..57d509cd0 100644 ---- a/utils/config.mlp -+++ b/utils/config.mlp -@@ -55,8 +55,8 @@ let native_c_compiler = - let native_c_libraries = "%%NATIVECCLIBS%%" - let native_pack_linker = "%%PACKLD%%" - let ranlib = "%%RANLIBCMD%%" --let default_rpath = "%%RPATH%%" --let mksharedlibrpath = "%%MKSHAREDLIBRPATH%%" -+let default_rpath = "" -+let mksharedlibrpath = "" - let ar = "%%ARCMD%%" - let supports_shared_libraries = %%SUPPORTS_SHARED_LIBRARIES%% - let mkdll, mkexe, mkmaindll = + configure.ac | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b81da53c42..892a2a894f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1107,8 +1107,6 @@ AS_IF([test x"$enable_shared" != "xno"], + [[*-*-openbsd7.[3-9]|*-*-openbsd[89].*]], + [mkdll_flags="${mkdll_flags} -Wl,--no-execute-only"]) + oc_ldflags="$oc_ldflags -Wl,-E" +- rpath="-Wl,-rpath," +- mksharedlibrpath="-Wl,-rpath," + natdynlinkopts="-Wl,-E" + supports_shared_libraries=true], + [mkdll='shared-libs-not-available']) -- -2.32.0 diff --git a/SPECS/ocaml/0002-configure-Allow-user-defined-C-compiler-flags.patch b/SPECS/ocaml/0002-configure-Allow-user-defined-C-compiler-flags.patch index 675d3b2db81..80c0e87e53f 100644 --- a/SPECS/ocaml/0002-configure-Allow-user-defined-C-compiler-flags.patch +++ b/SPECS/ocaml/0002-configure-Allow-user-defined-C-compiler-flags.patch @@ -1,17 +1,17 @@ -From 9966786a7389dc6621f2bc2dce7c690c5a38b67d Mon Sep 17 00:00:00 2001 +From f2b875e8201efed22267136096b1e5df97f99f84 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:44:18 +0100 -Subject: [PATCH 2/3] configure: Allow user defined C compiler flags. - +Subject: [PATCH 2/4] configure: Allow user defined C compiler flags. + --- - configure.ac | 4 ++++ - 1 file changed, 4 insertions(+) - + configure.ac | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + diff --git a/configure.ac b/configure.ac -index 3698c7cbf..e2a3cbea0 100644 +index 892a2a894f..e8f6cbc863 100644 --- a/configure.ac +++ b/configure.ac -@@ -669,6 +669,10 @@ AS_CASE([$host], +@@ -760,6 +760,10 @@ AS_CASE([$host], internal_cflags="$cc_warnings"], [common_cflags="-O"])]) @@ -19,8 +19,25 @@ index 3698c7cbf..e2a3cbea0 100644 +common_cflags="$common_cflags $CFLAGS" +cclibs="$cclibs $LDFLAGS" + - internal_cppflags="-DCAML_NAME_SPACE $internal_cppflags" - # Enable SSE2 on x86 mingw to avoid using 80-bit registers. + AS_CASE([$host], + [i686-*-mingw32*], +@@ -2327,7 +2331,7 @@ AC_CONFIG_COMMANDS_PRE([ + [mkexedebugflag="${mkexe_ldflags_prefix}${mkexedebugflag}"]) + mkdll_ldflags="" + AS_IF([test -n "${LDFLAGS}"], +- [for flag in ${LDFLAGS}; do ++ [for flag in "${LDFLAGS}"; do + mkdll_ldflags="${mkdll_ldflags} ${mkexe_ldflags_prefix}${flag}" + done + mkdll_ldflags_exp="$mkdll_ldflags"]) +@@ -2353,7 +2357,7 @@ ${mkdll_ldflags}" + ],[ + mkdll_ldflags='$(OC_DLL_LDFLAGS) $(LDFLAGS)' + mkdll_ldflags_exp="${oc_dll_ldflags}" +- AS_IF([test -n ${LDFLAGS}], ++ AS_IF([test -n "${LDFLAGS}"], + [mkdll_ldflags_exp="$mkdll_ldflags_exp $LDFLAGS"]) + mkexe_ldflags="\$(OC_LDFLAGS) \$(LDFLAGS)" + mkexe_ldflags_exp="${oc_ldflags} ${LDFLAGS}" -- -2.32.0 diff --git a/SPECS/ocaml/0003-Update-framepointers-tests-to-avoid-false-positive-w.patch b/SPECS/ocaml/0003-Update-framepointers-tests-to-avoid-false-positive-w.patch new file mode 100644 index 00000000000..10c2325ece6 --- /dev/null +++ b/SPECS/ocaml/0003-Update-framepointers-tests-to-avoid-false-positive-w.patch @@ -0,0 +1,694 @@ +From ba44a9c29771aacf44222a2ff63e7bd6034dd92c Mon Sep 17 00:00:00 2001 +From: Fabrice Buoro +Date: Fri, 10 Mar 2023 09:36:22 -0700 +Subject: [PATCH 3/4] Update framepointers tests to avoid false positive with + inlined C functions + +--- + testsuite/tests/frame-pointers/c_call.ml | 14 +- + .../tests/frame-pointers/c_call.reference | 9 - + testsuite/tests/frame-pointers/c_call.run | 4 - + testsuite/tests/frame-pointers/c_call_.c | 14 +- + testsuite/tests/frame-pointers/effects.ml | 12 +- + .../tests/frame-pointers/effects.reference | 15 -- + testsuite/tests/frame-pointers/effects.run | 4 - + .../tests/frame-pointers/exception_handler.ml | 4 +- + .../exception_handler.reference | 12 -- + .../frame-pointers/exception_handler.run | 4 - + .../tests/frame-pointers/filter-locations.sh | 23 --- + testsuite/tests/frame-pointers/fp_backtrace.c | 186 +++++++++++------- + testsuite/tests/frame-pointers/reperform.ml | 4 +- + .../tests/frame-pointers/reperform.reference | 3 - + testsuite/tests/frame-pointers/reperform.run | 4 - + .../tests/frame-pointers/stack_realloc.ml | 4 +- + .../frame-pointers/stack_realloc.reference | 3 - + .../tests/frame-pointers/stack_realloc.run | 4 - + .../tests/frame-pointers/stack_realloc2.ml | 4 +- + .../frame-pointers/stack_realloc2.reference | 3 - + .../tests/frame-pointers/stack_realloc2.run | 4 - + 21 files changed, 144 insertions(+), 190 deletions(-) + delete mode 100644 testsuite/tests/frame-pointers/c_call.run + delete mode 100644 testsuite/tests/frame-pointers/effects.run + delete mode 100644 testsuite/tests/frame-pointers/exception_handler.run + delete mode 100755 testsuite/tests/frame-pointers/filter-locations.sh + delete mode 100644 testsuite/tests/frame-pointers/reperform.run + delete mode 100644 testsuite/tests/frame-pointers/stack_realloc.run + delete mode 100644 testsuite/tests/frame-pointers/stack_realloc2.run + +diff --git a/testsuite/tests/frame-pointers/c_call.ml b/testsuite/tests/frame-pointers/c_call.ml +index c2493b3a99..9b98e86520 100644 +--- a/testsuite/tests/frame-pointers/c_call.ml ++++ b/testsuite/tests/frame-pointers/c_call.ml +@@ -7,20 +7,20 @@ all_modules = "${readonly_files} c_call.ml" + + *) + +-external fp_backtrace : unit -> unit = "fp_backtrace" +-external fp_backtrace_no_alloc : unit -> unit = "fp_backtrace" [@@noalloc] +-external fp_backtrace_many_args : int -> int -> int -> int -> int -> int -> int +- -> int -> int -> int -> int -> unit = ++external fp_backtrace : string -> unit = "fp_backtrace" ++external fp_backtrace_no_alloc : string -> unit = "fp_backtrace" [@@noalloc] ++external fp_backtrace_many_args : string -> int -> int -> int -> int -> int ++ -> int -> int -> int -> int -> int -> int -> unit = + "fp_backtrace_many_args_argv" "fp_backtrace_many_args" + + let[@inline never] f () = + (* Check backtrace through caml_c_call_stack_args *) +- fp_backtrace_many_args 1 2 3 4 5 6 7 8 9 10 11; ++ fp_backtrace_many_args Sys.argv.(0) 1 2 3 4 5 6 7 8 9 10 11; + (* Check backtrace through caml_c_call. + * Also check that caml_c_call_stack_args correctly restores rbp register *) +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + (* Check caml_c_call correctly restores rbp register *) +- fp_backtrace_no_alloc (); ++ fp_backtrace_no_alloc Sys.argv.(0); + 42 + + let () = ignore (f ()) +diff --git a/testsuite/tests/frame-pointers/c_call.reference b/testsuite/tests/frame-pointers/c_call.reference +index 92fb40a238..23095e7431 100644 +--- a/testsuite/tests/frame-pointers/c_call.reference ++++ b/testsuite/tests/frame-pointers/c_call.reference +@@ -3,19 +3,10 @@ caml_c_call_stack_args + camlC_call.f + camlC_call.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + caml_c_call + camlC_call.f + camlC_call.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + camlC_call.f + camlC_call.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main +diff --git a/testsuite/tests/frame-pointers/c_call.run b/testsuite/tests/frame-pointers/c_call.run +deleted file mode 100644 +index e96b5ea13a..0000000000 +--- a/testsuite/tests/frame-pointers/c_call.run ++++ /dev/null +@@ -1,4 +0,0 @@ +-#!/bin/sh +- +-${program} 2>&1 \ +- | ${test_source_directory}/filter-locations.sh ${program} >${output} +diff --git a/testsuite/tests/frame-pointers/c_call_.c b/testsuite/tests/frame-pointers/c_call_.c +index 634c4dd937..a75100b213 100644 +--- a/testsuite/tests/frame-pointers/c_call_.c ++++ b/testsuite/tests/frame-pointers/c_call_.c +@@ -16,10 +16,10 @@ + #include + #include "caml/mlvalues.h" + +-void fp_backtrace(void); ++void fp_backtrace(value); + +-value fp_backtrace_many_args(value a, value b, value c, value d, value e, +- value f, value g, value h, value i, value j, value k) ++value fp_backtrace_many_args(value argv0, value a, value b, value c, ++ value d, value e, value f, value g, value h, value i, value j, value k) + { + assert(Int_val(a) == 1); + assert(Int_val(b) == 2); +@@ -33,15 +33,15 @@ value fp_backtrace_many_args(value a, value b, value c, value d, value e, + assert(Int_val(j) == 10); + assert(Int_val(k) == 11); + +- fp_backtrace(); ++ fp_backtrace(argv0); + + return Val_unit; + } + +-value fp_bactrace_many_args_argv(value *argv, int argc) ++value fp_bactrace_many_args_argv(value argv0, value *argv, int argc) + { + assert(argc == 11); + +- return fp_backtrace_many_args(argv[0], argv[1], argv[2], argv[3], argv[4], +- argv[5], argv[6], argv[7], argv[8], argv[9], argv[10]); ++ return fp_backtrace_many_args(argv0, argv[0], argv[1], argv[2], argv[3], ++ argv[4], argv[5], argv[6], argv[7], argv[8], argv[9], argv[10]); + } +diff --git a/testsuite/tests/frame-pointers/effects.ml b/testsuite/tests/frame-pointers/effects.ml +index e14633a374..4d14190320 100644 +--- a/testsuite/tests/frame-pointers/effects.ml ++++ b/testsuite/tests/frame-pointers/effects.ml +@@ -11,26 +11,26 @@ open Printf + open Effect + open Effect.Deep + +-external fp_backtrace : unit -> unit = "fp_backtrace" [@@noalloc] ++external fp_backtrace : string -> unit = "fp_backtrace" [@@noalloc] + + type _ t += E : int -> int t + + let[@inline never] f () = + printf "# computation f\n%!"; +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + printf "# perform effect (E 0)\n%!"; + let v = perform (E 0) in + printf "# perform returns %d\n%!" v; +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + v + 1 + + let h (type a) (eff : a t) : ((a, 'b) continuation -> 'b) option = + let[@inline never] h_effect_e v k = + printf "# caught effect (E %d). continuing...\n%!" v; +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + let v = continue k (v + 1) in + printf "# continue returns %d\n%!" v; +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + v + 1 + in + match eff with +@@ -41,7 +41,7 @@ let h (type a) (eff : a t) : ((a, 'b) continuation -> 'b) option = + let v = + let[@inline never] v_retc v = + printf "# done %d\n%!" v; +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + v + 1 + in + match_with f () +diff --git a/testsuite/tests/frame-pointers/effects.reference b/testsuite/tests/frame-pointers/effects.reference +index c8bd0a391a..8ae3fc26df 100644 +--- a/testsuite/tests/frame-pointers/effects.reference ++++ b/testsuite/tests/frame-pointers/effects.reference +@@ -3,39 +3,24 @@ camlEffects.f + caml_runstack + camlEffects.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + # perform effect (E 0) + # caught effect (E 0). continuing... + camlEffects.h_effect_e + camlEffects.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + # perform returns 1 + camlEffects.f + caml_runstack + camlEffects.h_effect_e + camlEffects.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + # done 2 + camlEffects.v_retc + camlEffects.h_effect_e + camlEffects.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + # continue returns 3 + camlEffects.h_effect_e + camlEffects.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + # result=4 +diff --git a/testsuite/tests/frame-pointers/effects.run b/testsuite/tests/frame-pointers/effects.run +deleted file mode 100644 +index e96b5ea13a..0000000000 +--- a/testsuite/tests/frame-pointers/effects.run ++++ /dev/null +@@ -1,4 +0,0 @@ +-#!/bin/sh +- +-${program} 2>&1 \ +- | ${test_source_directory}/filter-locations.sh ${program} >${output} +diff --git a/testsuite/tests/frame-pointers/exception_handler.ml b/testsuite/tests/frame-pointers/exception_handler.ml +index 575f7329bf..95a4f0d75c 100644 +--- a/testsuite/tests/frame-pointers/exception_handler.ml ++++ b/testsuite/tests/frame-pointers/exception_handler.ml +@@ -8,7 +8,7 @@ all_modules = "${readonly_files} exception_handler.ml" + *) + + (* https://github.com/ocaml/ocaml/pull/11031 *) +-external fp_backtrace : unit -> unit = "fp_backtrace" [@@noalloc] ++external fp_backtrace : string -> unit = "fp_backtrace" [@@noalloc] + + exception Exn1 + exception Exn2 +@@ -38,7 +38,7 @@ let[@inline never] handler () = + let _ = Sys.opaque_identity x0 in + let _ = Sys.opaque_identity x1 in + let _ = Sys.opaque_identity x2 in +- fp_backtrace () ++ fp_backtrace Sys.argv.(0) + + let[@inline never] nested i = + begin +diff --git a/testsuite/tests/frame-pointers/exception_handler.reference b/testsuite/tests/frame-pointers/exception_handler.reference +index 513ca488b9..e012fb6d4f 100644 +--- a/testsuite/tests/frame-pointers/exception_handler.reference ++++ b/testsuite/tests/frame-pointers/exception_handler.reference +@@ -2,27 +2,15 @@ camlException_handler.handler + camlException_handler.bare + camlException_handler.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + camlException_handler.handler + camlException_handler.bare + camlException_handler.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + camlException_handler.handler + camlException_handler.nested + camlException_handler.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main + camlException_handler.handler + camlException_handler.nested + camlException_handler.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main +diff --git a/testsuite/tests/frame-pointers/exception_handler.run b/testsuite/tests/frame-pointers/exception_handler.run +deleted file mode 100644 +index e96b5ea13a..0000000000 +--- a/testsuite/tests/frame-pointers/exception_handler.run ++++ /dev/null +@@ -1,4 +0,0 @@ +-#!/bin/sh +- +-${program} 2>&1 \ +- | ${test_source_directory}/filter-locations.sh ${program} >${output} +diff --git a/testsuite/tests/frame-pointers/filter-locations.sh b/testsuite/tests/frame-pointers/filter-locations.sh +deleted file mode 100755 +index 31c7fc3189..0000000000 +--- a/testsuite/tests/frame-pointers/filter-locations.sh ++++ /dev/null +@@ -1,23 +0,0 @@ +-#!/bin/sh +- +-set -eu +- +-program="${1}" +-# https://stackoverflow.com/questions/29613304/is-it-possible-to-escape-regex-metacharacters-reliably-with-sed/29626460#29626460 +-program_escaped=$(echo ${program} | sed 's/[^^\\]/[&]/g; s/\^/\\^/g; s/\\/\\\\/g') +-regex_backtrace='^.*(\(.*\)+0x[[:xdigit:]]*)[0x[[:xdigit:]]*]$' +-regex_trim_fun='^\(caml.*\)_[[:digit:]]*$' +- +-# - Ignore backtrace not coming from the program binary +-# - Discard the number suffix from OCaml function name +-# - Remove strange '[0x.....]' entries inserted by some implementation +-# of backtrace_symbols_fd +-# - Keep the other lines +-sed -e \ +- "/${regex_backtrace}/ { +- /^${program_escaped}/ ! d +- s/${regex_backtrace}/\1/ +- s/${regex_trim_fun}/\1/ +- s;caml_\(main\|startup\);caml_main/caml_startup; +- }" \ +- -e '/^\[0x/d' +diff --git a/testsuite/tests/frame-pointers/fp_backtrace.c b/testsuite/tests/frame-pointers/fp_backtrace.c +index a521218a38..cef7ccd9f2 100644 +--- a/testsuite/tests/frame-pointers/fp_backtrace.c ++++ b/testsuite/tests/frame-pointers/fp_backtrace.c +@@ -1,10 +1,17 @@ + #include +-#include +-#include +-#include ++#include ++#include + #include ++#include ++#include + +-#define ARRSIZE(a) (sizeof(a) / sizeof(*(a))) ++#include "caml/mlvalues.h" ++ ++#define ARR_SIZE(a) (sizeof(a) / sizeof(*(a))) ++ ++#define RE_FUNC_NAME "^.*\\((.+)\\+0x[[:xdigit:]]+\\) \\[0x[[:xdigit:]]+\\]$" ++#define RE_TRIM_FUNC "(caml.*)_[[:digit:]]+" ++#define CAML_ENTRY "caml_program" + + typedef struct frame_info + { +@@ -12,99 +19,138 @@ typedef struct frame_info + void* retaddr; /* rip */ + } frame_info; + +-jmp_buf resume_buf; + ++/* ++ * A backtrace symbol looks like: ++ * ./path/to/binary(camlModule_fn_123+0xAABBCC) [0xAABBCCDDEE] ++ */ ++static const char* backtrace_symbol(const struct frame_info* fi) ++{ ++ char** symbols = backtrace_symbols(&fi->retaddr, 1); ++ if (!symbols) { ++ perror("backtrace_symbols"); ++ return NULL; ++ } + +-static void signal_handler(int signum) ++ const char* symbol = strdup(symbols[0]); ++ free(symbols); ++ return symbol; ++} ++ ++static bool is_from_executable(const char* symbol, const char* execname) + { +- /* Should be safe to be called from a signal handler. +- * See 21.2.1 "Performing a nonlocal goto from a signal handler" from +- * The Linux Programming Interface, Michael Kerrisk */ +- siglongjmp(resume_buf, 1); ++ return strncmp(symbol, execname, strlen(execname)) == 0; + } + +-static int install_signal_handlers(const int signals[], struct sigaction +- handlers[], int count) ++static regmatch_t func_name_from_symbol(const char* symbol) + { +- for (int i = 0; i < count; i++) { +- struct sigaction action = { 0 }; +- action.sa_handler = signal_handler; +- sigemptyset(&action.sa_mask); +- action.sa_flags = 0; +- +- if (sigaction(signals[i], &action, &handlers[i]) != 0) { +- perror("sigaction"); +- return -1; +- } ++ regex_t regex; ++ regmatch_t match[2] = { {-1, -1}, {-1, -1}}; ++ char errbuf[128]; ++ int err; ++ ++ err = regcomp(®ex, RE_FUNC_NAME, REG_EXTENDED); ++ if (err) { ++ regerror(err, ®ex, errbuf, ARR_SIZE(errbuf)); ++ fprintf(stderr, "regcomp: %s\n", errbuf); ++ return match[0]; + } +- return 0; ++ ++ err = regexec(®ex, symbol, ARR_SIZE(match), match, 0); ++ if (err == REG_NOMATCH) ++ return match[0]; ++ ++ return match[1]; + } + +-static int restore_signal_handlers(const int signals[], struct sigaction +- handlers[], int count) ++static bool is_caml_entry(const char* symbol, const regmatch_t* funcname) + { +- for (int i = 0; i < count; i++) { +- if (sigaction(signals[i], &handlers[i], NULL) != 0) { +- perror("sigaction"); +- return -1; +- } +- } +- return 0; ++ //regoff_t len = funcname->rm_eo - funcname->rm_so; ++ //return strnstr(symbol + funcname->rm_so, CAML_ENTRY, len) == 0; ++ return strstr(symbol + funcname->rm_so, CAML_ENTRY) != NULL; + } + +-static int safe_read(const struct frame_info* fi, struct frame_info** prev, +- void** retaddr) ++static regmatch_t trim_func_name(const char* symbol, const regmatch_t* funcname) + { +- /* Signals to ignore while attempting to read frame_info members */ +- const int signals[] = { SIGSEGV, SIGBUS }; +- /* Store original signal handers */ +- struct sigaction handlers[ARRSIZE(signals)] = { 0 }; +- int ret = 0; +- +- if (install_signal_handlers(signals, handlers, ARRSIZE(signals)) != 0) +- return -1; +- +- if (!sigsetjmp(resume_buf, 1)) { +- *prev = fi->prev; +- *retaddr = fi->retaddr; +- } else { +- ret = -1; ++ regex_t regex; ++ regmatch_t match[2] = { {-1, -1}, {-1, -1}}; ++ char errbuf[128]; ++ int err; ++ ++ err = regcomp(®ex, RE_TRIM_FUNC, REG_EXTENDED); ++ if (err) { ++ regerror(err, ®ex, errbuf, ARR_SIZE(errbuf)); ++ fprintf(stderr, "regcomp: %s\n", errbuf); ++ return match[0]; + } + +- if (restore_signal_handlers(signals, handlers, ARRSIZE(signals)) != 0) +- return -1; ++ match[0] = *funcname; ++ err = regexec(®ex, symbol, ARR_SIZE(match), match, REG_STARTEND); ++ if (err == REG_NOMATCH) { ++ /* match[0] has already been overwritten to hold the function full name for ++ regexec */ ++ return match[1]; ++ } + +- return ret; ++ return match[1]; + } + +-static void print_location(void* addr) ++static void print_symbol(const char* symbol, const regmatch_t* match) + { +- if (!addr) +- return; ++ regoff_t off = match->rm_so; ++ regoff_t len = match->rm_eo - match->rm_so; + +- /* This requires the binary to be linked with '-rdynamic' */ +- backtrace_symbols_fd(&addr, 1, STDOUT_FILENO); ++ fprintf(stdout, "%.*s\n", len, symbol + off); ++ fflush(stdout); + } + +-void fp_backtrace(void) ++void fp_backtrace(value argv0) + { +- struct frame_info *fi; +- struct frame_info* next; +- void* retaddr; +- +- fi = __builtin_frame_address(0); +- retaddr = __builtin_extract_return_addr(__builtin_return_address(0)); +- +- for (; fi; fi = next) { +- if (safe_read(fi, &next, &retaddr) != 0) +- return; ++ const char* execname = String_val(argv0); ++ struct frame_info* next = NULL; ++ const char* symbol = NULL; + +- print_location(retaddr); ++ for (struct frame_info* fi = __builtin_frame_address(0); fi; fi = next) { ++ next = fi->prev; + + /* Detect the simplest kind of infinite loop */ + if (fi == next) { +- printf("fp_backtrace: loop detected\n"); +- return; ++ fprintf(stderr, "fp_backtrace: loop detected\n"); ++ break; + } ++ ++ symbol = backtrace_symbol(fi); ++ if (!symbol) ++ continue; ++ ++ /* Skip entries not from the test */ ++ if (!is_from_executable(symbol, execname)) ++ goto skip; ++ ++ /* Exctract the full function name */ ++ regmatch_t funcname = func_name_from_symbol(symbol); ++ if (funcname.rm_so == -1) ++ goto skip; ++ ++ /* Trim numeric suffix from caml functions */ ++ regmatch_t functrimmed = trim_func_name(symbol, &funcname); ++ ++ /* Use the trimmed caml name if available, otherwise use the full function ++ name */ ++ const regmatch_t* match = (functrimmed.rm_so != -1) ? ++ &functrimmed : &funcname; ++ ++ print_symbol(symbol, match); ++ ++ /* Stop the backtrace at caml_program */ ++ if (is_caml_entry(symbol, &funcname)) ++ break; ++ ++skip: ++ free((void*)symbol); ++ symbol = NULL; + } ++ ++ if (symbol) ++ free((void*)symbol); + } +diff --git a/testsuite/tests/frame-pointers/reperform.ml b/testsuite/tests/frame-pointers/reperform.ml +index 1af8452e5f..da251c98a7 100644 +--- a/testsuite/tests/frame-pointers/reperform.ml ++++ b/testsuite/tests/frame-pointers/reperform.ml +@@ -11,7 +11,7 @@ all_modules = "${readonly_files} reperform.ml" + open Effect + open Effect.Deep + +-external fp_backtrace : unit -> unit = "fp_backtrace" [@@noalloc] ++external fp_backtrace : string -> unit = "fp_backtrace" [@@noalloc] + + type _ Effect.t += E : unit t + | F : unit t +@@ -22,7 +22,7 @@ let rec foo n = + if n = 5 then begin + perform E; + print_endline "# resumed..."; +- fp_backtrace () ++ fp_backtrace Sys.argv.(0) + end; + foo (n + 1) + n + end +diff --git a/testsuite/tests/frame-pointers/reperform.reference b/testsuite/tests/frame-pointers/reperform.reference +index 9ac6681d4b..e215f77169 100644 +--- a/testsuite/tests/frame-pointers/reperform.reference ++++ b/testsuite/tests/frame-pointers/reperform.reference +@@ -15,6 +15,3 @@ camlReperform.bar + caml_runstack + camlReperform.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main +diff --git a/testsuite/tests/frame-pointers/reperform.run b/testsuite/tests/frame-pointers/reperform.run +deleted file mode 100644 +index e96b5ea13a..0000000000 +--- a/testsuite/tests/frame-pointers/reperform.run ++++ /dev/null +@@ -1,4 +0,0 @@ +-#!/bin/sh +- +-${program} 2>&1 \ +- | ${test_source_directory}/filter-locations.sh ${program} >${output} +diff --git a/testsuite/tests/frame-pointers/stack_realloc.ml b/testsuite/tests/frame-pointers/stack_realloc.ml +index 79e70c2add..f24e4795d5 100644 +--- a/testsuite/tests/frame-pointers/stack_realloc.ml ++++ b/testsuite/tests/frame-pointers/stack_realloc.ml +@@ -13,7 +13,7 @@ open Effect.Deep + + type _ t += E : int -> int t + +-external fp_backtrace : unit -> unit = "fp_backtrace" [@@noalloc] ++external fp_backtrace : string -> unit = "fp_backtrace" [@@noalloc] + external c_fun : unit -> int = "c_fun" + + let[@inline never][@local never] f x = x +@@ -42,7 +42,7 @@ let[@inline never] consume_stack () = + + let[@inline never] callback () = + consume_stack (); +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + 0 + + let _ = Callback.register "callback" callback +diff --git a/testsuite/tests/frame-pointers/stack_realloc.reference b/testsuite/tests/frame-pointers/stack_realloc.reference +index 016a03550a..e61d4104e0 100644 +--- a/testsuite/tests/frame-pointers/stack_realloc.reference ++++ b/testsuite/tests/frame-pointers/stack_realloc.reference +@@ -7,6 +7,3 @@ camlStack_realloc.f_comp + caml_runstack + camlStack_realloc.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main +diff --git a/testsuite/tests/frame-pointers/stack_realloc.run b/testsuite/tests/frame-pointers/stack_realloc.run +deleted file mode 100644 +index e96b5ea13a..0000000000 +--- a/testsuite/tests/frame-pointers/stack_realloc.run ++++ /dev/null +@@ -1,4 +0,0 @@ +-#!/bin/sh +- +-${program} 2>&1 \ +- | ${test_source_directory}/filter-locations.sh ${program} >${output} +diff --git a/testsuite/tests/frame-pointers/stack_realloc2.ml b/testsuite/tests/frame-pointers/stack_realloc2.ml +index a3d21bf2bf..218dd6a1c3 100644 +--- a/testsuite/tests/frame-pointers/stack_realloc2.ml ++++ b/testsuite/tests/frame-pointers/stack_realloc2.ml +@@ -13,7 +13,7 @@ open Effect.Deep + + type _ t += E : int -> int t + +-external fp_backtrace : unit -> unit = "fp_backtrace" [@@noalloc] ++external fp_backtrace : string -> unit = "fp_backtrace" [@@noalloc] + external c_fun : unit -> int = "c_fun" + + let[@inline never][@local never] f x = x +@@ -41,7 +41,7 @@ let[@inline never] consume_stack () = + ignore (gobbler count) + + let[@inline never] callback () = +- fp_backtrace (); ++ fp_backtrace Sys.argv.(0); + 0 + + let _ = Callback.register "callback" callback +diff --git a/testsuite/tests/frame-pointers/stack_realloc2.reference b/testsuite/tests/frame-pointers/stack_realloc2.reference +index ae492abd88..0051f3bad0 100644 +--- a/testsuite/tests/frame-pointers/stack_realloc2.reference ++++ b/testsuite/tests/frame-pointers/stack_realloc2.reference +@@ -7,6 +7,3 @@ camlStack_realloc2.f_comp + caml_runstack + camlStack_realloc2.entry + caml_program +-caml_start_program +-caml_main/caml_startup +-main +diff --git a/testsuite/tests/frame-pointers/stack_realloc2.run b/testsuite/tests/frame-pointers/stack_realloc2.run +deleted file mode 100644 +index e96b5ea13a..0000000000 +--- a/testsuite/tests/frame-pointers/stack_realloc2.run ++++ /dev/null +@@ -1,4 +0,0 @@ +-#!/bin/sh +- +-${program} 2>&1 \ +- | ${test_source_directory}/filter-locations.sh ${program} >${output} +-- diff --git a/SPECS/ocaml/0004-Fix-s390x-stack-reallocation-code-in-PIC-mode.patch b/SPECS/ocaml/0004-Fix-s390x-stack-reallocation-code-in-PIC-mode.patch new file mode 100644 index 00000000000..03eb7d0e8be --- /dev/null +++ b/SPECS/ocaml/0004-Fix-s390x-stack-reallocation-code-in-PIC-mode.patch @@ -0,0 +1,24 @@ +From 81d3fb3e20afede32298e4d3e78bcebf6a22858a Mon Sep 17 00:00:00 2001 +From: Vincent Laviron +Date: Fri, 15 Dec 2023 10:00:52 +0100 +Subject: [PATCH 4/4] Fix s390x stack reallocation code in PIC mode + +(cherry picked from commit c40a955c029a203d0d7f05718e297e66987ec87f) +--- + asmcomp/s390x/emit.mlp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/asmcomp/s390x/emit.mlp b/asmcomp/s390x/emit.mlp +index 35ade079f6..0212cf3b00 100644 +--- a/asmcomp/s390x/emit.mlp ++++ b/asmcomp/s390x/emit.mlp +@@ -751,7 +751,7 @@ let fundecl fundecl = + ` lay %r15, -8(%r15)\n`; + ` stg %r14, 0(%r15)\n`; + ` lgfi %r12, {emit_int s}\n`; +- ` brasl %r14, {emit_symbol "caml_call_realloc_stack"}\n`; ++ emit_call "caml_call_realloc_stack"; + ` lg %r14, 0(%r15)\n`; + ` la %r15, 8(%r15)\n`; + ` brcl 15, {emit_label ret}\n` +-- diff --git a/SPECS/ocaml/macros.ocaml-rpm b/SPECS/ocaml/macros.ocaml-rpm new file mode 100644 index 00000000000..6942e917ace --- /dev/null +++ b/SPECS/ocaml/macros.ocaml-rpm @@ -0,0 +1,69 @@ +# Make %files lists from an installed tree of files. +# Options: +# -s: separate packaging; every subdirectory of %%{ocamldir}, except stublibs, +# is placed in its own package. This option requires the existence of opam +# *.install files in the build tree. +# -n: suppress creation of a devel subpackage. +%ocaml_files(sn) %{python3} /usr/lib/rpm/redhat/ocaml_files.py %{-s} %{-n} %{buildroot} %{ocamldir} + +# Internal macro holding the common parts of ocaml_install and dune_install +%ocaml_install_common(sn) %{expand: +rm -rf %{buildroot}%{_prefix}/doc +mlis=$(find %{buildroot}%{_libdir}/ocaml -name '*.mli') +rm -f ${mlis//.mli/.ml} +%ocaml_files %{-s} %{-n}} + +# Install files listed in opam *.install files. +# Options: +# -s: separate packaging; every subdirectory of %%{ocamldir}, except stublibs, +# is placed in its own package. +# -n: suppress creation of a devel subpackage. +%ocaml_install(sn) %{expand: +%{python3} /usr/lib/rpm/redhat/ocaml_files.py -i %{-s} %{-n} %{buildroot} %{ocamldir} +%ocaml_install_common %{-s} %{-n}} + +# Add smp_mflags to arguments if no -j release option is given. +# Add --release to arguments if no -p or --release option is given. +# Add --verbose to arguments if it is not given. +%dune_add_flags(-) %{lua: + has_j = false + has_p = false + has_v = false + for _, flag in pairs(arg) do + if flag:find("^-j") then + has_j = true + elseif flag:find("^-p") or flag:find("^--release)") then + has_p = true + elseif flag:find("^--verbose") then + has_v = true + end + end + if not has_j then + table.insert(arg, 1, rpm.expand("%{?_smp_mflags}")) + end + if not has_p then + table.insert(arg, 1, "--release") + end + if not has_v then + table.insert(arg, 1, "--verbose") + end + print(table.concat(arg, " ")) +} + +# Build with dune +%dune_build(-) dune build %{dune_add_flags %*} + +# Run tests with dune +%dune_check(-) dune runtest %{dune_add_flags %*} + +# Install with dune +# Options: +# -s: separate packaging; every subdirectory of %%{ocamldir}, except stublibs, +# is placed in its own package. +# -n: suppress creation of a devel subpackage. +%dune_install(sn) %{expand: +dune install --destdir=%{buildroot} %{dune_add_flags %*} +if [ -d _build/default/_doc/_html ]; then + find _build/default/_doc/_html -name .dune-keep -delete +fi +%ocaml_install_common %{-s} %{-n}} \ No newline at end of file diff --git a/SPECS/ocaml/ocaml.signatures.json b/SPECS/ocaml/ocaml.signatures.json index fe9762d62f5..a3fe0ba1805 100644 --- a/SPECS/ocaml/ocaml.signatures.json +++ b/SPECS/ocaml/ocaml.signatures.json @@ -1,5 +1,7 @@ { "Signatures": { - "ocaml-4.13.1.tar.xz": "931d78dfad5bf938800c7a00eb647a27bbfe465a96a8eaae858ecbdb22e6fde8" + "ocaml-5.1.1.tar.gz": "57f7b382b3d71198413ede405d95ef3506f1cdc480cda1dca1e26b37cb090e17", + "macros.ocaml-rpm": "c63f72f1386f8ad999daa2dcd3ea203ef07e34bc795e11b70e725a5db7ab026f", + "ocaml_files.py": "b1649462b720fb401d491bd5cbe879870a9f50bd99608d6488fc235a0e5f11e3" } } diff --git a/SPECS/ocaml/ocaml.spec b/SPECS/ocaml/ocaml.spec index 026a33de12a..5abbc7b13fa 100644 --- a/SPECS/ocaml/ocaml.spec +++ b/SPECS/ocaml/ocaml.spec @@ -1,45 +1,130 @@ -%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' -%global __ocaml_provides_opts -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' -%global majmin %(echo %{version} | cut -d. -f1-2) -Summary: OCaml compiler and programming environment +# Don't add -Wl,-dT, +%undefine _package_note_flags + +# OCaml 5.1 broke building with LTO. A file prims.c is generated with primitive +# function declarations, all with "void" for their parameter list. This does +# not match the real definitions, leading to lots of -Wlto-type-mismatch +# warnings. These change the output of the tests, leading to many failed tests. +%global _lto_cflags %{nil} + +# OCaml has a bytecode backend that works on anything with a C +# compiler, and a native code backend available on a subset of +# architectures. A further subset of architectures support native +# dynamic linking. + +%ifarch %{ocaml_native_compiler} +%global native_compiler 1 +%else +%global native_compiler 0 +%endif + +%ifarch %{ocaml_natdynlink} +%global natdynlink 1 +%else +%global natdynlink 0 +%endif + +# i686 support was dropped in OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +# These are all the architectures that the tests run on. The tests +# take a long time to run, so don't run them on slow machines. +%global test_arches aarch64 %{power64} riscv64 s390x x86_64 +# These are the architectures for which the tests must pass otherwise +# the build will fail. +#global test_arches_required aarch64 ppc64le x86_64 +%global test_arches_required NONE + +# Architectures where parallel builds fail. +#global no_parallel_build_arches aarch64 + +#global rcver +git +%global rcver %{nil} + Name: ocaml -Version: 4.13.1 -Release: 3%{?dist} -License: QPL and (LGPLv2+ with exceptions) +Version: 5.1.1 +Release: 1%{?dist} +Summary: OCaml compiler and programming environment +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://www.ocaml.org -Source0: https://caml.inria.fr/pub/distrib/%{name}-%{majmin}/%{name}-%{version}.tar.xz -Patch0001: 0001-Don-t-add-rpaths-to-libraries.patch -Patch0002: 0002-configure-Allow-user-defined-C-compiler-flags.patch -Patch0003: 0003-configure-Remove-incorrect-assumption-about-cross-co.patch -Patch0004: 0004-remove-unused-var-in-alloc_aync_stubs.patch +Source0: https://github.com/ocaml/ocaml/archive/%{version}/%{name}-%{version}.tar.gz +Source1: macros.ocaml-rpm +Source2: ocaml_files.py + +# IMPORTANT NOTE: +# +# These patches are generated from unpacked sources stored in a +# pagure.io git repository. If you change the patches here, they will +# be OVERWRITTEN by the next update. Instead, request commit access +# to the pagure project: +# +# https://pagure.io/fedora-ocaml +# +# Current branch: fedora-40-5.1.1 +# +# ALTERNATIVELY add a patch to the end of the list (leaving the +# existing patches unchanged) adding a comment to note that it should +# be incorporated into the git repo at a later time. + +# Fedora-specific patches +Patch: 0001-Don-t-add-rpaths-to-libraries.patch +Patch: 0002-configure-Allow-user-defined-C-compiler-flags.patch + +# https://github.com/ocaml/ocaml/pull/11594 +Patch: 0003-Update-framepointers-tests-to-avoid-false-positive-w.patch + +# https://github.com/ocaml/ocaml/issues/12829 +# https://github.com/ocaml/ocaml/pull/12831 +Patch: 0004-Fix-s390x-stack-reallocation-code-in-PIC-mode.patch + +BuildRequires: make +BuildRequires: git +BuildRequires: gcc BuildRequires: autoconf -BuildRequires: binutils-devel -BuildRequires: chrpath BuildRequires: gawk -BuildRequires: gcc -BuildRequires: gdbm-devel -BuildRequires: git -BuildRequires: make -BuildRequires: ncurses-devel +BuildRequires: hardlink BuildRequires: perl-interpreter BuildRequires: util-linux -%if 0%{?with_check} -BuildRequires: diffutils -%endif -# ocamlopt runs gcc to link binaries. Because Azure Linux includes -# hardening flags automatically, azurelinux-rpm-macros is also required. -Requires: azurelinux-rpm-macros +BuildRequires: /usr/bin/annocheck +BuildRequires: pkgconfig(libzstd) + +# Documentation requirements +BuildRequires: asciidoc +BuildRequires: python3-pygments + +# ocamlopt runs gcc to link binaries. Because Fedora includes +# hardening flags automatically, redhat-rpm-config is also required. +# Compressed marshaling requires libzstd-devel. Requires: gcc +Requires: redhat-rpm-config +Requires: libzstd-devel + # Because we pass -c flag to ocaml-find-requires (to avoid circular # dependencies) we also have to explicitly depend on the right version # of ocaml-runtime. Requires: ocaml-runtime = %{version}-%{release} -# Bundles an MD5 implementation in byterun/md5.{c,h} + +# Force ocaml-srpm-macros to be at the latest version, both for builds +# and installs, since OCaml 5.1 has a different set of native code +# generators than previous versions. +BuildRequires: ocaml-srpm-macros >= 9 +Requires: ocaml-srpm-macros >= 9 + +# Bundles an MD5 implementation in runtime/caml/md5.h and runtime/md5.c Provides: bundled(md5-plumb) + Provides: ocaml(compiler) = %{version} +%if %{native_compiler} +%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' +%else +%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' -i Backend_intf -i Inlining_decision_intf -i Simplify_boxed_integer_ops_intf +%endif +%global __ocaml_provides_opts -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' + + %description OCaml is a high-level, strongly-typed, functional and object-oriented programming language from the ML family of languages. @@ -49,7 +134,12 @@ and an optimizing native-code compiler), an interactive toplevel system, parsing tools (Lex,Yacc), a replay debugger, a documentation generator, and a comprehensive library. -%package runtime + +%package runtime +# LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception: the project as a whole +# LicenseRef-Fedora-Public-Domain: the MD5 implementation in runtime/caml/md5.h +# and runtime/md5.c +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception AND LicenseRef-Fedora-Public-Domain Summary: OCaml runtime environment Requires: util-linux Provides: ocaml(runtime) = %{version} @@ -61,35 +151,45 @@ programming language from the ML family of languages. This package contains the runtime environment needed to run OCaml bytecode. -%package source + +%package source Summary: Source code for OCaml libraries Requires: ocaml = %{version}-%{release} %description source Source code for OCaml libraries. -%package ocamldoc + +%package ocamldoc +# LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception: the project as a whole +# LicenseRef-Fedora-Public-Domain: ocamldoc/ocamldoc.sty +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception AND LicenseRef-Fedora-Public-Domain Summary: Documentation generator for OCaml Requires: ocaml = %{version}-%{release} -Provides: ocamldoc = %{version}-%{release} +Provides: ocamldoc = %{version} %description ocamldoc Documentation generator for OCaml. + %package docs Summary: Documentation for OCaml +BuildArch: noarch Requires: ocaml = %{version}-%{release} + %description docs OCaml is a high-level, strongly-typed, functional and object-oriented programming language from the ML family of languages. This package contains man pages. + %package compiler-libs Summary: Compiler libraries for OCaml Requires: ocaml = %{version}-%{release} + %description compiler-libs OCaml is a high-level, strongly-typed, functional and object-oriented programming language from the ML family of languages. @@ -99,123 +199,208 @@ compilers, useful for the development of some OCaml applications. Note that this exposes internal details of the OCaml compiler which may not be portable between versions. + +%package rpm-macros +# LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception: the project as a whole +# BSD-3-Clause: ocaml_files.py +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception AND BSD-3-Clause +Summary: RPM macros for building OCaml packages +BuildArch: noarch +Requires: ocaml = %{version}-%{release} +Requires: python3 + + +%description rpm-macros +This package contains macros that are useful for building OCaml RPMs. + + %prep -%autosetup -p1 +%autosetup -S git -n %{name}-%{version}%{rcver} # Patches touch configure.ac, so rebuild it: autoconf --force + %build -# We set --libdir to the unusual directory because we want OCaml to -# install its libraries and other files into a subdirectory. +%ifnarch %{no_parallel_build_arches} +make="%make_build" +%else +unset MAKEFLAGS +make=make +%endif + +# Set ocamlmklib default flags to include Fedora linker flags +sed -i '/ld_opts/s|\[\]|["%{build_ldflags}"]|' tools/ocamlmklib.ml + +# Expose a dependency on the math library +sed -i '/^EXTRACAMLFLAGS=/aLINKOPTS=-cclib -lm' otherlibs/unix/Makefile + +# Don't use %%configure macro because it sets --build, --host which +# breaks some incorrect assumptions made by OCaml's configure.ac # -# Force --host because of: +# See also: # https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/2O4HBOK6PTQZAFAVIRDVMZGG2PYB2QHM/ -# (see also https://github.com/ocaml/ocaml/issues/8647) +# https://github.com/ocaml/ocaml/issues/8647 +# +# We set --libdir to the unusual directory because we want OCaml to +# install its libraries and other files into a subdirectory. # # OC_CFLAGS/OC_LDFLAGS control what flags OCaml passes to the linker # when doing final linking of OCaml binaries. Setting these is -# necessary to ensure that generated binaries have Azure Linux hardening +# necessary to ensure that generated binaries have Fedora hardening # features. -%configure \ - OC_CFLAGS="$CFLAGS" \ - OC_LDFLAGS="$LDFLAGS" \ -%if 0%{?with_check} +./configure \ + --prefix=%{_prefix} \ + --sysconfdir=%{_sysconfdir} \ + --mandir=%{_mandir} \ + --libdir=%{_libdir}/ocaml \ + --enable-flambda \ +%if %{native_compiler} + --enable-native-compiler \ + --enable-native-toplevel \ +%else + --disable-native-compiler \ + --disable-native-toplevel \ +%endif +%ifarch x86_64 +%if 0%{?_include_frame_pointers} + --enable-frame-pointers \ +%endif +%endif +%ifarch %{test_arches} --enable-ocamltest \ +%else + --disable-ocamltest \ +%endif + OC_CFLAGS='%{build_cflags}' \ + OC_LDFLAGS='%{build_ldflags}' \ + %{nil} +$make world +%if %{native_compiler} +$make opt +$make opt.opt +%endif + +# Build the README and fix up references to other doc files +asciidoc -d book README.adoc +for fil in CONTRIBUTING.md HACKING.adoc INSTALL.adoc README.win32.adoc; do + sed -e "s,\"$fil\",\"https://github.com/ocaml/ocaml/blob/trunk/$fil\"," \ + -i README.html +done + + +%check +%ifarch %{ocaml_native_compiler} +# For information only, compile a binary and dump the annocheck data +# from it. Useful so we know if hardening is being enabled, but don't +# fail because not every hardening feature can be enabled here. +echo 'print_endline "hello, world"' > hello.ml +./ocamlopt.opt -verbose -I stdlib hello.ml -o hello ||: +annocheck -v hello ||: +%endif + +%ifarch %{test_arches} +%ifarch %{test_arches_required} +make -j1 tests +%else +make -j1 tests ||: +%endif %endif - --libdir=%{_libdir}/ocaml \ - --host=`./build-aux/config.guess` -%make_build world -%make_build opt -%make_build opt.opt %install %make_install -perl -pi -e "s|^%{buildroot}||" %{buildroot}%{_libdir}/ocaml/ld.conf +perl -pi -e "s|^$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf -echo %{version} > %{buildroot}%{_libdir}/ocaml/fedora-ocaml-release +echo %{version} > $RPM_BUILD_ROOT%{_libdir}/ocaml/fedora-ocaml-release -# Remove rpaths from stublibs .so files. -chrpath --delete %{buildroot}%{_libdir}/ocaml/stublibs/*.so +# Remove the installed documentation. We will install it using %%doc +rm -rf $RPM_BUILD_ROOT%{_docdir}/ocaml -find %{buildroot} -type f -name "*.la" -delete -print +mkdir -p $RPM_BUILD_ROOT%{_rpmmacrodir} +install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.ocaml-rpm -# Remove .cmt and .cmti files, for now. We could package them later. -# See also: http://www.ocamlpro.com/blog/2012/08/20/ocamlpro-and-4.00.0.html -find %{buildroot} \( -name '*.cmt' -o -name '*.cmti' \) -a -delete -print +mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/azl +install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/azl + +# Link, rather than copy, identical binaries +hardlink -t $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs -%check -cd testsuite -make -j1 all %files %license LICENSE %{_bindir}/ocaml %{_bindir}/ocamlcmt +%{_bindir}/ocamlcp %{_bindir}/ocamldebug +%{_bindir}/ocamlmklib +%{_bindir}/ocamlmktop +%{_bindir}/ocamlprof %{_bindir}/ocamlyacc # symlink to either .byte or .opt version %{_bindir}/ocamlc -%{_bindir}/ocamlcp %{_bindir}/ocamldep %{_bindir}/ocamllex -%{_bindir}/ocamlmklib -%{_bindir}/ocamlmktop %{_bindir}/ocamlobjinfo -%{_bindir}/ocamloptp -%{_bindir}/ocamlprof # bytecode versions %{_bindir}/ocamlc.byte -%{_bindir}/ocamlcp.byte %{_bindir}/ocamldep.byte %{_bindir}/ocamllex.byte -%{_bindir}/ocamlmklib.byte -%{_bindir}/ocamlmktop.byte %{_bindir}/ocamlobjinfo.byte -%{_bindir}/ocamloptp.byte -%{_bindir}/ocamlprof.byte +%if %{native_compiler} # native code versions %{_bindir}/ocamlc.opt -%{_bindir}/ocamlcp.opt %{_bindir}/ocamldep.opt %{_bindir}/ocamllex.opt -%{_bindir}/ocamlmklib.opt -%{_bindir}/ocamlmktop.opt %{_bindir}/ocamlobjinfo.opt -%{_bindir}/ocamloptp.opt -%{_bindir}/ocamlprof.opt +%endif + +%if %{native_compiler} +%{_bindir}/ocamlnat %{_bindir}/ocamlopt %{_bindir}/ocamlopt.byte %{_bindir}/ocamlopt.opt +%{_bindir}/ocamloptp +%endif %{_libdir}/ocaml/camlheader %{_libdir}/ocaml/camlheader_ur %{_libdir}/ocaml/expunge -%{_libdir}/ocaml/eventlog_metadata -%{_libdir}/ocaml/extract_crc %{_libdir}/ocaml/ld.conf %{_libdir}/ocaml/Makefile.config + %{_libdir}/ocaml/*.a -%{_libdir}/ocaml/*.cmxs +%if %{native_compiler} %{_libdir}/ocaml/*.cmxa %{_libdir}/ocaml/*.cmx %{_libdir}/ocaml/*.o %{_libdir}/ocaml/libasmrun_shared.so +%endif %{_libdir}/ocaml/*.mli +%{_libdir}/ocaml/sys.ml.in %{_libdir}/ocaml/libcamlrun_shared.so -%{_libdir}/ocaml/threads/*.mli -%{_libdir}/ocaml/threads/*.a -%{_libdir}/ocaml/threads/*.cmxa -%{_libdir}/ocaml/threads/*.cmx + +%{_libdir}/ocaml/{dynlink,runtime_events,str,threads,unix}/*.mli +%if %{native_compiler} +%{_libdir}/ocaml/{dynlink,runtime_events,str,threads,unix}/*.a +%{_libdir}/ocaml/{dynlink,runtime_events,str,threads,unix}/*.cmxa +%{_libdir}/ocaml/{dynlink,profiling,runtime_events,str,threads,unix}/*.cmx +%{_libdir}/ocaml/profiling/*.o +%endif +%if %{natdynlink} +%{_libdir}/ocaml/{runtime_events,str,unix}/*.cmxs +%endif + +# headers %{_libdir}/ocaml/caml + %files runtime +%doc README.html Changes %license LICENSE -%doc README.adoc Changes %{_bindir}/ocamlrun %{_bindir}/ocamlrund %{_bindir}/ocamlruni @@ -226,14 +411,39 @@ make -j1 all %{_libdir}/ocaml/camlheaderd %{_libdir}/ocaml/camlheaderi %{_libdir}/ocaml/stublibs +%dir %{_libdir}/ocaml/dynlink +%{_libdir}/ocaml/dynlink/META +%{_libdir}/ocaml/dynlink/*.cmi +%{_libdir}/ocaml/dynlink/*.cma +%dir %{_libdir}/ocaml/profiling +%{_libdir}/ocaml/profiling/*.cmo +%{_libdir}/ocaml/profiling/*.cmi +%dir %{_libdir}/ocaml/runtime_events +%{_libdir}/ocaml/runtime_events/META +%{_libdir}/ocaml/runtime_events/*.cmi +%{_libdir}/ocaml/runtime_events/*.cma +%{_libdir}/ocaml/stdlib +%dir %{_libdir}/ocaml/str +%{_libdir}/ocaml/str/META +%{_libdir}/ocaml/str/*.cmi +%{_libdir}/ocaml/str/*.cma %dir %{_libdir}/ocaml/threads +%{_libdir}/ocaml/threads/META %{_libdir}/ocaml/threads/*.cmi %{_libdir}/ocaml/threads/*.cma +%dir %{_libdir}/ocaml/unix +%{_libdir}/ocaml/unix/META +%{_libdir}/ocaml/unix/*.cmi +%{_libdir}/ocaml/unix/*.cma %{_libdir}/ocaml/fedora-ocaml-release + %files source %license LICENSE %{_libdir}/ocaml/*.ml +%{_libdir}/ocaml/*.cmt* +%{_libdir}/ocaml/*/*.cmt* + %files ocamldoc %license LICENSE @@ -241,23 +451,28 @@ make -j1 all %{_bindir}/ocamldoc* %{_libdir}/ocaml/ocamldoc + %files docs %{_mandir}/man1/* %{_mandir}/man3/* + %files compiler-libs %license LICENSE -%dir %{_libdir}/ocaml/compiler-libs -%{_libdir}/ocaml/compiler-libs/*.mli -%{_libdir}/ocaml/compiler-libs/*.cmi -%{_libdir}/ocaml/compiler-libs/*.cmo -%{_libdir}/ocaml/compiler-libs/*.cma -%{_libdir}/ocaml/compiler-libs/*.a -%{_libdir}/ocaml/compiler-libs/*.cmxa -%{_libdir}/ocaml/compiler-libs/*.cmx -%{_libdir}/ocaml/compiler-libs/*.o +%{_libdir}/ocaml/compiler-libs + + +%files rpm-macros +%{_rpmmacrodir}/macros.ocaml-rpm +%{_rpmconfigdir}/azl/ocaml_files.py + %changelog +* Fri Mar 08 2024 Mykhailo Bykhovtsev - 5.1.1-1 +- Upgraded ocaml to 5.1.1 +- Importing and adopting spec changes from Fedora (License: MIT). +- Removed unused patch files and added new. + * Thu Feb 22 2024 Pawel Winogrodzki - 4.13.1-3 - Updating naming for 3.0 version of Azure Linux. diff --git a/SPECS/ocaml/ocaml_files.py b/SPECS/ocaml/ocaml_files.py new file mode 100644 index 00000000000..cbcacd950e9 --- /dev/null +++ b/SPECS/ocaml/ocaml_files.py @@ -0,0 +1,451 @@ +# Copyright 2022-3, Jerry James +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the +# distribution. +# 3. Neither the name of Red Hat nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import argparse +import os +import shutil +import string +import sys +from collections.abc import Iterable, Iterator +from enum import Enum, auto +from typing import Callable, final + +# Version of this script +version=2 + +# +# BUILDROOT CATEGORIZATION +# + +# Directories to ignore when generating %dir entries +root_dirs: set[str] = { + '/', + '/etc', + '/usr', + '/usr/bin', + '/usr/lib', + '/usr/lib/ocaml', + '/usr/lib/ocaml/caml', + '/usr/lib/ocaml/stublibs', + '/usr/lib/ocaml/threads', + '/usr/lib64', + '/usr/lib64/ocaml', + '/usr/lib64/ocaml/caml', + '/usr/lib64/ocaml/stublibs', + '/usr/lib64/ocaml/threads', + '/usr/libexec', + '/usr/sbin', + '/usr/share', + '/usr/share/doc' +} + +def find_buildroot_toplevel(buildroot: str) -> list[str]: + """Find toplevel files and directories in the buildroot. + + :param str buildroot: path to the buildroot + :return: a list of toplevel files and directories in the buildroot + """ + bfiles: list[str] = [] + for path, dirs, files in os.walk(buildroot): + for i in range(len(dirs) - 1, -1, -1): + d = os.path.join(path, dirs[i])[len(buildroot):] + if d not in root_dirs and not d.startswith('/usr/share/man'): + bfiles.append(d) + del dirs[i] + for f in files: + realfile = os.path.join(path, f)[len(buildroot):] + if realfile.startswith('/usr/share/man'): + bfiles.append(realfile + '*') + else: + bfiles.append(realfile) + return bfiles + +# File suffixes that go into a devel subpackage +dev_suffixes: set[str] = { + 'a', 'cmo', 'cmt', 'cmti', 'cmx', 'cmxa', 'h', 'idl', 'ml', 'mli', 'o' +} + +def is_devel_file(filname: str) -> bool: + """Determine whether a file belongs to a devel subpackage. + + :param str filname: the filename to check + :return: True if the file belongs to a devel subpackage, else False + """ + return (filname == 'dune-package' or filname == 'opam' or + (os.path.splitext(filname)[1][1:] in dev_suffixes + and not filname.endswith('_top_init.ml'))) + +def find_buildroot_all(buildroot: str, devel: bool, add_star: bool) -> list[set[str]]: + """Find all files and directories in the buildroot and optionally + categorize them as 'main' or 'devel'. + + :param Namespace args: parsed command line arguments + :param bool devel: True to split into 'main' and 'devel', False otherwise + :param bool add_star: True to add a star to man page filenames + :return: a list of files and directories, in this order: main files, + main directories, devel files, and devel directories + """ + bfiles: list[set[str]] = [set(), set(), set()] + bdirs: set[str] = set() + for path, dirs, files in os.walk(buildroot): + for d in dirs: + realdir = os.path.join(path, d)[len(buildroot):] + if realdir not in root_dirs and not realdir.startswith('/usr/share/man'): + bdirs.add(realdir) + for f in files: + realfile = os.path.join(path, f)[len(buildroot):] + if devel and is_devel_file(os.path.basename(realfile)): + bfiles[2].add(realfile) + else: + if add_star and realfile.startswith('/usr/share/man'): + bfiles[0].add(realfile + '*') + else: + bfiles[0].add(realfile) + parentdir = os.path.dirname(realfile) + if parentdir in bdirs: + bfiles[1].add(parentdir) + bdirs.remove(parentdir) + # Catch intermediate directories, as in ocaml-mtime + parentdir = os.path.dirname(parentdir) + if parentdir in bdirs: + bfiles[1].add(parentdir) + bdirs.remove(parentdir) + bfiles.append(bdirs) + return bfiles + +# +# INSTALL FILE LEXER AND PARSER +# + +class TokenType(Enum): + """The types of tokens that can appear in an opam *.install file.""" + ERROR = auto() + COLON = auto() + LBRACE = auto() + RBRACE = auto() + LBRACK = auto() + RBRACK = auto() + STRING = auto() + FIELD = auto() + +@final +class InstallFileLexer(Iterator[tuple[TokenType, str]]): + """Convert an opam *.install file into a sequence of tokens.""" + __slots__ = ['index', 'text'] + + def __init__(self, filname: str) -> None: + """Create an opam *.install file lexer. + + :param str filname: the name of the file to read from + """ + self.index = 0 + with open(filname, 'r') as f: + # Limit reads to 4 MB in case this file is bogus. + # Most install files are under 4K. + self.text = f.read(4194304) + + def skip_whitespace(self) -> None: + """Skip over whitespace in the input.""" + while self.index < len(self.text) and \ + (self.text[self.index] == '#' or + self.text[self.index] in string.whitespace): + if self.text[self.index] == '#': + while (self.index < len(self.text) and + self.text[self.index] != '\n' and + self.text[self.index] != '\r'): + self.index += 1 + else: + self.index += 1 + + def __next__(self) -> tuple[TokenType, str]: + """Get the next token from the opam *.install file. + + :return: a pair containing the type and text of the next token + """ + self.skip_whitespace() + if self.index < len(self.text): + ch = self.text[self.index] + if ch == ':': + self.index += 1 + return (TokenType.COLON, ch) + if ch == '{': + self.index += 1 + return (TokenType.LBRACE, ch) + if ch == '}': + self.index += 1 + return (TokenType.RBRACE, ch) + if ch == '[': + self.index += 1 + return (TokenType.LBRACK, ch) + if ch == ']': + self.index += 1 + return (TokenType.RBRACK, ch) + if ch == '"': + start = self.index + 1 + end = start + while end < len(self.text) and self.text[end] != '"': + end += 2 if self.text[end] == '\\' else 1 + self.index = end + 1 + return (TokenType.STRING, self.text[start:end]) + if ch in string.ascii_letters: + start = self.index + end = start + 1 + while (end < len(self.text) and + (self.text[end] == '_' or + self.text[end] in string.ascii_letters)): + end += 1 + self.index = end + return (TokenType.FIELD, self.text[start:end]) + return (TokenType.ERROR, ch) + else: + raise StopIteration + +@final +class InstallFileParser(Iterable[tuple[str, bool, str, str]]): + """Parse opam *.install files.""" + + __slots__ = ['pkgname', 'lexer', 'libdir'] + + def __init__(self, filname: str, libdir: str) -> None: + """Initialize an OCaml .install file parser. + + :param str filname: name of the .install file to parse + :param str libdir: the OCaml library directory + """ + self.pkgname = os.path.splitext(os.path.basename(filname))[0] + self.lexer = InstallFileLexer(filname) + self.libdir = libdir + + def __iter__(self) -> Iterator[tuple[str, bool, str, str]]: + """Parse a .install file. + If there are any parse errors, we assume this file is not really an + opam .install file and abandon the parse. + """ + # Map opam installer names to directories + opammap: dict[str, str] = { + 'lib': os.path.join(self.libdir, self.pkgname), + 'lib_root': self.libdir, + 'libexec': os.path.join(self.libdir, self.pkgname), + 'libexec_root': self.libdir, + 'bin': '/usr/bin', + 'sbin': '/usr/sbin', + 'toplevel': os.path.join(self.libdir, 'toplevel'), + 'share': os.path.join('/usr/share', self.pkgname), + 'share_root': '/usr/share', + 'etc': os.path.join('/etc', self.pkgname), + 'doc': os.path.join('/usr/doc', self.pkgname), + 'stublibs': os.path.join(self.libdir, 'stublibs'), + 'man': '/usr/share/man' + } + + # Parse the file + try: + toktyp, token = next(self.lexer) + while toktyp == TokenType.FIELD: + libname = token + toktyp, token = next(self.lexer) + if toktyp != TokenType.COLON: + return + + toktyp, token = next(self.lexer) + if toktyp != TokenType.LBRACK: + return + + directory = opammap.get(libname) + if not directory: + return + + toktyp, token = next(self.lexer) + while toktyp == TokenType.STRING: + source = token + optional = source[0] == '?' + if optional: + source = source[1:] + nexttp, nexttk = next(self.lexer) + if nexttp == TokenType.LBRACE: + nexttp, nexttk = next(self.lexer) + if nexttp == TokenType.STRING: + filname = os.path.join(directory, nexttk) + bracetp, bractk = next(self.lexer) + if bracetp != TokenType.RBRACE: + return + nexttp, nexttk = next(self.lexer) + else: + return + elif libname == 'man': + index = token.rfind('.') + if index < 0: + return + mandir = os.path.join(directory, 'man' + token[index+1:]) + filname = os.path.join(mandir, os.path.basename(token)) + else: + filname = os.path.join(directory, os.path.basename(token)) + toktyp, token = nexttp, nexttk + yield (self.pkgname, optional, source, filname) + + if toktyp != TokenType.RBRACK: + return + toktyp, token = next(self.lexer) + except StopIteration: + return + +def install_files(buildroot: str, libdir: str) -> None: + """Install the files listed in opam .install files in the buildroot. + + For some projects, there are install files in both the project root + directory and somewhere under "_build", so be careful not to parse the same + install file twice. + + :param str buildroot: path to the buildroot + :param str libdir: the OCaml library directory + """ + install_files = set() + for path, dirs, files in os.walk('.'): + for f in files: + if f.endswith('.install') and f not in install_files: + install_files.add(f) + parser = InstallFileParser(os.path.join(path, f), libdir) + for _, optional, source, filname in parser: + if not optional or os.path.exists(source): + installpath = os.path.join(buildroot, filname[1:]) + os.makedirs(os.path.dirname(installpath), exist_ok=True) + shutil.copy2(source, installpath) + +def get_package_map(buildroot: str, libdir: str, devel: bool) -> dict[str, set[str]]: + """Create a map from package names to installed files from the opam .install + files in the buildroot. + + For some projects, there are install files in both the project root + directory and somewhere under "_build", so be careful not to parse the same + install file twice.""" + + pmap: dict[str, set[str]] = dict() + install_files = set() + + def add_pkg(pkgname: str, filname: str) -> None: + """Add a mapping from a package name to a filename. + + :param str pkgname: the package that acts as the map key + :param str filname: the filename to add to the package set + """ + if pkgname not in pmap: + pmap[pkgname] = set() + pmap[pkgname].add(filname) + + installed = find_buildroot_all(buildroot, devel, False) + for path, dirs, files in os.walk('.'): + for f in files: + if f.endswith('.install') and f not in install_files: + install_files.add(f) + parser = InstallFileParser(os.path.join(path, f), libdir) + for pkgname, _, _, filname in parser: + if filname in installed[0]: + if filname.startswith('/usr/share/man'): + add_pkg(pkgname, filname + '*') + else: + add_pkg(pkgname, filname) + dirname = os.path.dirname(filname) + if dirname in installed[1]: + add_pkg(pkgname, '%dir ' + dirname) + installed[1].remove(dirname) + elif filname in installed[2]: + if filname.startswith('/usr/share/man'): + add_pkg(pkgname + '-devel', filname + '*') + else: + add_pkg(pkgname + '-devel', filname) + dirname = os.path.dirname(filname) + if dirname in installed[3]: + add_pkg(pkgname + '-devel', '%dir ' + dirname) + installed[3].remove(dirname) + return pmap + +# +# MAIN INTERFACE +# + +def ocaml_files(no_devel: bool, separate: bool, install: bool, buildroot: str, + libdir: str) -> None: + """Generate %files lists from an installed buildroot. + + :param bool no_devel: False to split files into a main package and a devel + package + :param bool separate: True to place each OCaml module in an RPM package + :param bool install: True to install files, False to generate %files + :param str buildroot: the installed buildroot + :param str libdir: the OCaml library directory + """ + if install: + install_files(buildroot, libdir) + elif separate: + pkgmap = get_package_map(buildroot, libdir, not no_devel) + for pkg in pkgmap: + with open('.ofiles-' + pkg, 'w') as f: + for entry in pkgmap[pkg]: + f.write(entry + '\n') + elif no_devel: + with open('.ofiles', 'w') as f: + for entry in find_buildroot_toplevel(buildroot): + f.write(entry + '\n') + else: + files = find_buildroot_all(buildroot, True, True) + with open('.ofiles', 'w') as f: + for entry in files[0]: + f.write(entry + '\n') + for entry in files[1]: + f.write('%dir ' + entry + '\n') + with open('.ofiles-devel', 'w') as f: + for entry in files[2]: + f.write(entry + '\n') + for entry in files[3]: + f.write('%dir ' + entry + '\n') + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Support for building OCaml RPM packages') + parser.add_argument('-i', '--install', + action='store_true', + default=False, + help='install files instead of generating %files') + parser.add_argument('-n', '--no-devel', + action='store_true', + default=False, + help='suppress creation of a devel subpackage') + parser.add_argument('-s', '--separate', + action='store_true', + default=False, + help='separate packaging. Each OCaml module is in a distinct RPM package. All modules are in a single RPM package by default.') + parser.add_argument('-v', '--version', + action='version', + version=f'%(prog)s {str(version)}') + parser.add_argument('buildroot', help='RPM build root') + parser.add_argument('libdir', help='OCaml library directory') + args = parser.parse_args() + ocaml_files(args.no_devel, + args.separate, + args.install, + args.buildroot, + args.libdir) \ No newline at end of file diff --git a/cgmanifest.json b/cgmanifest.json index 68df4088f4e..c128921ef85 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -195,8 +195,8 @@ "type": "other", "other": { "name": "annobin", - "version": "9.27", - "downloadUrl": "https://nickc.fedorapeople.org/annobin-9.27.tar.xz" + "version": "12.49", + "downloadUrl": "https://nickc.fedorapeople.org/annobin-12.49.tar.xz" } } }, @@ -14402,8 +14402,8 @@ "type": "other", "other": { "name": "ocaml", - "version": "4.13.1", - "downloadUrl": "https://caml.inria.fr/pub/distrib/ocaml-4.13.1/ocaml-4.13.1.tar.xz" + "version": "5.1.1", + "downloadUrl": "https://github.com/ocaml/ocaml/archive/5.1.1/ocaml-5.1.1.tar.gz" } } }, From 541c7a6bd7f1f55d05578f6729e7575bbdbd92ab Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 7 May 2024 16:47:34 -0700 Subject: [PATCH 02/45] upgrade other packages that depend on ocaml --- .../azurelinux-rpm-macros.signatures.json | 2 +- .../azurelinux-rpm-macros.spec | 5 +- SPECS/azurelinux-rpm-macros/macros.ocaml-srpm | 2 + SPECS/emacs/default.el | 7 + SPECS/emacs/emacs.signatures.json | 4 +- SPECS/emacs/emacs.spec | 55 +- SPECS/emacs/site-start.el | 9 + SPECS/libguestfs/libguestfs.spec | 8 +- SPECS/nbdkit/nbdkit.spec | 7 +- SPECS/ocaml-augeas/ocaml-augeas.spec | 13 +- SPECS/ocaml-base/ocaml-base-mathlib.patch | 10 + SPECS/ocaml-base/ocaml-base.signatures.json | 2 +- SPECS/ocaml-base/ocaml-base.spec | 104 +-- SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec | 9 +- .../ocaml-camlp-streams.signatures.json | 5 + .../ocaml-camlp-streams.spec | 109 +++ ...-eo.txt-Fix-license-by-importing-dat.patch | 787 ++++++++++++++++++ .../ocaml-camomile.signatures.json | 2 +- SPECS/ocaml-camomile/ocaml-camomile.spec | 84 +- SPECS/ocaml-cinaps/ocaml-cinaps.spec | 64 +- .../ocaml-compiler-libs-janestreet.spec | 97 +-- SPECS/ocaml-cppo/ocaml-cppo.signatures.json | 2 +- SPECS/ocaml-cppo/ocaml-cppo.spec | 49 +- SPECS/ocaml-csexp/07eb898.patch | 23 + SPECS/ocaml-csexp/ocaml-csexp.signatures.json | 2 +- SPECS/ocaml-csexp/ocaml-csexp.spec | 132 ++- SPECS/ocaml-dune/ocaml-dune-debuginfo.patch | 11 + SPECS/ocaml-dune/ocaml-dune-no-lwt.patch | 31 + SPECS/ocaml-dune/ocaml-dune.signatures.json | 2 +- SPECS/ocaml-dune/ocaml-dune.spec | 581 +++++++++---- .../ocaml-fileutils-0.6.4-cmp.patch | 17 + ...ocaml-fileutils-0.6.4-forward-compat.patch | 27 + .../ocaml-fileutils.signatures.json | 9 +- SPECS/ocaml-fileutils/ocaml-fileutils.spec | 85 +- .../ocaml-findlib/ocaml-findlib-toolbox.patch | 117 +++ .../ocaml-findlib.signatures.json | 8 +- SPECS/ocaml-findlib/ocaml-findlib.spec | 109 +-- .../ocaml-gettext-camomile2.patch | 11 + .../ocaml-gettext/ocaml-gettext-ocaml5.patch | 152 ++++ SPECS/ocaml-gettext/ocaml-gettext.spec | 154 ++-- ...pare-for-stricter-checking-in-GCC-14.patch | 103 +++ SPECS/ocaml-lwt/ocaml-lwt.signatures.json | 2 +- SPECS/ocaml-lwt/ocaml-lwt.spec | 197 +---- .../0001-src-Add-g-flag-to-mklib.patch | 41 + SPECS/ocaml-num/ocaml-num.signatures.json | 2 +- SPECS/ocaml-num/ocaml-num.spec | 94 ++- .../ocaml-ocamlbuild.signatures.json | 2 +- SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec | 87 +- .../ocaml-ocplib-endian.signatures.json | 2 +- .../ocaml-ocplib-endian.spec | 90 +- .../remove-base-byte.patch | 58 ++ .../0001-Remove-stdlib-shims.patch | 56 ++ SPECS/ocaml-ounit/ocaml-ounit.signatures.json | 8 +- SPECS/ocaml-ounit/ocaml-ounit.spec | 168 +--- .../ocaml-parsexp.signatures.json | 5 + SPECS/ocaml-parsexp/ocaml-parsexp.spec | 129 +++ SPECS/ocaml-pp/ocaml-pp.signatures.json | 5 + SPECS/ocaml-pp/ocaml-pp.spec | 207 +++++ .../ocaml-ppx-derivers.spec | 49 +- .../ocaml-ppx-here.signatures.json | 5 + SPECS/ocaml-ppx-here/ocaml-ppx-here.spec | 166 ++++ .../ocaml-ppx-let.signatures.json | 5 + SPECS/ocaml-ppx-let/ocaml-ppx-let.spec | 139 ++++ .../ocaml-ppxlib-stdlib-shims.patch | 40 +- .../ocaml-ppxlib/ocaml-ppxlib.signatures.json | 2 +- SPECS/ocaml-ppxlib/ocaml-ppxlib.spec | 122 +-- SPECS/ocaml-re/ocaml-re-remove-seq.patch | 18 + SPECS/ocaml-re/ocaml-re.signatures.json | 2 +- SPECS/ocaml-re/ocaml-re.spec | 93 +-- SPECS/ocaml-react/ocaml-react.signatures.json | 2 +- SPECS/ocaml-react/ocaml-react.spec | 83 +- .../ocaml-sexplib.signatures.json | 5 + SPECS/ocaml-sexplib/ocaml-sexplib.spec | 336 ++++++++ SPECS/ocaml-sexplib0/ocaml-sexplib0.spec | 48 +- .../ocaml-stdlib-random.signatures.json | 5 + .../ocaml-stdlib-random.spec | 60 ++ SPECS/ocaml-topkg/ocaml-topkg.spec | 162 ++-- SPECS/ocaml/macros.ocaml-rpm | 6 +- SPECS/ocaml/ocaml.signatures.json | 2 +- SPECS/supermin/supermin.signatures.json | 2 +- SPECS/supermin/supermin.spec | 9 +- SPECS/vim/macros.vim | 1 + SPECS/vim/vim.signatures.json | 3 +- SPECS/vim/vim.spec | 8 +- 84 files changed, 4014 insertions(+), 1522 deletions(-) create mode 100644 SPECS/emacs/default.el create mode 100644 SPECS/emacs/site-start.el create mode 100644 SPECS/ocaml-base/ocaml-base-mathlib.patch create mode 100644 SPECS/ocaml-camlp-streams/ocaml-camlp-streams.signatures.json create mode 100644 SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec create mode 100644 SPECS/ocaml-camomile/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch create mode 100644 SPECS/ocaml-csexp/07eb898.patch create mode 100644 SPECS/ocaml-dune/ocaml-dune-debuginfo.patch create mode 100644 SPECS/ocaml-dune/ocaml-dune-no-lwt.patch create mode 100644 SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-cmp.patch create mode 100644 SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-forward-compat.patch create mode 100644 SPECS/ocaml-findlib/ocaml-findlib-toolbox.patch create mode 100644 SPECS/ocaml-gettext/ocaml-gettext-camomile2.patch create mode 100644 SPECS/ocaml-gettext/ocaml-gettext-ocaml5.patch create mode 100644 SPECS/ocaml-lwt/0001-Prepare-for-stricter-checking-in-GCC-14.patch create mode 100644 SPECS/ocaml-num/0001-src-Add-g-flag-to-mklib.patch create mode 100644 SPECS/ocaml-ocplib-endian/remove-base-byte.patch create mode 100644 SPECS/ocaml-ounit/0001-Remove-stdlib-shims.patch create mode 100644 SPECS/ocaml-parsexp/ocaml-parsexp.signatures.json create mode 100644 SPECS/ocaml-parsexp/ocaml-parsexp.spec create mode 100644 SPECS/ocaml-pp/ocaml-pp.signatures.json create mode 100644 SPECS/ocaml-pp/ocaml-pp.spec create mode 100644 SPECS/ocaml-ppx-here/ocaml-ppx-here.signatures.json create mode 100644 SPECS/ocaml-ppx-here/ocaml-ppx-here.spec create mode 100644 SPECS/ocaml-ppx-let/ocaml-ppx-let.signatures.json create mode 100644 SPECS/ocaml-ppx-let/ocaml-ppx-let.spec create mode 100644 SPECS/ocaml-re/ocaml-re-remove-seq.patch create mode 100644 SPECS/ocaml-sexplib/ocaml-sexplib.signatures.json create mode 100644 SPECS/ocaml-sexplib/ocaml-sexplib.spec create mode 100644 SPECS/ocaml-stdlib-random/ocaml-stdlib-random.signatures.json create mode 100644 SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec create mode 100644 SPECS/vim/macros.vim diff --git a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.signatures.json b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.signatures.json index 4760106511f..1bfbc96ed77 100644 --- a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.signatures.json +++ b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.signatures.json @@ -20,7 +20,7 @@ "macros.forge": "52cdffd48217cafe33afe47c625cd6aac6460848cd76de66fe61031c26beeaf4", "macros.mono-srpm": "a9201ae36fc482e966134e38f42412378e955faf296b214cb6dd63981af8bc49", "macros.nodejs-srpm": "b2515cc7fad3f14849cff8593b10543a3f73edccff4c3c6d0d2764dae19c38e8", - "macros.ocaml-srpm": "cd34e1d89cf45b1a76a8803a7fe3aefa6e5e6380e983a85d8dae4912ba360b3f", + "macros.ocaml-srpm": "c35c6db7ede8ea534212329d010920646f80368e1fbd0b9025e48ed0a85a09ce", "macros.openblas-srpm": "bd46ab2c99aa504d3fb09de1f071f0e19a9b2605772c1a738a32cfb0129d33b8", "macros.perl-srpm": "27f09c386944fc7478cdde55168bbc720d03ecd11ec60ae1133a42db6432e7f7", "macros.pybytecompile": "b07fbaa0f534bfee9706e343f4c1892d6903127e18f7561d0ad8445674658d26", diff --git a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec index 9035f1017c5..30c6c92f248 100644 --- a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec +++ b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec @@ -7,7 +7,7 @@ Summary: Azure Linux specific rpm macro files Name: azurelinux-rpm-macros Version: %{azl}.0 -Release: 2%{?dist} +Release: 3%{?dist} License: GPL+ AND MIT Vendor: Microsoft Corporation Distribution: Azure Linux @@ -141,6 +141,9 @@ install -p -m 644 -t %{buildroot}%{rcluadir}/srpm python.lua %{_rpmconfigdir}/macros.d/macros.check %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 3.0-3 +- Added missing %ocamldir macro + * Thu Mar 07 2024 Andrew Phelps - 3.0-2 - Update all python-related scripts from Fedora 40 version of python-rpm-macros - Sort python-related sources together diff --git a/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm b/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm index bb1859f372f..29896e6f606 100644 --- a/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm +++ b/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm @@ -13,3 +13,5 @@ # This was removed in OCaml 4.09. # https://github.com/ocaml/ocaml/pull/2314 %ocaml_native_profiling %{nil} + +%ocamldir %{_libdir}/ocaml diff --git a/SPECS/emacs/default.el b/SPECS/emacs/default.el new file mode 100644 index 00000000000..d7f7f3d016d --- /dev/null +++ b/SPECS/emacs/default.el @@ -0,0 +1,7 @@ +;;; default.el - loaded after ".emacs" on startup +;;; +;;; Setting `inhibit-default-init' non-nil in "~/.emacs" +;;; prevents loading of this file. Also the "-q" option to emacs +;;; prevents both "~/.emacs" and this file from being loaded at startup. + +(setq-default smime-CA-directory "/etc/ssl/certs") \ No newline at end of file diff --git a/SPECS/emacs/emacs.signatures.json b/SPECS/emacs/emacs.signatures.json index 6f4e3a71b4e..0576b75f2f7 100644 --- a/SPECS/emacs/emacs.signatures.json +++ b/SPECS/emacs/emacs.signatures.json @@ -1,5 +1,7 @@ { "Signatures": { - "emacs-29.3.tar.xz": "c34c05d3ace666ed9c7f7a0faf070fea3217ff1910d004499bd5453233d742a0" + "emacs-29.3.tar.xz": "c34c05d3ace666ed9c7f7a0faf070fea3217ff1910d004499bd5453233d742a0", + "default.el": "34da95d8d98a45a6277be3f296218fd1ff4761368251d0db9cc2a391b64db27d", + "site-start.el": "c2789266d886fe7a7c1caa5a86a917cd38b3b5e729a86672fca610b82c4c0bc3" } } diff --git a/SPECS/emacs/emacs.spec b/SPECS/emacs/emacs.spec index f111f7bbefa..ab4623c72e2 100644 --- a/SPECS/emacs/emacs.spec +++ b/SPECS/emacs/emacs.spec @@ -1,13 +1,15 @@ Summary: GNU Emacs text editor Name: emacs Version: 29.3 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv3+ AND CC0-1.0 Vendor: Microsoft Corporation Distribution: Azure Linux Group: Applications/Editors URL: https://www.gnu.org/software/emacs/ Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz +Source1: site-start.el +Source2: default.el BuildRequires: gcc BuildRequires: glibc-devel BuildRequires: gnutls-devel @@ -15,6 +17,9 @@ BuildRequires: ncurses-devel BuildRequires: systemd-devel Requires: %{name}-filesystem = %{version}-%{release} +%define site_lisp %{_datadir}/emacs/site-lisp +%define site_start_d %{site_lisp}/site-start.d + %description Emacs is a powerful, customizable, self-documenting, modeless text editor. Emacs contains special code editing features, a scripting @@ -50,6 +55,16 @@ packages that add functionality to Emacs. --without-makeinfo %make_build +# Create macros.emacs RPM macro file +cat > macros.emacs << EOF +%%_emacs_version %{version} +%%_emacs_ev %{?epoch:%{epoch}:}%{version} +%%_emacs_evr %{?epoch:%{epoch}:}%{version}-%{release} +%%_emacs_sitelispdir %{site_lisp} +%%_emacs_sitestartdir %{site_start_d} +%%_emacs_bytecompile(W) /usr/bin/emacs -batch --no-init-file --no-site-file --eval '(push nil load-path)' %%{-W:--eval '(setq byte-compile-error-on-warn t)' }-f batch-byte-compile %%* +EOF + %install %make_install @@ -62,6 +77,38 @@ rm %{buildroot}%{_datadir}/applications/*.desktop mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/site-start.d +# Install rpm macro definition file +mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d +install -p -m 0644 macros.emacs %{buildroot}%{_rpmconfigdir}/macros.d/ + +mkdir -p %{buildroot}%{site_lisp} +install -p -m 0644 %SOURCE1 %{buildroot}%{site_lisp}/site-start.el +install -p -m 0644 %SOURCE2 %{buildroot}%{site_lisp} + +# This solves bz#474958, "update-directory-autoloads" now finally +# works the path is different each version, so we'll generate it here +echo "(setq source-directory \"%{_datadir}/emacs/%{version}/\")" \ + >> %{buildroot}%{site_lisp}/site-start.el + +mkdir -p %{buildroot}%{site_lisp}/site-start.d + +# +# Create file lists +# +rm -f *-filelist {common,el}-*-files + +( TOPDIR=${PWD} + cd %{buildroot} + + find .%{_datadir}/emacs/%{version}/lisp .%{site_lisp} \ + \( -type f -name '*.elc' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el.gz' -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \) + +) + +# Put the lists together after filtering ./usr to /usr +sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files +grep -vhE '%{site_lisp}(|/(default\.el|site-start\.d|site-start\.el))$' {common,el}-*-files > common-filelist + %files %defattr(-,root,root) %{_bindir}/ebrowse @@ -77,6 +124,9 @@ mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/site-start.d %{_datadir}/emacs/%{version}/site-lisp/subdirs.el %{_datadir}/emacs/site-lisp/subdirs.el %{_datadir}/metainfo/emacs.metainfo.xml +%attr(0644,root,root) %config(noreplace) %{site_lisp}/default.el +%attr(0644,root,root) %config %{site_lisp}/site-start.el +%{_rpmconfigdir}/macros.d/macros.emacs %files filesystem %dir %{_datadir}/emacs @@ -84,6 +134,9 @@ mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/site-start.d %dir %{_datadir}/emacs/site-lisp/site-start.d %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 29.3-2 +- Added macros.emacs RPM macro file to be produced and provided by the package + * Wed Apr 03 2024 Betty Lakes - 29.3-1 - Upgrade to 29.3 diff --git a/SPECS/emacs/site-start.el b/SPECS/emacs/site-start.el new file mode 100644 index 00000000000..8a6e36418c6 --- /dev/null +++ b/SPECS/emacs/site-start.el @@ -0,0 +1,9 @@ +;;; loaded before user's ".emacs" file and default.el + +;; load *.el and *.elc in /usr/share/emacs/site-lisp/site-start.d on startup +(mapc + 'load + (delete-dups + (mapcar 'file-name-sans-extension + (directory-files + "/usr/share/emacs/site-lisp/site-start.d" t "\\.elc?\\'")))) diff --git a/SPECS/libguestfs/libguestfs.spec b/SPECS/libguestfs/libguestfs.spec index f98d10218e6..a77f0b114fc 100644 --- a/SPECS/libguestfs/libguestfs.spec +++ b/SPECS/libguestfs/libguestfs.spec @@ -25,7 +25,7 @@ Summary: Access and modify virtual machine disk images Name: libguestfs Version: 1.52.0 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Vendor: Microsoft Corporation Distribution: Azure Linux @@ -123,7 +123,7 @@ BuildRequires: ntfs-3g BuildRequires: ntfs-3g-system-compression BuildRequires: ntfsprogs # For language bindings. -BuildRequires: ocaml +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-augeas-devel BuildRequires: ocaml-findlib-devel BuildRequires: ocaml-gettext-devel @@ -1146,6 +1146,10 @@ rm ocaml/html/.gitignore %endif %changelog +* Tue May 07 2024 Mykhailo Bykhovtsev - 1.52.0-2 +- Use ocaml >= 5.1.1 +- Rebuild for new version of supermin + * Wed Mar 27 2024 BettyLakes - 1.52.0-1 - Update to 1.52.0 - Move to pcre2 diff --git a/SPECS/nbdkit/nbdkit.spec b/SPECS/nbdkit/nbdkit.spec index 643448f239d..9a8a71b92ca 100644 --- a/SPECS/nbdkit/nbdkit.spec +++ b/SPECS/nbdkit/nbdkit.spec @@ -51,7 +51,7 @@ Distribution: Azure Linux Name: nbdkit Version: 1.35.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: NBD server License: BSD @@ -94,7 +94,7 @@ BuildRequires: python3-devel BuildRequires: python3-boto3 %endif %if 0%{?have_ocaml} -BuildRequires: ocaml >= 4.03 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-ocamldoc %endif %if %{with ruby} @@ -1195,6 +1195,9 @@ export LIBGUESTFS_TRACE=1 %changelog +* Thu May 02 2024 Mykhailo Bykhovtsev - 1.35.3-5 +- Upgraded ocaml dependency to 5.1.1 + * Fri Feb 16 2024 Andrew Phelps - 1.35.3-4 - Wrap test dependencies in with_check if block diff --git a/SPECS/ocaml-augeas/ocaml-augeas.spec b/SPECS/ocaml-augeas/ocaml-augeas.spec index cacdd4e5fc4..ea33fdfca64 100644 --- a/SPECS/ocaml-augeas/ocaml-augeas.spec +++ b/SPECS/ocaml-augeas/ocaml-augeas.spec @@ -5,14 +5,12 @@ ExcludeArch: %{ix86} Summary: OCaml bindings for Augeas configuration API Name: ocaml-%{srcname} Version: 0.6 -Release: 32%{?dist} +Release: 33%{?dist} License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://people.redhat.com/~rjones/augeas/files/ Source0: https://people.redhat.com/~rjones/%{srcname}/files/%{name}-%{version}.tar.gz -Source1: ocaml_files.py -Source2: macros.ocaml-rpm # Upstream patch to enable debuginfo. #Patch1: 0001-Use-ocamlopt-g-option.patch @@ -20,9 +18,10 @@ Source2: macros.ocaml-rpm #Patch2: 0002-caml_named_value-returns-const-value-pointer-in-OCam.patch BuildRequires: make -BuildRequires: ocaml >= 3.09.0 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-findlib BuildRequires: ocaml-ocamldoc +BuildRequires: ocaml-rpm-macros BuildRequires: augeas-devel >= 0.1.0 @@ -46,9 +45,6 @@ developing applications that use %{name}. # Pass -g to ocamlmklib sed -i 's/ocamlmklib/& -g/' Makefile.in - -cp -v %{SOURCE1} %{_rpmconfigdir}/azl -cp -v %{SOURCE2} %{_rpmmacrodir}/ %build export CFLAGS="$CFLAGS -Wno-discarded-qualifiers" @@ -99,6 +95,9 @@ ocamlfind install augeas META *.mli *.cma *.a augeas.cmi *.so %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.6-33 +- Removing embedded macros file in favor of using one provided by the ocaml-rpm-macros package. + * Fri Mar 29 2024 Betty Lakes - 0.6-32 - Cleaning-up spec. License verified. - Initial Azure Linux import from Fedora 40 (license: MIT). diff --git a/SPECS/ocaml-base/ocaml-base-mathlib.patch b/SPECS/ocaml-base/ocaml-base-mathlib.patch new file mode 100644 index 00000000000..17d67c3358e --- /dev/null +++ b/SPECS/ocaml-base/ocaml-base-mathlib.patch @@ -0,0 +1,10 @@ +--- base-0.16.1/src/dune.orig 2023-06-20 14:08:15.139975537 -0600 ++++ base-0.16.1/src/dune 2023-06-20 14:08:38.642631102 -0600 +@@ -11,6 +11,7 @@ + (ocamlopt_flags :standard (:include ocamlopt-flags)) + (libraries base_internalhash_types caml sexplib0 shadow_stdlib) + (c_flags :standard -D_LARGEFILE64_SOURCE (:include mpopcnt.sexp)) ++ (c_library_flags -lm) + (c_names bytes_stubs exn_stubs int_math_stubs hash_stubs am_testing) + (preprocess no_preprocessing) + (lint diff --git a/SPECS/ocaml-base/ocaml-base.signatures.json b/SPECS/ocaml-base/ocaml-base.signatures.json index 08f0d845dfd..efb48083bf5 100644 --- a/SPECS/ocaml-base/ocaml-base.signatures.json +++ b/SPECS/ocaml-base/ocaml-base.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "base-0.15.0.tar.gz": "9c2cdcd9ef565d444e261f43270377228c9d01e71ab2e78edb00956912c710aa" + "base-0.16.3.tar.gz": "9bf9e503e2bd010325c7b0f5ae007ce1e5d3da61f0e06d2fbb64e9d12ccff93c" } } diff --git a/SPECS/ocaml-base/ocaml-base.spec b/SPECS/ocaml-base/ocaml-base.spec index fccc6503045..aa5b949601f 100644 --- a/SPECS/ocaml-base/ocaml-base.spec +++ b/SPECS/ocaml-base/ocaml-base.spec @@ -3,19 +3,34 @@ # tests at all until we are able to add ppx_jane. %global srcname base +# This package is needed to build ppx_jane, but its tests require ppx_jane. +# Break the dependency cycle here. +%bcond_with test + Summary: Jane Street standard library for OCaml Name: ocaml-%{srcname} -Version: 0.15.0 -Release: 2%{?dist} +Version: 0.16.3 +Release: 1%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://opensource.janestreet.com/base/ Source0: https://github.com/janestreet/%{srcname}/archive/v%{version}/%{srcname}-%{version}.tar.gz -Patch0: %{name}-ocaml413compat.patch -BuildRequires: ocaml >= 4.07.0 -BuildRequires: ocaml-dune-devel >= 2.0.0 -BuildRequires: ocaml-sexplib0-devel >= 0.15 +# Expose a dependency on the math library so RPM can see it +Patch0: %{name}-mathlib.patch + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 2.0.0 +BuildRequires: ocaml-dune-configurator-devel +BuildRequires: ocaml-sexplib0-devel >= 0.16 + +%if %{with test} +BuildRequires: ocaml-num-devel +BuildRequires: ocaml-ppx-jane-devel +BuildRequires: ocaml-sexplib-devel +BuildRequires: ocaml-stdio-devel +BuildRequires: ocaml-uutf-devel +%endif %description Base is a standard library for OCaml. It provides a standard set of @@ -37,82 +52,29 @@ The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -n %{srcname}-%{version} -p1 +%autosetup -n base-%{version} -p1 %build -dune build %{?_smp_mflags} - -# TODO: Once odoc is available, BR it and run this to generate documentation: -# dune build %{?_smp_mflags} @doc - -# Dune passes %%build_ldflags to ocamlmklib without -ldopt, resulting in -# "Unknown option" warnings from ocamlmklib and a library that has not been -# linked with the correct flags. We can't add -ldopt ourselves, since that -# breaks compilation of the cmxs files. This seems to be a weakness of dune; -# linker flags and libraries to be linked with have to be specified together, -# and nothing takes care of separating them and adding ldopt as necessary. We -# relink manually to address the problem. -pushd _build/default/src -ocamlmklib -g -ldopt "%{build_ldflags}" -o base_stubs *.o -cd ../hash_types/src -ocamlmklib -g -ldopt "%{build_ldflags}" -o base_internalhash_types_stubs *.o -popd +%dune_build %install -dune install --destdir=%{buildroot} +%dune_install -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+ +%if %{with test} +%check +%dune_check %endif -%files +%files -f .ofiles %doc CHANGES.md README.org ROADMAP.md %license LICENSE.md -%dir %{_libdir}/ocaml/%{srcname}/ -%dir %{_libdir}/ocaml/%{srcname}/base_internalhash_types/ -%dir %{_libdir}/ocaml/%{srcname}/caml/ -%dir %{_libdir}/ocaml/%{srcname}/md5/ -%dir %{_libdir}/ocaml/%{srcname}/shadow_stdlib/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/*.cma -%{_libdir}/ocaml/%{srcname}/*.cmi -%{_libdir}/ocaml/%{srcname}/*.js -%{_libdir}/ocaml/%{srcname}/*/*.cma -%{_libdir}/ocaml/%{srcname}/*/*.cmi -%{_libdir}/ocaml/%{srcname}/*/*.js -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*.cmxs -%{_libdir}/ocaml/%{srcname}/*/*.cmxs -%endif -%{_libdir}/ocaml/stublibs/dllbase_stubs.so -%{_libdir}/ocaml/stublibs/dllbase_internalhash_types_stubs.so - -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*.a -%{_libdir}/ocaml/%{srcname}/*.cmx -%{_libdir}/ocaml/%{srcname}/*.cmxa -%{_libdir}/ocaml/%{srcname}/*/*.a -%{_libdir}/ocaml/%{srcname}/*/*.cmx -%{_libdir}/ocaml/%{srcname}/*/*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/*.cmt -%{_libdir}/ocaml/%{srcname}/*.cmti -%{_libdir}/ocaml/%{srcname}/*.ml -%{_libdir}/ocaml/%{srcname}/*.mli -%{_libdir}/ocaml/%{srcname}/*/*.cmt -%{_libdir}/ocaml/%{srcname}/*/*.cmti -%{_libdir}/ocaml/%{srcname}/*/*.h -%{_libdir}/ocaml/%{srcname}/*/*.ml -%{_libdir}/ocaml/%{srcname}/*/*.mli + +%files devel -f .ofiles-devel %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.3-1 +- Upgrade to 0.16.3 + * Thu Mar 31 2022 Pawel Winogrodzki - 0.15.0-2 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec b/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec index aa088c9e385..66a7ce7ed95 100644 --- a/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec +++ b/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec @@ -8,7 +8,7 @@ Summary: Code coverage for OCaml and Reason Name: ocaml-%{srcname} Version: 2.6.3 -Release: 3%{?dist} +Release: 4%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux @@ -16,10 +16,10 @@ URL: https://aantron.github.io/bisect_ppx/ Source0: https://github.com/aantron/%{upname}/archive/%{version}/%{upname}-%{version}.tar.gz BuildRequires: git-core -BuildRequires: ocaml >= 4.02.0 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-cmdliner-devel >= 1.0.0 BuildRequires: ocaml-dune >= 2.7.0 -BuildRequires: ocaml-ppxlib-devel >= 0.21.0 +BuildRequires: ocaml-ppxlib-devel >= 0.31.0 Provides: %{name}-doc = %{version}-%{release} @@ -112,6 +112,9 @@ find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete %{_libdir}/ocaml/%{upname}/runtime/*.mli %changelog +* Mon May 06 2024 Mykhailo Bykhovtsev - 2.6.3-4 +- Rebuild using ocaml 5.1.1 + * Thu Mar 31 2022 Pawel Winogrodzki - 2.6.3-3 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.signatures.json b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.signatures.json new file mode 100644 index 00000000000..49c508f9716 --- /dev/null +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "camlp-streams-5.0.1.tar.gz": "ad71f62406e9bb4e7fb5d4593ede2af6c68f8b0d96f25574446e142c3eb0d9a4" + } +} diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec new file mode 100644 index 00000000000..df58f9fc885 --- /dev/null +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec @@ -0,0 +1,109 @@ +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +Name: ocaml-camlp-streams +Version: 5.0.1 +Release: 12%{?dist} +Summary: Stream and Genlex libraries for OCaml + +License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception +URL: https://github.com/ocaml/camlp-streams +Source0: %{url}/archive/v%{version}/camlp-streams-%{version}.tar.gz + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 2.7 + +%description +The camlp-streams package provides two library modules: +- Stream: imperative streams, with in-place update and memoization of + the latest element produced. +- Genlex: a small parameterized lexical analyzer producing streams of + tokens from streams of characters. + +The two modules are designed for use with Camlp4 and Camlp5: +- The stream patterns and stream expressions of Camlp4/Camlp5 consume + and produce data of type `'a Stream.t`. +- The Genlex tokenizer can be used as a simple lexical analyzer for + Camlp4/Camlp5-generated parsers. + +The Stream module can also be used by hand-written recursive-descent +parsers, but is not very convenient for this purpose. + +The Stream and Genlex modules have been part of the OCaml standard +library for a long time, and have been distributed as part of the core +OCaml system. They will be removed from the OCaml standard library at +some future point, but will be maintained and distributed separately in +this camlp-streams package. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and signature +files for developing applications that use %{name}. + +%prep +%autosetup -n camlp-streams-%{version} + +%build +%dune_build + +%install +%dune_install + +%check +%dune_check + +%files -f .ofiles +%doc CHANGES.md README.md +%license LICENSE + +%files devel -f .ofiles-devel + +%changelog +* Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 +- Initial Import from Fedora + +* Thu Jan 25 2024 Fedora Release Engineering - 5.0.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 5.0.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 5.0.1-10 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 5.0.1-9 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 5.0.1-8 +- OCaml 5.1 rebuild for Fedora 40 + +* Thu Jul 20 2023 Fedora Release Engineering - 5.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Richard W.M. Jones - 5.0.1-6 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 5.0.1-5 +- OCaml 5.0.0 rebuild + +* Tue Jan 24 2023 Richard W.M. Jones - 5.0.1-4 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 5.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 12 2022 Jerry James - 5.0.1-2 +- Convert License tag to SPDX + +* Fri Jul 22 2022 Fedora Release Engineering - 5.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 5 2022 Jerry James - 5.0.1-1 +- Initial RPM (rhbz#2104283) \ No newline at end of file diff --git a/SPECS/ocaml-camomile/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch b/SPECS/ocaml-camomile/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch new file mode 100644 index 00000000000..ab80ca6a584 --- /dev/null +++ b/SPECS/ocaml-camomile/0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch @@ -0,0 +1,787 @@ +From 5cc39e952a6445866196674f87761576e27fc494 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 26 Apr 2021 11:50:15 +0100 +Subject: [PATCH] src/locales/eo.txt: Fix license by importing data from ICU + +The license for this particular (Esperanto) file is non-free. +Possibly it is supposed to be overridden by the "license.html" file in +the current directory, but our tooling can't read HTML files. + +We can fix this by importing the same data from the newer Unicode ICU +project files, as these are distributed under a free license. This +also gives us slightly increased functionality. + +See also: + +https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/EP453A4JSXM2DKIBLPYBKLID47OCKCPW/ + +Signed-off-by: Richard W.M. Jones +--- + src/locales/eo.txt | 479 ++++++++++++++++++++++++++++++++++------ + 1 file changed, 415 insertions(+), 64 deletions(-) + +diff --git a/src/locales/eo.txt b/src/locales/eo.txt +index 6973c72..2c7b2e5 100644 +--- a/src/locales/eo.txt ++++ b/src/locales/eo.txt +@@ -1,165 +1,600 @@ +-// *************************************************************************** +-// * * +-// * COPYRIGHT: * +-// * Copyright (C) 1997-2002, International Business Machines * +-// * Licensed Material - Program-Property of IBM - All Rights Reserved. * +-// * US Government Users Restricted Rights - Use, duplication, or disclosure * +-// * restricted by GSA ADP Schedule Contract with IBM Corp. * +-// * * +-// *************************************************************************** +-// Feedback to : schererm@us.ibm.com +- +-eo { ++// © 2016 and later: Unicode, Inc. and others. ++// License & terms of use: http://www.unicode.org/copyright.html ++// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml ++eo{ + Version { "2.0" } +- Countries { +- AT { "A\u016dstrujo" } +- BE { "Belgujo" } +- CA { "Kanado" } +- CH { "Svisujo" } +- DE { "Germanujo" } +- DK { "Danujo" } +- ES { "Hispanujo" } +- FI { "Finnlando" } +- GR { "Grekujo" } +- IT { "Italujo" } +- JP { "Japanujo" } +- NL { "Nederlando" } +- NO { "Norvego" } +- PT { "Portugalujo" } +- SE { "Svedujo" } +- TR { "Turkujo" } +- US { "Usono" } +- } +- DateTimePatterns { +- "H'-a horo kaj 'm z", +- "HH:mm:ss z", +- "HH:mm:ss", +- "HH:mm", +- "EEEE, d'-a de 'MMMM yyyy", +- "yyyy-MMMM-dd", +- "yyyy-MMM-dd", +- "yy-MM-dd", +- "{1} {0}", +- } +- DateTimeElements:intvector { +- 2, +- 4, +- } +- AmPmMarkers { +- "atm", +- "ptm", +- } +- DayAbbreviations { +- "di", +- "lu", +- "ma", +- "me", +- "\u0135a", +- "ve", +- "sa", +- } +- DayNames { +- "diman\u0109o", +- "lundo", +- "mardo", +- "merkredo", +- "\u0135a\u016ddo", +- "vendredo", +- "sabato", +- } +- Eras { +- "aK", +- "pK", +- } +- Languages { +- da { "dana" } +- de { "germana" } +- el { "greka" } +- en { "angla" } +- eo { "esperanto" } +- es { "hispana" } +- fi { "finna" } +- it { "itala" } +- ja { "japana" } +- nl { "nederlanda" } +- no { "norvega" } +- pt { "portugala" } +- sv { "sveda" } +- tr { "turka" } ++ Countries{ ++ 001{"Mondo"} ++ AD{"Andoro"} ++ AE{"Unuiĝintaj Arabaj Emirlandoj"} ++ AF{"Afganujo"} ++ AG{"Antigvo-Barbudo"} ++ AI{"Angvilo"} ++ AL{"Albanujo"} ++ AM{"Armenujo"} ++ AO{"Angolo"} ++ AQ{"Antarkto"} ++ AR{"Argentino"} ++ AT{"Aŭstrujo"} ++ AU{"Aŭstralio"} ++ AW{"Arubo"} ++ AZ{"Azerbajĝano"} ++ BA{"Bosnio-Hercegovino"} ++ BB{"Barbado"} ++ BD{"Bangladeŝo"} ++ BE{"Belgujo"} ++ BF{"Burkino"} ++ BG{"Bulgarujo"} ++ BH{"Barejno"} ++ BI{"Burundo"} ++ BJ{"Benino"} ++ BM{"Bermudoj"} ++ BN{"Brunejo"} ++ BO{"Bolivio"} ++ BR{"Brazilo"} ++ BS{"Bahamoj"} ++ BT{"Butano"} ++ BW{"Bocvano"} ++ BY{"Belorusujo"} ++ BZ{"Belizo"} ++ CA{"Kanado"} ++ CF{"Centr-Afrika Respubliko"} ++ CG{"Kongolo"} ++ CH{"Svisujo"} ++ CI{"Ebur-Bordo"} ++ CK{"Kukinsuloj"} ++ CL{"Ĉilio"} ++ CM{"Kameruno"} ++ CN{"Ĉinujo"} ++ CO{"Kolombio"} ++ CR{"Kostariko"} ++ CU{"Kubo"} ++ CV{"Kabo-Verdo"} ++ CY{"Kipro"} ++ CZ{"Ĉeĥujo"} ++ DE{"Germanujo"} ++ DJ{"Ĝibutio"} ++ DK{"Danujo"} ++ DM{"Dominiko"} ++ DO{"Domingo"} ++ DZ{"Alĝerio"} ++ EC{"Ekvadoro"} ++ EE{"Estonujo"} ++ EG{"Egipto"} ++ EH{"Okcidenta Saharo"} ++ ER{"Eritreo"} ++ ES{"Hispanujo"} ++ ET{"Etiopujo"} ++ FI{"Finnlando"} ++ FJ{"Fiĝoj"} ++ FM{"Mikronezio"} ++ FO{"Ferooj"} ++ FR{"Francujo"} ++ GA{"Gabono"} ++ GB{"Unuiĝinta Reĝlando"} ++ GD{"Grenado"} ++ GE{"Kartvelujo"} ++ GF{"Franca Gviano"} ++ GH{"Ganao"} ++ GI{"Ĝibraltaro"} ++ GL{"Gronlando"} ++ GM{"Gambio"} ++ GN{"Gvineo"} ++ GP{"Gvadelupo"} ++ GQ{"Ekvatora Gvineo"} ++ GR{"Grekujo"} ++ GS{"Sud-Georgio kaj Sud-Sandviĉinsuloj"} ++ GT{"Gvatemalo"} ++ GU{"Gvamo"} ++ GW{"Gvineo-Bisaŭo"} ++ GY{"Gujano"} ++ HM{"Herda kaj Makdonaldaj Insuloj"} ++ HN{"Honduro"} ++ HR{"Kroatujo"} ++ HT{"Haitio"} ++ HU{"Hungarujo"} ++ ID{"Indonezio"} ++ IE{"Irlando"} ++ IL{"Israelo"} ++ IN{"Hindujo"} ++ IO{"Brita Hindoceana Teritorio"} ++ IQ{"Irako"} ++ IR{"Irano"} ++ IS{"Islando"} ++ IT{"Italujo"} ++ JM{"Jamajko"} ++ JO{"Jordanio"} ++ JP{"Japanujo"} ++ KE{"Kenjo"} ++ KG{"Kirgizistano"} ++ KH{"Kamboĝo"} ++ KI{"Kiribato"} ++ KM{"Komoroj"} ++ KN{"Sent-Kristofo kaj Neviso"} ++ KP{"Nord-Koreo"} ++ KR{"Sud-Koreo"} ++ KW{"Kuvajto"} ++ KY{"Kejmanoj"} ++ KZ{"Kazaĥstano"} ++ LA{"Laoso"} ++ LB{"Libano"} ++ LC{"Sent-Lucio"} ++ LI{"Liĥtenŝtejno"} ++ LK{"Sri-Lanko"} ++ LR{"Liberio"} ++ LS{"Lesoto"} ++ LT{"Litovujo"} ++ LU{"Luksemburgo"} ++ LV{"Latvujo"} ++ LY{"Libio"} ++ MA{"Maroko"} ++ MC{"Monako"} ++ MD{"Moldavujo"} ++ MG{"Madagaskaro"} ++ MH{"Marŝaloj"} ++ ML{"Malio"} ++ MM{"Mjanmao"} ++ MN{"Mongolujo"} ++ MP{"Nord-Marianoj"} ++ MQ{"Martiniko"} ++ MR{"Maŭritanujo"} ++ MT{"Malto"} ++ MU{"Maŭricio"} ++ MV{"Maldivoj"} ++ MW{"Malavio"} ++ MX{"Meksiko"} ++ MY{"Malajzio"} ++ MZ{"Mozambiko"} ++ NA{"Namibio"} ++ NC{"Nov-Kaledonio"} ++ NE{"Niĝero"} ++ NF{"Norfolkinsulo"} ++ NG{"Niĝerio"} ++ NI{"Nikaragvo"} ++ NL{"Nederlando"} ++ NO{"Norvegujo"} ++ NP{"Nepalo"} ++ NR{"Nauro"} ++ NU{"Niuo"} ++ NZ{"Nov-Zelando"} ++ OM{"Omano"} ++ PA{"Panamo"} ++ PE{"Peruo"} ++ PF{"Franca Polinezio"} ++ PG{"Papuo-Nov-Gvineo"} ++ PH{"Filipinoj"} ++ PK{"Pakistano"} ++ PL{"Pollando"} ++ PM{"Sent-Piero kaj Mikelono"} ++ PN{"Pitkarna Insulo"} ++ PR{"Puerto-Riko"} ++ PT{"Portugalujo"} ++ PW{"Belaŭo"} ++ PY{"Paragvajo"} ++ QA{"Kataro"} ++ RE{"Reunio"} ++ RO{"Rumanujo"} ++ RU{"Rusujo"} ++ RW{"Ruando"} ++ SA{"Saŭda Arabujo"} ++ SB{"Salomonoj"} ++ SC{"Sejŝeloj"} ++ SD{"Sudano"} ++ SE{"Svedujo"} ++ SG{"Singapuro"} ++ SH{"Sent-Heleno"} ++ SI{"Slovenujo"} ++ SJ{"Svalbardo kaj Jan-Majen-insulo"} ++ SK{"Slovakujo"} ++ SL{"Siera-Leono"} ++ SM{"San-Marino"} ++ SN{"Senegalo"} ++ SO{"Somalujo"} ++ SR{"Surinamo"} ++ ST{"Sao-Tomeo kaj Principeo"} ++ SV{"Salvadoro"} ++ SY{"Sirio"} ++ SZ{"Svazilando"} ++ TD{"Ĉado"} ++ TG{"Togolo"} ++ TH{"Tajlando"} ++ TJ{"Taĝikujo"} ++ TM{"Turkmenujo"} ++ TN{"Tunizio"} ++ TO{"Tongo"} ++ TR{"Turkujo"} ++ TT{"Trinidado kaj Tobago"} ++ TV{"Tuvalo"} ++ TW{"Tajvano"} ++ TZ{"Tanzanio"} ++ UA{"Ukrajno"} ++ UG{"Ugando"} ++ UM{"Usonaj malgrandaj insuloj"} ++ US{"Usono"} ++ UY{"Urugvajo"} ++ UZ{"Uzbekujo"} ++ VA{"Vatikano"} ++ VC{"Sent-Vincento kaj la Grenadinoj"} ++ VE{"Venezuelo"} ++ VG{"Britaj Virgulininsuloj"} ++ VI{"Usonaj Virgulininsuloj"} ++ VN{"Vjetnamo"} ++ VU{"Vanuatuo"} ++ WF{"Valiso kaj Futuno"} ++ WS{"Samoo"} ++ YE{"Jemeno"} ++ YT{"Majoto"} ++ ZA{"Sud-Afriko"} ++ ZM{"Zambio"} ++ ZW{"Zimbabvo"} + } +- //LocaleID { "07e0" } +-// LocaleString { "eo" } +- MonthAbbreviations { +- "jan", +- "feb", +- "mar", +- "apr", +- "maj", +- "jun", +- "jul", +- "a\u016dg", +- "sep", +- "okt", +- "nov", +- "dec", ++ AuxExemplarCharacters{"[q w x y]"} ++ ExemplarCharacters{"[a b c ĉ d e f g ĝ h ĥ i j ĵ k l m n o p r s ŝ t u ŭ v z]"} ++ ExemplarCharactersIndex{"[A B C Ĉ D E F G Ĝ H Ĥ I J Ĵ K L M N O P R S Ŝ T U Ŭ V Z]"} ++ ExemplarCharactersNumbers{"[ , % ‰ + − 0 1 2 3 4 5 6 7 8 9]"} ++ ExemplarCharactersPunctuation{"[\\- ‐ ‑ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] \\{ \\} /]"} ++ NumberElements{ ++ latn{ ++ symbols{ ++ decimal{","} ++ group{" "} ++ } ++ } + } +- MonthNames { +- "januaro", +- "februaro", +- "marto", +- "aprilo", +- "majo", +- "junio", +- "julio", +- "a\u016dgusto", +- "septembro", +- "oktobro", +- "novembro", +- "decembro", ++ calendar{ ++ generic{ ++ DateTimePatterns{ ++ "H-'a' 'horo' 'kaj' m:ss zzzz", ++ "HH:mm:ss z", ++ "HH:mm:ss", ++ "HH:mm", ++ "EEEE, d-'a' 'de' MMMM y G", ++ "G y-MMMM-dd", ++ "G y-MMM-dd", ++ "GGGGG y-MM-dd", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ } ++ DateTimeSkeletons{ ++ "Hmsszzzz", ++ "HHmmssz", ++ "HHmmss", ++ "HHmm", ++ "GyMMMMEEEEd", ++ "GyMMMMdd", ++ "GyMMMdd", ++ "GGGGGyMMdd", ++ } ++ } ++ gregorian{ ++ AmPmMarkers{ ++ "atm", ++ "ptm", ++ } ++ AmPmMarkersAbbr{ ++ "atm", ++ "ptm", ++ } ++ DateTimePatterns{ ++ "H-'a' 'horo' 'kaj' m:ss zzzz", ++ "HH:mm:ss z", ++ "HH:mm:ss", ++ "HH:mm", ++ "EEEE, d-'a' 'de' MMMM y", ++ "y-MMMM-dd", ++ "y-MMM-dd", ++ "yy-MM-dd", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ "{1} {0}", ++ } ++ DateTimeSkeletons{ ++ "Hmsszzzz", ++ "HHmmssz", ++ "HHmmss", ++ "HHmm", ++ "yMMMMEEEEd", ++ "yMMMMdd", ++ "yMMMdd", ++ "yyMMdd", ++ } ++ dayNames{ ++ format{ ++ abbreviated{ ++ "di", ++ "lu", ++ "ma", ++ "me", ++ "ĵa", ++ "ve", ++ "sa", ++ } ++ wide{ ++ "dimanĉo", ++ "lundo", ++ "mardo", ++ "merkredo", ++ "ĵaŭdo", ++ "vendredo", ++ "sabato", ++ } ++ } ++ stand-alone{ ++ wide{ ++ "dimanĉo", ++ "lundo", ++ "mardo", ++ "merkredo", ++ "ĵaŭdo", ++ "vendredo", ++ "sabato", ++ } ++ } ++ } ++ eras{ ++ abbreviated{ ++ "aK", ++ "pK", ++ } ++ narrow{ ++ "aK", ++ "pK", ++ } ++ narrow%variant{ ++ "aK", ++ "pK", ++ } ++ wide{ ++ "aK", ++ "pK", ++ } ++ } ++ monthNames{ ++ format{ ++ abbreviated{ ++ "jan", ++ "feb", ++ "mar", ++ "apr", ++ "maj", ++ "jun", ++ "jul", ++ "aŭg", ++ "sep", ++ "okt", ++ "nov", ++ "dec", ++ } ++ wide{ ++ "januaro", ++ "februaro", ++ "marto", ++ "aprilo", ++ "majo", ++ "junio", ++ "julio", ++ "aŭgusto", ++ "septembro", ++ "oktobro", ++ "novembro", ++ "decembro", ++ } ++ } ++ stand-alone{ ++ wide{ ++ "januaro", ++ "februaro", ++ "marto", ++ "aprilo", ++ "majo", ++ "junio", ++ "julio", ++ "aŭgusto", ++ "septembro", ++ "oktobro", ++ "novembro", ++ "decembro", ++ } ++ } ++ } ++ } + } +- NumberElements { +- ",", +- "\u00a0", +- ";", +- "%", +- "0", +- "#", +- "-", +- "E", +- "\u2030", +- "\u221E", +- "\uFFFD", ++ Languages{ ++ aa{"afara"} ++ ab{"abĥaza"} ++ af{"afrikansa"} ++ am{"amhara"} ++ ar{"araba"} ++ as{"asama"} ++ ay{"ajmara"} ++ az{"azerbajĝana"} ++ ba{"baŝkira"} ++ be{"belorusa"} ++ bg{"bulgara"} ++ bi{"bislamo"} ++ bn{"bengala"} ++ bo{"tibeta"} ++ br{"bretona"} ++ bs{"bosnia"} ++ ca{"kataluna"} ++ co{"korsika"} ++ cs{"ĉeĥa"} ++ cy{"kimra"} ++ da{"dana"} ++ de{"germana"} ++ dv{"mahla"} ++ dz{"dzonko"} ++ efi{"ibibioefika"} ++ el{"greka"} ++ en{"angla"} ++ eo{"esperanto"} ++ es{"hispana"} ++ et{"estona"} ++ eu{"eŭska"} ++ fa{"persa"} ++ fi{"finna"} ++ fil{"filipina"} ++ fj{"fiĝia"} ++ fo{"feroa"} ++ fr{"franca"} ++ fy{"frisa"} ++ ga{"irlanda"} ++ gd{"gaela"} ++ gl{"galega"} ++ gn{"gvarania"} ++ gu{"guĝarata"} ++ ha{"haŭsa"} ++ haw{"havaja"} ++ he{"hebrea"} ++ hi{"hinda"} ++ hr{"kroata"} ++ ht{"haitia kreola"} ++ hu{"hungara"} ++ hy{"armena"} ++ ia{"interlingvao"} ++ id{"indonezia"} ++ ie{"okcidentalo"} ++ ik{"eskima"} ++ is{"islanda"} ++ it{"itala"} ++ iu{"inuita"} ++ ja{"japana"} ++ jv{"java"} ++ ka{"kartvela"} ++ kk{"kazaĥa"} ++ kl{"gronlanda"} ++ km{"kmera"} ++ kn{"kanara"} ++ ko{"korea"} ++ ks{"kaŝmira"} ++ ku{"kurda"} ++ ky{"kirgiza"} ++ la{"latino"} ++ lb{"luksemburga"} ++ ln{"lingala"} ++ lo{"laŭa"} ++ lt{"litova"} ++ lv{"latva"} ++ mg{"malagasa"} ++ mi{"maoria"} ++ mk{"makedona"} ++ ml{"malajalama"} ++ mn{"mongola"} ++ mr{"marata"} ++ ms{"malaja"} ++ mt{"malta"} ++ my{"birma"} ++ na{"naura"} ++ nb{"dannorvega"} ++ ne{"nepala"} ++ nl{"nederlanda"} ++ nn{"novnorvega"} ++ no{"norvega"} ++ oc{"okcitana"} ++ om{"oroma"} ++ or{"orijo"} ++ pa{"panĝaba"} ++ pl{"pola"} ++ ps{"paŝtoa"} ++ pt{"portugala"} ++ pt_BR{"brazilportugala"} ++ pt_PT{"eŭropportugala"} ++ qu{"keĉua"} ++ rm{"romanĉa"} ++ rn{"burunda"} ++ ro{"rumana"} ++ ru{"rusa"} ++ rw{"ruanda"} ++ sa{"sanskrito"} ++ sd{"sinda"} ++ sg{"sangoa"} ++ sh{"serbo-Kroata"} ++ si{"sinhala"} ++ sk{"slovaka"} ++ sl{"slovena"} ++ sm{"samoa"} ++ sn{"ŝona"} ++ so{"somala"} ++ sq{"albana"} ++ sr{"serba"} ++ ss{"svazia"} ++ st{"sota"} ++ su{"sunda"} ++ sv{"sveda"} ++ sw{"svahila"} ++ ta{"tamila"} ++ te{"telugua"} ++ tg{"taĝika"} ++ th{"taja"} ++ ti{"tigraja"} ++ tk{"turkmena"} ++ tl{"tagaloga"} ++ tlh{"klingona"} ++ tn{"cvana"} ++ to{"tongaa"} ++ tr{"turka"} ++ ts{"conga"} ++ tt{"tatara"} ++ ug{"ujgura"} ++ uk{"ukraina"} ++ und{"nekonata lingvo"} ++ ur{"urduo"} ++ uz{"uzbeka"} ++ vi{"vjetnama"} ++ vo{"volapuko"} ++ wo{"volofa"} ++ xh{"ksosa"} ++ yi{"jida"} ++ yo{"joruba"} ++ za{"ĝuanga"} ++ zh{"ĉina"} ++ zh_Hans{"ĉina simpligita"} ++ zh_Hant{"ĉina tradicia"} ++ zu{"zulua"} ++ zxx{"nelingvaĵo"} + } +-// ShortLanguage { "epo" } +- localPatternChars { "GjMtkHmslTDUSnahKzJd" } +-// LocaleScript{ +-// "Latn", // ISO 15924 Name +-// } +- ExemplarCharacters { "[a-z \u016d \u0109 \u011d \u0125 \u0135 \u015d]" } +- //------------------------------------------------------------ +- // Rule Based Number Format Support +- //------------------------------------------------------------ +- +-// data from 'Esperanto-programita 1' courtesy of Markus Scherer +- +- SpelloutRules { +- "-x: minus >>;\n" +- "x.x: << komo >>;\n" +- "nulo; unu; du; tri; kvar; kvin; ses; sep; ok; na\u016d;\n" +- "10: dek[ >>];\n" +- "20: <>];\n" +- "100: cent[ >>];\n" +- "200: <>];\n" +- "1000: mil[ >>];\n" +- "2000: <>];\n" +- "10000: dekmil[ >>];\n" +- "11000>: << mil[ >>];\n" +- "1,000,000: miliono[ >>];\n" +- "2,000,000: << milionoj[ >>];\n" +- "1,000,000,000: miliardo[ >>];\n" +- "2,000,000,000: << miliardoj[ >>];\n" +- "1,000,000,000,000: biliono[ >>];\n" +- "2,000,000,000,000: << bilionoj[ >>];\n" +- "1,000,000,000,000,000: =#,##0=;\n" ++ RBNFRules{ ++ SpelloutRules{ ++ "%spellout-numbering-year:", ++ "x.x: =0.0=;", ++ "0: =%spellout-numbering=;", ++ "%spellout-numbering:", ++ "0: =%spellout-cardinal=;", ++ "%spellout-cardinal:", ++ "-x: minus >>;", ++ "x.x: << komo >>;", ++ "0: nulo;", ++ "1: unu;", ++ "2: du;", ++ "3: tri;", ++ "4: kvar;", ++ "5: kvin;", ++ "6: ses;", ++ "7: sep;", ++ "8: ok;", ++ "9: na\u016D;", ++ "10: dek[ >>];", ++ "20: <>];", ++ "100: cent[ >>];", ++ "200: <>];", ++ "1000: mil[ >>];", ++ "2000: << mil[ >>];", ++ "1000000: miliono[ >>];", ++ "2000000: << milionoj[ >>];", ++ "1000000000: miliardo[ >>];", ++ "2000000000: << miliardoj[ >>];", ++ "1000000000000: biliono[ >>];", ++ "2000000000000: << bilionoj[ >>];", ++ "1000000000000000: biliardo[ >>];", ++ "2000000000000000: << biliardoj[ >>];", ++ "1000000000000000000: =#,##0=;", ++ "%spellout-ordinal:", ++ "0: =%spellout-cardinal=a;", ++ } + } + } +-- +2.41.0 diff --git a/SPECS/ocaml-camomile/ocaml-camomile.signatures.json b/SPECS/ocaml-camomile/ocaml-camomile.signatures.json index c8658c5f968..ef7c13bb31a 100644 --- a/SPECS/ocaml-camomile/ocaml-camomile.signatures.json +++ b/SPECS/ocaml-camomile/ocaml-camomile.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "camomile-1.0.2.tar.gz": "2149ed1731141b29e0265e99493060eb552ac98938b031c4f496190ba97e85f6" + "camomile-2.0.0.tar.gz": "6bb421d0bb81594acb5dd902101a0609022d576fe373d956724fa60120bfd03d" } } diff --git a/SPECS/ocaml-camomile/ocaml-camomile.spec b/SPECS/ocaml-camomile/ocaml-camomile.spec index 6cc297f5480..ddfb3bce7b6 100644 --- a/SPECS/ocaml-camomile/ocaml-camomile.spec +++ b/SPECS/ocaml-camomile/ocaml-camomile.spec @@ -3,22 +3,25 @@ Summary: Unicode library for OCaml Name: ocaml-camomile -Version: 1.0.2 -Release: 9%{?dist} +Version: 2.0.0 +Release: 1%{?dist} # Several files are MIT and UCD licensed, but the overall work is LGPLv2+ # and the LGPL/GPL supercedes compatible licenses. # https://www.redhat.com/archives/fedora-legal-list/2008-March/msg00005.html License: LGPLv2+ Vendor: Microsoft Corporation Distribution: Azure Linux -URL: https://github.com/yoriyuki/Camomile -Source0: https://github.com/yoriyuki/Camomile/archive/refs/tags/%{version}.tar.gz#/camomile-%{version}.tar.gz - -BuildRequires: ocaml >= 3.12.1-12 -BuildRequires: ocaml-cppo -BuildRequires: ocaml-dune -BuildRequires: ocaml-findlib-devel -BuildRequires: ocaml-ocamldoc +URL: https://github.com/ocaml-community/Camomile +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/camomile-%{version}.tar.gz +# Fix a licensing issue in EO Unicode files. Submitted but not +# accepted upstream: https://github.com/yoriyuki/Camomile/pull/84 +Patch1: 0001-Camomile-locales-eo.txt-Fix-license-by-importing-dat.patch + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-camlp-streams-devel +BuildRequires: ocaml-dune >= 3.4 +BuildRequires: ocaml-dune-site-devel +BuildRequires: ocaml-stdlib-random-devel # The base package requires the data files. Note that it is possible # to install the data files on their own to support other packages @@ -26,85 +29,80 @@ BuildRequires: ocaml-ocamldoc # exactly this. Requires: %{name}-data = %{version}-%{release} + %description Camomile is a Unicode library for ocaml. Camomile provides Unicode character type, UTF-8, UTF-16, UTF-32 strings, conversion to/from about 200 encodings, collation and locale-sensitive case mappings, and more. + %package devel Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-camlp-streams-devel%{?_isa} +Requires: ocaml-dune-site-devel%{?_isa} -Requires: %{name} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. + %package data Summary: Data files for %{name} +BuildArch: noarch + %description data The %{name}-data package contains data files for developing applications that use %{name}. + %prep -%setup -q -n Camomile-%{version} +%autosetup -p1 -n Camomile-%{version} + %build -# This avoids a stack overflow in the OCaml 4.05 compiler on POWER only. +# This avoids a stack overflow in the OCaml compiler on POWER only. +# Originally found with OCaml 4.05, still affecting 4.13.0. +# https://github.com/yoriyuki/Camomile/issues/39 %ifarch %{power64} ulimit -Hs 65536 ulimit -Ss 65536 %endif -dune build --verbose --profile release +%dune_build %install -dune install \ - --destdir=%{buildroot} \ - --libdir=%{_libdir}/ocaml \ - --verbose \ - --profile release +%dune_install -# Remove /usr/doc because we will use %%doc rules instead. -rm -rf %{buildroot}%{_prefix}/doc +# The data files are in their own package +sed -i '\@%{_datadir}@d' .ofiles -# Install the *.mli files by hand. -cp _build/install/default/lib/camomile/library/*.mli %{buildroot}%{_libdir}/ocaml/camomile/ %check -# Broken in 1.0.2. -# https://github.com/yoriyuki/Camomile/issues/82 -#jbuilder runtest --profile release +%dune_check + -%files +%files -f .ofiles %doc README.md CHANGES.md %license LICENSE.md -%{_libdir}/ocaml/camomile -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/camomile/*.a -%exclude %{_libdir}/ocaml/camomile/*.cmxa -%exclude %{_libdir}/ocaml/camomile/*.cmx -%endif -%exclude %{_libdir}/ocaml/camomile/*.mli -%ifarch %{ocaml_native_compiler} -%endif -%files devel + +%files devel -f .ofiles-devel %license LICENSE.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/camomile/*.a -%{_libdir}/ocaml/camomile/*.cmxa -%{_libdir}/ocaml/camomile/*.cmx -%endif -%{_libdir}/ocaml/camomile/*.mli + %files data %license LICENSE.md %{_datadir}/camomile/ + %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 2.0.0-1 +- Upgraded to version 2.0.0 + * Thu Mar 31 2022 Pawel Winogrodzki - 1.0.2-9 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-cinaps/ocaml-cinaps.spec b/SPECS/ocaml-cinaps/ocaml-cinaps.spec index faf95842c5b..e5ed834b43a 100644 --- a/SPECS/ocaml-cinaps/ocaml-cinaps.spec +++ b/SPECS/ocaml-cinaps/ocaml-cinaps.spec @@ -1,16 +1,13 @@ %global srcname cinaps -# TESTING NOTE: The ppx_jane module is needed to run the tests. However, -# ppx_jane transitively requires this module. Therefore, we cannot run the -# tests at all until we are able to add ppx_jane. -%ifnarch %{ocaml_native_compiler} -%global debug_package %{nil} -%endif +# This package is needed to build ppx_jane, but its tests require ppx_jane. +# Break the dependency cycle here. +%bcond_with test Summary: Trivial Metaprogramming tool using the OCaml toplevel Name: ocaml-%{srcname} Version: 0.15.1 -Release: 3%{?dist} +Release: 4%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux @@ -18,10 +15,14 @@ URL: https://github.com/ocaml-ppx/%{srcname} Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz BuildRequires: help2man -BuildRequires: ocaml >= 4.04.0 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune >= 2.0.0 BuildRequires: ocaml-re-devel >= 1.8.0 +%if %{with test} +BuildRequires: ocaml-ppx-jane-devel +%endif + %description Cinaps is a trivial Metaprogramming tool for OCaml using the OCaml toplevel. @@ -38,62 +39,41 @@ be used to generate static code that is independent of the system. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: ocaml-re-devel%{?_isa} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -n %{srcname}-%{version} +%autosetup -n cinaps-%{version} %build -dune build +%dune_build %install -dune install --destdir=%{buildroot} - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -chmod a+x %{buildroot}%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmxs -%endif +%dune_install # Generate the man page mkdir -p %{buildroot}%{_mandir}/man1 help2man -N --version-string=%{version} %{buildroot}%{_bindir}/cinaps > \ %{buildroot}%{_mandir}/man1/cinaps.1 -%files +%if %{with test} +%check +%dune_check +%endif + +%files -f .ofiles %doc README.org %license LICENSE.md -%{_bindir}/cinaps %{_mandir}/man1/cinaps.1* -%dir %{_libdir}/ocaml/%{srcname}/ -%dir %{_libdir}/ocaml/%{srcname}/runtime/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cma -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmxs -%endif -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.a -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmx -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmt -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.cmti -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.ml -%{_libdir}/ocaml/%{srcname}/runtime/cinaps_runtime.mli +%files devel -f .ofiles-devel %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 0.15.1-4 +- Rebuild with ocaml >= 5.1.1 + * Thu Mar 31 2022 Pawel Winogrodzki - 0.15.1-3 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec b/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec index 1e6120e8a15..d3cb648a143 100644 --- a/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec +++ b/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec @@ -1,113 +1,54 @@ %global srcname ocaml-compiler-libs -%ifnarch %{ocaml_native_compiler} +%ifarch %{ocaml_native_compiler} +%undefine _debugsource_packages +%else %global debug_package %{nil} %endif -%bcond_with docs - Summary: OCaml compiler libraries repackaged Name: %{srcname}-janestreet Version: 0.12.4 -Release: 1%{?dist} +Release: 2%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/janestreet/%{srcname} Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz -BuildRequires: ocaml >= 4.04.1 -BuildRequires: ocaml-dune >= 1.5.1 - -%if %{with docs} -BuildRequires: ocaml-odoc -%endif +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 2.8 %description This package exposes the OCaml compiler libraries repackaged under the toplevel names Ocaml_common, Ocaml_bytecomp, Ocaml_optcomp, etc. - + %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} - + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. - -%if %{with docs} -%package doc -Summary: Documentation for %{name} -BuildArch: noarch - -%description doc -Documentation for %{name}. -%endif - + %prep -%autosetup -n %{srcname}-%{version} - +%autosetup -n ocaml-compiler-libs-%{version} + %build -dune build %{?_smp_mflags} -%if %{with docs} -dune build %{?_smp_mflags} @doc -%endif - +%dune_build %install -dune install --destdir=%{buildroot} - -# We do not want the dune markers -%if %{with docs} -find _build/default/_doc/_html -name .dune-keep -delete -%endif - -# We do not want the ml files -find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+ -%endif - -%files +%dune_install +%files -f .ofiles %doc README.org %license LICENSE.md -%dir %{_libdir}/ocaml/%{srcname}/ -%dir %{_libdir}/ocaml/%{srcname}/bytecomp/ -%dir %{_libdir}/ocaml/%{srcname}/common/ -%dir %{_libdir}/ocaml/%{srcname}/optcomp/ -%dir %{_libdir}/ocaml/%{srcname}/shadow/ -%dir %{_libdir}/ocaml/%{srcname}/toplevel/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/*/*.cma -%{_libdir}/ocaml/%{srcname}/*/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*/*.cmxs -%endif - -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*/*.a -%{_libdir}/ocaml/%{srcname}/*/*.cmx -%{_libdir}/ocaml/%{srcname}/*/*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/*/*.cmt - -%if %{with docs} -%files doc -%doc _build/default/_doc/_html/ -%doc _build/default/_doc/_mlds/ -%doc _build/default/_doc/_odoc/ -%license LICENSE.md -%endif + +%files devel -f .ofiles-devel %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 0.12.4-2 +- Rebuild for OCaml 5.1.1 and dune >= 2.8 + * Mon Nov 06 2023 CBL-Mariner Servicing Account - 0.12.4-1 - Auto-upgrade to 0.12.4 - Azure Linux 3.0 - package upgrades diff --git a/SPECS/ocaml-cppo/ocaml-cppo.signatures.json b/SPECS/ocaml-cppo/ocaml-cppo.signatures.json index 8b73c4c4568..b0b634ec486 100644 --- a/SPECS/ocaml-cppo/ocaml-cppo.signatures.json +++ b/SPECS/ocaml-cppo/ocaml-cppo.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "ocaml-cppo-1.6.6.tar.gz": "e284f5399e71d953c1b753905f38ed423ca7d70bbb16082fdee9cd783a5cec1b" + "ocaml-cppo-1.6.9.tar.gz": "16036d85c11d330a7c8b56f4e071d6bbe86d8937c89d3d79f6eef0e38bdda26a" } } diff --git a/SPECS/ocaml-cppo/ocaml-cppo.spec b/SPECS/ocaml-cppo/ocaml-cppo.spec index 5f2ee4cb39f..303b6d91421 100644 --- a/SPECS/ocaml-cppo/ocaml-cppo.spec +++ b/SPECS/ocaml-cppo/ocaml-cppo.spec @@ -8,22 +8,18 @@ Summary: Equivalent of the C preprocessor for OCaml programs Name: ocaml-cppo -Version: 1.6.6 -Release: 5%{?dist} +Version: 1.6.9 +Release: 1%{?dist} License: BSD Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/ocaml-community/cppo -Source0: https://github.com/ocaml-community/cppo/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: %{url}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -BuildRequires: ocaml >= 3.10.0 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune BuildRequires: ocaml-findlib -BuildRequires: ocaml-ocamlbuild-devel - -%if !%{opt} -Requires: ocaml >= 3.10.0 -%endif +BuildRequires: ocaml-ocamlbuild %description Cppo is an equivalent of the C preprocessor targeted at the OCaml @@ -39,28 +35,45 @@ The implementation of cppo relies on the standard library of OCaml and on the standard parsing tools Ocamllex and Ocamlyacc, which contribute to the robustness of cppo across OCaml versions. + +%package ocamlbuild +Summary: Preprocessing plugin for ocamlbuild +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ocamlbuild%{?_isa} +# There is no devel subpackage because this package IS for development purposes + + +%description ocamlbuild +This package contains a plugin for ocamlbuild that enables calling cppo +at build time. To use it, call ocamlbuild with the argument +`-plugin-tag package(cppo_ocamlbuild)`. + %prep -%setup -q -n %{libname}-%{version} -sed -i.add-debuginfo \ - 's/ocamlopt/ocamlopt -g/;s/ocamlc \(-[co]\)/ocamlc -g \1/' \ - Makefile +%autosetup -n cppo-%{version} %build -make %{?_smp_mflags} all +%dune_build %install -install -d %{buildroot}%{_bindir} -install -p _build/install/default/bin/cppo %{buildroot}%{_bindir}/ +%dune_install %check -make test +%dune_check %files %license LICENSE.md -%doc Changes README.md +%doc Changes.md README.md %{_bindir}/cppo +%{_libdir}/ocaml/cppo + + +%files ocamlbuild +%{_libdir}/ocaml/cppo_ocamlbuild/ %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.6.9-1 +- Upgrade to 1.6.9 + * Thu Mar 31 2022 Pawel Winogrodzki - 1.6.6-5 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-csexp/07eb898.patch b/SPECS/ocaml-csexp/07eb898.patch new file mode 100644 index 00000000000..77228c0bff4 --- /dev/null +++ b/SPECS/ocaml-csexp/07eb898.patch @@ -0,0 +1,23 @@ +From 07eb8988452ad51a09d0ab7379d73a87674aba6e Mon Sep 17 00:00:00 2001 +From: Rudi Grinberg +Date: Tue, 16 May 2023 11:42:17 +0100 +Subject: [PATCH] fix: typo in optimization annotation (#28) + +Signed-off-by: Rudi Grinberg +--- + src/csexp.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/csexp.ml b/src/csexp.ml +index 78bfa2b..2b2270d 100644 +--- a/src/csexp.ml ++++ b/src/csexp.ml +@@ -233,7 +233,7 @@ module Make (Sexp : Sexp) = struct + match Stack.add_token x stack with + | exception Parse_error msg -> Error (pos, msg) + | stack -> k s (pos + 1) len lexer stack) +- [@@inlined always] ++ [@@inline always] + + let parse_string = + let rec loop s pos len lexer stack = diff --git a/SPECS/ocaml-csexp/ocaml-csexp.signatures.json b/SPECS/ocaml-csexp/ocaml-csexp.signatures.json index e0f411cbe1f..0898e6af80f 100644 --- a/SPECS/ocaml-csexp/ocaml-csexp.signatures.json +++ b/SPECS/ocaml-csexp/ocaml-csexp.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "csexp-1.3.2.tbz": "f21f427b277f07e8bfd050e00c640a5893c1bf4b689147640fa383255dcf1c4a" + "csexp-1.5.2.tar.gz": "de3fda861ec8210a404fcb76afa162b08ed1cd11228645c78b53e1f82b24e236" } } diff --git a/SPECS/ocaml-csexp/ocaml-csexp.spec b/SPECS/ocaml-csexp/ocaml-csexp.spec index 2db6e9beea1..c56317585fa 100644 --- a/SPECS/ocaml-csexp/ocaml-csexp.spec +++ b/SPECS/ocaml-csexp/ocaml-csexp.spec @@ -16,23 +16,21 @@ Summary: Parsing and printing of S-expressions in canonical form Name: ocaml-%{srcname} -Version: 1.3.2 -Release: 4%{?dist} +Version: 1.5.2 +Release: 1%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/ocaml-dune/csexp -Source0: %{url}/releases/download/%{version}/%{srcname}-%{version}.tbz -# Depend on Stdlib.Result instead of ocaml-result. See comment above. -# This patch is not appropriate for upstream, which needs to keep compatibility -# with older OCaml versions. -Patch0: %{name}-result.patch +Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{srcname}-%{version}.tar.gz +# Fix an optimization annotation +Patch0: 07eb898.patch -BuildRequires: ocaml >= 4.02.3 +BuildRequires: ocaml >= 4.03.0 %if %{with dune} BuildRequires: ocaml-dune >= 1.11 -BuildRequires: ocaml-odoc -BuildRequires: ocaml-result-devel >= 1.5 +%else +BuildRequires: ocaml-rpm-macros %endif %description @@ -43,68 +41,47 @@ binary encoding of S-expressions. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -%if %{with dune} -Requires: ocaml-result-devel%{?_isa} -%endif %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -N -n %{srcname}-%{version} -%if %{without dune} -%autopatch -p1 -%endif +%autosetup -n %{srcname}-%{version} -p1 %build %if %{with dune} -dune build %{?_smp_mflags} --display=verbose @install -dune build %{?_smp_mflags} @doc +%dune_build %else -OFLAGS="-strict-sequence -strict-formats -short-paths -keep-locs -g -opaque" +OFLAGS="-w -40 -g" OCFLAGS="$OFLAGS -bin-annot" cd src -ocamlc $OCFLAGS -output-obj csexp.mli -ocamlc $OCFLAGS -a -o csexp.cma csexp.ml +ocamlc $OCFLAGS -no-alias-deps -o csexp.cmi -c -intf csexp.mli +ocamlc $OCFLAGS -intf-suffix .ml -no-alias-deps -o csexp.cmo -c -impl csexp.ml +ocamlc $OFLAGS -a -o csexp.cma csexp.cmo %ifarch %{ocaml_native_compiler} -ocamlopt $OFLAGS -ccopt "%{optflags}" -cclib "$RPM_LD_FLAGS" -a \ - -o csexp.cmxa csexp.ml -ocamlopt $OFLAGS -ccopt "%{optflags}" -cclib "$RPM_LD_FLAGS" -shared \ - -o csexp.cmxs csexp.ml +ocamlopt $OFLAGS -intf-suffix .ml -no-alias-deps -o csexp.cmx -c -impl csexp.ml +ocamlopt $OFLAGS -a -o csexp.cmxa csexp.cmx +ocamlopt $OFLAGS -shared -linkall -I . -o csexp.cmxs csexp.cmxa %endif -cd - %endif %install %if %{with dune} -dune install --destdir=%{buildroot} - -# We do not want the dune markers -find _build/default/_doc/_html -name .dune-keep -delete - -# We do not want the ml files -find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+ -%endif +%dune_install %else # Install without dune. See comment at the top. -mkdir -p %{buildroot}%{_libdir}/ocaml/%{srcname} -cp -p src/csexp.{cma,cmi,cmt,cmti,mli} %{buildroot}%{_libdir}/ocaml/%{srcname} +mkdir -p %{buildroot}%{ocamldir}/csexp +cp -p src/csexp.{cma,cmi,cmt,cmti,mli} %{buildroot}%{ocamldir}/csexp %ifarch %{ocaml_native_compiler} -cp -p src/csexp.{a,cmx,cmxa,cmxs} %{buildroot}%{_libdir}/ocaml/%{srcname} +cp -p src/csexp.{a,cmx,cmxa,cmxs} %{buildroot}%{ocamldir}/csexp %endif -cp -p csexp.opam %{buildroot}%{_libdir}/ocaml/%{srcname}/opam +cp -p csexp.opam %{buildroot}%{ocamldir}/csexp/opam -cat >> %{buildroot}%{_libdir}/ocaml/%{srcname}/META << EOF +cat >> %{buildroot}%{ocamldir}/csexp/META << EOF version = "%{version}" description = "Parsing and printing of S-expressions in canonical form" +requires = "" archive(byte) = "csexp.cma" %ifarch %{ocaml_native_compiler} archive(native) = "csexp.cmxa" @@ -115,10 +92,31 @@ plugin(native) = "csexp.cmxs" %endif EOF -cat >> %{buildroot}%{_libdir}/ocaml/%{srcname}/dune-package << EOF -(lang dune 2.5) +cat >> %{buildroot}%{ocamldir}/csexp/dune-package << EOF +(lang dune 3.12) (name csexp) (version %{version}) +(sections (lib .) (libexec .) (doc ../../doc/csexp)) +(files + (lib + (META + csexp.a + csexp.cma + csexp.cmi + csexp.cmt + csexp.cmti + csexp.cmx +%ifarch %{ocaml_native_compiler} + csexp.cmxa +%endif + csexp.ml + csexp.mli + dune-package + opam)) +%ifarch %{ocaml_native_compiler} + (libexec (csexp.cmxs)) +%endif + (doc (CHANGES.md LICENSE.md README.md))) (library (name csexp) (kind normal) @@ -137,40 +135,24 @@ cat >> %{buildroot}%{_libdir}/ocaml/%{srcname}/dune-package << EOF (modes byte) %endif (modules - (singleton (name Csexp) (obj_name csexp) (visibility public) (impl) (intf)))) + (singleton + (obj_name csexp) + (visibility public) + (source (path Csexp) (intf (path csexp.mli)) (impl (path csexp.ml)))))) EOF +%ocaml_files %endif -# Cannot do this until ocaml-ppx-expect is available. -#%%if %%{with dune} -#%%check -#dune runtest -#%%endif - -%files +%files -f .ofiles %doc README.md %license LICENSE.md -%dir %{_libdir}/ocaml/%{srcname}/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/*.cma -%{_libdir}/ocaml/%{srcname}/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*.cmxs -%endif -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*.a -%{_libdir}/ocaml/%{srcname}/*.cmx -%{_libdir}/ocaml/%{srcname}/*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/*.cmt -%{_libdir}/ocaml/%{srcname}/*.cmti -%{_libdir}/ocaml/%{srcname}/*.mli +%files devel -f .ofiles-devel %changelog +* Tue Apr 30 2024 Mykhailo Bykhovtsev - 1.5.2-4 +- Upgraded to 1.5.2. + * Thu Mar 31 2022 Pawel Winogrodzki - 1.3.2-4 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-dune/ocaml-dune-debuginfo.patch b/SPECS/ocaml-dune/ocaml-dune-debuginfo.patch new file mode 100644 index 00000000000..8917c711c00 --- /dev/null +++ b/SPECS/ocaml-dune/ocaml-dune-debuginfo.patch @@ -0,0 +1,11 @@ +--- dune-3.11.0/src/dune_rules/dune_project.ml.orig 2023-09-23 19:52:10.552217543 -0600 ++++ dune-3.11.0/src/dune_rules/dune_project.ml 2023-09-23 22:03:32.641347776 -0600 +@@ -455,7 +455,7 @@ let filename = "dune-project" + let opam_file_location_default ~lang:_ = `Relative_to_project + let implicit_transitive_deps_default ~lang:_ = true + let wrapped_executables_default ~(lang : Lang.Instance.t) = lang.version >= (2, 0) +-let map_workspace_root_default ~(lang : Lang.Instance.t) = lang.version >= (3, 0) ++let map_workspace_root_default ~(lang : Lang.Instance.t) = false + + let executables_implicit_empty_intf_default ~(lang : Lang.Instance.t) = + lang.version >= (3, 0) diff --git a/SPECS/ocaml-dune/ocaml-dune-no-lwt.patch b/SPECS/ocaml-dune/ocaml-dune-no-lwt.patch new file mode 100644 index 00000000000..51cabf221a2 --- /dev/null +++ b/SPECS/ocaml-dune/ocaml-dune-no-lwt.patch @@ -0,0 +1,31 @@ +--- dune-3.15.0/dune-file.orig 2024-04-03 03:29:40.000000000 -0600 ++++ dune-3.15.0/dune-file 2024-04-05 08:48:56.083804773 -0600 +@@ -30,9 +30,6 @@ + (copy dune-private-libs.opam.template ordering.opam.template)) + + (rule +- (copy dune-private-libs.opam.template dune-rpc-lwt.opam.template)) +- +-(rule + (copy dune-private-libs.opam.template fiber.opam.template)) + + (rule +--- dune-3.15.0/dune-project.orig 2024-04-03 03:29:40.000000000 -0600 ++++ dune-3.15.0/dune-project 2024-04-05 08:49:50.546090649 -0600 +@@ -149,16 +149,6 @@ understood by dune language.")) + (description "Library to connect and control a running dune instance")) + + (package +- (name dune-rpc-lwt) +- (synopsis "Communicate with dune using rpc and Lwt") +- (depends +- (dune-rpc (= :version)) +- (csexp (>= 1.5.0)) +- (lwt (>= 5.6.0)) +- base-unix) +- (description "Specialization of dune-rpc to Lwt")) +- +-(package + (name dyn) + (synopsis "Dynamic type") + (depends diff --git a/SPECS/ocaml-dune/ocaml-dune.signatures.json b/SPECS/ocaml-dune/ocaml-dune.signatures.json index 331af07b72f..cb43ff13550 100644 --- a/SPECS/ocaml-dune/ocaml-dune.signatures.json +++ b/SPECS/ocaml-dune/ocaml-dune.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "dune-2.8.5.tar.gz": "35ea0326509d6964b4b0f56b86e88cba9b3304f9b6e6322fe98257f73a57fc30" + "dune-3.15.2.tar.gz": "71192f16ce5cf9060963cf4419e4e902a95420773b9614b37446e707e6146b57" } } diff --git a/SPECS/ocaml-dune/ocaml-dune.spec b/SPECS/ocaml-dune/ocaml-dune.spec index 312f352d56e..a055a8bfa6c 100644 --- a/SPECS/ocaml-dune/ocaml-dune.spec +++ b/SPECS/ocaml-dune/ocaml-dune.spec @@ -7,8 +7,8 @@ Summary: A composable build system for OCaml Name: ocaml-%{libname} -Version: 2.8.5 -Release: 3%{?dist} +Version: 3.15.2 +Release: 1%{?dist} # Dune itself is MIT. Some bundled libraries have a different license: # ISC: # - vendor/cmdliner @@ -22,34 +22,63 @@ Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://dune.build Source0: https://github.com/ocaml/%{libname}/archive/%{version}/%{libname}-%{version}.tar.gz +# When building without lwt, remove libraries that need it +Patch0: %{name}-no-lwt.patch +# Temporary workaround for broken debuginfo (rhbz#2168932) +# See https://github.com/ocaml/dune/issues/6929 +Patch1: %{name}-debuginfo.patch -BuildRequires: %{py3_dist sphinx-rtd-theme} -BuildRequires: %{py3_dist sphinx} +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +BuildRequires: emacs BuildRequires: make BuildRequires: ocaml >= 4.08 -BuildRequires: ocaml-csexp-devel >= 1.3.0 -BuildRequires: ocaml-findlib +BuildRequires: ocaml-compiler-libs +# ocaml-pp is empty if built without dune. And both ocaml-pp and ocaml-csexp are a circular depenedency with ocaml-dune +BuildRequires: ocaml-pp-devel >= 1.2.0 +BuildRequires: ocaml-csexp-devel >= 1.5.0 +BuildRequires: ocaml-rpm-macros + +# Dune has vendored deps to avoid dependency cycles. Upstream deliberately +# does not support unbundling these dependencies. +# See https://github.com/ocaml/dune/issues/220 +Provides: bundled(ocaml-0install-solver) = 2.18 +Provides: bundled(ocaml-build-path-prefix-map) = 0.3 +Provides: bundled(ocaml-cmdliner) = 1.2.0 +Provides: bundled(ocaml-fiber) = 3.7.0 +Provides: bundled(ocaml-fmt) = 0.8.10 +Provides: bundled(ocaml-incremental-cycles) = 1e2030a5d5183d84561cde142eecca40e03db2a3 +Provides: bundled(ocaml-inotify) = 2.3 +Provides: bundled(ocaml-lwd) = 0.3 +Provides: bundled(ocaml-notty) = 0.2.3 +Provides: bundled(ocaml-opam) = 2.2.0~alpha2 +Provides: bundled(ocaml-opam-0install) = 0.4.3 +Provides: bundled(ocaml-opam-file-format) = 2.1.6 +Provides: bundled(ocaml-re) = 1.11.0 +Provides: bundled(ocaml-sha) = 1.15.4 +Provides: bundled(ocaml-spawn) = 0.15.1 +Provides: bundled(ocaml-uutf) = 1.0.3 -%if %{with emacs} -BuildRequires: emacs -%endif - -%if %{with menhir} -# Required by tests. -BuildRequires: ocaml-menhir -%endif - -# Dune has vendored deps (ugh): -# I'm not clear on how to unbundle them. -# It seems to be unsupported upstream; the bootstrap process for dune -# doesn't seem to be able to detect libraries installed systemwide. -# https://github.com/ocaml/dune/issues/220 -Provides: bundled(ocaml-build-path-prefix-map) = 0.2 -Provides: bundled(ocaml-opam-file-format) = 2.0.0 -Provides: bundled(ocaml-cmdliner) = 1.0.4 -Provides: bundled(ocaml-re) = 1.9.0 Provides: dune = %{version}-%{release} -Provides: jbuilder = %{version}-%{release} + +# This is needed for the dune-related RPM macros +Requires: ocaml-rpm-macros + +# The dune rules module requires Toploop +Requires: ocaml-compiler-libs%{?_isa} + +# Both packages install a binary named dune and an associated man page +Conflicts: wdune + +# This can be removed when F42 reaches EOL +Obsoletes: ocaml-fiber < 3.7.0 +Obsoletes: ocaml-fiber-devel < 3.7.0 +Provides: ocaml-fiber = %{version}-%{release} +Provides: ocaml-fiber-devel = %{version}-%{release} + +# Install documentation in the main package doc directory +%global _docdir_fmt %{name} %description Dune is a build system designed for OCaml/Reason projects only. It focuses @@ -62,168 +91,404 @@ adapted to the open source world. It has matured over a long time and is used daily by hundred of developers, which means that it is highly tested and productive. -%package devel -Summary: Development files for %{name} -License: MIT AND LGPLv2 AND LGPLv2 WITH exceptions AND ISC - -Requires: %{name}%{?isa} = %{version}-%{release} -Requires: ocaml-csexp-devel%{?_isa} - -%description devel -The %{name}-devel package contains libraries and -signature files for developing applications that use %{name}. - -%package doc -Summary: HTML documentation for %{name} -License: MIT AND LGPLv2 AND LGPLv2 WITH exceptions AND ISC - -BuildArch: noarch - -Requires: %{name} = %{version}-%{release} - -%description doc -HTML documentation for dune, a composable build system for OCaml. - -%if %{with emacs} %package emacs Summary: Emacs support for %{name} License: ISC +Requires: %{name} = %{version}-%{release} +Requires: emacs-filesystem >= %{?_emacs_version}%{!?_emacs_version:0} BuildArch: noarch -Requires: %{name} = %{version}-%{release} - %description emacs The %{name}-devel package contains Emacs integration with the dune build system, a mode to edit dune files, and flymake support for dune files. -%endif -%prep -%autosetup -n %{libname}-%{version} -p1 +## Dune libraries + +%package action-plugin +Summary: API for writing dynamic dune actions +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-glob%{?_isa} = %{version}-%{release} + +%description action-plugin +This experimental library provides an API for writing dynamic Dune +actions. Dynamic dune actions do not need to declare their dependencies +upfront; they are instead discovered automatically during the execution +of the action. + +%package action-plugin-devel +Summary: Development files for %{name}-action-plugin +License: MIT +Requires: %{name}-action-plugin%{?_isa} = %{version}-%{release} +Requires: %{name}-glob-devel%{?_isa} = %{version}-%{release} + +%description action-plugin-devel +The ocaml-dune-action-plugin-devel package contains libraries and +signature files for developing applications that use +ocaml-dune-action-plugin. + +%package build-info +Summary: Embed build information in an executable +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description build-info +The build-info library allows access to information about how an +executable was built, such as the version of the project at which it was +built or the list of statically linked libraries with their versions. +It supports reporting the version from a version control system during +development to get a precise reference of when the executable was built. + +%package build-info-devel +Summary: Development files for %{name}-build-info +License: MIT +Requires: %{name}-build-info%{?_isa} = %{version}-%{release} + +%description build-info-devel +The ocaml-dune-build-info-devel package contains libraries and signature +files for developing applications that use ocaml-dune-build-info. + +%package configurator +Summary: Helper library for gathering system configuration +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} + +%description configurator +Dune-configurator is a small library that helps write OCaml scripts that +test features available on the system, in order to generate config.h +files for instance. Among other things, dune-configurator allows one +to: + +- test if a C program compiles +- query pkg-config +- import a #define from OCaml header files +- generate a config.h file + +%package configurator-devel +Summary: Development files for %{name}-configurator +License: MIT +Requires: %{name}-configurator%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} + +# This can be removed when F40 reaches EOL +Obsoletes: %{name}-devel < 2.9.1-4 +Provides: %{name}-devel = %{version}-%{release} + +%description configurator-devel +The ocaml-dune-configurator-devel package contains libraries and +signature files for developing applications that use +ocaml-dune-configurator. + +%package glob +Summary: Parser and interpreter for dune language globs +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} + +%description glob +Dune-glob provides a parser and interpreter for globs as understood by +the dune language. + +%package glob-devel +Summary: Development files for %{name}-glob +License: MIT +Requires: %{name}-glob%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} + +%description glob-devel +The ocaml-dune-glob-devel package contains libraries and signature files +for developing applications that use ocaml-dune-glob. + +%package private-libs +Summary: Private dune libraries +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} + +%description private-libs +This package contains code that is shared between various dune-xxx +packages. However, it is not meant for public consumption and provides +no stability guarantee. + +%package private-libs-devel +Summary: Development files for %{name}-private-libs +License: MIT +Requires: %{name}-private-libs%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} + +%description private-libs-devel +The ocaml-dune-private-libs-devel package contains libraries and +signature files for other dune packages. Do not use. + +%package rpc +Summary: Communicate with dune using rpc +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} +Requires: ocaml-xdg%{?_isa} = %{version}-%{release} + +%description rpc +This package contains a library used to communicate with dune over rpc. + +%package rpc-devel +Summary: Development files for %{name}-rpc +License: MIT +Requires: %{name}-rpc%{?_isa} = %{version}-%{release} +Requires: ocaml-stdune-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-xdg-devel%{?_isa} = %{version}-%{release} + +%description rpc-devel +The ocaml-dune-rpc-devel package contains libraries and signature files +for developing applications that use ocaml-rpc. + +%package site +Summary: Embed location information inside executables and libraries +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs%{?_isa} = %{version}-%{release} + +%description site +This library enables embedding location information inside executables +and libraries. + +%package site-devel +Summary: Development files for %{name}-site +License: MIT +Requires: %{name}-site%{?_isa} = %{version}-%{release} +Requires: %{name}-private-libs-devel%{?_isa} = %{version}-%{release} + +%description site-devel +The ocaml-dune-site-devel package contains libraries and signature files +for developing applications that use ocaml-dune-site. + +%package -n ocaml-chrome-trace +Summary: Chrome trace event generation library +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n ocaml-chrome-trace +Library to output trace data to a file in Chrome's trace_event format. +This format is compatible with chrome trace viewer (chrome://tracing). +The trace viewer is part of the catapult project. + +%package -n ocaml-chrome-trace-devel +Summary: Development files for ocaml-chrome-trace +License: MIT +Requires: ocaml-chrome-trace%{?_isa} = %{version}-%{release} + +%description -n ocaml-chrome-trace-devel +The ocaml-dyn-devel package contains libraries and signature files for +developing applications that use ocaml-dyn. + +%package -n ocaml-dyn +Summary: Dynamic types +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} + +%description -n ocaml-dyn +This library supports dynamic types in OCaml. + +%package -n ocaml-dyn-devel +Summary: Development files for ocaml-dyn +License: MIT +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} +Requires: ocaml-ordering-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-pp-devel%{?_isa} + +%description -n ocaml-dyn-devel +The ocaml-dyn-devel package contains libraries and signature files for +developing applications that use ocaml-dyn. + +%package -n ocaml-ocamlc-loc +Summary: Parse OCaml compiler output into structured form +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} + +%description -n ocaml-ocamlc-loc +Parse OCaml compiler output into structured form. + +%package -n ocaml-ocamlc-loc-devel +Summary: Development files for ocaml-ocamlc-loc +License: MIT +Requires: ocaml-ocamlc-loc%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} + +%description -n ocaml-ocamlc-loc-devel +The ocaml-ordering-devel package contains libraries and signature files +for developing applications that use ocaml-ocamlc-loc. + +%package -n ocaml-ordering +Summary: Element ordering +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n ocaml-ordering +Element ordering in OCaml. + +%package -n ocaml-ordering-devel +Summary: Development files for ocaml-ordering +License: MIT +Requires: ocaml-ordering%{?_isa} = %{version}-%{release} + +%description -n ocaml-ordering-devel +The ocaml-ordering-devel package contains libraries and signature files +for developing applications that use ocaml-ordering. + +%package -n ocaml-stdune +Summary: Dune's unstable standard library +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn%{?_isa} = %{version}-%{release} + +%description -n ocaml-stdune +This package contains Dune's unstable standard library. + +%package -n ocaml-stdune-devel +Summary: Development files for ocaml-stdune +License: MIT +Requires: ocaml-stdune%{?_isa} = %{version}-%{release} +Requires: ocaml-dyn-devel%{?_isa} = %{version}-%{release} +Requires: ocaml-csexp-devel%{?_isa} + +%description -n ocaml-stdune-devel +The ocaml-stdune-devel package contains libraries and signature files +for developing applications that use ocaml-stdune. + +%package -n ocaml-xdg +Summary: XDG Base Directory Specification +License: MIT +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n ocaml-xdg +This package contains the XDG Base Directory Specification. +%package -n ocaml-xdg-devel +Summary: Development files for ocaml-xdg +License: MIT +Requires: ocaml-xdg%{?_isa} = %{version}-%{release} + +%description -n ocaml-xdg-devel +The ocaml-xdg-devel package contains libraries and signature files for +developing applications that use ocaml-xdg. + +%prep +%autosetup -N -n dune-%{version} +%autopatch 0 -p1 +rm -fr otherlibs/dune-rpc-lwt dune-rpc-lwt.opam +%autopatch -m1 -p1 + +# Allow use of Sphinx 6 +sed -i 's/, < 6//'g doc/requirements.txt + %build -./configure --libdir %{_libdir}/ocaml --mandir %{_mandir} - -# This command fails, because ppx_bench, ppx_expect, and core_bench are missing. -# However, it is only tests that fail, not the actual build, so ignore the -# failures and continue. -%make_build release || : -./dune.exe build @install -%make_build doc - -# Relink the stublibs. See https://github.com/ocaml/dune/issues/2977. -cd _build/default/src/stdune -ocamlmklib -g -ldopt "%{build_ldflags}" -o stdune_stubs fcntl_stubs.o -cd - -cd _build/default/src/dune_filesystem_stubs -ocamlmklib -g -ldopt "%{build_ldflags}" -o dune_filesystem_stubs_stubs \ - $(ar t libdune_filesystem_stubs_stubs.a) -cd - +./configure \ + --bindir %{_bindir} \ + --datadir %{_datadir} \ + --docdir %{_prefix}/doc \ + --etcdir %{_sysconfdir} \ + --libdir %{ocamldir} \ + --libexecdir %{ocamldir} \ + --mandir %{_mandir} \ + --sbindir %{_sbindir} + +%make_build release + +# We also want the libraries +# Do not use the bundled csexp and pp when building them +rm -fr vendor/{csexp,pp} +./dune.exe build %{?_smp_mflags} --verbose --release @install %install -# "make install" only installs the binary. We want the libraries, too. -./dune.exe install --destdir %{buildroot} +%make_install +# Install the libraries +./dune.exe install --destdir=%{buildroot} -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod 0755 {} \+ -%endif +# We use %%doc below +rm -fr %{buildroot}%{_prefix}/doc -%if %{with emacs} # Byte compile the Emacs files cd %{buildroot}%{_emacs_sitelispdir} -%_emacs_bytecompile dune.el dune-flymake.el +%_emacs_bytecompile *.el cd - -%else -rm -rf %{buildroot}%{_datadir}/emacs -%endif - -# Install documentation by way of pkgdocdir. -rm -fr %{buildroot}%{_prefix}/doc -mkdir -p %{buildroot}%{_pkgdocdir}/ -cp -ar README.md CHANGES.md MIGRATION.md doc/_build/* %{buildroot}%{_pkgdocdir}/ -%if %{with menhir} -%check -# These are the only tests we can run. The others require components that -# either depend on dune themselves or are not available at all. -%{buildroot}%{_bindir}/dune runtest test/unit-tests -%endif +# Generate %%files lists +%ocaml_files -s %files %license LICENSE.md -%doc %{_pkgdocdir}/README.md -%doc %{_pkgdocdir}/CHANGES.md -%doc %{_pkgdocdir}/MIGRATION.md +%doc CHANGES.md README.md %{_bindir}/dune %{_mandir}/man*/dune* -%dir %{_pkgdocdir}/ -%dir %{_libdir}/ocaml/dune/ -%dir %{_libdir}/ocaml/dune-action-plugin/ -%dir %{_libdir}/ocaml/dune-build-info/ -%dir %{_libdir}/ocaml/dune-configurator/ -%dir %{_libdir}/ocaml/dune-glob/ -%dir %{_libdir}/ocaml/dune-private-libs/ -%dir %{_libdir}/ocaml/dune-private-libs/dune-lang/ -%dir %{_libdir}/ocaml/dune-private-libs/dune_re/ -%dir %{_libdir}/ocaml/dune-private-libs/ocaml-config/ -%dir %{_libdir}/ocaml/dune-private-libs/stdune/ -%dir %{_libdir}/ocaml/dune-site/ -%dir %{_libdir}/ocaml/dune-site/plugins/ -%{_libdir}/ocaml/dune*/META -%{_libdir}/ocaml/dune*/*.cma -%{_libdir}/ocaml/dune*/*.cmi -%{_libdir}/ocaml/dune-configurator/.private/ -%{_libdir}/ocaml/dune-private-libs/*/*.cma -%{_libdir}/ocaml/dune-private-libs/*/*.cmi -%{_libdir}/ocaml/dune-site/*/*.cma -%{_libdir}/ocaml/dune-site/*/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/dune*/*.cmxs -%{_libdir}/ocaml/dune-private-libs/*/*.cmxs -%{_libdir}/ocaml/dune-site/*/*.cmxs -%{_libdir}/ocaml/stublibs/dllstdune_stubs.so -%{_libdir}/ocaml/stublibs/dlldune_filesystem_stubs_stubs.so -%endif - -%files devel -%{_libdir}/ocaml/dune*/dune-package -%{_libdir}/ocaml/dune*/opam -%{_libdir}/ocaml/dune*/*.cmt -%{_libdir}/ocaml/dune*/*.cmti -%{_libdir}/ocaml/dune*/*.ml -%{_libdir}/ocaml/dune*/*.mli -%{_libdir}/ocaml/dune-private-libs/*/*.cmt -%{_libdir}/ocaml/dune-private-libs/*/*.cmti -%{_libdir}/ocaml/dune-private-libs/*/*.ml -%{_libdir}/ocaml/dune-private-libs/*/*.mli -%{_libdir}/ocaml/dune-site/*/*.cmt -%{_libdir}/ocaml/dune-site/*/*.cmti -%{_libdir}/ocaml/dune-site/*/*.ml -%{_libdir}/ocaml/dune-site/*/*.mli -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/dune*/*.a -%{_libdir}/ocaml/dune*/*.cmx -%{_libdir}/ocaml/dune*/*.cmxa -%{_libdir}/ocaml/dune-private-libs/*/*.a -%{_libdir}/ocaml/dune-private-libs/*/*.cmx -%{_libdir}/ocaml/dune-private-libs/*/*.cmxa -%{_libdir}/ocaml/dune-site/*/*.a -%{_libdir}/ocaml/dune-site/*/*.cmx -%{_libdir}/ocaml/dune-site/*/*.cmxa -%endif - -%files doc -%exclude %{_pkgdocdir}/README.md -%exclude %{_pkgdocdir}/CHANGES.md -%doc %{_pkgdocdir}/* - -%if %{with emacs} + %files emacs %{_emacs_sitelispdir}/dune* -%endif + +%files action-plugin -f .ofiles-dune-action-plugin + +%files action-plugin-devel -f .ofiles-dune-action-plugin-devel + +%files build-info -f .ofiles-dune-build-info + +%files build-info-devel -f .ofiles-dune-build-info-devel + +%files configurator -f .ofiles-dune-configurator +%dir %{ocamldir}/dune/ +%{ocamldir}/dune/META + +%files configurator-devel -f .ofiles-dune-configurator-devel +%{ocamldir}/dune/dune-package +%{ocamldir}/dune/opam + +%files glob -f .ofiles-dune-glob + +%files glob-devel -f .ofiles-dune-glob-devel + +%files private-libs -f .ofiles-dune-private-libs + +%files private-libs-devel -f .ofiles-dune-private-libs-devel + +%files rpc -f .ofiles-dune-rpc + +%files rpc-devel -f .ofiles-dune-rpc-devel + +%files site -f .ofiles-dune-site + +%files site-devel -f .ofiles-dune-site-devel + +%files -n ocaml-chrome-trace -f .ofiles-chrome-trace + +%files -n ocaml-chrome-trace-devel -f .ofiles-chrome-trace-devel + +%files -n ocaml-dyn -f .ofiles-dyn + +%files -n ocaml-dyn-devel -f .ofiles-dyn-devel + +%files -n ocaml-ocamlc-loc -f .ofiles-ocamlc-loc + +%files -n ocaml-ocamlc-loc-devel -f .ofiles-ocamlc-loc-devel + +%files -n ocaml-ordering -f .ofiles-ordering + +%files -n ocaml-ordering-devel -f .ofiles-ordering-devel + +%files -n ocaml-stdune -f .ofiles-stdune + +%files -n ocaml-stdune-devel -f .ofiles-stdune-devel + +%files -n ocaml-xdg -f .ofiles-xdg + +%files -n ocaml-xdg-devel -f .ofiles-xdg-devel %changelog +* Fri Apr 26 2024 Mykhailo Bykhovtsev - 3.15.2-1 +- Upgrade to version 3.15.2 + * Thu Mar 31 2022 Pawel Winogrodzki - 2.8.5-3 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-cmp.patch b/SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-cmp.patch new file mode 100644 index 00000000000..9f81aa22027 --- /dev/null +++ b/SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-cmp.patch @@ -0,0 +1,17 @@ +--- fileutils-0.6.4/src/lib/fileutils/FileUtilCMP.ml.orig 2022-10-28 14:22:35.000000000 -0600 ++++ fileutils-0.6.4/src/lib/fileutils/FileUtilCMP.ml 2023-06-22 15:04:21.317130686 -0600 +@@ -48,11 +48,14 @@ let cmp ?(skip1 = 0) fln1 ?(skip2 = 0) f + let rec loop count s1 s2 = + match s1, s2 with + | Seq.Cons (v1, s1), Seq.Cons (v2, s2) when v1 = v2 -> loop (count + 1) (s1 ()) (s2 ()) ++ | Seq.Nil, Seq.Nil -> (-1) + | _ -> count + in + let count = loop 0 (stream1 ()) (stream2 ()) in + clean_fd (); +- Some count ++ match count with ++ | (-1) -> None ++ | x -> Some x + end else + Some (-1) diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-forward-compat.patch b/SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-forward-compat.patch new file mode 100644 index 00000000000..2b1e0842374 --- /dev/null +++ b/SPECS/ocaml-fileutils/ocaml-fileutils-0.6.4-forward-compat.patch @@ -0,0 +1,27 @@ +--- fileutils-0.6.4/fileutils.opam.orig 2022-10-28 14:22:35.000000000 -0600 ++++ fileutils-0.6.4/fileutils.opam 2023-06-22 13:01:26.779533940 -0600 +@@ -16,8 +16,6 @@ build: [ + depends: [ + "ocaml" {>= "4.03"} + "base-unix" +- "stdlib-shims" +- "seq" + "dune" {>= "1.11.0"} + "ounit2" {with-test & >= "2.0.0"} + ] +--- fileutils-0.6.4/src/lib/fileutils/dune.orig 2022-10-28 14:22:35.000000000 -0600 ++++ fileutils-0.6.4/src/lib/fileutils/dune 2023-06-22 13:01:47.403222843 -0600 +@@ -30,4 +30,4 @@ + fileUtilWHICH + unixPath + win32Path) +- (libraries unix seq stdlib-shims)) ++ (libraries unix)) +--- fileutils-0.6.4/test/dune.orig 2022-10-28 14:22:35.000000000 -0600 ++++ fileutils-0.6.4/test/dune 2023-06-22 13:02:04.739961336 -0600 +@@ -6,4 +6,4 @@ + (test + (name test) + (modules test) +- (libraries fileutils fileutils_str ounit2 stdlib-shims)) ++ (libraries fileutils fileutils_str ounit2)) diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils.signatures.json b/SPECS/ocaml-fileutils/ocaml-fileutils.signatures.json index f9a38d5c81e..c4111dbeff0 100644 --- a/SPECS/ocaml-fileutils/ocaml-fileutils.signatures.json +++ b/SPECS/ocaml-fileutils/ocaml-fileutils.signatures.json @@ -1,6 +1,5 @@ { - "Signatures": { - "ocaml-fileutils_2-0.5.2.tar.gz": "c96442d7c032d6ba45e63143476f0c5fe2ea6f9b4bb452b0b9406decc5268352", - "ocaml-fileutils-old-sources-build-files.tar.gz": "69c8ddcadefbb0d800c23e0e96f707fe181c03de39f59b309ee5542636d628ff" - } -} + "Signatures": { + "ocaml-fileutils-0.6.4.tar.gz": "70988d3a5ef30658df57cfd235f610693dfddf69448355df5bb1423014f05c1a" + } +} \ No newline at end of file diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils.spec b/SPECS/ocaml-fileutils/ocaml-fileutils.spec index 79515a4269e..08e70337dab 100644 --- a/SPECS/ocaml-fileutils/ocaml-fileutils.spec +++ b/SPECS/ocaml-fileutils/ocaml-fileutils.spec @@ -1,27 +1,26 @@ Summary: OCaml library for common file and filename operations Name: ocaml-fileutils -Version: 0.5.2 -Release: 18%{?dist} +Version: 0.6.4 +Release: 1%{?dist} License: LGPLv2 WITH exceptions Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/gildor478/ocaml-fileutils # NOTE: the "_2" suffix was added to avoid conflicts with an older source tarball for the same version of the sources. # Please remove it during a version update. -Source0: https://github.com/gildor478/ocaml-fileutils/archive/refs/tags/%{version}.tar.gz#/%{name}_2-%{version}.tar.gz -# Set of files from previous sources location allowing us to drop dependency on "ocaml-oasis-devel", which is no longer available. -# Previous sources used to be available under http://forge.ocamlcore.org/frs/download.php/1695/ocaml-fileutils-0.5.2.tar.gz. -# Currently still available in Fedora's SRPMs. -Source1: %{name}-old-sources-build-files.tar.gz -Patch1: fileutils-0.5.2-fix-bytes.patch -# Use ounit2. -Patch2: ocaml-fileutils-0.5.2-ounit2.patch - -BuildRequires: ocaml >= 4.00.1 -BuildRequires: ocaml-findlib-devel >= 1.3.3-3 -BuildRequires: ocaml-ocamlbuild -BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-ounit-devel +Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# Fedora does not need the stdlib-shims or seq forward compatibility packages +Patch0: ocaml-fileutils-0.6.4-forward-compat.patch +# Given two distinct files with identical contents, the cmp function evaluates +# to "Some x", where x is the size of each file, instead of None. This breaks +# the ocaml-gettext tests, which expect None in that case. +Patch1: ocaml-fileutils-0.6.4-cmp.patch + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 1.11.0 +%if 0%{?fedora} || 0%{?rhel} <= 6 +BuildRequires: ocaml-ounit-devel >= 2.0.0 +%endif %description This library is intended to provide a basic interface to the most @@ -35,57 +34,39 @@ abstract filenames. %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%setup -q -%setup -q -T -a 1 -D -%autopatch -p1 +%autosetup -n %{name}-%{version} -p1 %build -ocaml setup.ml -configure --prefix %{_prefix} --destdir %{buildroot} \ - --enable-tests -make +%dune_build %install -export DESTDIR=%{buildroot} -export OCAMLFIND_DESTDIR=%{buildroot}%{_libdir}/ocaml -mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs - -# Set htmldir to current directory, then copy the docs (in api/) -# as a %doc rule. -make htmldir=. install +%dune_install +# Do not run the tests (RHEL 7+ only) since they require ocaml-ounit. +%if 0%{?fedora} || 0%{?rhel} <= 6 %check -make test - -%files -%license COPYING.txt -%{_libdir}/ocaml/fileutils -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/fileutils/*.a -%exclude %{_libdir}/ocaml/fileutils/*.cmx -%exclude %{_libdir}/ocaml/fileutils/*.cmxa -%endif -%exclude %{_libdir}/ocaml/fileutils/*.ml -%exclude %{_libdir}/ocaml/fileutils/*.mli - -%files devel -%license COPYING.txt -%doc AUTHORS.txt CHANGELOG.txt README.txt TODO.txt -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/fileutils/*.a -%{_libdir}/ocaml/fileutils/*.cmx -%{_libdir}/ocaml/fileutils/*.cmxa +%dune_check %endif -%{_libdir}/ocaml/fileutils/*.ml -%{_libdir}/ocaml/fileutils/*.mli + +%files -f .ofiles +%license LICENSE.txt + +%files devel -f .ofiles-devel +%doc README.md CHANGES.md +%license LICENSE.txt %changelog +* Tue May 07 2024 Mykhailo Bykhovtsev - 0.6.4-1 +- Upgrade to 0.6.4 +- Use ocaml 5.1.1 to build + * Thu Mar 31 2022 Pawel Winogrodzki - 0.5.2-18 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-findlib/ocaml-findlib-toolbox.patch b/SPECS/ocaml-findlib/ocaml-findlib-toolbox.patch new file mode 100644 index 00000000000..76f762da655 --- /dev/null +++ b/SPECS/ocaml-findlib/ocaml-findlib-toolbox.patch @@ -0,0 +1,117 @@ +--- findlib-1.9.6/src/findlib-toolbox/Makefile.orig 2022-09-24 09:13:16.000000000 -0600 ++++ findlib-1.9.6/src/findlib-toolbox/Makefile 2023-06-16 08:46:01.965686356 -0600 +@@ -9,7 +9,7 @@ opt: + true + + make_wizard$(EXEC_SUFFIX): make_wizard.ml +- ocamlc -o make_wizard$(EXEC_SUFFIX) -I +unix -I +labltk -I ../findlib \ ++ ocamlc -o make_wizard$(EXEC_SUFFIX) -I +str -I +unix -I +labltk -I ../findlib \ + unix.cma str.cma labltk.cma findlib.cma make_wizard.ml + + install: +--- findlib-1.9.6/src/findlib-toolbox/make_wizard.ml.orig 2022-09-24 09:13:16.000000000 -0600 ++++ findlib-1.9.6/src/findlib-toolbox/make_wizard.ml 2023-06-16 08:50:49.066603769 -0600 +@@ -468,23 +468,23 @@ let makemake() = + mkquote(metaquote !wiz_package_description); + "byte_objects", + String.concat " " (List.map +- (fun m -> String.uncapitalize m ^ ".cmo") ++ (fun m -> String.uncapitalize_ascii m ^ ".cmo") + !wiz_objects); + "nat_objects", + String.concat " " (List.map +- (fun m -> String.uncapitalize m ^ ".cmx") ++ (fun m -> String.uncapitalize_ascii m ^ ".cmx") + !wiz_objects); + "byte_executables", + String.concat " " byte_execs; + "byte_exec_objects", + String.concat " " (List.map +- (fun m -> String.uncapitalize m ^ ".cmo") ++ (fun m -> String.uncapitalize_ascii m ^ ".cmo") + byte_exec_modules); + "nat_executables", + String.concat " " nat_execs; + "nat_exec_objects", + String.concat " " (List.map +- (fun m -> String.uncapitalize m ^ ".cmx") ++ (fun m -> String.uncapitalize_ascii m ^ ".cmx") + nat_exec_modules); + "prereqs", + String.concat " " required_packages; +@@ -526,7 +526,7 @@ let makemake() = + let deptargets = + String.concat " " (List.map + (fun m -> +- let m' = String.uncapitalize m in ++ let m' = String.uncapitalize_ascii m in + m' ^ ".ml " ^ m' ^ ".mli") + !modlist) in + write "makemake_exec" ( [ "switches", switches; +@@ -543,7 +543,7 @@ let makemake() = + if is_byte_exec execname then begin + let execobjs = + String.concat " " (List.map +- (fun m -> String.uncapitalize m ^ ".cmo") ++ (fun m -> String.uncapitalize_ascii m ^ ".cmo") + !modlist) in + write "byte_exec" ( ["execname", execname; + "execobjs", execobjs ] @ variables ) +@@ -555,7 +555,7 @@ let makemake() = + if not (is_byte_exec execname) then begin + let execobjs = + String.concat " " (List.map +- (fun m -> String.uncapitalize m ^ ".cmx") ++ (fun m -> String.uncapitalize_ascii m ^ ".cmx") + !modlist) in + write "nat_exec" ( ["execname", execname; + "execobjs", execobjs ] @ variables ) +@@ -1090,7 +1090,7 @@ let pkginfo lb row = (* when the user r + let files = Array.to_list(Sys.readdir dir) in + List.map + (fun name -> +- String.capitalize (Filename.chop_suffix name ".cmi")) ++ String.capitalize_ascii (Filename.chop_suffix name ".cmi")) + (List.filter + (fun name -> + Filename.check_suffix name ".cmi") +@@ -1128,7 +1128,7 @@ let preprocessor_scan_extensions() = + not (List.mem pkg plist) + ) + !wiz_camlp4_selected in +- List.sort Pervasives.compare (plist @ plist') ++ List.sort Stdlib.compare (plist @ plist') + ;; + + +@@ -1196,7 +1196,7 @@ add_screen preprocessor_screen;; + + let prerequisites_scan_packages() = + (* Find out all packages *) +- List.sort Pervasives.compare (Fl_package_base.list_packages()) ++ List.sort Stdlib.compare (Fl_package_base.list_packages()) + ;; + + +@@ -1255,10 +1255,10 @@ let buildlib_scan_modules() = + let files'' = + List.map + (fun f -> +- String.capitalize (Filename.chop_extension f) ++ String.capitalize_ascii (Filename.chop_extension f) + ) + files' in +- remove_dups (List.sort Pervasives.compare files'') ++ remove_dups (List.sort Stdlib.compare files'') + ;; + + +@@ -1353,7 +1353,7 @@ build any."; + end + else begin + wiz_executables := +- List.sort Pervasives.compare (name :: !wiz_executables); ++ List.sort Stdlib.compare (name :: !wiz_executables); + wiz_exec_objects := (name, ref []) :: !wiz_exec_objects; + wiz_exec_native := (name, ref false) :: !wiz_exec_native; + !update_listbox(); diff --git a/SPECS/ocaml-findlib/ocaml-findlib.signatures.json b/SPECS/ocaml-findlib/ocaml-findlib.signatures.json index ffc6933d231..87a13890ed8 100644 --- a/SPECS/ocaml-findlib/ocaml-findlib.signatures.json +++ b/SPECS/ocaml-findlib/ocaml-findlib.signatures.json @@ -1,5 +1,5 @@ { - "Signatures": { - "findlib-1.8.1.tar.gz": "8e85cfa57e8745715432df3116697c8f41cb24b5ec16d1d5acd25e0196d34303" - } -} + "Signatures": { + "findlib-1.9.6.tar.gz": "2df996279ae16b606db5ff5879f93dbfade0898db9f1a3e82f7f845faa2930a2" + } +} \ No newline at end of file diff --git a/SPECS/ocaml-findlib/ocaml-findlib.spec b/SPECS/ocaml-findlib/ocaml-findlib.spec index b6bd4648516..d55bf80568a 100644 --- a/SPECS/ocaml-findlib/ocaml-findlib.spec +++ b/SPECS/ocaml-findlib/ocaml-findlib.spec @@ -1,31 +1,38 @@ -%global __ocaml_requires_opts -i Asttypes -i Parsetree +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif Summary: Objective CAML package manager and build helper Name: ocaml-findlib -Version: 1.8.1 -Release: 16%{?dist} +Version: 1.9.6 +Release: 1%{?dist} License: BSD Vendor: Microsoft Corporation Distribution: Azure Linux URL: http://projects.camlcity.org/projects/findlib.html Source0: http://download.camlcity.org/download/findlib-%{version}.tar.gz -Patch0: bytes-lib-detection.patch +Patch0: ocaml-findlib-toolbox.patch -BuildRequires: gawk -BuildRequires: m4 -BuildRequires: ncurses-devel BuildRequires: ocaml >= 4.02.0 -#BuildRequires: ocaml-num-devel +BuildRequires: ocaml-ocamlbuild BuildRequires: ocaml-compiler-libs -# BuildRequires: ocaml-labltk-devel -BuildRequires: ocaml-ocamlbuild-devel BuildRequires: ocaml-ocamldoc - +BuildRequires: ocaml-rpm-macros +BuildRequires: m4 +BuildRequires: ncurses-devel +BuildRequires: make Requires: ocaml +# Do not require ocaml-compiler-libs at runtime +%global __ocaml_requires_opts -i Asttypes -i Build_path_prefix_map -i Cmi_format -i Env -i Ident -i Identifiable -i Load_path -i Location -i Longident -i Misc -i Outcometree -i Parsetree -i Path -i Primitive -i Shape -i Subst -i Topdirs -i Toploop -i Type_immediacy -i Types -i Warnings + + %description Objective CAML package manager and build helper. - + %package devel Summary: Development files for %{name} Requires: %{name} = %{version}-%{release} @@ -34,10 +41,25 @@ Requires: %{name} = %{version}-%{release} The %{name}-devel package contains libraries and header files for developing applications that use %{name}. + %prep %autosetup -p1 -n findlib-%{version} - - + +# Fix character encoding +iconv -f ISO8859-1 -t UTF-8 doc/README > doc/README.utf8 +touch -r doc/README doc/README.utf8 +mv doc/README.utf8 doc/README + +# Fix the OCaml core man directory +sed -i 's,/usr/local/man,%{_mandir},' configure + +# Configure bug? dynlink_subdir is the empty string +sed -i 's/\${dynlink_subdir}/dynlink/' configure + +# Build an executable that is not damaged by stripping +sed -i 's/\(custom=\)-custom/\1-output-complete-exe/' configure + + %build ocamlc -version ocamlc -where @@ -49,54 +71,43 @@ cat src/findlib/ocaml_args.ml -sitelib `ocamlc -where` \ -mandir %{_mandir} \ -with-toolbox -make all +%make_build all %ifarch %{ocaml_native_compiler} -make opt +%make_build opt %endif rm doc/guide-html/TIMESTAMP - - + %install # Grrr destdir grrrr -mkdir -p %{buildroot}%{_bindir} -mkdir -p %{buildroot}%{_mandir}/man{1,5} +mkdir -p $RPM_BUILD_ROOT%{_bindir} +mkdir -p $RPM_BUILD_ROOT%{_mandir}/man{1,5} make install \ - prefix=%{buildroot} \ + prefix=$RPM_BUILD_ROOT \ OCAMLFIND_BIN=%{_bindir} \ OCAMLFIND_MAN=%{_mandir} + +# Remove spurious executable bits +chmod 0644 $RPM_BUILD_ROOT%{_mandir}/man{1,5}/* +chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.{cma,cmi,ml,mli} +chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/{META,Makefile*} +%ifarch %{ocaml_native_compiler} +chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.{a,cmxa} +%endif +%ocaml_files +sed -i '/ocamlfind\.conf/d' .ofiles -%files -%license LICENSE -%doc doc/README +%files -f .ofiles +%doc LICENSE doc/README %config(noreplace) %{_sysconfdir}/ocamlfind.conf -%{_bindir}/* -%{_mandir}/man1/* -%{_mandir}/man5/* -%{_libdir}/ocaml/*/META -%{_libdir}/ocaml/topfind -%{_libdir}/ocaml/findlib -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/findlib/*.a -%exclude %{_libdir}/ocaml/findlib/*.cmxa -%endif -%exclude %{_libdir}/ocaml/findlib/*.mli -%exclude %{_libdir}/ocaml/findlib/Makefile.config -%exclude %{_libdir}/ocaml/findlib/make_wizard -%exclude %{_libdir}/ocaml/findlib/make_wizard.pattern -# Had to disable this in OCaml 4.06, unclear why. -#%%{_libdir}/ocaml/num-top - -%files devel -%doc doc/README doc/guide-html -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/findlib/*.a -%{_libdir}/ocaml/findlib/*.cmxa -%endif -%{_libdir}/ocaml/findlib/*.mli -%{_libdir}/ocaml/findlib/Makefile.config + +%files devel -f .ofiles-devel +%doc LICENSE doc/README doc/guide-html %changelog +* Thu Apr 25 2024 Mykhailo Bykhovtsev - 1.9.6-1 +- Upgrading to version 1.9.6 + * Wed Mar 30 2022 Pawel Winogrodzki - 1.8.1-16 - Updating dependencies. diff --git a/SPECS/ocaml-gettext/ocaml-gettext-camomile2.patch b/SPECS/ocaml-gettext/ocaml-gettext-camomile2.patch new file mode 100644 index 00000000000..a5ffd395090 --- /dev/null +++ b/SPECS/ocaml-gettext/ocaml-gettext-camomile2.patch @@ -0,0 +1,11 @@ +--- ocaml-gettext-0.4.2/src/lib/gettext-camomile/gettextCamomile.ml.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/src/lib/gettext-camomile/gettextCamomile.ml 2023-06-22 13:41:46.930127479 -0600 +@@ -20,7 +20,7 @@ + (* USA *) + (**************************************************************************) + +-open CamomileLibraryDefault.Camomile ++open Camomile + open GettextTypes + + (** Error reported when something goes wrong during Camomile initialization. diff --git a/SPECS/ocaml-gettext/ocaml-gettext-ocaml5.patch b/SPECS/ocaml-gettext/ocaml-gettext-ocaml5.patch new file mode 100644 index 00000000000..cbdf21b1e93 --- /dev/null +++ b/SPECS/ocaml-gettext/ocaml-gettext-ocaml5.patch @@ -0,0 +1,152 @@ +--- ocaml-gettext-0.4.2/gettext-camomile.opam.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/gettext-camomile.opam 2023-06-22 13:31:24.299464751 -0600 +@@ -19,9 +19,8 @@ depends: [ + "ocaml" {>= "4.03.0"} + "dune" {>= "1.11.0"} + "camomile" +- "base-bytes" + "gettext" {= version} +- "ounit" {with-test & > "2.0.8"} ++ "ounit2" {with-test & > "2.2.6"} + "fileutils" {with-test} + ] + synopsis: "Internationalization library using camomile (i18n)" +--- ocaml-gettext-0.4.2/gettext.opam.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/gettext.opam 2023-06-22 13:30:52.810938219 -0600 +@@ -20,8 +20,7 @@ depends: [ + "dune" {>= "1.11.0"} + "cppo" {build} + "fileutils" +- "base-bytes" +- "ounit" {with-test & > "2.0.8"} ++ "ounit2" {with-test & > "2.2.6"} + ] + synopsis: "Internationalization library (i18n)" + description:""" +--- ocaml-gettext-0.4.2/gettext-stub.opam.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/gettext-stub.opam 2023-06-22 13:32:14.938703327 -0600 +@@ -19,9 +19,8 @@ depends: [ + "ocaml" {>= "4.03.0"} + "dune" {>= "1.11.0"} + "dune-configurator" +- "base-bytes" + "gettext" {= version} +- "ounit" {with-test & > "2.0.8"} ++ "ounit2" {with-test & > "2.2.6"} + "fileutils" {with-test} + ] + depexts: [ +--- ocaml-gettext-0.4.2/src/lib/gettext-stub/gettextStubCompat_stubs.c.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/src/lib/gettext-stub/gettextStubCompat_stubs.c 2023-06-22 13:33:17.080769220 -0600 +@@ -76,7 +76,7 @@ CAMLprim value gettextStubCompat_gettext + value v_msgid) + { + CAMLparam1(v_msgid); +- CAMLreturn(copy_string(gettext(String_val(v_msgid)))); ++ CAMLreturn(caml_copy_string(gettext(String_val(v_msgid)))); + } + + CAMLprim value gettextStubCompat_dgettext( +@@ -85,7 +85,7 @@ CAMLprim value gettextStubCompat_dgettex + { + CAMLparam2(v_domainname, v_msgid); + CAMLreturn( +- copy_string( ++ caml_copy_string( + dgettext( + String_val(v_domainname), + String_val(v_msgid)))); +@@ -98,7 +98,7 @@ CAMLprim value gettextStubCompat_dcgette + { + CAMLparam3(v_domainname, v_msgid, v_category); + CAMLreturn( +- copy_string( ++ caml_copy_string( + dcgettext( + String_val(v_domainname), + String_val(v_msgid), +@@ -112,7 +112,7 @@ CAMLprim value gettextStubCompat_ngettex + { + CAMLparam3(v_msgid1, v_msgid2, v_n); + CAMLreturn( +- copy_string( ++ caml_copy_string( + ngettext( + String_val(v_msgid1), + String_val(v_msgid2), +@@ -127,7 +127,7 @@ CAMLprim value gettextStubCompat_dngette + { + CAMLparam4(v_domainname, v_msgid1, v_msgid2, v_n); + CAMLreturn( +- copy_string( ++ caml_copy_string( + dngettext( + String_val(v_domainname), + String_val(v_msgid1), +@@ -158,7 +158,7 @@ CAMLprim value gettextStubCompat_dcngett + "NULL string not expected at "STRINGIFY(__LINE__)" in "__FILE__); + }; + +- CAMLreturn(copy_string(res)); ++ CAMLreturn(caml_copy_string(res)); + } + + CAMLprim value gettextStubCompat_textdomain( +--- ocaml-gettext-0.4.2/test/common/dune.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/test/common/dune 2023-06-22 13:33:50.049275086 -0600 +@@ -1,3 +1,3 @@ + (library + (name common) +- (libraries gettext.base oUnit)) ++ (libraries gettext.base ounit2)) +--- ocaml-gettext-0.4.2/test/dune.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/test/dune 2023-06-22 13:34:09.487983748 -0600 +@@ -6,7 +6,7 @@ + ../src/bin/ocaml-xgettext/xgettext.exe + (glob_files testdata/*) + (glob_files testdata/fr_FR/LC_MESSAGES/*)) +- (libraries oUnit str fileutils gettext.extension common) ++ (libraries ounit2 str fileutils gettext.extension common) + (action + (run %{test} + -runner sequential +--- ocaml-gettext-0.4.2/test/test-camomile/dune.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/test/test-camomile/dune 2023-06-22 13:34:24.840753623 -0600 +@@ -4,6 +4,6 @@ + (deps + (glob_files testdata/*) + (glob_files ../testdata/fr_FR/LC_MESSAGES/*)) +- (libraries common gettext-camomile oUnit fileutils) ++ (libraries common gettext-camomile ounit2 fileutils) + (action + (run %{test} -test-dir ../testdata))) +--- ocaml-gettext-0.4.2/test/test.ml.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/test/test.ml 2023-06-22 13:35:08.719095972 -0600 +@@ -221,7 +221,7 @@ let install_test = + Printf.sprintf "%s warning" fl_mo >:: fun ctxt -> + let tests = make_tests ctxt in + let out = Buffer.create 13 in +- let capture_out strm = Stream.iter (Buffer.add_char out) strm in ++ let capture_out strm = Seq.iter (Buffer.add_char out) strm in + let fl_mo = concat tests.test_dir fl_mo in + let fl_dst = make_filename (tests.install_dir :: fl_dsts) in + assert_command +@@ -392,7 +392,7 @@ let compile_ocaml = + [] + in + let out = Buffer.create 13 in +- let capture_out strm = Stream.iter (Buffer.add_char out) strm in ++ let capture_out strm = Seq.iter (Buffer.add_char out) strm in + let match_exp_err = Str.regexp (".*"^(Str.quote exp_err)^".*") in + assert_command + ~exit_code:(Unix.WEXITED exp_return_code) +--- ocaml-gettext-0.4.2/test/test-stub/dune.orig 2020-06-11 14:40:42.000000000 -0600 ++++ ocaml-gettext-0.4.2/test/test-stub/dune 2023-06-22 13:34:43.239477852 -0600 +@@ -4,6 +4,6 @@ + (deps + (glob_files ../testdata/*) + (glob_files ../testdata/fr_FR/LC_MESSAGES/*)) +- (libraries common gettext-stub oUnit) ++ (libraries common gettext-stub ounit2) + (action + (run %{test} -test-dir ../testdata))) diff --git a/SPECS/ocaml-gettext/ocaml-gettext.spec b/SPECS/ocaml-gettext/ocaml-gettext.spec index 4a6e6c789d5..406ca66479b 100644 --- a/SPECS/ocaml-gettext/ocaml-gettext.spec +++ b/SPECS/ocaml-gettext/ocaml-gettext.spec @@ -1,36 +1,52 @@ -%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) -%global __ocaml_requires_opts -i Asttypes -i Parsetree -%global __ocaml_provides_opts -i Pr_gettext +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +# Optionally disable camomile dep on RHEL. +%if !0%{?rhel} +%bcond_without camomile +%bcond_without tests +%else +%bcond_with camomile +%bcond_with tests +%endif Summary: OCaml library for i18n Name: ocaml-gettext Version: 0.4.2 -Release: 2%{?dist} +Release: 3%{?dist} License: LGPLv2+ WITH exceptions Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/gildor478/ocaml-gettext -Source0: https://github.com/gildor478/ocaml-gettext/releases/download/v%{version}/gettext-v%{version}.tbz +Source0: %{url}/releases/download/v%{version}/gettext-v%{version}.tbz + +# Updates for OCaml 5. Based in part on +# https://github.com/gildor478/ocaml-gettext/pull/24 +Patch0: %{name}-ocaml5.patch +# Adapt to changes in camomile 2.0 +# https://github.com/gildor478/ocaml-gettext/pull/27 +Patch1: %{name}-camomile2.patch -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: chrpath +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-fileutils-devel >= 0.4.4-4 +BuildRequires: ocaml-dune >= 1.11.0 +BuildRequires: ocaml-dune-configurator-devel +BuildRequires: ocaml-cppo BuildRequires: docbook-style-xsl -BuildRequires: libxml2 BuildRequires: libxslt -BuildRequires: ocaml >= 4.00.1 -BuildRequires: ocaml-camomile-data -BuildRequires: ocaml-camomile-devel >= 0.8.6-3 -BuildRequires: ocaml-compiler-libs -BuildRequires: ocaml-cppo -BuildRequires: ocaml-dune-devel -BuildRequires: ocaml-fileutils-devel >= 0.4.4-4 -BuildRequires: ocaml-findlib-devel >= 1.3.3-3 -BuildRequires: ocaml-ocamldoc +BuildRequires: libxml2 +%if %{with tests} BuildRequires: ocaml-ounit-devel +%endif +%if %{with camomile} +BuildRequires: ocaml-camomile-devel >= 0.8.6-3 +BuildRequires: ocaml-camomile-data +%endif +%if %{with camomile} # ocaml-gettext program needs camomile data files Requires: ocaml-camomile-data +%endif %description Ocaml-gettext provides support for internationalization of Ocaml @@ -45,19 +61,19 @@ Constraints : %package devel Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name} = %{version}-%{release} # BZ 446919. -Requires: ocaml-fileutils-devel >= 0.4.0 +Requires: ocaml-fileutils-devel%{?_isa} >= 0.4.0 %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. +%if %{with camomile} %package camomile Summary: Parts of %{name} which depend on Camomile - -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description camomile The %{name}-camomile package contains the parts of %{name} which @@ -65,95 +81,65 @@ depend on Camomile. %package camomile-devel Summary: Development files for %{name}-camomile - -Requires: %{name}-camomile = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-camomile%{?_isa} = %{version}-%{release} +Requires: ocaml-camomile-devel%{?_isa} %description camomile-devel The %{name}-camomile-devel package contains libraries and signature files for developing applications that use %{name}-camomile. +%endif %prep -%autosetup -n gettext-v%{version} - -# Remove dependency on batteries. -sed -i -e 's/batteries//' test/dune -sed -i -e 's/batteries//' test/test-stub/dune +%autosetup -n gettext-v%{version} -p1 + +%if %{without camomile} +# Remove dependency on camomile. +rm -f gettext-camomile.opam +rm -r src/lib/gettext-camomile +rm -r test/test-camomile +sed -i -e 's/camomile//' `find -name dune` +%endif %build -make build - -#check -# Tests require batteries, so they are disabled at present. -# Under discussion with upstream. +%dune_build %install -mkdir -p %{buildroot}%{_libdir}/ocaml -mkdir -p %{buildroot}%{_bindir} -dune install --destdir=%{buildroot} - -# Remove this, we will use our own rules for documentation. -rm -rf %{buildroot}%{_prefix}/doc +%dune_install -s +sed -i '\@%{_bindir}@d;\@%{_mandir}@d' .ofiles-gettext +cat .ofiles-gettext-stub >> .ofiles-gettext +cat .ofiles-gettext-stub-devel >> .ofiles-gettext-devel + +%if %{with tests} +%check +%dune_check +%endif -%files +%files -f .ofiles-gettext %license LICENSE.txt -%{_libdir}/ocaml/gettext -%{_libdir}/ocaml/gettext-stub -%if %{opt} -%exclude %{_libdir}/ocaml/gettext/*.cmxa -%exclude %{_libdir}/ocaml/gettext/*/*.a -%exclude %{_libdir}/ocaml/gettext/*/*.cmxa -%exclude %{_libdir}/ocaml/gettext/*/*.cmx -%exclude %{_libdir}/ocaml/gettext-stub/*.a -%exclude %{_libdir}/ocaml/gettext-stub/*.cmxa -%exclude %{_libdir}/ocaml/gettext-stub/*.cmx -%endif -%exclude %{_libdir}/ocaml/gettext/*/*.ml -%exclude %{_libdir}/ocaml/gettext/*/*.mli -%exclude %{_libdir}/ocaml/gettext-stub/*.ml -%{_libdir}/ocaml/stublibs/*.so -%files devel +%files devel -f .ofiles-gettext-devel %doc README.md CHANGES.md THANKS TODO.md -%if %{opt} -%{_libdir}/ocaml/gettext/*.cmxa -%{_libdir}/ocaml/gettext/*/*.a -%{_libdir}/ocaml/gettext/*/*.cmxa -%{_libdir}/ocaml/gettext/*/*.cmx -%{_libdir}/ocaml/gettext-stub/*.a -%{_libdir}/ocaml/gettext-stub/*.cmxa -%{_libdir}/ocaml/gettext-stub/*.cmx -%endif -%{_libdir}/ocaml/gettext/*/*.ml -%{_libdir}/ocaml/gettext/*/*.mli -%{_libdir}/ocaml/gettext-stub/*.ml %{_bindir}/ocaml-gettext %{_bindir}/ocaml-xgettext %{_mandir}/man1/ocaml-gettext.1* %{_mandir}/man1/ocaml-xgettext.1* %{_mandir}/man5/ocaml-gettext.5* -%files camomile +%if %{with camomile} +%files camomile -f .ofiles-gettext-camomile %license LICENSE.txt -%{_libdir}/ocaml/gettext-camomile -%if %{opt} -%exclude %{_libdir}/ocaml/gettext-camomile/*.a -%exclude %{_libdir}/ocaml/gettext-camomile/*.cmxa -%exclude %{_libdir}/ocaml/gettext-camomile/*.cmx -%endif -%exclude %{_libdir}/ocaml/gettext-camomile/*.mli -%files camomile-devel +%files camomile-devel -f .ofiles-gettext-camomile-devel %doc README.md -%if %{opt} -%{_libdir}/ocaml/gettext-camomile/*.a -%{_libdir}/ocaml/gettext-camomile/*.cmxa -%{_libdir}/ocaml/gettext-camomile/*.cmx %endif -%{_libdir}/ocaml/gettext-camomile/*.mli %changelog +* Tue May 07 2024 Mykhailo Bykhovtsev - 0.4.2-3 +- Update build requirements and build process +- Use ocaml 5.1.1 to build + * Thu Mar 31 2022 Pawel Winogrodzki - 0.4.2-2 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-lwt/0001-Prepare-for-stricter-checking-in-GCC-14.patch b/SPECS/ocaml-lwt/0001-Prepare-for-stricter-checking-in-GCC-14.patch new file mode 100644 index 00000000000..ef2a2d53169 --- /dev/null +++ b/SPECS/ocaml-lwt/0001-Prepare-for-stricter-checking-in-GCC-14.patch @@ -0,0 +1,103 @@ +From 0d8725d3d113a9f0738b599957d2d97aecdc42d8 Mon Sep 17 00:00:00 2001 +From: Jerry James +Date: Fri, 1 Dec 2023 19:42:55 -0700 +Subject: [PATCH] Prepare for stricter checking in GCC 14 + +--- + src/unix/config/discover.ml | 21 +++++++++---------- + .../unix_c/unix_getprotoby_getservby_job.c | 1 + + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/src/unix/config/discover.ml b/src/unix/config/discover.ml +index bd528ca..931efd5 100644 +--- a/src/unix/config/discover.ml ++++ b/src/unix/config/discover.ml +@@ -652,9 +652,8 @@ struct + + int main() + { +- struct hostent *he; +- struct servent *se; +- he = ++ int x; ++ x = + gethostbyname_r( + (const char*)NULL, + (struct hostent*)NULL, +@@ -662,9 +661,9 @@ struct + (int)0, + (struct hostent**)NULL, + (int*)NULL); +- he = ++ x = + gethostbyaddr_r( +- (const char*)NULL, ++ (const void*)NULL, + (int)0, + (int)0, + (struct hostent*)NULL, +@@ -672,7 +671,7 @@ struct + (int)0, + (struct hostent**)NULL, + (int*)NULL); +- se = ++ x = + getservbyname_r( + (const char*)NULL, + (const char*)NULL, +@@ -680,7 +679,7 @@ struct + (char*)NULL, + (int)0, + (struct servent**)NULL); +- se = ++ x = + getservbyport_r( + (int)0, + (const char*)NULL, +@@ -688,20 +687,20 @@ struct + (char*)NULL, + (int)0, + (struct servent**)NULL); +- pr = ++ x = + getprotoent_r( + (struct protoent*)NULL, + (char*)NULL, + (int)0, + (struct protoent**)NULL); +- pr = ++ x = + getprotobyname_r( + (const char*)NULL, + (struct protoent*)NULL, + (char*)NULL, + (int)0, + (struct protoent**)NULL); +- pr = ++ x = + getprotobynumber_r( + (int)0, + (struct protoent*)NULL, +@@ -793,7 +792,7 @@ struct + + int main() + { +- int (*mincore_ptr)(const void*, size_t, char*) = mincore; ++ int (*mincore_ptr)(void*, size_t, unsigned char*) = mincore; + return (int)(mincore_ptr == NULL); + } + |} +diff --git a/src/unix/unix_c/unix_getprotoby_getservby_job.c b/src/unix/unix_c/unix_getprotoby_getservby_job.c +index 5169fc9..88804d1 100644 +--- a/src/unix/unix_c/unix_getprotoby_getservby_job.c ++++ b/src/unix/unix_c/unix_getprotoby_getservby_job.c +@@ -9,6 +9,7 @@ + + #define ARGS(args...) args + ++#include + #include + #include + #include +-- +2.43.0 diff --git a/SPECS/ocaml-lwt/ocaml-lwt.signatures.json b/SPECS/ocaml-lwt/ocaml-lwt.signatures.json index f2140c304f5..b9486b965e5 100644 --- a/SPECS/ocaml-lwt/ocaml-lwt.signatures.json +++ b/SPECS/ocaml-lwt/ocaml-lwt.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "lwt-5.4.1.tar.gz": "9090e646cff89435971a9bca08c4ddbb4719f5d6c8745cfd617d3a549a0ed1cf" + "lwt-5.7.0.tar.gz": "371031c38071f6f1b1b815cbe07f436c013af8fd8c4862c57a12e37c15c8b785" } } diff --git a/SPECS/ocaml-lwt/ocaml-lwt.spec b/SPECS/ocaml-lwt/ocaml-lwt.spec index 547cdb81617..9a28f813b90 100644 --- a/SPECS/ocaml-lwt/ocaml-lwt.spec +++ b/SPECS/ocaml-lwt/ocaml-lwt.spec @@ -1,32 +1,31 @@ Summary: OCaml lightweight thread library Name: ocaml-lwt -Version: 5.4.1 -Release: 9%{?dist} +Version: 5.7.0 +Release: 1%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://ocsigen.org/lwt Source0: https://github.com/ocsigen/lwt/archive/refs/tags/%{version}.tar.gz#/lwt-%{version}.tar.gz +# Fix GCC 14 incompatibilites: https://github.com/ocsigen/lwt/pull/1004 +Patch0: 0001-Prepare-for-stricter-checking-in-GCC-14.patch -BuildRequires: dune -BuildRequires: glib2-devel -BuildRequires: libev-devel -BuildRequires: ocaml >= 4.02.0 -BuildRequires: ocaml-bisect-ppx-devel -BuildRequires: ocaml-cppo -BuildRequires: ocaml-dune-devel +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 1.8.0 +BuildRequires: ocaml-dune-configurator-devel BuildRequires: ocaml-findlib -# lwt_luv dependencies. -BuildRequires: ocaml-luv-devel -# lwt.unix dependencies -BuildRequires: ocaml-mmap-devel +BuildRequires: ocaml-cppo >= 1.1.0 BuildRequires: ocaml-ocplib-endian-devel -# lwt_ppx dependencies. -BuildRequires: ocaml-ppxlib >= 0.16.0 + # lwt_react dependencies. -BuildRequires: ocaml-react-devel -BuildRequires: ocaml-result-devel -BuildRequires: ocaml-seq-devel +BuildRequires: ocaml-react-devel >= 1.0.0 + +# lwt_ppx dependencies. +BuildRequires: ocaml-ppxlib-devel >= 0.30.0 +BuildRequires: ocaml-ppx-let-devel + +# optional dependencies. +BuildRequires: libev-devel %description Lwt is a lightweight thread library for Objective Caml. This library @@ -34,41 +33,19 @@ is part of the Ocsigen project. %package devel Summary: Development files for %{name} - Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: libev-devel%{?_isa} -Requires: ocaml-mmap-devel%{?_isa} Requires: ocaml-ocplib-endian-devel%{?_isa} -Requires: ocaml-result-devel%{?_isa} -Requires: ocaml-seq-devel%{?_isa} +Requires: libev-devel%{?_isa} + +# This can be removed when F43 reaches EOL +Obsoletes: ocaml-lwt-luv-devel < 5.7.0 %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. -%package luv -Summary: Libuv engine for lwt - -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description luv -This package contains a libuv engine for lwt. - -%package luv-devel -Summary: Development files for ocaml-lwt-luv - -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Requires: %{name}-luv%{?_isa} = %{version}-%{release} -Requires: ocaml-luv-devel%{?_isa} -Requires: ocaml-result-devel%{?_isa} - -%description luv-devel -The %{name}-luv-devel package contains libraries and signature files for -developing applications that use %{name}-luv. - %package react Summary: Helpers for using React with Lwt - Requires: %{name}%{?_isa} = %{version}-%{release} %description react @@ -77,8 +54,8 @@ Helpers for using React with Lwt. %package react-devel Summary: Development files for ocaml-lwt-react -Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: %{name}-react%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: ocaml-react-devel%{?_isa} %description react-devel @@ -87,7 +64,6 @@ developing applications that use %{name}-react. %package ppx Summary: PPX syntax for Lwt - Requires: %{name}%{?_isa} = %{version}-%{release} %description ppx @@ -96,8 +72,8 @@ PPX syntax for Lwt, providing something similar to async/await from JavaScript. %package ppx-devel Summary: Development files for ocaml-lwt-ppx -Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: %{name}-ppx%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} Requires: ocaml-ppxlib-devel%{?_isa} %description ppx-devel @@ -105,7 +81,7 @@ The %{name}-ppx-devel package contains libraries and signature files for developing applications that use %{name}-ppx. %prep -%autosetup -n lwt-%{version} +%autosetup -n lwt-%{version} -p1 # It looks like one test fails. # Actually, it looks like all the "mcast" tests fail in koji. @@ -119,140 +95,47 @@ sed 's,test_mcast "mcast-nojoin-noloop" false false;,(*test_mcast "mcast-nojoin- # Enable libev and pthread. dune exec src/unix/config/discover.exe -- --save \ --use-libev true --use-pthread true -dune build --profile=release --verbose - -# Relink the stublib with RPM_LD_FLAGS -cd _build/default/src/unix -ocamlmklib -g -ldopt "$RPM_LD_FLAGS" -lev -lpthread -lm -o lwt_unix_stubs \ - $(ar t liblwt_unix_stubs.a) -cd - +%dune_build %install -dune install --profile=release --destdir %{buildroot} +%dune_install -s -# Remove spurious dune-installed documentation. -rm -rf %{buildroot}/%{_prefix}/doc +# Remove test-only directory +rm -rf %{buildroot}%{ocamldir}/lwt_ppx_let %check # Disable this test on s390x. # https://bugzilla.redhat.com/show_bug.cgi?id=1826511 %ifnarch s390x -dune runtest --profile=release +%dune_check %endif -%files +%files -f .ofiles-lwt %doc CHANGES README.md %license LICENSE.md -%dir %{_libdir}/ocaml/lwt/ -%dir %{_libdir}/ocaml/lwt/unix/ -%{_libdir}/ocaml/lwt/META -%{_libdir}/ocaml/lwt/dune-package -%{_libdir}/ocaml/lwt/opam -%{_libdir}/ocaml/lwt/*.cma -%{_libdir}/ocaml/lwt/*.cmi -%{_libdir}/ocaml/lwt/unix/*.cma -%{_libdir}/ocaml/lwt/unix/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt/*.cmxs -%{_libdir}/ocaml/lwt/unix/*.cmxs -%endif -%{_libdir}/ocaml/stublibs/*.so -%files devel -%doc CHANGES README.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt/*.a -%{_libdir}/ocaml/lwt/*.cmxa -%{_libdir}/ocaml/lwt/*.cmx -%{_libdir}/ocaml/lwt/unix/*.a -%{_libdir}/ocaml/lwt/unix/*.cmxa -%{_libdir}/ocaml/lwt/unix/*.cmx -%endif -%{_libdir}/ocaml/lwt/*.cmt -%{_libdir}/ocaml/lwt/*.cmti -%{_libdir}/ocaml/lwt/*.ml -%{_libdir}/ocaml/lwt/*.mli -%{_libdir}/ocaml/lwt/unix/*.cmt -%{_libdir}/ocaml/lwt/unix/*.cmti -%{_libdir}/ocaml/lwt/unix/*.h -%{_libdir}/ocaml/lwt/unix/*.ml -%{_libdir}/ocaml/lwt/unix/*.mli - -%files luv +%files devel -f .ofiles-lwt-devel %doc CHANGES README.md %license LICENSE.md -%dir %{_libdir}/ocaml/lwt_luv/ -%{_libdir}/ocaml/lwt_luv/META -%{_libdir}/ocaml/lwt_luv/dune-package -%{_libdir}/ocaml/lwt_luv/opam -%{_libdir}/ocaml/lwt_luv/*.cma -%{_libdir}/ocaml/lwt_luv/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt_luv/*.cmxs -%endif -%files luv-devel +%files react -f .ofiles-lwt_react %doc CHANGES README.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt_luv/*.a -%{_libdir}/ocaml/lwt_luv/*.cmxa -%{_libdir}/ocaml/lwt_luv/*.cmx -%endif -%{_libdir}/ocaml/lwt_luv/*.cmt -%{_libdir}/ocaml/lwt_luv/*.cmti -%{_libdir}/ocaml/lwt_luv/*.ml -%{_libdir}/ocaml/lwt_luv/*.mli +%license LICENSE.md -%files react +%files react-devel -f .ofiles-lwt_react-devel %doc CHANGES README.md -%license LICENSE.md -%dir %{_libdir}/ocaml/lwt_react/ -%{_libdir}/ocaml/lwt_react/META -%{_libdir}/ocaml/lwt_react/dune-package -%{_libdir}/ocaml/lwt_react/opam -%{_libdir}/ocaml/lwt_react/*.cma -%{_libdir}/ocaml/lwt_react/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt_react/*.cmxs -%endif -%files react-devel +%files ppx -f .ofiles-lwt_ppx %doc CHANGES README.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt_react/*.a -%{_libdir}/ocaml/lwt_react/*.cmxa -%{_libdir}/ocaml/lwt_react/*.cmx -%endif -%{_libdir}/ocaml/lwt_react/*.cmt -%{_libdir}/ocaml/lwt_react/*.cmti -%{_libdir}/ocaml/lwt_react/*.ml -%{_libdir}/ocaml/lwt_react/*.mli - -%files ppx -%dir %{_libdir}/ocaml/lwt_ppx/ -%{_libdir}/ocaml/lwt_ppx/META -%{_libdir}/ocaml/lwt_ppx/dune-package -%{_libdir}/ocaml/lwt_ppx/opam -%{_libdir}/ocaml/lwt_ppx/ppx.exe -%{_libdir}/ocaml/lwt_ppx/*.cma -%{_libdir}/ocaml/lwt_ppx/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt_ppx/*.cmxs -%endif -%files ppx-devel +%files ppx-devel -f .ofiles-lwt_ppx-devel %doc CHANGES README.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/lwt_ppx/*.a -%{_libdir}/ocaml/lwt_ppx/*.cmxa -%{_libdir}/ocaml/lwt_ppx/*.cmx -%endif -%{_libdir}/ocaml/lwt_ppx/*.cmt -%{_libdir}/ocaml/lwt_ppx/*.cmti -%{_libdir}/ocaml/lwt_ppx/*.ml -%{_libdir}/ocaml/lwt_ppx/*.mli + %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 5.7.0-1 +- Upgrade to 5.7.0 + * Wed Sep 20 2023 Jon Slobodzian - 5.4.1-9 - Recompile with stack-protection fixed gcc version (CVE-2023-4039) diff --git a/SPECS/ocaml-num/0001-src-Add-g-flag-to-mklib.patch b/SPECS/ocaml-num/0001-src-Add-g-flag-to-mklib.patch new file mode 100644 index 00000000000..3e8b93c9157 --- /dev/null +++ b/SPECS/ocaml-num/0001-src-Add-g-flag-to-mklib.patch @@ -0,0 +1,41 @@ +From 0419c771916f4f53e6dd2d89cfd11384ecd2be96 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Wed, 8 Nov 2017 22:16:59 +0000 +Subject: [PATCH 1/1] src: Add -g flag to mklib. + +--- + src/Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index 8ad0e2c..4dc802f 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -65,13 +65,13 @@ endif + @echo ')' >> $@ + + libnums.$(A): $(COBJS) +- $(OCAMLMKLIB) -oc nums $(COBJS) ++ $(OCAMLMKLIB) -g -oc nums $(COBJS) + + nums.cma: $(CMOS) +- $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMOS) ++ $(OCAMLMKLIB) -g -o nums -oc nums -linkall $(CMOS) + + nums.cmxa: $(CMXS) +- $(OCAMLMKLIB) -o nums -oc nums -linkall $(CMXS) ++ $(OCAMLMKLIB) -g -o nums -oc nums -linkall $(CMXS) + + nums.cmxs: nums.cmxa libnums.$(A) + $(OCAMLOPT) $(CAMLOPTFLAGS) -I . -shared -o nums.cmxs nums.cmxa +@@ -91,7 +91,7 @@ nat_stubs.$(O): bng.h nat.h + %.cmx: %.ml + $(OCAMLOPT) $(CAMLOPTFLAGS) -c $*.ml + %.$(O): %.c +- $(OCAMLC) -ccopt -DBNG_ARCH_$(BNG_ARCH) -c $*.c ++ $(OCAMLC) -g -ccopt -DBNG_ARCH_$(BNG_ARCH) -c $*.c + + # Legacy installation: files go into OCaml's stdlib directory; only META + # is installed via findlib +-- +2.24.1 diff --git a/SPECS/ocaml-num/ocaml-num.signatures.json b/SPECS/ocaml-num/ocaml-num.signatures.json index 787765847b2..23c5a347576 100644 --- a/SPECS/ocaml-num/ocaml-num.signatures.json +++ b/SPECS/ocaml-num/ocaml-num.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "num-1.3.tar.gz": "4f79c30e81ea9553c5b2c5b5b57bb19968ccad1e85256b3c446b5df58f33e94d" + "ocaml-num-1.5.tar.gz": "7ae07c8f5601e2dfc5008a62dcaf2719912ae596a19365c5d7bdf2230515959a" } } diff --git a/SPECS/ocaml-num/ocaml-num.spec b/SPECS/ocaml-num/ocaml-num.spec index b19e9ddb5c7..277c659c8b8 100644 --- a/SPECS/ocaml-num/ocaml-num.spec +++ b/SPECS/ocaml-num/ocaml-num.spec @@ -1,23 +1,45 @@ +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +%ifarch %{ocaml_native_compiler} +%ifarch x86_64 +%global num_arch amd64 +%else +%ifarch aarch64 +%global num_arch arm64 +%else +%ifarch ppc64le +%global num_arch power +%else +%global num_arch %{_arch} +%endif +%endif +%endif +%else +%global num_arch none +%endif + Summary: Legacy Num library for arbitrary-precision integer and rational arithmetic Name: ocaml-num -Version: 1.3 -Release: 2%{?dist} +Version: 1.5 +Release: 1%{?dist} License: LGPLv2+ WITH exceptions Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/ocaml/num -Source0: https://github.com/ocaml/num/archive/v%{version}/%{name}-%{version}.tar.gz#/num-%{version}.tar.gz -# All patches since 1.3 was released. -Patch1: 0001-Bump-version.patch -Patch2: 0002-Fix-usage-of-bytes-vs-string.patch -Patch3: 0003-Get-rid-of-Bytes.unsafe_of_string.patch -# Downstream patches to add -g flag. -Patch4: 0004-toplevel-Add-g-flag.patch -Patch5: 0005-src-Add-g-flag-to-mklib.patch +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz#/%{name}-%{version}.tar.gz +# Downstream patch to add -g flag. +Patch5: 0001-src-Add-g-flag-to-mklib.patch BuildRequires: make -BuildRequires: ocaml -BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-compiler-libs +BuildRequires: ocaml-findlib +BuildRequires: ocaml-rpm-macros + +# Do not require ocaml-compiler-libs at runtime +%global __ocaml_requires_opts -i Longident -i Topdirs + %description This library implements arbitrary-precision arithmetic on big integers @@ -31,59 +53,49 @@ library, and older applications that already use Num are encouraged to switch to Zarith. Zarith delivers much better performance than Num and has a nicer API. + %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. + %prep -%setup -q -n num-%{version} -%autopatch -p1 +%autosetup -n num-%{version} -p1 + %build -make %{?_smp_mflags} all +make opam-modern PROFILE=release ARCH=%{num_arch} FLAMBDA=true + %check -make -j1 test +make -j1 test PROFILE=release ARCH=%{num_arch} FLAMBDA=true + %install -export DESTDIR=%{buildroot} export OCAMLFIND_DESTDIR=%{buildroot}%{_libdir}/ocaml -mkdir -p $OCAMLFIND_DESTDIR mkdir -p $OCAMLFIND_DESTDIR/stublibs -make install +%make_install ARCH=%{num_arch} +%ocaml_files -find $OCAMLFIND_DESTDIR -name '*.cmti' -delete -%files +%files -f .ofiles %doc Changelog README.md %license LICENSE -%{_libdir}/ocaml/*.cmi -%{_libdir}/ocaml/*.cma -%{_libdir}/ocaml/*.cmxs -%{_libdir}/ocaml/num -%{_libdir}/ocaml/num-top -%{_libdir}/ocaml/stublibs/dll*.so -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/*.a -%exclude %{_libdir}/ocaml/*.cmxa -%exclude %{_libdir}/ocaml/*.cmx -%endif -%exclude %{_libdir}/ocaml/*.mli -%files devel + +%files devel -f .ofiles-devel %license LICENSE -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/*.a -%{_libdir}/ocaml/*.cmxa -%{_libdir}/ocaml/*.cmx -%endif -%{_libdir}/ocaml/*.mli %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.5-1 +- Upgrade to 1.5 +- use ocaml >= 5.1.1 + * Fri Apr 29 2022 Pawel Winogrodzki - 1.3-2 - Fixing source URL. diff --git a/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.signatures.json b/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.signatures.json index 2dc18073543..5c7a3bb6936 100644 --- a/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.signatures.json +++ b/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "ocaml-ocamlbuild-0.14.2.tar.gz": "62d2dab6037794c702a83ac584a7066d018cf1645370d1f3d5764c2b458791b1" + "ocaml-ocamlbuild-0.14.3.tar.gz": "ce151bfd2141abc6ee0b3f25ba609e989ff564a48bf795d6fa7138a4db0fc2e1" } } diff --git a/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec b/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec index fdbfe0e16c8..5d584634115 100644 --- a/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec +++ b/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec @@ -4,7 +4,7 @@ Summary: Build tool for OCaml libraries and programs Name: ocaml-ocamlbuild -Version: 0.14.2 +Version: 0.14.3 Release: 1%{?dist} License: GPLv2 WITH exceptions Vendor: Microsoft Corporation @@ -12,38 +12,46 @@ Distribution: Azure Linux URL: https://github.com/ocaml/ocamlbuild Source0: https://github.com/ocaml/ocamlbuild/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -BuildRequires: ocaml >= 4.04.0 +BuildRequires: make +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-rpm-macros +BuildRequires: ncurses +BuildRequires: asciidoc +BuildRequires: python3-pygments -%description -OCamlbuild is a build tool for building OCaml libraries and programs. +# Ocamlbuild can invoke tput; see src/display.ml +Requires: ncurses -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +# This can be removed when F42 reaches EOL +Obsoletes: %{name}-devel < 0.14.0-37 +Provides: %{name}-devel = %{version}-%{release} -%description devel -This package contains development files for %{name}. +%description +OCamlbuild is a build tool for building OCaml libraries and programs. %package doc -Summary: Documentation for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Summary: Documentation for %{name} +License: CC0 +BuildArch: noarch %description doc This package contains the manual for %{name}. %prep -%setup -q -n ocamlbuild-%{version} - +%autosetup -n ocamlbuild-%{version} %build make configure \ OCAMLBUILD_PREFIX=%{_prefix} \ OCAMLBUILD_BINDIR=%{_bindir} \ OCAMLBUILD_LIBDIR=%{_libdir}/ocaml \ + OCAMLBUILD_MANDIR=%{_mandir} \ %ifarch %{ocaml_native_compiler} - OCAML_NATIVE=true + OCAML_NATIVE=true \ + OCAML_NATIVE_TOOLS=true %else - OCAML_NATIVE=false + OCAML_NATIVE=false \ + OCAML_NATIVE_TOOLS=false %endif # Parallel builds fail. @@ -56,15 +64,16 @@ make \ OCAMLOPT="ocamlopt -g" %endif +# Build the manual +asciidoc manual/manual.adoc + %install -make install \ - DESTDIR=%{buildroot} \ - CHECK_IF_PREINSTALLED=false +%make_install CHECK_IF_PREINSTALLED=false # The install copies ocamlbuild & ocamlbuild.{byte or native}. # Symlink them instead. -pushd %{buildroot}%{_bindir} +pushd $RPM_BUILD_ROOT/usr/bin %ifarch %{ocaml_native_compiler} ln -sf ocamlbuild.native ocamlbuild %else @@ -72,47 +81,21 @@ ln -sf ocamlbuild.byte ocamlbuild %endif popd -# Install the man page, which for some reason is not copied -# in by the make install rule above. -mkdir -p %{buildroot}%{_mandir}/man1/ -install -p -m 0644 man/ocamlbuild.1 %{buildroot}%{_mandir}/man1/ +%ocaml_files -n -# Remove the META file. It will be replaced by ocaml-ocamlfind (findlib). -rm %{buildroot}%{_libdir}/ocaml/ocamlbuild/META - -%files +%files -f .ofiles %doc Changes Readme.md VERSION %license LICENSE -%{_bindir}/ocamlbuild -%{_bindir}/ocamlbuild.byte -%ifarch %{ocaml_native_compiler} -%{_bindir}/ocamlbuild.native -%endif -%{_mandir}/man1/ocamlbuild.1* -%{_libdir}/ocaml/ocamlbuild -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/ocamlbuild/*.a -%exclude %{_libdir}/ocaml/ocamlbuild/*.o -%exclude %{_libdir}/ocaml/ocamlbuild/*.cmx -%exclude %{_libdir}/ocaml/ocamlbuild/*.cmxa -%endif -%exclude %{_libdir}/ocaml/ocamlbuild/*.mli -%files devel -%license LICENSE -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/ocamlbuild/*.a -%{_libdir}/ocaml/ocamlbuild/*.o -%{_libdir}/ocaml/ocamlbuild/*.cmx -%{_libdir}/ocaml/ocamlbuild/*.cmxa -%endif -%{_libdir}/ocaml/ocamlbuild/*.mli %files doc -%license LICENSE -%doc manual/* +%license manual/LICENSE +%doc manual/manual.html %changelog +* Mon Apr 29 2024 Mykhailo Bykhovtsev - 0.14.3-1 +- Upgrade to 0.14.3 + * Fri Oct 27 2023 CBL-Mariner Servicing Account - 0.14.2-1 - Auto-upgrade to 0.14.2 - Azure Linux 3.0 - package upgrades diff --git a/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.signatures.json b/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.signatures.json index 2f4d49e892c..4975fed7299 100644 --- a/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.signatures.json +++ b/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "ocplib-endian-1.1.tar.gz": "455b3dae8622eb9c4e99a52b8a6004b40294ab9112c50dad2ab1bf10eec1c563" + "ocplib-endian-1.2.tar.gz": "97ae74e8aeead46a0475df14af637ce78e2372c07258619ad8967506f2d4b320" } } diff --git a/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec b/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec index 387a3c98e5f..a7c9576130d 100644 --- a/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec +++ b/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec @@ -1,38 +1,47 @@ + +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + %global libname ocplib-endian %global debug_package %{nil} Summary: Functions to read/write int16/32/64 from strings, bigarrays Name: ocaml-ocplib-endian -Version: 1.1 -Release: 8%{?dist} +Version: 1.2 +Release: 1%{?dist} # License is LGPL 2.1 with standard OCaml exceptions License: LGPLv2+ WITH exceptions Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/OCamlPro/ocplib-endian -Source0: https://github.com/OCamlPro/ocplib-endian/archive/%{version}/ocplib-endian-%{version}.tar.gz +Source0: %{url}/archive/%{version}/ocplib-endian-%{version}.tar.gz +# Remove dependency on base-bytes +Patch0: remove-base-byte.patch -BuildRequires: ocaml >= 4.02.3 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-cppo >= 1.1.0 BuildRequires: ocaml-dune >= 1.0 %description -Optimised functions to read and write int16/32/64 from strings, +Optimized functions to read and write int16/32/64 from strings, bytes and bigarrays, based on primitives added in version 4.01. The library implements three modules: -EndianString works directly on strings, and provides submodules -BigEndian and LittleEndian, with their unsafe counter-parts; -EndianBytes works directly on bytes, and provides submodules -BigEndian and LittleEndian, with their unsafe counter-parts; -EndianBigstring works on bigstrings (Bigarrays of chars), -and provides submodules BigEndian and LittleEndian, with their -unsafe counter-parts; +- EndianString works directly on strings, and provides submodules + BigEndian and LittleEndian, with their unsafe counterparts; +- EndianBytes works directly on bytes, and provides submodules + BigEndian and LittleEndian, with their unsafe counterparts; +- EndianBigstring works on bigstrings (Bigarrays of chars), + and provides submodules BigEndian and LittleEndian, with their + unsafe counterparts. %package devel Summary: Development files for %{name} - Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -40,61 +49,28 @@ The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -n %{libname}-%{version} +%autosetup -n ocplib-endian-%{version} -p1 %build -dune build %{?_smp_mflags} +%dune_build %install -dune install --destdir=%{buildroot} - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc +%dune_install -# We do not want the ml files -find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete +%check +%dune_check -# The tests currently fail, showing allocation of 54 words for all 3 tests. -# The issue is known, but upstream's remedy does not work with OCaml 4.11. -# See https://github.com/OCamlPro/ocplib-endian/issues/18 -# -#%%check -#dune runtest - -%files +%files -f .ofiles %license COPYING.txt %doc README.md CHANGES.md -%dir %{_libdir}/ocaml/%{libname}/ -%dir %{_libdir}/ocaml/%{libname}/bigstring/ -%{_libdir}/ocaml/%{libname}/META -%{_libdir}/ocaml/%{libname}/*.cma -%{_libdir}/ocaml/%{libname}/*.cmi -%{_libdir}/ocaml/%{libname}/bigstring/*.cma -%{_libdir}/ocaml/%{libname}/bigstring/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{libname}/*.cmxs -%{_libdir}/ocaml/%{libname}/bigstring/*.cmxs -%endif -%files devel -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{libname}/*.a -%{_libdir}/ocaml/%{libname}/*.cmxa -%{_libdir}/ocaml/%{libname}/*.cmx -%{_libdir}/ocaml/%{libname}/bigstring/*.a -%{_libdir}/ocaml/%{libname}/bigstring/*.cmxa -%{_libdir}/ocaml/%{libname}/bigstring/*.cmx -%endif -%{_libdir}/ocaml/%{libname}/*.mli -%{_libdir}/ocaml/%{libname}/*.cmt -%{_libdir}/ocaml/%{libname}/*.cmti -%{_libdir}/ocaml/%{libname}/bigstring/*.mli -%{_libdir}/ocaml/%{libname}/bigstring/*.cmt -%{_libdir}/ocaml/%{libname}/bigstring/*.cmti -%{_libdir}/ocaml/%{libname}/dune-package -%{_libdir}/ocaml/%{libname}/opam +%files devel -f .ofiles-devel %changelog +* Tue May 07 2024 Mykhailo Bykhovtsev - 1.2-1 +- Update to 1.2 +- Use ocaml 5.1.1 to build + * Thu Mar 31 2022 Pawel Winogrodzki - 1.1-8 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-ocplib-endian/remove-base-byte.patch b/SPECS/ocaml-ocplib-endian/remove-base-byte.patch new file mode 100644 index 00000000000..af24acd279f --- /dev/null +++ b/SPECS/ocaml-ocplib-endian/remove-base-byte.patch @@ -0,0 +1,58 @@ +From fda4d5525063c8444020be369c63de23d39c246e Mon Sep 17 00:00:00 2001 +From: Marek Kubica +Date: Mon, 27 Jun 2022 15:26:36 +0200 +Subject: [PATCH] Remove dependency on base-bytes + +Bytes has been part of the compiler since 4.02 and that's also the +oldest version dune supports. +--- + ocplib-endian.opam | 1 - + src/dune | 5 ++--- + tests/dune | 2 +- + 3 files changed, 3 insertions(+), 5 deletions(-) + +diff --git a/ocplib-endian.opam b/ocplib-endian.opam +index 834740e..41f0d9a 100644 +--- a/ocplib-endian.opam ++++ b/ocplib-endian.opam +@@ -14,7 +14,6 @@ homepage: "https://github.com/OCamlPro/ocplib-endian" + bug-reports: "https://github.com/OCamlPro/ocplib-endian/issues" + doc: "https://ocamlpro.github.io/ocplib-endian/ocplib-endian/" + depends: [ +- "base-bytes" + "ocaml" {>= "4.03.0"} + "cppo" {>= "1.1.0" & build} + "dune" {>= "1.0"} +diff --git a/src/dune b/src/dune +index a5b90d1..dc0bd0e 100644 +--- a/src/dune ++++ b/src/dune +@@ -62,8 +62,7 @@ + (synopsis "Optimised functions to read and write int16/32/64 from strings and bytes") + (wrapped false) + (ocamlopt_flags (:standard -inline 1000)) +- (modules endianString endianBytes) +- (libraries bytes)) ++ (modules endianString endianBytes)) + + (library + (name ocplib_endian_bigstring) +@@ -72,4 +71,4 @@ + (wrapped false) + (modules endianBigstring) + (ocamlopt_flags (:standard -inline 1000)) +- (libraries ocplib_endian bigarray bytes)) ++ (libraries ocplib_endian bigarray)) +diff --git a/tests/dune b/tests/dune +index e3e0f17..be4acad 100644 +--- a/tests/dune ++++ b/tests/dune +@@ -17,7 +17,7 @@ + (name tests) + (wrapped false) + (modules test_string test_bytes test_bigstring) +- (libraries ocplib-endian ocplib-endian.bigstring bigarray bytes)) ++ (libraries ocplib-endian ocplib-endian.bigstring bigarray)) + + (executables + (names test) diff --git a/SPECS/ocaml-ounit/0001-Remove-stdlib-shims.patch b/SPECS/ocaml-ounit/0001-Remove-stdlib-shims.patch new file mode 100644 index 00000000000..f525eca96a8 --- /dev/null +++ b/SPECS/ocaml-ounit/0001-Remove-stdlib-shims.patch @@ -0,0 +1,56 @@ +From fec0a725231d5769b3d3454687d6b0e1bd6b5e58 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 5 May 2020 12:30:50 +0100 +Subject: [PATCH] Remove stdlib-shims and seq. + +We neither need nor want the stdlib-shims or seq packages in Fedora. They +are forward compatibility package for older OCaml installations. Patch them +out instead. Upstream does not want this patch until stdlib-shims and seq +are obsolete. +--- + ounit2.opam | 1 - + src/lib/ounit2/advanced/dune | 2 +- + 2 files changed, 1 insertion(+), 2 deletions(-) + +--- a/ounit2-lwt.opam 2023-03-22 07:28:17.000000000 -0600 ++++ b/ounit2-lwt.opam 2023-06-22 12:03:02.158210339 -0600 +@@ -14,7 +14,6 @@ depends: [ + "dune" {>= "3.0"} + "ocaml" {>= "4.04.0"} + "lwt" {>= "2.5.2"} +- "seq" + "ounit2" {= version} + "odoc" {with-doc} + ] +--- a/ounit2.opam 2023-03-22 07:28:17.000000000 -0600 ++++ b/ounit2.opam 2023-06-22 12:03:02.158210339 -0600 +@@ -17,8 +17,6 @@ depends: [ + "dune" {>= "3.0"} + "ocaml" {>= "4.04.0"} + "base-unix" +- "seq" +- "stdlib-shims" + "odoc" {with-doc} + ] + build: [ +--- a/src/lib/ounit2/advanced/dune 2023-03-22 07:28:17.000000000 -0600 ++++ b/src/lib/ounit2/advanced/dune 2023-06-22 12:03:02.158210339 -0600 +@@ -11,4 +11,4 @@ + (name oUnitAdvanced) + (public_name ounit2.advanced) + (wrapped false) +- (libraries unix seq stdlib-shims)) ++ (libraries unix)) +--- a/src/lib/ounit2/dune 2023-03-22 07:28:17.000000000 -0600 ++++ b/src/lib/ounit2/dune 2023-06-22 12:03:23.748882355 -0600 +@@ -2,7 +2,7 @@ + (name oUnit) + (public_name ounit2) + (wrapped false) +- (libraries unix seq ounit2.advanced)) ++ (libraries unix ounit2.advanced)) + + (documentation + (package ounit2) +-- +2.29.2 diff --git a/SPECS/ocaml-ounit/ocaml-ounit.signatures.json b/SPECS/ocaml-ounit/ocaml-ounit.signatures.json index c6f40c5d833..0b75f77ab31 100644 --- a/SPECS/ocaml-ounit/ocaml-ounit.signatures.json +++ b/SPECS/ocaml-ounit/ocaml-ounit.signatures.json @@ -1,5 +1,5 @@ { - "Signatures": { - "ounit-v2.2.2.tbz": "53439ae8958d4016afd596d7afbe0b613163533761253e8c781d7afe3d6b9dc0" - } -} + "Signatures": { + "ounit-v2.2.7.tar.gz": "a067da09af075a6202bbd233e1e4ade46908c18c089caddd7398a859b95acbe7" + } +} \ No newline at end of file diff --git a/SPECS/ocaml-ounit/ocaml-ounit.spec b/SPECS/ocaml-ounit/ocaml-ounit.spec index b3fb0c1e43f..c1a08c79891 100644 --- a/SPECS/ocaml-ounit/ocaml-ounit.spec +++ b/SPECS/ocaml-ounit/ocaml-ounit.spec @@ -11,37 +11,20 @@ Summary: Unit test framework for OCaml Name: ocaml-%{srcname} -Version: 2.2.2 -Release: 6%{?dist} +Version: 2.2.7 +Release: 1%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/gildor478/ounit -Source0: %{url}/releases/download/v%{version}/%{srcname}-v%{version}.tbz -# We neither need nor want the stdlib-shims package. It is a forward -# compatibility package for older OCaml installations. Patch it out instead. -# Upstream does not want this patch until stdlib-shims is obsolete. -Patch0: %{name}-stdlib-shims.patch -# Enable ocaml 4.13 compatibility. Source: Fedora 35 -# https://src.fedoraproject.org/rpms/ocaml-ounit/blob/f35/f/ounit-v2.2.4-remove-Thread-kill.patch -Patch1: remove-thread-kill.patch - -# I believe this is actually caused by a missing Requires in another -# package (perhaps lwt?). In any case without this the tests fail to -# compile with: -# /usr/bin/ld: cannot find -lev -BuildRequires: libev-devel -BuildRequires: ocaml >= 4.02.3 -BuildRequires: ocaml-dune >= 1.11.0 -BuildRequires: ocaml-findlib -BuildRequires: ocaml-lwt-devel -BuildRequires: ocaml-mmap-devel -BuildRequires: ocaml-ocplib-endian-devel -BuildRequires: ocaml-result-devel +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{srcname}-v%{version}.tar.gz +# Remove seq and stdlib-shims downstream. Not needed in Fedora. +Patch0001: 0001-Remove-stdlib-shims.patch -%if %{with doc} -BuildRequires: ocaml-odoc -%endif +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 3.0 +BuildRequires: ocaml-findlib +BuildRequires: ocaml-lwt-devel >= 2.5.2 # The ounit name is now just an alias for ounit2 Provides: %{name}2 = %{version}-%{release} @@ -52,144 +35,83 @@ unit-tests for OCaml code. It is loosely based on HUnit, a unit testing framework for Haskell. It is similar to JUnit, and other xUnit testing frameworks. + %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Provides: %{name}2-devel = %{version}-%{release} + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. + %package lwt Summary: Helper functions for building Lwt tests using OUnit -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Provides: %{name}2-lwt = %{version}-%{release} + %description lwt This package contains helper functions for building Lwt tests using OUnit. + %package lwt-devel Summary: Development files for %{name}-lwt -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-lwt = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-lwt%{?_isa} = %{version}-%{release} Requires: ocaml-lwt-devel%{?_isa} Provides: %{name}2-lwt-devel = %{version}-%{release} + %description lwt-devel The %{name}-lwt-devel package contains libraries and signature files for developing applications that use %{name}-lwt. -%package doc -Summary: Documentation for %{name} -BuildArch: noarch - -%description doc -Documentation for %{name}. %prep -%autosetup -n %{srcname}-v%{version} -p1 +%autosetup -n ounit-%{version} -p1 + %build -dune build %{?_smp_mflags} -%if %{with doc} -dune build %{?_smp_mflags} @doc -%endif +%dune_build + %check -dune runtest +%dune_check -%install -dune install --destdir=%{buildroot} -%if %{with doc} -# We do not want the dune markers -find _build/default/_doc/_html -name .dune-keep -delete -%endif - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc +%install +%dune_install -s -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+ -%endif -%files +%files -f .ofiles-ounit2 %doc CHANGES.md README.md %license LICENSE.txt -%dir %{_libdir}/ocaml/%{srcname}/ -%dir %{_libdir}/ocaml/%{srcname}2/ -%dir %{_libdir}/ocaml/%{srcname}2/advanced/ -%dir %{_libdir}/ocaml/%{srcname}2/threads/ -%{_libdir}/ocaml/%{srcname}2/threads/.private/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}2/META -%{_libdir}/ocaml/%{srcname}2/*.cma -%{_libdir}/ocaml/%{srcname}2/*.cmi -%{_libdir}/ocaml/%{srcname}2/*/*.cma -%{_libdir}/ocaml/%{srcname}2/*/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}2/*.cmxs -%{_libdir}/ocaml/%{srcname}2/*/*.cmxs -%endif +%dir %{ocamldir}/ounit/ +%{ocamldir}/ounit/META -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%{_libdir}/ocaml/%{srcname}2/dune-package -%{_libdir}/ocaml/%{srcname}2/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}2/*.a -%{_libdir}/ocaml/%{srcname}2/*.cmx -%{_libdir}/ocaml/%{srcname}2/*.cmxa -%{_libdir}/ocaml/%{srcname}2/*/*.a -%{_libdir}/ocaml/%{srcname}2/*/*.cmx -%{_libdir}/ocaml/%{srcname}2/*/*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}2/*.cmt -%{_libdir}/ocaml/%{srcname}2/*.cmti -%{_libdir}/ocaml/%{srcname}2/*.ml -%{_libdir}/ocaml/%{srcname}2/*.mli -%{_libdir}/ocaml/%{srcname}2/*/*.cmt -%{_libdir}/ocaml/%{srcname}2/*/*.cmti -%{_libdir}/ocaml/%{srcname}2/*/*.ml -%{_libdir}/ocaml/%{srcname}2/*/*.mli - -%files lwt -%dir %{_libdir}/ocaml/%{srcname}-lwt/ -%dir %{_libdir}/ocaml/%{srcname}2-lwt/ -%{_libdir}/ocaml/%{srcname}-lwt/META -%{_libdir}/ocaml/%{srcname}2-lwt/META -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cma -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmxs -%endif -%files lwt-devel -%{_libdir}/ocaml/%{srcname}-lwt/dune-package -%{_libdir}/ocaml/%{srcname}-lwt/opam -%{_libdir}/ocaml/%{srcname}2-lwt/dune-package -%{_libdir}/ocaml/%{srcname}2-lwt/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.a -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmx -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmxa -%endif -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmt -%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.ml - -%if %{with doc} -%files doc -%doc _build/default/_doc/_html/ -%doc _build/default/_doc/_mlds/ -%doc _build/default/_doc/_odoc/ -%license LICENSE.txt -%endif +%files devel -f .ofiles-ounit2-devel +%{ocamldir}/ounit/dune-package +%{ocamldir}/ounit/opam + + +%files lwt -f .ofiles-ounit2-lwt +%dir %{ocamldir}/ounit-lwt/ +%{ocamldir}/ounit-lwt/META + + +%files lwt-devel -f .ofiles-ounit2-lwt-devel +%{ocamldir}/ounit-lwt/dune-package +%{ocamldir}/ounit-lwt/opam %changelog +* Mon Apr 29 2024 Mykhailo Bykhovtsev - 2.2.7-1 +- Upgraded to 2.2.7 + * Thu Mar 31 2022 Pawel Winogrodzki - 2.2.2-6 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-parsexp/ocaml-parsexp.signatures.json b/SPECS/ocaml-parsexp/ocaml-parsexp.signatures.json new file mode 100644 index 00000000000..005b360b434 --- /dev/null +++ b/SPECS/ocaml-parsexp/ocaml-parsexp.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "parsexp-0.16.0.tar.gz": "859db54b077f606ce550dfac468c399f3a14d32a4ac60da166d403fe57836e9f" + } +} diff --git a/SPECS/ocaml-parsexp/ocaml-parsexp.spec b/SPECS/ocaml-parsexp/ocaml-parsexp.spec new file mode 100644 index 00000000000..2e643c90c88 --- /dev/null +++ b/SPECS/ocaml-parsexp/ocaml-parsexp.spec @@ -0,0 +1,129 @@ +Vendor: Microsoft Corporation +Distribution: Azure Linux +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +%global srcname parsexp + +Name: ocaml-%{srcname} +Version: 0.16.0 +Release: 1%{?dist} +Summary: S-expression parsing library + +License: MIT +URL: https://github.com/janestreet/parsexp +Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 2.0.0 +BuildRequires: ocaml-sexplib0-devel >= 0.16 + +%description +This library provides generic parsers for parsing S-expressions from +strings or other media. + +The library is focused on performance but still provides full generic +parsers that can be used effortlessly with strings, bigstrings, lexing +buffers, character streams or any other source. + +It provides three different classes of parsers: +- the normal parsers, producing [Sexp.t] or [Sexp.t list] values; +- the parsers with positions, building compact position sequences so + that one can recover original positions in order to properly report + error locations at little cost; and +- the Concrete Syntax Tree parsers, producing values of type + [Parsexp.Cst.t] which record the concrete layout of the s-expression + syntax, including comments. + +This library is portable and doesn't provide I/O functions. To read +s-expressions from files or other external sources, you should use +parsexp_io. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-sexplib0-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + +%prep +%autosetup -n parsexp-%{version} + +%build +%dune_build + +%install +%dune_install + +%check +%dune_check + +%files -f .ofiles +%doc CHANGES.md README.org +%license LICENSE.md + +%files devel -f .ofiles-devel + +%changelog +* Thu May 02 2024 Mykhailo Bykhovtsev - 0.16.0-1 +- Upgraded to version 0.16.0 + +* Tue Jan 18 2022 Thomas Crain - 0.15.0-1 +- Upgrade to latest version +- License verified + +* Fri Oct 15 2021 Pawel Winogrodzki - 0.14.0-9 +- Initial CBL-Mariner import from Fedora 34 (license: MIT). + +* Mon Feb 22 2021 Jerry James - 0.14.0-8 +- Rebuild for ocaml-base 0.14.1 + +* Tue Feb 2 2021 Richard W.M. Jones - 0.14.0-7 +- Bump and rebuild for updated ocaml-camomile dep (RHBZ#1923853). + +* Tue Jan 26 2021 Fedora Release Engineering - 0.14.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 01 2020 Richard W.M. Jones - 0.14.0-5 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 0.14.0-4 +- OCaml 4.11.0 rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 0.14.0-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 17 2020 Jerry James - 0.14.0-1 +- Version 0.14 + +* Mon May 04 2020 Richard W.M. Jones - 0.13.0-8 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 0.13.0-7 +- OCaml 4.11.0 pre-release attempt 2 + +* Fri Apr 03 2020 Richard W.M. Jones - 0.13.0-6 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 0.13.0-5 +- OCaml 4.10.0 final. + +* Wed Jan 29 2020 Fedora Release Engineering - 0.13.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Jan 19 2020 Richard W.M. Jones - 0.13.0-3 +- OCaml 4.10.0+beta1 rebuild. + +* Thu Jan 16 2020 Jerry James - 0.13.0-2 +- Change -devel subpackage Requires to ocaml-base-devel +- Build in parallel + +* Fri Jan 10 2020 Jerry James - 0.13.0-1 +- Initial RPM diff --git a/SPECS/ocaml-pp/ocaml-pp.signatures.json b/SPECS/ocaml-pp/ocaml-pp.signatures.json new file mode 100644 index 00000000000..7df982d0a89 --- /dev/null +++ b/SPECS/ocaml-pp/ocaml-pp.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "pp-1.2.0.tar.gz": "dcc74bf324fa5e739d28d42ac1548134a29c8646984476614b6639ee42bc2fce" + } +} \ No newline at end of file diff --git a/SPECS/ocaml-pp/ocaml-pp.spec b/SPECS/ocaml-pp/ocaml-pp.spec new file mode 100644 index 00000000000..5ca46be826c --- /dev/null +++ b/SPECS/ocaml-pp/ocaml-pp.spec @@ -0,0 +1,207 @@ +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +# This package is needed to build dune. To avoid circular dependencies, this +# package cannot depend on dune, or any package that depends on dune. +# Therefore, we: +# - hack up our own build, rather than using dune to do the build +# - skip tests, which require ppx_expect, which is built with dune +# If you know what you are doing, build with dune anyway using this conditional. +%bcond_with dune + +Name: ocaml-pp +Version: 1.2.0 +Release: 6%{?dist} +Summary: Pretty printing library for OCaml + +License: MIT +URL: https://github.com/ocaml-dune/pp +Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/pp-%{version}.tar.gz + +BuildRequires: ocaml >= 5.1.1 +%if %{with dune} +BuildRequires: ocaml-dune >= 2.0 +%else +BuildRequires: ocaml-rpm-macros +%endif + +%description +This library provides a lean alternative to the Format [1] module of the +OCaml standard library. It aims to make it easy for users to do the +right thing. If you have tried Format before but find its API +complicated and difficult to use, then Pp might be a good choice for +you. + +Pp uses the same concepts of boxes and break hints, and the final +rendering is done by formatter from the Format module. However it +defines its own algebra which some might find easier to work with and +reason about. No previous knowledge is required to start using this +library, however the various guides for the Format module such as this +one [2] should be applicable to Pp as well. + +[1]: https://caml.inria.fr/pub/docs/manual-ocaml/libref/Format.html +[2]: https://caml.inria.fr/resources/doc/guides/format.en.html + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + +%prep +%autosetup -n pp-%{version} + +%build +%if %{with dune} +%dune_build +%else +OFLAGS="-w -40 -g" +OCFLAGS="$OFLAGS -bin-annot" +cd src +ocamlc $OCFLAGS -no-alias-deps -o pp.cmi -c -intf pp.mli +ocamlc $OCFLAGS -intf-suffix .ml -no-alias-deps -o pp.cmo -c -impl pp.ml +ocamlc $OFLAGS -a -o pp.cma pp.cmo +%ifarch %{ocaml_native_compiler} +ocamlopt $OFLAGS -intf-suffix .ml -no-alias-deps -o pp.cmx -c -impl pp.ml +ocamlopt $OFLAGS -a -o pp.cmxa pp.cmx +ocamlopt $OFLAGS -shared -linkall -I . -o pp.cmxs pp.cmxa +%endif +%endif + +%install +%if %{with dune} +%dune_install +%else +# Install without dune. See comment at the top. +mkdir -p %{buildroot}%{ocamldir}/pp +cp -p src/pp.{cma,cmi,cmt,cmti,mli} %{buildroot}%{ocamldir}/pp +%ifarch %{ocaml_native_compiler} +cp -p src/pp.{a,cmx,cmxa,cmxs} %{buildroot}%{ocamldir}/pp +%endif +cp -p pp.opam %{buildroot}%{ocamldir}/pp/opam + +cat >> %{buildroot}%{ocamldir}/pp/META << EOF +version = "%{version}" +description = "Pretty printing library for OCaml" +requires = "" +archive(byte) = "pp.cma" +%ifarch %{ocaml_native_compiler} +archive(native) = "pp.cmxa" +%endif +plugin(byte) = "pp.cma" +%ifarch %{ocaml_native_compiler} +plugin(native) = "pp.cmxs" +%endif +EOF + +cat >> %{buildroot}%{ocamldir}/pp/dune-package << EOF +(lang dune 3.12) +(name pp) +(version %{version}) +(sections (lib .) (libexec .) (doc ../../doc/pp)) +(files + (lib + (META + dune-package + opam + pp.a + pp.cma + pp.cmi + pp.cmt + pp.cmti + pp.cmx +%ifarch %{ocaml_native_compiler} + pp.cmxa +%endif + pp.ml + pp.mli)) +%ifarch %{ocaml_native_compiler} + (libexec (pp.cmxs)) +%endif + (doc (CHANGES.md LICENSE.md README.md))) +(library + (name pp) + (kind normal) +%ifarch %{ocaml_native_compiler} + (archives (byte pp.cma) (native pp.cmxa)) + (plugins (byte pp.cma) (native pp.cmxs)) + (native_archives pp.a) +%else + (archives (byte pp.cma)) + (plugins (byte pp.cma)) +%endif + (main_module_name Pp) +%ifarch %{ocaml_native_compiler} + (modes byte native) +%else + (modes byte) +%endif + (modules + (singleton + (obj_name pp) + (visibility public) + (source (path Pp) (intf (path pp.mli)) (impl (path pp.ml)))))) +EOF +%ocaml_files +%endif + +%files -f .ofiles +%doc CHANGES.md README.md +%license LICENSE.md + +%files devel -f .ofiles-devel + +%changelog +* Mon Apr 29 2024 Mykhailo Bykhovtsev - 1.2.0-6 +- Initial Import from Fedora +- License verified + +* Thu Jan 25 2024 Fedora Release Engineering - 1.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1.2.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 1.2.0-4 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 1.2.0-3 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 1.2.0-2 +- OCaml 5.1 rebuild for Fedora 40 + +* Wed Oct 4 2023 Jerry James - 1.2.0-1 +- Version 1.2.0 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Richard W.M. Jones - 1.1.2-7 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 1.1.2-6 +- OCaml 5.0.0 rebuild +- Support building without dune + +* Tue Jan 24 2023 Richard W.M. Jones - 1.1.2-5 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 1.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jul 20 2022 Jerry James - 1.1.2-2 +- Drop explicit python3 dependency + +* Thu Jun 30 2022 Jerry James - 1.1.2-2 +- Drop support for building without dune +- Temporarily add python3 dependency until dune 3.x is bootstrapped + +* Tue Jun 28 2022 Jerry James - 1.1.2-1 +- Initial RPM \ No newline at end of file diff --git a/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec b/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec index 73c4c2c50af..3bf32887bb1 100644 --- a/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec +++ b/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec @@ -1,7 +1,7 @@ Summary: Deriving plugin registry Name: ocaml-ppx-derivers Version: 1.2.1 -Release: 19%{?dist} +Release: 20%{?dist} License: BSD Vendor: Microsoft Corporation Distribution: Azure Linux @@ -10,65 +10,52 @@ Source0: https://github.com/ocaml-ppx/ppx_derivers/archive/%{version}/%{n BuildRequires: ocaml BuildRequires: ocaml-dune -BuildRequires: ocaml-findlib %description Ppx_derivers is a tiny package whose sole purpose is to allow ppx_deriving and ppx_type_conv to inter-operate gracefully when linked as part of the same ocaml-migrate-parsetree driver. + %package devel Summary: Development files for %{name} - Requires: %{name}%{?_isa} = %{version}-%{release} + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. + %prep -%setup -q -n ppx_derivers-%{version} +%autosetup -n ppx_derivers-%{version} + %build -dune build @install +%dune_build -%install -mkdir -p %{buildroot}%{_libdir}/ocaml -dune install --destdir=%{buildroot} --verbose -# These files will be installed using the doc and license directives -rm -r %{buildroot}%{_prefix}/doc +%install +%dune_install -# Makes *.cmxs executable such that they will be stripped. -find %{buildroot} -name '*.cmxs' -exec chmod 0755 {} \; %check -dune runtest +%dune_check + -%files +%files -f .ofiles %doc README.md CHANGES.md %license LICENSE.md -%{_libdir}/ocaml/* -%ifarch %{ocaml_native_compiler} -%exclude %{_libdir}/ocaml/*/*.a -%exclude %{_libdir}/ocaml/*/*.cmxa -%exclude %{_libdir}/ocaml/*/*.cmx -%endif -%exclude %{_libdir}/ocaml/*/*.mli -%exclude %{_libdir}/ocaml/*/*.ml - -%files devel + + +%files devel -f .ofiles-devel %doc README.md CHANGES.md %license LICENSE.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/*/*.a -%{_libdir}/ocaml/*/*.cmxa -%{_libdir}/ocaml/*/*.cmx -%endif -%{_libdir}/ocaml/*/*.mli -%{_libdir}/ocaml/*/*.ml %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 1.2.1-20 +- Removing not needed build requirement and updating the build process + * Thu Mar 31 2022 Pawel Winogrodzki - 1.2.1-19 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-ppx-here/ocaml-ppx-here.signatures.json b/SPECS/ocaml-ppx-here/ocaml-ppx-here.signatures.json new file mode 100644 index 00000000000..5cb66d4758c --- /dev/null +++ b/SPECS/ocaml-ppx-here/ocaml-ppx-here.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "ppx_here-0.16.0.tar.gz": "072fd8ce903ce95ff75ddcca4898d250fe7a5d276b3011b67df1473d9ef95669" + } +} diff --git a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec new file mode 100644 index 00000000000..4ab01c46e76 --- /dev/null +++ b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec @@ -0,0 +1,166 @@ +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +Name: ocaml-ppx-here +Version: 0.16.0 +Release: 9%{?dist} +Summary: Expands [@here] into its location + +License: MIT +URL: https://github.com/janestreet/ppx_here +Source0: %{url}/archive/v%{version}/ppx_here-%{version}.tar.gz + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-base-devel >= 0.16 +BuildRequires: ocaml-dune >= 2.0.0 +BuildRequires: ocaml-ppxlib-devel >= 0.31.0 + +%description +Ppx_here is a ppx rewriter that defines an extension node whose value is +its source position. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-base-devel%{?_isa} +Requires: ocaml-ppxlib-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and signature +files for developing applications that use %{name}. + +%prep +%autosetup -n ppx_here-%{version} + +%build +%dune_build + +%install +%dune_install + +%check +# We do not run the tests from a directory named ppx containing ppx_here. +# Adapt the test to running inside of the ppx_here directory. +sed -e 's,dummy\.ml\.pp,dummy.pp.ml,g' \ + -e 's,\\"ppx/ppx_here/test/dummy\.mll\\",test/dummy.mll,' \ + -i test/dune + +%dune_check + +%files -f .ofiles +%doc README.md +%license LICENSE.md + +%files devel -f .ofiles-devel + +%changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 +- Initial Import from Fedora +- License Verified + +* Mon Jan 29 2024 Richard W.M. Jones - 0.16.0-9 +- Bump and rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 0.16.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.16.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 0.16.0-6 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 0.16.0-5 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 0.16.0-4 +- OCaml 5.1 rebuild for Fedora 40 + +* Thu Jul 20 2023 Fedora Release Engineering - 0.16.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Richard W.M. Jones - 0.16.0-2 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 0.16.0-1 +- Version 0.16.0 + +* Tue Jan 24 2023 Richard W.M. Jones - 0.15.0-11 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.15.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Nov 1 2022 Jerry James - 0.15.0-9 +- Rebuild for ocaml-ppxlib 0.28.0 + +* Thu Aug 18 2022 Jerry James - 0.15.0-8 +- Rebuild for ocaml-ppxlib 0.27.0 + +* Fri Jul 22 2022 Fedora Release Engineering - 0.15.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jul 20 2022 Jerry James - 0.15.0-6 +- Use new OCaml macros + +* Sat Jun 18 2022 Richard W.M. Jones - 0.15.0-6 +- OCaml 4.14.0 rebuild + +* Mon Feb 28 2022 Jerry James - 0.15.0-5 +- Version 0.15.0 rerelease + +* Fri Feb 04 2022 Richard W.M. Jones - 0.15.0-4 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Feb 3 2022 Jerry James - 0.15.0-3 +- Conditionally build docs to avoid circular dependency on odoc + +* Thu Jan 20 2022 Fedora Release Engineering - 0.15.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Dec 27 2021 Jerry James - 0.15.0-2 +- Rebuild for ocaml-ppxlib 0.24.0 + +* Tue Nov 30 2021 Jerry James - 0.15.0-1 +- Version 0.15.0 + +* Tue Oct 05 2021 Richard W.M. Jones - 0.14.0-13 +- OCaml 4.13.1 build + +* Wed Sep 1 2021 Jerry James - 0.14.0-12 +- Rebuild for ocaml-ppxlib 0.23.0 + +* Thu Jul 29 2021 Jerry James - 0.14.0-11 +- Rebuild for ocaml-ppxlib 0.22.2 + +* Thu Jul 22 2021 Fedora Release Engineering - 0.14.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 22 2021 Jerry James - 0.14.0-9 +- Rebuild for ocaml-ppxlib 0.22.1 +- There is no circular dependency, so build with ocaml-odoc always + +* Mon Mar 1 17:37:09 GMT 2021 Richard W.M. Jones - 0.14.0-8 +- OCaml 4.12.0 build +- Make the ocaml-odoc dependency conditional. + +* Sat Feb 20 2021 Jerry James - 0.14.0-7 +- Rebuild for ocaml-base 0.14.1 + +* Wed Feb 3 2021 Richard W.M. Jones - 0.14.0-6 +- Bump and rebuild for updated ocaml Dynlink dependency. + +* Tue Jan 26 2021 Fedora Release Engineering - 0.14.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Dec 7 2020 Jerry James - 0.14.0-4 +- Rebuild for ocaml-ppxlib 0.15.0 + +* Tue Sep 01 2020 Richard W.M. Jones - 0.14.0-3 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 0.14.0-2 +- OCaml 4.11.0 rebuild + +* Fri Jun 19 2020 Jerry James - 0.14.0-1 +- Initial RPM \ No newline at end of file diff --git a/SPECS/ocaml-ppx-let/ocaml-ppx-let.signatures.json b/SPECS/ocaml-ppx-let/ocaml-ppx-let.signatures.json new file mode 100644 index 00000000000..bd75bd284a4 --- /dev/null +++ b/SPECS/ocaml-ppx-let/ocaml-ppx-let.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "ppx_let-0.16.0.tar.gz": "8ccc4f27668e9daf613f6dc779bcd9bdc6cd678826cd35c401be65566c436043" + } +} diff --git a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec new file mode 100644 index 00000000000..288d5bbd0d7 --- /dev/null +++ b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec @@ -0,0 +1,139 @@ +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +Name: ocaml-ppx-let +Version: 0.16.0 +Release: 9%{?dist} +Summary: Monadic let-bindings for OCaml + +License: MIT +URL: https://github.com/janestreet/ppx_let +Source0: %{url}/archive/v%{version}/ppx_let-%{version}.tar.gz + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-base-devel >= 0.16 +BuildRequires: ocaml-dune >= 2.0.0 +BuildRequires: ocaml-ppx-here-devel >= 0.16 +BuildRequires: ocaml-ppxlib-devel >= 0.31.0 + +%description +Ppx_let is a ppx rewriter for monadic and applicative let bindings, +match expressions, and if expressions. + +The aim of this rewriter is to make monadic and applicative code look +nicer by writing custom binders the same way that we normally bind +variables. In OCaml, the common way to bind the result of a computation +to a variable is: + + let VAR = EXPR in BODY + +ppx_let simply adds two new binders: let%%bind and let%%map. These are +rewritten into calls to the bind and map functions respectively. These +functions are expected to have + + val map : 'a t -> f:('a -> 'b) -> 'b t + val bind : 'a t -> f:('a -> 'b t) -> 'b t + +for some type t, as one might expect. + +These functions are to be provided by the user, and are generally +expected to be part of the signatures of monads and applicatives +modules. This is the case for all monads and applicatives defined by +the Jane Street's Core suite of libraries. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-base-devel%{?_isa} +Requires: ocaml-ppx-here-devel%{?_isa} +Requires: ocaml-ppxlib-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and signature +files for developing applications that use %{name}. + +%prep +%autosetup -n ppx_let-%{version} + +%build +%dune_build + +%install +%dune_install + +%check +%dune_check + +%files -f .ofiles +%doc CHANGES.md README.md +%license LICENSE.md + +%files devel -f .ofiles-devel + +%changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 +- Initial Import from Fedora +- License Verified + +* Mon Jan 29 2024 Richard W.M. Jones - 0.16.0-9 +- Bump and rebuild + +* Thu Jan 25 2024 Fedora Release Engineering - 0.16.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.16.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 0.16.0-6 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 0.16.0-5 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 0.16.0-4 +- OCaml 5.1 rebuild for Fedora 40 + +* Thu Jul 20 2023 Fedora Release Engineering - 0.16.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Richard W.M. Jones - 0.16.0-2 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 0.16.0-1 +- Version 0.16.0 + +* Tue Jan 24 2023 Richard W.M. Jones - 0.15.0-10 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.15.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Nov 1 2022 Jerry James - 0.15.0-8 +- Rebuild for ocaml-ppxlib 0.28.0 + +* Thu Aug 18 2022 Jerry James - 0.15.0-7 +- Rebuild for ocaml-ppxlib 0.27.0 + +* Fri Jul 22 2022 Fedora Release Engineering - 0.15.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jul 20 2022 Jerry James - 0.15.0-5 +- Use new OCaml macros + +* Sat Jun 18 2022 Richard W.M. Jones - 0.15.0-5 +- OCaml 4.14.0 rebuild + +* Mon Feb 28 2022 Jerry James - 0.15.0-4 +- Version 0.15.0 rerelease + +* Fri Feb 04 2022 Richard W.M. Jones - 0.15.0-3 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Feb 3 2022 Jerry James - 0.15.0-2 +- Conditionally build docs to avoid circular dependency on odoc + +* Thu Jan 20 2022 Fedora Release Engineering - 0.15.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Dec 31 2021 Jerry James - 0.15.0-1 +- Initial RPM \ No newline at end of file diff --git a/SPECS/ocaml-ppxlib/ocaml-ppxlib-stdlib-shims.patch b/SPECS/ocaml-ppxlib/ocaml-ppxlib-stdlib-shims.patch index 30b3477cb52..2bae370320f 100644 --- a/SPECS/ocaml-ppxlib/ocaml-ppxlib-stdlib-shims.patch +++ b/SPECS/ocaml-ppxlib/ocaml-ppxlib-stdlib-shims.patch @@ -1,5 +1,5 @@ ---- a/ast/dune 2021-08-31 06:52:05.000000000 -0600 -+++ b/ast/dune 2021-09-01 09:24:02.193068151 -0600 +--- a/ast/dune.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/ast/dune 2023-06-22 10:20:37.555218092 -0600 @@ -5,7 +5,7 @@ (library (name ppxlib_ast) @@ -9,36 +9,36 @@ (flags (:standard -safe-string) -w ---- a/dune-project 2021-08-31 06:52:05.000000000 -0600 -+++ b/dune-project 2021-09-01 09:25:13.279201740 -0600 +--- a/dune-project.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/dune-project 2023-06-22 10:20:37.555218092 -0600 @@ -20,7 +20,6 @@ - (ocaml-compiler-libs (>= v0.11.0)) (ppx_derivers (>= 1.0)) (sexplib0 (>= v0.12)) + (sexplib0 (and :with-test (>= "v0.15"))) ; Printexc.register_printer in sexplib0 changed - stdlib-shims (ocamlfind :with-test) (re (and :with-test (>= 1.9.0))) - (cinaps (and :with-test (>= v0.12.1))) ---- a/metaquot_lifters/dune 2021-08-31 06:52:05.000000000 -0600 -+++ b/metaquot_lifters/dune 2021-09-01 09:25:29.440232074 -0600 + (cinaps (and :with-test (>= v0.12.1)))) +--- a/metaquot_lifters/dune.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/metaquot_lifters/dune 2023-06-22 10:20:37.555218092 -0600 @@ -3,4 +3,4 @@ (public_name ppxlib.metaquot_lifters) (flags (:standard -safe-string)) - (libraries ppxlib ppxlib_traverse_builtins stdppx stdlib-shims)) + (libraries ppxlib ppxlib_traverse_builtins stdppx)) ---- a/ppxlib.opam 2021-08-31 06:52:05.000000000 -0600 -+++ b/ppxlib.opam 2021-09-01 09:24:15.993094078 -0600 -@@ -25,7 +25,6 @@ depends: [ - "ocaml-compiler-libs" {>= "v0.11.0"} +--- a/ppxlib.opam.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/ppxlib.opam 2023-06-22 10:20:37.555218092 -0600 +@@ -26,7 +26,6 @@ depends: [ "ppx_derivers" {>= "1.0"} "sexplib0" {>= "v0.12"} + "sexplib0" {with-test & >= "v0.15"} - "stdlib-shims" "ocamlfind" {with-test} "re" {with-test & >= "1.9.0"} "cinaps" {with-test & >= "v0.12.1"} ---- a/src/dune 2021-08-31 06:52:05.000000000 -0600 -+++ b/src/dune 2021-09-01 09:24:44.977148546 -0600 +--- a/src/dune.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/src/dune 2023-06-22 10:20:37.555218092 -0600 @@ -9,7 +9,6 @@ ppx_derivers ppxlib_traverse_builtins @@ -47,16 +47,16 @@ sexplib0) (flags (:standard -safe-string)) ---- a/src/gen/dune 2021-08-31 06:52:05.000000000 -0600 -+++ b/src/gen/dune 2021-09-01 09:24:57.866172770 -0600 +--- a/src/gen/dune.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/src/gen/dune 2023-06-22 10:20:37.556218077 -0600 @@ -2,4 +2,4 @@ (names gen_ast_pattern gen_ast_builder) (flags (:standard -safe-string)) - (libraries ppxlib_ast astlib ppxlib_traverse_builtins stdppx stdlib-shims)) + (libraries ppxlib_ast astlib ppxlib_traverse_builtins stdppx)) ---- a/stdppx/dune 2021-08-31 06:52:05.000000000 -0600 -+++ b/stdppx/dune 2021-09-01 09:24:34.025127963 -0600 +--- a/stdppx/dune.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/stdppx/dune 2023-06-22 10:20:37.556218077 -0600 @@ -1,6 +1,6 @@ (library (name stdppx) @@ -65,8 +65,8 @@ + (libraries sexplib0) (flags (:standard -safe-string))) ---- a/traverse/dune 2021-08-31 06:52:05.000000000 -0600 -+++ b/traverse/dune 2021-09-01 09:23:48.745042886 -0600 +--- a/traverse/dune.orig 2023-06-20 02:51:14.000000000 -0600 ++++ b/traverse/dune 2023-06-22 10:20:37.556218077 -0600 @@ -4,6 +4,6 @@ (kind ppx_deriver) (flags diff --git a/SPECS/ocaml-ppxlib/ocaml-ppxlib.signatures.json b/SPECS/ocaml-ppxlib/ocaml-ppxlib.signatures.json index 3f0b4e5741c..fbf21ceabaa 100644 --- a/SPECS/ocaml-ppxlib/ocaml-ppxlib.signatures.json +++ b/SPECS/ocaml-ppxlib/ocaml-ppxlib.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "ppxlib-0.24.0.tbz": "7766027c2ecd0f5b3b460e9212a70709c6744278113eb91f317c56c41e7a90c8" + "ppxlib-0.31.0.tar.gz": "0723f1385e7baaecb89ab43cd11f03fe36663d6e2bd54bf889d518c8b5cc5f29" } } diff --git a/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec b/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec index 1bf83deeb87..552c3aad4fb 100644 --- a/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec +++ b/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec @@ -10,28 +10,24 @@ Summary: Base library and tools for ppx rewriters Name: ocaml-%{srcname} -Version: 0.24.0 -Release: 3%{?dist} +Version: 0.31.0 +Release: 1%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/ocaml-ppx/ppxlib -Source0: https://github.com/ocaml-ppx/ppxlib/releases/download/%{version}/%{srcname}-%{version}.tbz -# We do not have 'stdlib-shims'. +Source0: https://github.com/ocaml-ppx/ppxlib/archive/refs/tags/%{version}.tar.gz#/%{srcname}-%{version}.tar.gz +# We do not have stdlib-shims Patch0: %{name}-stdlib-shims.patch -Patch1: test-fix-sexplib0-0.15.0.patch - -BuildRequires: ocaml >= 4.04.1 -BuildRequires: ocaml-base-devel + +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-cinaps-devel >= 0.12.1 BuildRequires: ocaml-compiler-libs-janestreet-devel >= 0.11.0 BuildRequires: ocaml-dune >= 2.7 BuildRequires: ocaml-findlib -BuildRequires: ocaml-migrate-parsetree-devel >= 2.1.0 BuildRequires: ocaml-ppx-derivers-devel >= 1.0 BuildRequires: ocaml-re-devel >= 1.9.0 -BuildRequires: ocaml-sexplib0-devel >= 0.15.0 -BuildRequires: ocaml-stdio-devel +BuildRequires: ocaml-sexplib0-devel >= 0.15 %if %{with doc} BuildRequires: ocaml-odoc @@ -50,114 +46,38 @@ projects. It features: - a quotation mechanism for writing values representing OCaml AST in the OCaml syntax; - a generator of open recursion classes from type definitions. - + %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: ocaml-compiler-libs-janestreet-devel%{?_isa} -Requires: ocaml-migrate-parsetree-devel%{?_isa} Requires: ocaml-ppx-derivers-devel%{?_isa} Requires: ocaml-sexplib0-devel%{?_isa} - + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. - -%if %{with doc} -%package doc -Summary: Documentation for %{name} -BuildArch: noarch - -%description doc -Documentation for %{name}. -%endif - + %prep -%autosetup -n %{srcname}-%{version} -p1 - +%autosetup -n ppxlib-%{version} -p1 + %build -dune build %{?_smp_mflags} - -%if %{with doc} -dune build %{?_smp_mflags} @doc -%endif - +%dune_build %install -dune install --destdir=%{buildroot} - -%if %{with doc} -# We do not want the dune markers -find _build/default/_doc/_html -name .dune-keep -delete -%endif - -# We do not want the ml files -find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+ -%endif - -# We do not want to install the test binaries -rm -fr %{buildroot}%{_bindir} - +%dune_install %check -dune runtest - -%files +%dune_check +%files -f .ofiles %doc CHANGES.md HISTORY.md README.md %license LICENSE.md -%dir %{_libdir}/ocaml/%{srcname}/ -%dir %{_libdir}/ocaml/%{srcname}/ast/ -%dir %{_libdir}/ocaml/%{srcname}/metaquot/ -%dir %{_libdir}/ocaml/%{srcname}/metaquot_lifters/ -%dir %{_libdir}/ocaml/%{srcname}/print_diff/ -%dir %{_libdir}/ocaml/%{srcname}/runner/ -%dir %{_libdir}/ocaml/%{srcname}/runner_as_ppx/ -%dir %{_libdir}/ocaml/%{srcname}/traverse/ -%dir %{_libdir}/ocaml/%{srcname}/traverse_builtins/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/*.cma -%{_libdir}/ocaml/%{srcname}/*.cmi -%{_libdir}/ocaml/%{srcname}/*/*.cma -%{_libdir}/ocaml/%{srcname}/*/*.cmi -%{_libdir}/ocaml/%{srcname}/*/*.exe -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*.cmxs -%{_libdir}/ocaml/%{srcname}/*/*.cmxs -%endif - -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/*.a -%{_libdir}/ocaml/%{srcname}/*.cmx -%{_libdir}/ocaml/%{srcname}/*.cmxa -%{_libdir}/ocaml/%{srcname}/*/*.a -%{_libdir}/ocaml/%{srcname}/*/*.cmx -%{_libdir}/ocaml/%{srcname}/*/*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/*.cmt -%{_libdir}/ocaml/%{srcname}/*.cmti -%{_libdir}/ocaml/%{srcname}/*.mli -%{_libdir}/ocaml/%{srcname}/*/*.cmt -%{_libdir}/ocaml/%{srcname}/*/*.cmti -%{_libdir}/ocaml/%{srcname}/*/*.mli - -%if %{with doc} -%files doc -%doc _build/default/_doc/_html/ -%doc _build/default/_doc/_mlds/ -%doc _build/default/_doc/_odoc/ -%license LICENSE.md -%endif + +%files devel -f .ofiles-devel %changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.31.0-1 +- Upgrade to 0.31.0 + * Fri May 19 2023 Olivia Crain - 0.24.0-3 - Add upstream patch to fix tests with ocaml-sexplib0-0.15.0 - Remove %%{arm} arch gating on tests (not supported by Mariner) diff --git a/SPECS/ocaml-re/ocaml-re-remove-seq.patch b/SPECS/ocaml-re/ocaml-re-remove-seq.patch new file mode 100644 index 00000000000..7ecb337bcf8 --- /dev/null +++ b/SPECS/ocaml-re/ocaml-re-remove-seq.patch @@ -0,0 +1,18 @@ +--- a/lib/dune 2022-04-27 12:13:14.000000000 -0600 ++++ b/lib/dune 2022-04-28 07:55:56.663747337 -0600 +@@ -1,5 +1,4 @@ + (library + (name re) + (synopsis "Pure OCaml regular expression library") +- (libraries seq) + (public_name re)) +--- a/re.opam 2022-04-27 12:13:14.000000000 -0600 ++++ b/re.opam 2022-04-28 07:55:56.663747337 -0600 +@@ -23,7 +23,6 @@ depends: [ + "ocaml" {>= "4.03"} + "dune" {>= "2.0"} + "ounit" {with-test} +- "seq" + ] + + synopsis: "RE is a regular expression library for OCaml" diff --git a/SPECS/ocaml-re/ocaml-re.signatures.json b/SPECS/ocaml-re/ocaml-re.signatures.json index 973a3d221a8..3b6e9af739f 100644 --- a/SPECS/ocaml-re/ocaml-re.signatures.json +++ b/SPECS/ocaml-re/ocaml-re.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "ocaml-re-1.9.0.tar.gz": "4a2408bb270e0d1aef101d6b5edfeec6753874a6bcf54eb43d9fd3a7ddd777c1" + "ocaml-re-1.11.0.tar.gz": "e32660b6068b78a8588ca065a6a2b01ae7339584d8261356beac0e26dbc5f854" } } diff --git a/SPECS/ocaml-re/ocaml-re.spec b/SPECS/ocaml-re/ocaml-re.spec index 5020e5a925b..81f1fe5361b 100644 --- a/SPECS/ocaml-re/ocaml-re.spec +++ b/SPECS/ocaml-re/ocaml-re.spec @@ -1,26 +1,26 @@ -%ifarch %{ocaml_native_compiler} -%global native_compiler 1 -%else -%global native_compiler 0 +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} %endif - Summary: A regular expression library for OCaml Name: ocaml-re -Version: 1.9.0 -Release: 21%{?dist} +Version: 1.11.0 +Release: 1%{?dist} License: LGPLv2+ WITH exceptions Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/ocaml/ocaml-re -Source0: https://github.com/ocaml/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz -BuildRequires: ocaml +# Fedora's OCaml is new enough that we don't need the seq compatibility library +Patch0: %{name}-remove-seq.patch + +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune -BuildRequires: ocaml-findlib -BuildRequires: ocaml-ocamlbuild -BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-seq-devel - + +%if %{with test} +BuildRequires: ocaml-ounit-devel +%endif + %description A pure OCaml regular expression library. Supports Perl-style regular expressions, Posix extended regular expressions, Emacs-style regular @@ -28,63 +28,42 @@ expressions, and shell-style file globbing. It is also possible to build regular expressions by combining simpler regular expressions. There is also a subset of the PCRE interface available in the Re.pcre library. - + %package devel Summary: Development files for %{name} - Requires: %{name}%{?_isa} = %{version}-%{release} -# https://bugzilla.redhat.com/show_bug.cgi?id=1792031 -Requires: ocaml-seq-devel - + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. - + %prep -%setup -q -n ocaml-re-%{version} - +%autosetup -p1 + +# Fix the ounit name +sed -i 's/oUnit/ounit2/' lib_test/fort_unit/dune + %build -dune build -p re --verbose %{?_smp_mflags} - +%dune_build %install - -# jbuilder/dune 1.0+ supports installing without opam-installer, -# which means in theory we could do something like the below even for -# "ocaml critical path" packages (e.g. dependencies of opam and opam-installer). - -# However... in this package it seems to stop RPM from finding debug info -# correctly. I am not sure why. :( - -#export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml -#mkdir -p $OCAMLFIND_DESTDIR -#jbuilder install --destdir %{buildroot} -#rm -r %{buildroot}/doc/re/ - -# So use the "manual jbuilder install" technique instead. -mkdir -p %{buildroot}%{_libdir}/ocaml -cp -aLr _build/install/default/lib/* %{buildroot}%{_libdir}/ocaml/ - -%files +%dune_install +%if %{with test} +%check +%dune_check +%endif + +%files -f .ofiles %doc CHANGES.md %doc README.md %license LICENSE.md -%{_libdir}/ocaml/re -%if %{native_compiler} -%exclude %{_libdir}/ocaml/re/*.a -%exclude %{_libdir}/ocaml/re/*.cmxa -%exclude %{_libdir}/ocaml/re/*.cmx -%endif -%exclude %{_libdir}/ocaml/re/*.mli - -%files devel -%if %{native_compiler} -%{_libdir}/ocaml/re/*.a -%{_libdir}/ocaml/re/*.cmx -%{_libdir}/ocaml/re/*.cmxa -%endif -%{_libdir}/ocaml/re/*.mli + +%files devel -f .ofiles-devel %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.11.0-1 +- Upgrade to 1.11.0 for +- Use ocaml >= 5.1.1 to build + * Thu Mar 31 2022 Pawel Winogrodzki - 1.9.0-21 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-react/ocaml-react.signatures.json b/SPECS/ocaml-react/ocaml-react.signatures.json index a2204625773..897495b0bdd 100644 --- a/SPECS/ocaml-react/ocaml-react.signatures.json +++ b/SPECS/ocaml-react/ocaml-react.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "react-1.2.1.tbz": "7b2c5c078cc659dcd2202e5d89628df592c5e843b7e8f357b63db5f6d2e148aa" + "react-1.2.2.tbz": "c4add315d6f1f153d115ee7ca8dd60c1265ff4d408c266125fcb5124fd228f99" } } diff --git a/SPECS/ocaml-react/ocaml-react.spec b/SPECS/ocaml-react/ocaml-react.spec index bb39e37166b..a1ac70a08a6 100644 --- a/SPECS/ocaml-react/ocaml-react.spec +++ b/SPECS/ocaml-react/ocaml-react.spec @@ -1,85 +1,80 @@ Summary: OCaml framework for Functional Reactive Programming (FRP) Name: ocaml-react -Version: 1.2.1 -Release: 8%{?dist} +Version: 1.2.2 +Release: 1%{?dist} License: ISC Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://erratique.ch/software/react -Source0: http://erratique.ch/software/react/releases/react-%{version}.tbz +Source0: %{url}/releases/react-%{version}.tbz -BuildRequires: ocaml >= 4.01.0 -BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-ocamlbuild +BuildRequires: ocaml-findlib BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-topkg-devel >= 0.9.0 +BuildRequires: ocaml-rpm-macros +BuildRequires: ocaml-topkg-devel >= 1.0.3 +# Do not require ocaml-compiler-libs at runtime +%global __ocaml_requires_opts -i Asttypes -i Build_path_prefix_map -i Cmi_format -i Env -i Ident -i Identifiable -i Load_path -i Location -i Longident -i Misc -i Outcometree -i Parsetree -i Path -i Primitive -i Shape -i Subst -i Toploop -i Type_immediacy -i Types -i Warnings + + %description React is an OCaml module for functional reactive programming (FRP). It provides support to program with time varying values : declarative events and signals. React doesn't define any primitive event or signal; it lets the client choose the concrete timeline. - + React is made of a single, independent module and distributed under the ISC license. - + Given an absolute notion of time Rtime helps you to manage a timeline and provides time stamp events, delayed events and delayed signals. - + + %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} - + + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. - + + %prep %autosetup -n react-%{version} - + # require debug info echo $'\ntrue: debug' >> _tags - + +# expose a math library dependency to RPM +echo $'\ntrue: cclib(-lm)' >> _tags + + %build ocaml pkg/pkg.ml build --tests true - + + %install -mkdir -p %{buildroot}%{_libdir}/ocaml/react -for f in \ - pkg/META \ - opam \ -%ifarch %{ocaml_native_compiler} - src/*.cmx \ -%endif - src/*.{a,cma,cmi,mli,cmxa,cmxs} -do - cp -p _build/$f %{buildroot}%{_libdir}/ocaml/react/ -done - +%ocaml_install + %check ocaml pkg/pkg.ml test - -%files + + +%files -f .ofiles %license LICENSE.md -%dir %{_libdir}/ocaml/react/ -%{_libdir}/ocaml/react/META -%{_libdir}/ocaml/react/*.cma -%{_libdir}/ocaml/react/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/react/*.cmxs -%endif - -%files devel + + +%files devel -f .ofiles-devel %doc CHANGES.md README.md -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/react/*.a -%{_libdir}/ocaml/react/*.cmx -%{_libdir}/ocaml/react/*.cmxa -%endif -%{_libdir}/ocaml/react/*.mli -%{_libdir}/ocaml/react/opam %changelog +* Mon May 06 2024 Mykhailo Bykhovtsev - 1.2.2-1 +- Upgrade to 1.2.2 +- Use ocaml 5.1.1 to build and update other build requirements + * Thu Mar 31 2022 Pawel Winogrodzki - 1.2.1-8 - Cleaning-up spec. License verified. diff --git a/SPECS/ocaml-sexplib/ocaml-sexplib.signatures.json b/SPECS/ocaml-sexplib/ocaml-sexplib.signatures.json new file mode 100644 index 00000000000..9b20b0fa4d6 --- /dev/null +++ b/SPECS/ocaml-sexplib/ocaml-sexplib.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "sexplib-0.16.0.tar.gz": "02d0542527191f99f7b2fde684386bfca086d8f8e42e8488561bcd269a6a5472" + } +} diff --git a/SPECS/ocaml-sexplib/ocaml-sexplib.spec b/SPECS/ocaml-sexplib/ocaml-sexplib.spec new file mode 100644 index 00000000000..683a1ed21c4 --- /dev/null +++ b/SPECS/ocaml-sexplib/ocaml-sexplib.spec @@ -0,0 +1,336 @@ +Vendor: Microsoft Corporation +Distribution: Azure Linux +%ifnarch %{ocaml_native_compiler} +%global debug_package %{nil} +%endif + +%bcond_with vim + +%global srcname sexplib + +Name: ocaml-%{srcname} +Version: 0.16.0 +Release: 1%{?dist} +Summary: Automated S-expression conversion + +# The project as a whole is MIT, but code in the src subdirectory is BSD. +License: MIT and BSD +URL: https://github.com/janestreet/%{srcname} +Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-dune >= 2.0.0 +BuildRequires: ocaml-num-devel +BuildRequires: ocaml-parsexp-devel >= 0.16 +BuildRequires: ocaml-sexplib0-devel >= 0.16 +BuildRequires: vim + +%if %{with test} +BuildRequires: ocaml-base-devel +BuildRequires: ocaml-base-quickcheck-devel +BuildRequires: ocaml-core-kernel-devel +BuildRequires: ocaml-expect-test-helpers-core-devel +BuildRequires: ocaml-ppx-jane-devel +BuildRequires: ocaml-sexp-grammar-validation-devel +%endif + +%description +This package contains a library for serializing OCaml values to and from +S-expressions. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-num-devel%{?_isa} +Requires: ocaml-parsexp-devel%{?_isa} +Requires: ocaml-sexplib0-devel%{?_isa} + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + +%package vim +Summary: Support for sexplib syntax in vim +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: vim + +%description vim +This package contains a vim syntax file for Sexplib. + +%prep +%autosetup -n sexplib-%{version} + +%build +%dune_build + +%install +%dune_install + +# Install the vim support +mkdir -p %{buildroot}%{vimfiles_root}/syntax +cp -p vim/syntax/sexplib.vim %{buildroot}%{vimfiles_root}/syntax + +%if %{with test} +%check +%dune_check +%endif + +%files -f .ofiles +%doc CHANGES.md README.org +%license COPYRIGHT.txt LICENSE.md LICENSE-Tywith.txt THIRD-PARTY.txt + +%files devel -f .ofiles-devel + +%files vim +%{vimfiles_root}/syntax/sexplib.vim + +%changelog +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-1 +- Upgrade to 0.16.0 + +* Tue Jan 18 2022 Thomas Crain - 0.15.0-1 +- Upgrade to latest version +- License verified + +* Thu Dec 2 2021 Muhammad Falak - 0.14.0-7 +- Remove epoch. + +* Mon Aug 09 2021 Thomas Crain - 1:0.14.0-6 +- Initial CBL-Mariner import from Fedora 34 (license: MIT). +- Diable vim subpackage by default + +* Tue Feb 2 2021 Richard W.M. Jones - 1:0.14.0-5 +- Bump and rebuild for updated ocaml-camomile dep (RHBZ#1923853). + +* Tue Jan 26 2021 Fedora Release Engineering - 1:0.14.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 01 2020 Richard W.M. Jones - 1:0.14.0-3 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 1:0.14.0-2 +- OCaml 4.11.0 rebuild + +* Tue Aug 4 2020 Jerry James - 1:0.14.0-1 +- Version 0.14.0 + +* Sat Aug 01 2020 Fedora Release Engineering - 1:0.13.0-12 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1:0.13.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Richard W.M. Jones - 1:0.13.0-10 +- Rebuild to resolve build order symbol problems. + +* Tue May 05 2020 Richard W.M. Jones - 1:0.13.0-9 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 1:0.13.0-8 +- OCaml 4.11.0 pre-release attempt 2 + +* Fri Apr 03 2020 Richard W.M. Jones - 1:0.13.0-7 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 1:0.13.0-6 +- OCaml 4.10.0 final. + +* Wed Jan 29 2020 Fedora Release Engineering - 1:0.13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Jan 19 2020 Richard W.M. Jones - 1:0.13.0-4 +- Bump release and rebuild. + +* Sun Jan 19 2020 Richard W.M. Jones - 1:0.13.0-3 +- OCaml 4.10.0+beta1 rebuild. + +* Thu Jan 16 2020 Jerry James - 1:0.13.0-2 +- Add ocaml-parsexp-devel R to -devel +- Build in parallel + +* Fri Jan 10 2020 Jerry James - 1:0.13.0-1 +- Switch to the Jane Street version + +* Thu Jul 25 2019 Fedora Release Engineering - 7.0.5-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 7.0.5-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 7.0.5-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Richard W.M. Jones - 7.0.5-31 +- OCaml 4.07.0 (final) rebuild. + +* Wed Jun 20 2018 Richard W.M. Jones - 7.0.5-30 +- OCaml 4.07.0-rc1 rebuild. + +* Thu Feb 08 2018 Fedora Release Engineering - 7.0.5-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Nov 17 2017 Richard W.M. Jones - 7.0.5-28 +- OCaml 4.06.0 rebuild. + +* Tue Aug 08 2017 Richard W.M. Jones - 7.0.5-27 +- OCaml 4.05.0 rebuild. + +* Thu Aug 03 2017 Fedora Release Engineering - 7.0.5-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 7.0.5-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 27 2017 Richard W.M. Jones - 7.0.5-24 +- OCaml 4.04.2 rebuild. + +* Fri May 12 2017 Richard W.M. Jones - 7.0.5-23 +- OCaml 4.04.1 rebuild. + +* Sat Feb 11 2017 Fedora Release Engineering - 7.0.5-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Nov 08 2016 Richard W.M. Jones - 7.0.5-21 +- Rebuild for OCaml 4.04.0. + +* Thu Feb 04 2016 Fedora Release Engineering - 7.0.5-20 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jul 28 2015 Richard W.M. Jones - 7.0.5-19 +- OCaml 4.02.3 rebuild. + +* Wed Jun 24 2015 Richard W.M. Jones - 7.0.5-18 +- ocaml-4.02.2 final rebuild. + +* Wed Jun 17 2015 Richard W.M. Jones - 7.0.5-17 +- ocaml-4.02.2 rebuild. + +* Tue Feb 17 2015 Richard W.M. Jones - 7.0.5-16 +- ocaml-4.02.1 rebuild. + +* Thu Sep 25 2014 Jerry James - 7.0.5-15 +- Drop obsolete ExcludeArch +- Fix license handling +- Fix changelog dates + +* Sun Aug 31 2014 Richard W.M. Jones - 7.0.5-14 +- ocaml-4.02.0 final rebuild. + +* Sat Aug 23 2014 Richard W.M. Jones - 7.0.5-13 +- ocaml-4.02.0+rc1 rebuild. + +* Sun Aug 17 2014 Fedora Release Engineering - 7.0.5-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Aug 02 2014 Richard W.M. Jones - 7.0.5-11 +- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. + +* Mon Jul 21 2014 Richard W.M. Jones - 7.0.5-10 +- OCaml 4.02.0 beta rebuild. + +* Sat Jun 07 2014 Fedora Release Engineering - 7.0.5-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed Mar 19 2014 Richard W.M. Jones - 7.0.5-8 +- Rebuild against latest Arg module. + +* Thu Sep 19 2013 Richard W.M. Jones - 7.0.5-7 +- OCaml 4.01.0 rebuild. +- Modernize the spec file. + +* Sat Aug 03 2013 Fedora Release Engineering - 7.0.5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 7.0.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Oct 30 2012 Richard W.M. Jones - 7.0.5-4 +- Rebuild for OCaml 4.00.1. + +* Mon Jul 30 2012 Richard W.M. Jones - 7.0.5-3 +- Patch for OCaml 4.00.0 official. + +* Fri Jul 20 2012 Fedora Release Engineering - 7.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jun 11 2012 Richard W.M. Jones - 7.0.5-1 +- Update to latest upstream version 7.0.5. +- Rebuild for OCaml 4.00.0. + +* Fri Jan 06 2012 Richard W.M. Jones - 7.0.4-2 +- Rebuild for OCaml 3.12.1. + +* Tue Sep 27 2011 Michael Ekstrand - 7.0.4-1 +- New upstream release 7.0.4 from forge.ocamlcore.org (#741483) + +* Tue Feb 08 2011 Fedora Release Engineering - 6.0.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Jan 6 2011 Richard W.M. Jones - 6.0.4-1 +- New upstream version 6.0.4. +- Rebuild for OCaml 3.12.0. + +* Wed Dec 30 2009 Richard W.M. Jones - 4.2.15-2 +- Rebuild for OCaml 3.11.2. + +* Sun Oct 4 2009 Richard W.M. Jones - 4.2.15-1 +- New upstream version 4.2.15. + +* Sat Jul 25 2009 Fedora Release Engineering - 4.2.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 12 2009 Richard W.M. Jones - 4.2.10-2 +- Rebuild to try to fix rpmdepsize FTBFS problem. + +* Sat May 23 2009 Richard W.M. Jones - 4.2.10-1 +- Rebuild for OCaml 3.11.1. +- New upstream version 4.2.10. + +* Thu Apr 16 2009 S390x secondary arch maintainer +- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs + (added sparc64 per request from the sparc maintainer) + +* Mon Mar 30 2009 Richard W.M. Jones - 4.2.7-2 +- Force rebuild against latest ocaml-type-conv. + +* Tue Mar 10 2009 Richard W.M. Jones - 4.2.7-1 +- New upstream version 4.2.7. +- Fixed source URL. +- Removed the patch as it is now upstream. +- Fixed the doc line. + +* Wed Feb 25 2009 Fedora Release Engineering - 4.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Nov 26 2008 Richard W.M. Jones - 4.2.1-2 +- Rebuild for OCaml 3.11.0+rc1. + +* Thu Nov 20 2008 Richard W.M. Jones - 4.2.1-1 +- New upstream version 4.2.1. + +* Wed Nov 19 2008 Richard W.M. Jones - 4.0.1-2 +- Rebuild for OCaml 3.11.0 + +* Sun Aug 31 2008 Richard W.M. Jones - 4.0.1-1 +- New upstream release 4.0.1. +- Patch a build problem in the test suite. +- ml file should be packaged in the -devel subpackage, not in main. + +* Mon May 12 2008 Richard W.M. Jones - 3.7.4-2 +- Added BR ocaml-camlp4-devel. +- Added a check section to run the included tests. + +* Sat May 3 2008 Richard W.M. Jones - 3.7.4-1 +- New upstream version 3.7.4. + +* Wed Apr 23 2008 Richard W.M. Jones - 3.7.1-1 +- New upstream version 3.7.1. +- Fixed upstream URL. +- Depend on latest type-conv. + +* Wed Mar 5 2008 Richard W.M. Jones - 3.5.0-2 +- Remove ExcludeArch ppc64. + +* Sun Feb 24 2008 Richard W.M. Jones - 3.5.0-1 +- Initial RPM release. diff --git a/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec b/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec index b19b8b50f8d..6a228b78ae8 100644 --- a/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec +++ b/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec @@ -7,16 +7,15 @@ Summary: Definition of S-expressions and some base converters Name: ocaml-%{srcname} Version: 0.16.0 -Release: 1%{?dist} +Release: 2%{?dist} License: MIT Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://github.com/janestreet/sexplib0 Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz -BuildRequires: ocaml >= 4.04.2 +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune >= 2.0.0 -BuildRequires: ocaml-findlib %description This package contains a library with the definition of S-expressions and @@ -31,49 +30,24 @@ The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -n %{srcname}-%{version} +%autosetup -n sexplib0-%{version} %build -dune build %{?_smp_mflags} - -# TODO: Once odoc is available, BR it and run this to generate documentation: -# dune build @doc +%dune_build %install -dune install --destdir=%{buildroot} - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -chmod a+x %{buildroot}%{_libdir}/ocaml/%{srcname}/%{srcname}.cmxs -%endif +%dune_install -%files +%files -f .ofiles %license LICENSE.md -%dir %{_libdir}/ocaml/%{srcname}/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cma -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxs -%endif -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}*.a -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmx -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmt -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmti -%{_libdir}/ocaml/%{srcname}/*.ml -%{_libdir}/ocaml/%{srcname}/*.mli +%files devel -f .ofiles-devel %changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 0.16.0-2 +- Updated build requirements to use ocaml >= 5.1.1 +- Removed ocaml-findlib build req + * Mon Nov 06 2023 CBL-Mariner Servicing Account - 0.16.0-1 - Auto-upgrade to 0.16.0 - Azure Linux 3.0 - package upgrades diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.signatures.json b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.signatures.json new file mode 100644 index 00000000000..ac01da4983e --- /dev/null +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "stdlib-random-1.2.0.tar.gz": "b479958eb83bab2d3e1c4ea1054e2d963b6adf2a1e671706e9130e617a5dcb03" + } +} diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec new file mode 100644 index 00000000000..a704186eb11 --- /dev/null +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -0,0 +1,60 @@ +Name: ocaml-stdlib-random +Version: 1.2.0 +Release: %autorelease +Summary: Versioned Random module from the OCaml standard library + +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception +URL: https://github.com/ocaml/stdlib-random +Source0: %{url}/archive/%{version}/stdlib-random-%{version}.tar.gz + +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-cppo >= 1.1.0 +BuildRequires: ocaml-dune >= 2.7 + +%description +The stdlib-random package provides a stable and compiler-independent +implementation of all the PRNGs used in the Random module. Those PRNGs +are available in the various libraries: +- stdlib-random.v3: OCaml 3.07 to 3.11 PRNG +- stdlib-random.v4: OCaml 3.12 to 4.14 PRNG +- stdlib-random.v5: current OCaml 5.0 PRNG +- stdlib-random.v5o: pure OCaml version of the OCaml 5 PRNG +All those libraries can be used together and the signature of their +Random$n module has been extended to the latest signature whenever +possible. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and signature +files for developing applications that use %{name}. + +%prep +%autosetup -n stdlib-random-%{version} + +%build +%dune_build + +%install +%dune_install + +%check +%dune_check + +%files -f .ofiles +%doc Changelog.md README.md +%license LICENSE + +%files devel -f .ofiles-devel + +%changelog +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.2.0-1 +- Initial import from Fedora +- License verified + +%autochangelog \ No newline at end of file diff --git a/SPECS/ocaml-topkg/ocaml-topkg.spec b/SPECS/ocaml-topkg/ocaml-topkg.spec index 0dc422c009b..c68bd67976f 100644 --- a/SPECS/ocaml-topkg/ocaml-topkg.spec +++ b/SPECS/ocaml-topkg/ocaml-topkg.spec @@ -1,58 +1,96 @@ %global srcname topkg -# BOOTSTRAP NOTE: currently we do not build the optional topkg-care part. -# It has dependencies which do not yet exist in Mariner, and which themselves -# depend on the main part of this package. + +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + %ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif + +# The topkg-care part has dependencies that themselves depend on the main +# package. We do not build the care part for now. +%bcond_with care Summary: The transitory OCaml software packager Name: ocaml-%{srcname} Version: 1.0.7 -Release: 1%{?dist} +Release: 2%{?dist} License: ISC Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://erratique.ch/software/topkg/ Source0: https://github.com/dbuenzli/topkg/archive/v%{version}/%{srcname}-%{version}.tar.gz -BuildRequires: ocaml >= 4.03.0 +BuildRequires: ocaml >= 5.1.1 +BuildRequires: ocaml-compiler-libs BuildRequires: ocaml-findlib >= 1.6.1 BuildRequires: ocaml-ocamlbuild -BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-result-devel +BuildRequires: ocaml-rpm-macros + + +%if %{with care} +BuildRequires: ocaml-bos-devel >= 0.1.5 +BuildRequires: ocaml-cmdliner-devel >= 1.0.0 +BuildRequires: ocaml-fmt-devel +BuildRequires: ocaml-logs-devel +BuildRequires: ocaml-webbrowser-devel +BuildRequires: ocaml-opam-format-devel >= 2.0.0 +%endif -%description +# This can be removed when F40 reaches EOL +Obsoletes: ocaml-topkg-doc < 1.0.5-4 + +%global _desc %{expand: Topkg is a packager for distributing OCaml software. It provides an API to describe the files a package installs in a given build configuration and to specify information about the package's -distribution, creation and publication procedures. - +distribution, creation and publication procedures.} + +%description %_desc %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: ocaml-result-devel%{?_isa} - + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. - -%package doc -Summary: Documentation for %{name} -BuildArch: noarch - -%description doc -Documentation for %{name}. - + +%if %{with care} +%package care +Summary: Command line tool for the transitory OCaml software packager +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: ocaml-ocamlbuild%{?_isa} + +%description care %_desc +This package provides a command line tool which helps with various +aspects of a package's life cycle: creating and linting a distribution, +releasing it on the web, publishing its documentation, adding it to the +OCaml opam repository, etc. + +%package care-devel +Summary: Development files for %{name}-care +Requires: %{name}-care%{?_isa} = %{version}-%{release} +Requires: ocaml-bos-devel%{?_isa} +Requires: ocaml-cmdliner-devel%{?_isa} +Requires: ocaml-fmt-devel%{?_isa} +Requires: ocaml-logs-devel%{?_isa} +Requires: ocaml-opam-format-devel%{?_isa} +Requires: ocaml-webbrowser-devel%{?_isa} + +%description care-devel +The %{name}-care-devel package contains libraries and signature files +for developing applications that use %{name}-care. +%endif + %prep -%autosetup -n %{srcname}-%{version} - +%autosetup -n topkg-%{version} -p1 + # This package can replace "watermarks" in software that it builds. However, # we are building from scratch, rather than using topkg to build itself, so we # have to do the job manually. for fil in $(find . -type f); do - sed -e 's,%%%%NAME%%%%,%{srcname},' \ + sed -e 's,%%%%NAME%%%%,topkg,' \ -e 's,%%%%PKG_DOC%%%%,%{url}doc/,' \ -e 's,%%%%PKG_HOMEPAGE%%%%,%{url},' \ -e 's,%%%%VERSION%%%%,v%{version},' \ @@ -61,74 +99,40 @@ for fil in $(find . -type f); do touch -r $fil.orig $fil rm $fil.orig done - + %build # Build the library and the tests ocaml pkg/pkg.ml build --pkg-name topkg --tests true - -# Build the command line tool -%ifarch %{ocaml_native_compiler} -ocamlbuild topkg.native -%else -ocamlbuild topkg.byte + +%if %{with care} +# Build topkg-care +ocaml pkg/pkg.ml build --pkg-name topkg-care --tests true %endif - -# Build the documentation. It is meant to be built with odoc, but odoc -# transitively depends on this package, so we do it manually for bootstrap -# builds. Once a non-bootstrap build is possible, use odoc instead. -mkdir html -ocamldoc -html -d html -I _build/src _build/src/*.{mli,ml} - + %install -# Install the library -mkdir -p %{buildroot}%{_libdir}/ocaml/topkg -cp -p _build/topkg.opam %{buildroot}%{_libdir}/ocaml/topkg/opam -cp -p _build/pkg/META %{buildroot}%{_libdir}/ocaml/topkg/META -%ifarch %{ocaml_native_compiler} -cp -a _build/src/*.{a,cma,cmi,cmt,cmti,cmx,cmxa,cmxs,mli} \ - %{buildroot}%{_libdir}/ocaml/topkg -%else -cp -a _build/src/*.{cma,cmi,cmt,cmti,mli} %{buildroot}%{_libdir}/ocaml/topkg -%endif - -# Install the command line tool -mkdir -p %{buildroot}%{_bindir} -%ifarch %{ocaml_native_compiler} -cp -p _build/src/topkg.native %{buildroot}%{_bindir}/topkg -%else -cp -p _build/src/topkg.byte %{buildroot}%{_bindir}/topkg -%endif - +%ocaml_install -s + +%if %{with care} %check ocaml pkg/pkg.ml test - -%files +%endif + +%files -f .ofiles-topkg %doc CHANGES.md README.md %license LICENSE.md -%{_bindir}/%{srcname} -%dir %{_libdir}/ocaml/%{srcname}/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/%{srcname}.cma -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}.cmxs -%endif - -%files devel -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}.a -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmx -%{_libdir}/ocaml/%{srcname}/%{srcname}.cmxa + +%files devel -f .ofiles-topkg-devel + +%if %{with care} +%files care -f .ofiles-care + +%files care-devel -f .ofiles-care-devel %endif -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmt -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmti -%{_libdir}/ocaml/%{srcname}/%{srcname}*.mli - -%files doc -%doc html/* %changelog +* Mon May 06 2024 Mykhailo Bykhovtsev - 1.0.7-2 +- Use ocaml 5.1.1 to build and update build process + * Thu Nov 02 2023 CBL-Mariner Servicing Account - 1.0.7-1 - Auto-upgrade to 1.0.7 - Azure Linux 3.0 - package upgrades diff --git a/SPECS/ocaml/macros.ocaml-rpm b/SPECS/ocaml/macros.ocaml-rpm index 6942e917ace..bd6c2460d6c 100644 --- a/SPECS/ocaml/macros.ocaml-rpm +++ b/SPECS/ocaml/macros.ocaml-rpm @@ -4,7 +4,7 @@ # is placed in its own package. This option requires the existence of opam # *.install files in the build tree. # -n: suppress creation of a devel subpackage. -%ocaml_files(sn) %{python3} /usr/lib/rpm/redhat/ocaml_files.py %{-s} %{-n} %{buildroot} %{ocamldir} +%ocaml_files(sn) %{python3} /usr/lib/rpm/azl/ocaml_files.py %{-s} %{-n} %{buildroot} %{ocamldir} # Internal macro holding the common parts of ocaml_install and dune_install %ocaml_install_common(sn) %{expand: @@ -19,7 +19,7 @@ rm -f ${mlis//.mli/.ml} # is placed in its own package. # -n: suppress creation of a devel subpackage. %ocaml_install(sn) %{expand: -%{python3} /usr/lib/rpm/redhat/ocaml_files.py -i %{-s} %{-n} %{buildroot} %{ocamldir} +%{python3} /usr/lib/rpm/azl/ocaml_files.py -i %{-s} %{-n} %{buildroot} %{ocamldir} %ocaml_install_common %{-s} %{-n}} # Add smp_mflags to arguments if no -j release option is given. @@ -66,4 +66,4 @@ dune install --destdir=%{buildroot} %{dune_add_flags %*} if [ -d _build/default/_doc/_html ]; then find _build/default/_doc/_html -name .dune-keep -delete fi -%ocaml_install_common %{-s} %{-n}} \ No newline at end of file +%ocaml_install_common %{-s} %{-n}} diff --git a/SPECS/ocaml/ocaml.signatures.json b/SPECS/ocaml/ocaml.signatures.json index a3fe0ba1805..318bf9c311d 100644 --- a/SPECS/ocaml/ocaml.signatures.json +++ b/SPECS/ocaml/ocaml.signatures.json @@ -1,7 +1,7 @@ { "Signatures": { "ocaml-5.1.1.tar.gz": "57f7b382b3d71198413ede405d95ef3506f1cdc480cda1dca1e26b37cb090e17", - "macros.ocaml-rpm": "c63f72f1386f8ad999daa2dcd3ea203ef07e34bc795e11b70e725a5db7ab026f", + "macros.ocaml-rpm": "82a9a732cffc1b5a87c240ca0637820967f9a9e7af704998e3ed5966e4ed3b67", "ocaml_files.py": "b1649462b720fb401d491bd5cbe879870a9f50bd99608d6488fc235a0e5f11e3" } } diff --git a/SPECS/supermin/supermin.signatures.json b/SPECS/supermin/supermin.signatures.json index c6374cc2eec..3698728d864 100644 --- a/SPECS/supermin/supermin.signatures.json +++ b/SPECS/supermin/supermin.signatures.json @@ -2,6 +2,6 @@ "Signatures": { "supermin-find-requires": "2adbf0ddcd86bde7151679abb8876ba769807c2cfc92306cfecab976cdfc4935", "supermin.attr": "6046070fd8ddb5452292a9e21fe5c8235ac12f1993f7d64f828c099bf22493c6", - "supermin-5.2.2.tar.gz": "ce3921d3635c8168cfb7ca0c5a82b9d5cef5b2b271f84b776d63b8bbbeec358e" + "supermin-5.3.4.tar.gz": "cc0322991bea1fcc6355518474b39e2d4a341f1e2c36fd98f14c3446ef79ff70" } } diff --git a/SPECS/supermin/supermin.spec b/SPECS/supermin/supermin.spec index bd7dac4969a..ac9f1244fca 100644 --- a/SPECS/supermin/supermin.spec +++ b/SPECS/supermin/supermin.spec @@ -20,8 +20,8 @@ Summary: Tool for creating supermin appliances Name: supermin -Version: 5.2.2 -Release: 3%{?dist} +Version: 5.3.4 +Release: 1%{?dist} License: GPLv2+ Vendor: Microsoft Corporation Distribution: Azure Linux @@ -45,7 +45,7 @@ BuildRequires: findutils # into a /boot/ subdirectory. Read the # kernel-install script to understand why. BuildRequires: grubby -BuildRequires: ocaml +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-findlib-devel BuildRequires: rpm BuildRequires: rpm-devel @@ -129,6 +129,9 @@ make check || { %{_rpmconfigdir}/supermin-find-requires %changelog +* Tue May 07 2024 Mykhailo Bykhovtsev - 5.3.4-1 +- Upgrade to version 5.3.4 to support building using ocaml 5.1.1 + * Mon Mar 11 2024 Dan Streetman - 5.2.2-3 - update to build dep latest glibc-static version diff --git a/SPECS/vim/macros.vim b/SPECS/vim/macros.vim new file mode 100644 index 00000000000..57a6f88508b --- /dev/null +++ b/SPECS/vim/macros.vim @@ -0,0 +1 @@ +%vimfiles_root %{_datadir}/vim/vimfiles \ No newline at end of file diff --git a/SPECS/vim/vim.signatures.json b/SPECS/vim/vim.signatures.json index 5518df6b9ce..d373f282cde 100644 --- a/SPECS/vim/vim.signatures.json +++ b/SPECS/vim/vim.signatures.json @@ -1,6 +1,7 @@ { "Signatures": { - "vim-9.0.2190.tar.gz": "c0f06f783e922136e64570e754ed8eac565725206460a88f0c43b7b175573099" + "vim-9.0.2190.tar.gz": "c0f06f783e922136e64570e754ed8eac565725206460a88f0c43b7b175573099", + "macros.vim": "98d2e285e93e339defc13ef1dc4fa76f24e3fca6282e4196a3dae45de778eab8" } } diff --git a/SPECS/vim/vim.spec b/SPECS/vim/vim.spec index 8eb6c4217f1..b73ed7e887c 100644 --- a/SPECS/vim/vim.spec +++ b/SPECS/vim/vim.spec @@ -2,13 +2,14 @@ Summary: Text editor Name: vim Version: 9.0.2190 -Release: 2%{?dist} +Release: 3%{?dist} License: Vim Vendor: Microsoft Corporation Distribution: Azure Linux Group: Applications/Editors URL: https://www.vim.org Source0: https://github.com/%{name}/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: macros.vim BuildRequires: ncurses-devel BuildRequires: python3-devel Requires(post): sed @@ -41,6 +42,10 @@ echo '#define SYS_VIMRC_FILE "%{_sysconfdir}/vimrc"' >> src/feature.h %make_install ln -sv vim %{buildroot}%{_bindir}/vi install -vdm 755 %{buildroot}%{_sysconfdir} + +mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ +install -p -m644 %{SOURCE1} %{buildroot}%{_rpmconfigdir}/macros.d/ + cat > %{buildroot}%{_sysconfdir}/vimrc << "EOF" " Begin %{_sysconfdir}/vimrc @@ -200,6 +205,7 @@ fi %{_bindir}/rview %{_bindir}/vim %{_bindir}/vimdiff +%{_rpmconfigdir}/macros.d/macros.vim %changelog * Thu Mar 21 2024 Andy Zaugg - 9.0.2190-2 From c10b240365830178e347e433831e431420e076ae Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 7 May 2024 17:21:13 -0700 Subject: [PATCH 03/45] fix release tag for ocaml-stdlib-random and import comment --- SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec | 2 +- SPECS/ocaml-pp/ocaml-pp.spec | 2 +- SPECS/ocaml-ppx-here/ocaml-ppx-here.spec | 2 +- SPECS/ocaml-ppx-let/ocaml-ppx-let.spec | 2 +- SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec index df58f9fc885..24bb922e256 100644 --- a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec @@ -67,7 +67,7 @@ files for developing applications that use %{name}. %changelog * Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 -- Initial Import from Fedora +- Initial Azure Linux import from Fedora (license MIT) * Thu Jan 25 2024 Fedora Release Engineering - 5.0.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/SPECS/ocaml-pp/ocaml-pp.spec b/SPECS/ocaml-pp/ocaml-pp.spec index 5ca46be826c..ce4cd856a5f 100644 --- a/SPECS/ocaml-pp/ocaml-pp.spec +++ b/SPECS/ocaml-pp/ocaml-pp.spec @@ -156,7 +156,7 @@ EOF %changelog * Mon Apr 29 2024 Mykhailo Bykhovtsev - 1.2.0-6 -- Initial Import from Fedora +- Initial Azure Linux import from Fedora (license MIT) - License verified * Thu Jan 25 2024 Fedora Release Engineering - 1.2.0-6 diff --git a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec index 4ab01c46e76..733cab2aa62 100644 --- a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec +++ b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec @@ -55,7 +55,7 @@ sed -e 's,dummy\.ml\.pp,dummy.pp.ml,g' \ %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 -- Initial Import from Fedora +- Initial Azure Linux import from Fedora (license MIT) - License Verified * Mon Jan 29 2024 Richard W.M. Jones - 0.16.0-9 diff --git a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec index 288d5bbd0d7..e646a2a11ec 100644 --- a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec +++ b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec @@ -72,7 +72,7 @@ files for developing applications that use %{name}. %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 -- Initial Import from Fedora +- Initial Azure Linux import from Fedora (license MIT) - License Verified * Mon Jan 29 2024 Richard W.M. Jones - 0.16.0-9 diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec index a704186eb11..68bec2d98b5 100644 --- a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -1,6 +1,6 @@ Name: ocaml-stdlib-random Version: 1.2.0 -Release: %autorelease +Release: 1%{?dist} Summary: Versioned Random module from the OCaml standard library License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception @@ -54,7 +54,7 @@ files for developing applications that use %{name}. %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 1.2.0-1 -- Initial import from Fedora +- Initial Azure Linux import from Fedora (license MIT) - License verified %autochangelog \ No newline at end of file From 43e7ee0abfac2f73d33641398ddf19f06109a640 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 7 May 2024 17:27:20 -0700 Subject: [PATCH 04/45] update import changelog --- SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec | 2 +- SPECS/ocaml-pp/ocaml-pp.spec | 2 +- SPECS/ocaml-ppx-here/ocaml-ppx-here.spec | 2 +- SPECS/ocaml-ppx-let/ocaml-ppx-let.spec | 2 +- SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec index 24bb922e256..798826d8cdc 100644 --- a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec @@ -67,7 +67,7 @@ files for developing applications that use %{name}. %changelog * Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 -- Initial Azure Linux import from Fedora (license MIT) +- Initial Azure Linux import from Fedora 41 (license: MIT) * Thu Jan 25 2024 Fedora Release Engineering - 5.0.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/SPECS/ocaml-pp/ocaml-pp.spec b/SPECS/ocaml-pp/ocaml-pp.spec index ce4cd856a5f..6295f5660de 100644 --- a/SPECS/ocaml-pp/ocaml-pp.spec +++ b/SPECS/ocaml-pp/ocaml-pp.spec @@ -156,7 +156,7 @@ EOF %changelog * Mon Apr 29 2024 Mykhailo Bykhovtsev - 1.2.0-6 -- Initial Azure Linux import from Fedora (license MIT) +- Initial Azure Linux import from Fedora 41 (license: MIT) - License verified * Thu Jan 25 2024 Fedora Release Engineering - 1.2.0-6 diff --git a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec index 733cab2aa62..af6c740d398 100644 --- a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec +++ b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec @@ -55,7 +55,7 @@ sed -e 's,dummy\.ml\.pp,dummy.pp.ml,g' \ %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 -- Initial Azure Linux import from Fedora (license MIT) +- Initial Azure Linux import from Fedora 41 (license: MIT) - License Verified * Mon Jan 29 2024 Richard W.M. Jones - 0.16.0-9 diff --git a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec index e646a2a11ec..fd6d3ef5cb0 100644 --- a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec +++ b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec @@ -72,7 +72,7 @@ files for developing applications that use %{name}. %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 -- Initial Azure Linux import from Fedora (license MIT) +- Initial Azure Linux import from Fedora 41 (license: MIT) - License Verified * Mon Jan 29 2024 Richard W.M. Jones - 0.16.0-9 diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec index 68bec2d98b5..355d8527bb6 100644 --- a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -54,7 +54,7 @@ files for developing applications that use %{name}. %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 1.2.0-1 -- Initial Azure Linux import from Fedora (license MIT) +- Initial Azure Linux import from Fedora 41 (license: MIT) - License verified %autochangelog \ No newline at end of file From c293836eb52d4e07f1bdd1b4457afdbff13690cd Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 7 May 2024 17:37:28 -0700 Subject: [PATCH 05/45] add that license is verified --- SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec index 798826d8cdc..6e72bd43e20 100644 --- a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec @@ -68,6 +68,7 @@ files for developing applications that use %{name}. %changelog * Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 - Initial Azure Linux import from Fedora 41 (license: MIT) +- License verified * Thu Jan 25 2024 Fedora Release Engineering - 5.0.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 3723a99fd6b061ae6502c19ae5775625cbabe867 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 12:09:15 -0700 Subject: [PATCH 06/45] update cgmanifest --- cgmanifest.json | 122 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 86 insertions(+), 36 deletions(-) diff --git a/cgmanifest.json b/cgmanifest.json index c128921ef85..72cd4441d93 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -14442,8 +14442,8 @@ "type": "other", "other": { "name": "ocaml-base", - "version": "0.15.0", - "downloadUrl": "https://github.com/janestreet/base/archive/v0.15.0/base-0.15.0.tar.gz" + "version": "0.16.3", + "downloadUrl": "https://github.com/janestreet/base/archive/v0.16.3/base-0.16.3.tar.gz" } } }, @@ -14477,6 +14477,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "ocaml-camlp-streams", + "version": "5.0.1", + "downloadUrl": "https://github.com/ocaml/camlp-streams/archive/v5.0.1/camlp-streams-5.0.1.tar.gz" + } + } + }, { "component": { "type": "other", @@ -14492,8 +14502,8 @@ "type": "other", "other": { "name": "ocaml-camomile", - "version": "1.0.2", - "downloadUrl": "https://github.com/yoriyuki/Camomile/archive/refs/tags/1.0.2.tar.gz" + "version": "2.0.0", + "downloadUrl": "https://github.com/ocaml-community/Camomile/archive/refs/tags/v2.0.0.tar.gz" } } }, @@ -14532,8 +14542,8 @@ "type": "other", "other": { "name": "ocaml-cppo", - "version": "1.6.6", - "downloadUrl": "https://github.com/ocaml-community/cppo/archive/v1.6.6.tar.gz" + "version": "1.6.9", + "downloadUrl": "https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz" } } }, @@ -14542,8 +14552,8 @@ "type": "other", "other": { "name": "ocaml-csexp", - "version": "1.3.2", - "downloadUrl": "https://github.com/ocaml-dune/csexp/releases/download/1.3.2/csexp-1.3.2.tbz" + "version": "1.5.2", + "downloadUrl": "https://github.com/ocaml-dune/csexp/archive/refs/tags/1.5.2.tar.gz" } } }, @@ -14582,8 +14592,8 @@ "type": "other", "other": { "name": "ocaml-dune", - "version": "2.8.5", - "downloadUrl": "https://github.com/ocaml/dune/archive/2.8.5/dune-2.8.5.tar.gz" + "version": "3.15.2", + "downloadUrl": "https://github.com/ocaml/dune/archive/3.15.2/dune-3.15.2.tar.gz" } } }, @@ -14602,8 +14612,8 @@ "type": "other", "other": { "name": "ocaml-fileutils", - "version": "0.5.2", - "downloadUrl": "https://github.com/gildor478/ocaml-fileutils/archive/refs/tags/0.5.2.tar.gz" + "version": "0.6.4", + "downloadUrl": "https://github.com/gildor478/ocaml-fileutils/archive/refs/tags/0.6.4.tar.gz" } } }, @@ -14612,8 +14622,8 @@ "type": "other", "other": { "name": "ocaml-findlib", - "version": "1.8.1", - "downloadUrl": "http://download.camlcity.org/download/findlib-1.8.1.tar.gz" + "version": "1.9.6", + "downloadUrl": "http://download.camlcity.org/download/findlib-1.9.6.tar.gz" } } }, @@ -14682,8 +14692,8 @@ "type": "other", "other": { "name": "ocaml-lwt", - "version": "5.4.1", - "downloadUrl": "https://github.com/ocsigen/lwt/archive/refs/tags/5.4.1.tar.gz" + "version": "5.7.0", + "downloadUrl": "https://github.com/ocsigen/lwt/archive/refs/tags/5.7.0.tar.gz" } } }, @@ -14722,8 +14732,8 @@ "type": "other", "other": { "name": "ocaml-num", - "version": "1.3", - "downloadUrl": "https://github.com/ocaml/num/archive/v1.3/ocaml-num-1.3.tar.gz" + "version": "1.5", + "downloadUrl": "https://github.com/ocaml/num/archive/v1.5/ocaml-num-1.5.tar.gz" } } }, @@ -14732,8 +14742,8 @@ "type": "other", "other": { "name": "ocaml-ocamlbuild", - "version": "0.14.2", - "downloadUrl": "https://github.com/ocaml/ocamlbuild/archive/0.14.2.tar.gz" + "version": "0.14.3", + "downloadUrl": "https://github.com/ocaml/ocamlbuild/archive/0.14.3.tar.gz" } } }, @@ -14742,8 +14752,8 @@ "type": "other", "other": { "name": "ocaml-ocplib-endian", - "version": "1.1", - "downloadUrl": "https://github.com/OCamlPro/ocplib-endian/archive/1.1/ocplib-endian-1.1.tar.gz" + "version": "1.2", + "downloadUrl": "https://github.com/OCamlPro/ocplib-endian/archive/1.2/ocplib-endian-1.2.tar.gz" } } }, @@ -14752,8 +14762,8 @@ "type": "other", "other": { "name": "ocaml-ounit", - "version": "2.2.2", - "downloadUrl": "https://github.com/gildor478/ounit/releases/download/v2.2.2/ounit-v2.2.2.tbz" + "version": "2.2.7", + "downloadUrl": "https://github.com/gildor478/ounit/archive/refs/tags/v2.2.7.tar.gz" } } }, @@ -14762,8 +14772,18 @@ "type": "other", "other": { "name": "ocaml-parsexp", - "version": "0.15.0", - "downloadUrl": "https://github.com/janestreet/parsexp/archive/v0.15.0/parsexp-0.15.0.tar.gz" + "version": "0.16.0", + "downloadUrl": "https://github.com/janestreet/parsexp/archive/v0.16.0/parsexp-0.16.0.tar.gz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "ocaml-pp", + "version": "1.2.0", + "downloadUrl": "https://github.com/ocaml-dune/pp/archive/refs/tags/1.2.0.tar.gz" } } }, @@ -14777,13 +14797,33 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "ocaml-ppx-here", + "version": "0.16.0", + "downloadUrl": "https://github.com/janestreet/ppx_here/archive/v0.16.0/ppx_here-0.16.0.tar.gz" + } + } + }, + { + "component": { + "type": "other", + "other": { + "name": "ocaml-ppx-let", + "version": "0.16.0", + "downloadUrl": "https://github.com/janestreet/ppx_let/archive/v0.16.0/ppx_let-0.16.0.tar.gz" + } + } + }, { "component": { "type": "other", "other": { "name": "ocaml-ppxlib", - "version": "0.24.0", - "downloadUrl": "https://github.com/ocaml-ppx/ppxlib/releases/download/0.24.0/ppxlib-0.24.0.tbz" + "version": "0.31.0", + "downloadUrl": "https://github.com/ocaml-ppx/ppxlib/archive/refs/tags/0.31.0.tar.gz" } } }, @@ -14792,8 +14832,8 @@ "type": "other", "other": { "name": "ocaml-re", - "version": "1.9.0", - "downloadUrl": "https://github.com/ocaml/ocaml-re/archive/1.9.0/ocaml-re-1.9.0.tar.gz" + "version": "1.11.0", + "downloadUrl": "https://github.com/ocaml/ocaml-re/archive/1.11.0/ocaml-re-1.11.0.tar.gz" } } }, @@ -14802,8 +14842,8 @@ "type": "other", "other": { "name": "ocaml-react", - "version": "1.2.1", - "downloadUrl": "http://erratique.ch/software/react/releases/react-1.2.1.tbz" + "version": "1.2.2", + "downloadUrl": "https://erratique.ch/software/react/releases/react-1.2.2.tbz" } } }, @@ -14832,8 +14872,8 @@ "type": "other", "other": { "name": "ocaml-sexplib", - "version": "0.15.0", - "downloadUrl": "https://github.com/janestreet/sexplib/archive/v0.15.0/sexplib-0.15.0.tar.gz" + "version": "0.16.0", + "downloadUrl": "https://github.com/janestreet/sexplib/archive/v0.16.0/sexplib-0.16.0.tar.gz" } } }, @@ -14857,6 +14897,16 @@ } } }, + { + "component": { + "type": "other", + "other": { + "name": "ocaml-stdlib-random", + "version": "1.2.0", + "downloadUrl": "https://github.com/ocaml/stdlib-random/archive/1.2.0/stdlib-random-1.2.0.tar.gz" + } + } + }, { "component": { "type": "other", @@ -28036,8 +28086,8 @@ "type": "other", "other": { "name": "supermin", - "version": "5.2.2", - "downloadUrl": "https://download.libguestfs.org/supermin/5.2-stable/supermin-5.2.2.tar.gz" + "version": "5.3.4", + "downloadUrl": "https://download.libguestfs.org/supermin/5.2-stable/supermin-5.3.4.tar.gz" } } }, From 193f7e8f8feec087bfe0a3191aa65c870a36c55f Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 12:15:50 -0700 Subject: [PATCH 07/45] update license maps --- LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md | 2 +- LICENSES-AND-NOTICES/SPECS/data/licenses.json | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md index 28185b351b9..d26b1f8ed0a 100644 --- a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md +++ b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md @@ -5,7 +5,7 @@ The Azure Linux SPEC files originated from a variety of sources with varying lic | CentOS | [MIT](https://www.centos.org/legal/#licensing-policy) | crash-ptdump-command
delve
fstrm
nodejs-nodemon
rhnlib
rt-setup
rt-tests
rtctl
tuned | | Ceph source | [LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1) | ceph | | Debian | [MIT](https://opensource.org/licenses/MIT) | prometheus-process-exporter | -| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
argparse-manpage
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bogofilter
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fapolicyd
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbi-drivers
libdbusmenu
libdc1394
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mozjs
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-migrate-parsetree
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-ppx-derivers
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-stdio
ocaml-topkg
ocaml-tyxml
ocaml-uuidm
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-BDB
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
redland
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
sendmail
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stunnel
subscription-manager
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib | +| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
argparse-manpage
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bogofilter
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fapolicyd
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbi-drivers
libdbusmenu
libdc1394
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mozjs
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp-streams
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-migrate-parsetree
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-pp
ocaml-ppx-derivers
ocaml-ppx-here
ocaml-ppx-let
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-stdio
ocaml-stdlib-random
ocaml-topkg
ocaml-tyxml
ocaml-uuidm
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-BDB
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
redland
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
sendmail
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stunnel
subscription-manager
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib | | Fedora (Copyright Remi Collet) | [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) | libmemcached-awesome
librabbitmq | | Fedora (ISC) | [ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE) | python-resolvelib | | Magnus Edenhill Open Source | [Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING) | librdkafka | diff --git a/LICENSES-AND-NOTICES/SPECS/data/licenses.json b/LICENSES-AND-NOTICES/SPECS/data/licenses.json index a39fa5ba268..e14c9bb6b38 100644 --- a/LICENSES-AND-NOTICES/SPECS/data/licenses.json +++ b/LICENSES-AND-NOTICES/SPECS/data/licenses.json @@ -990,6 +990,7 @@ "ocaml-bigarray-compat", "ocaml-bisect-ppx", "ocaml-calendar", + "ocaml-camlp-streams", "ocaml-camlp5", "ocaml-camomile", "ocaml-cinaps", @@ -1019,7 +1020,10 @@ "ocaml-ocplib-endian", "ocaml-ounit", "ocaml-parsexp", + "ocaml-pp", "ocaml-ppx-derivers", + "ocaml-ppx-here", + "ocaml-ppx-let", "ocaml-ppxlib", "ocaml-re", "ocaml-react", @@ -1028,6 +1032,7 @@ "ocaml-sexplib", "ocaml-sexplib0", "ocaml-stdio", + "ocaml-stdlib-random", "ocaml-topkg", "ocaml-tyxml", "ocaml-uuidm", From 06f0237559f83526f5b107c0ebb7825d1618b924 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 12:48:26 -0700 Subject: [PATCH 08/45] fix sources --- SPECS/ocaml-fileutils/ocaml-fileutils.spec | 2 +- SPECS/supermin/supermin.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils.spec b/SPECS/ocaml-fileutils/ocaml-fileutils.spec index 08e70337dab..441d81263b8 100644 --- a/SPECS/ocaml-fileutils/ocaml-fileutils.spec +++ b/SPECS/ocaml-fileutils/ocaml-fileutils.spec @@ -8,7 +8,7 @@ Distribution: Azure Linux URL: https://github.com/gildor478/ocaml-fileutils # NOTE: the "_2" suffix was added to avoid conflicts with an older source tarball for the same version of the sources. # Please remove it during a version update. -Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz # Fedora does not need the stdlib-shims or seq forward compatibility packages Patch0: ocaml-fileutils-0.6.4-forward-compat.patch # Given two distinct files with identical contents, the cmp function evaluates diff --git a/SPECS/supermin/supermin.spec b/SPECS/supermin/supermin.spec index ac9f1244fca..559cf5fc980 100644 --- a/SPECS/supermin/supermin.spec +++ b/SPECS/supermin/supermin.spec @@ -1,5 +1,5 @@ # The source directory. -%global source_directory 5.2-stable +%global source_directory 5.3-stable %ifnarch %{ocaml_native_compiler} %global __strip /bin/true From c4752820168a046d2a9e73f98ee1402395f97776 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 12:55:54 -0700 Subject: [PATCH 09/45] update toolchain manifests --- toolkit/resources/manifests/package/pkggen_core_aarch64.txt | 4 ++-- toolkit/resources/manifests/package/pkggen_core_x86_64.txt | 4 ++-- toolkit/resources/manifests/package/toolchain_aarch64.txt | 4 ++-- toolkit/resources/manifests/package/toolchain_x86_64.txt | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt index fe5de485624..7024eb88e62 100644 --- a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt @@ -204,8 +204,8 @@ libltdl-2.4.7-1.azl3.aarch64.rpm libltdl-devel-2.4.7-1.azl3.aarch64.rpm lua-5.4.6-1.azl3.aarch64.rpm lua-libs-5.4.6-1.azl3.aarch64.rpm -azurelinux-rpm-macros-3.0-2.azl3.noarch.rpm -azurelinux-check-macros-3.0-2.azl3.noarch.rpm +azurelinux-rpm-macros-3.0-3.azl3.noarch.rpm +azurelinux-check-macros-3.0-3.azl3.noarch.rpm tdnf-3.5.6-1.azl3.aarch64.rpm tdnf-cli-libs-3.5.6-1.azl3.aarch64.rpm tdnf-devel-3.5.6-1.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt index 6033e4db50f..51f6c645773 100644 --- a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt @@ -204,8 +204,8 @@ libltdl-2.4.7-1.azl3.x86_64.rpm libltdl-devel-2.4.7-1.azl3.x86_64.rpm lua-5.4.6-1.azl3.x86_64.rpm lua-libs-5.4.6-1.azl3.x86_64.rpm -azurelinux-rpm-macros-3.0-2.azl3.noarch.rpm -azurelinux-check-macros-3.0-2.azl3.noarch.rpm +azurelinux-rpm-macros-3.0-3.azl3.noarch.rpm +azurelinux-check-macros-3.0-3.azl3.noarch.rpm tdnf-3.5.6-1.azl3.x86_64.rpm tdnf-cli-libs-3.5.6-1.azl3.x86_64.rpm tdnf-devel-3.5.6-1.azl3.x86_64.rpm diff --git a/toolkit/resources/manifests/package/toolchain_aarch64.txt b/toolkit/resources/manifests/package/toolchain_aarch64.txt index 1947c855a50..d41c65445a9 100644 --- a/toolkit/resources/manifests/package/toolchain_aarch64.txt +++ b/toolkit/resources/manifests/package/toolchain_aarch64.txt @@ -5,7 +5,7 @@ audit-devel-3.1.2-1.azl3.aarch64.rpm audit-libs-3.1.2-1.azl3.aarch64.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm -azurelinux-check-macros-3.0-2.azl3.noarch.rpm +azurelinux-check-macros-3.0-3.azl3.noarch.rpm azurelinux-repos-3.0-2.azl3.noarch.rpm azurelinux-repos-debug-3.0-2.azl3.noarch.rpm azurelinux-repos-debug-preview-3.0-2.azl3.noarch.rpm @@ -19,7 +19,7 @@ azurelinux-repos-ms-oss-3.0-2.azl3.noarch.rpm azurelinux-repos-ms-oss-preview-3.0-2.azl3.noarch.rpm azurelinux-repos-preview-3.0-2.azl3.noarch.rpm azurelinux-repos-shared-3.0-2.azl3.noarch.rpm -azurelinux-rpm-macros-3.0-2.azl3.noarch.rpm +azurelinux-rpm-macros-3.0-3.azl3.noarch.rpm bash-5.2.15-1.azl3.aarch64.rpm bash-debuginfo-5.2.15-1.azl3.aarch64.rpm bash-devel-5.2.15-1.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/toolchain_x86_64.txt b/toolkit/resources/manifests/package/toolchain_x86_64.txt index 5ae37652d2b..a14ca6f03e2 100644 --- a/toolkit/resources/manifests/package/toolchain_x86_64.txt +++ b/toolkit/resources/manifests/package/toolchain_x86_64.txt @@ -5,7 +5,7 @@ audit-devel-3.1.2-1.azl3.x86_64.rpm audit-libs-3.1.2-1.azl3.x86_64.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm -azurelinux-check-macros-3.0-2.azl3.noarch.rpm +azurelinux-check-macros-3.0-3.azl3.noarch.rpm azurelinux-repos-3.0-2.azl3.noarch.rpm azurelinux-repos-debug-3.0-2.azl3.noarch.rpm azurelinux-repos-debug-preview-3.0-2.azl3.noarch.rpm @@ -19,7 +19,7 @@ azurelinux-repos-ms-oss-3.0-2.azl3.noarch.rpm azurelinux-repos-ms-oss-preview-3.0-2.azl3.noarch.rpm azurelinux-repos-preview-3.0-2.azl3.noarch.rpm azurelinux-repos-shared-3.0-2.azl3.noarch.rpm -azurelinux-rpm-macros-3.0-2.azl3.noarch.rpm +azurelinux-rpm-macros-3.0-3.azl3.noarch.rpm bash-5.2.15-1.azl3.x86_64.rpm bash-debuginfo-5.2.15-1.azl3.x86_64.rpm bash-devel-5.2.15-1.azl3.x86_64.rpm From 0e5aec7647c73e8f175053c9de4cd1baa7d9f616 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 15:36:26 -0700 Subject: [PATCH 10/45] fix cgmanifest again --- cgmanifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cgmanifest.json b/cgmanifest.json index 72cd4441d93..f43bdbf6d04 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -14613,7 +14613,7 @@ "other": { "name": "ocaml-fileutils", "version": "0.6.4", - "downloadUrl": "https://github.com/gildor478/ocaml-fileutils/archive/refs/tags/0.6.4.tar.gz" + "downloadUrl": "https://github.com/gildor478/ocaml-fileutils/archive/refs/tags/v0.6.4.tar.gz" } } }, @@ -28087,7 +28087,7 @@ "other": { "name": "supermin", "version": "5.3.4", - "downloadUrl": "https://download.libguestfs.org/supermin/5.2-stable/supermin-5.3.4.tar.gz" + "downloadUrl": "https://download.libguestfs.org/supermin/5.3-stable/supermin-5.3.4.tar.gz" } } }, From c5968fc16f97ed9d448305c4b83b592828794b93 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 15:40:34 -0700 Subject: [PATCH 11/45] use development source directory --- SPECS/supermin/supermin.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SPECS/supermin/supermin.spec b/SPECS/supermin/supermin.spec index 559cf5fc980..190cd16d2e3 100644 --- a/SPECS/supermin/supermin.spec +++ b/SPECS/supermin/supermin.spec @@ -1,5 +1,5 @@ # The source directory. -%global source_directory 5.3-stable +%global source_directory 5.3-development %ifnarch %{ocaml_native_compiler} %global __strip /bin/true From 961caae4e0b3a54acbb9d33c24c222d7e0db22a9 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 15:43:13 -0700 Subject: [PATCH 12/45] fix cgmanifest for supermin --- cgmanifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cgmanifest.json b/cgmanifest.json index f43bdbf6d04..8730f316165 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -28087,7 +28087,7 @@ "other": { "name": "supermin", "version": "5.3.4", - "downloadUrl": "https://download.libguestfs.org/supermin/5.3-stable/supermin-5.3.4.tar.gz" + "downloadUrl": "https://download.libguestfs.org/supermin/5.3-development//supermin-5.3.4.tar.gz" } } }, From 76632c70b40421a306a7bb1c03214eb2ab21d87e Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 16:18:47 -0700 Subject: [PATCH 13/45] update graphviz and hivex to rebuild with ocaml 5.1.1 --- SPECS/graphviz/graphviz.spec | 7 +++++-- SPECS/hivex/hivex.spec | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/SPECS/graphviz/graphviz.spec b/SPECS/graphviz/graphviz.spec index d40b88dad97..f9fb20b81ed 100644 --- a/SPECS/graphviz/graphviz.spec +++ b/SPECS/graphviz/graphviz.spec @@ -45,7 +45,7 @@ Summary: Graph Visualization Tools Name: graphviz Version: 2.42.4 -Release: 10%{?dist} +Release: 11%{?dist} License: EPL-1.0 Vendor: Microsoft Corporation Distribution: Azure Linux @@ -102,7 +102,7 @@ BuildRequires: DevIL-devel BuildRequires: R-devel %endif %if %{OCAML} -BuildRequires: ocaml +BuildRequires: ocaml >= 5.1.1 %endif %if %{QTAPPS} BuildRequires: qt-devel @@ -517,6 +517,9 @@ php --no-php-ini \ %{_mandir}/man3/*.3tcl* %changelog +* Wed May 08 2024 Mykhailo Bykhovtsev - 2.42.4-11 +- Rebuild with ocaml 5.1.1 + * Tue Feb 06 2024 Dan Streetman - 2.42.4-10 - add build dep gc-devel diff --git a/SPECS/hivex/hivex.spec b/SPECS/hivex/hivex.spec index 1aa719b348f..229f9ba44ad 100644 --- a/SPECS/hivex/hivex.spec +++ b/SPECS/hivex/hivex.spec @@ -8,7 +8,7 @@ Summary: Read and write Windows Registry binary hive files Name: hivex Version: 1.3.23 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Vendor: Microsoft Corporation Distribution: Azure Linux @@ -46,7 +46,7 @@ BuildRequires: rubygem(minitest) BuildRequires: rubygem(rdoc) %if %{with ocaml} -BuildRequires: ocaml +BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-findlib-devel %endif @@ -244,6 +244,9 @@ fi %{ruby_vendorarchdir}/_hivex.so %changelog +* Wed May 08 2024 Mykhailo Bykhovtsev - 1.3.23-2 +- Rebuild with using ocaml 5.1.1 + * Fri Feb 16 2024 Yash Panchal - 1.3.23-1 - Upgrate to 1.3.23. From 4691cf38eaa7dc7c5f10127815110bafff47f5fb Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 16:31:03 -0700 Subject: [PATCH 14/45] fix cgmanifest --- cgmanifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cgmanifest.json b/cgmanifest.json index 8730f316165..1aa9395ed20 100644 --- a/cgmanifest.json +++ b/cgmanifest.json @@ -28087,7 +28087,7 @@ "other": { "name": "supermin", "version": "5.3.4", - "downloadUrl": "https://download.libguestfs.org/supermin/5.3-development//supermin-5.3.4.tar.gz" + "downloadUrl": "https://download.libguestfs.org/supermin/5.3-development/supermin-5.3.4.tar.gz" } } }, From e60a9c1e423c08350d0f89ab81085026cd6c31d2 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 18:28:14 -0700 Subject: [PATCH 15/45] fix test patch for supermin --- SPECS/supermin/supermin-azurelinux.patch | 24 ++++++++++++------------ SPECS/supermin/supermin.spec | 1 + 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/SPECS/supermin/supermin-azurelinux.patch b/SPECS/supermin/supermin-azurelinux.patch index f4183f4e2e4..8699ecf93ac 100644 --- a/SPECS/supermin/supermin-azurelinux.patch +++ b/SPECS/supermin/supermin-azurelinux.patch @@ -1,18 +1,17 @@ -From f4a3020f202d67ad5682304e7710bfc14f1320eb Mon Sep 17 00:00:00 2001 +From 5f7c77a7412194dbbe3f0dc846f2a608130eb5b7 Mon Sep 17 00:00:00 2001 From: Thomas Crain Date: Wed, 19 Jan 2022 21:36:29 -0800 Subject: [PATCH] Add Microsoft Azure Linux support to supermin - --- src/ph_rpm.ml | 18 +++++++++++++++++- - tests/test-harder.sh | 32 ++++++++++++++++++++++++++++++++ - 2 files changed, 49 insertions(+), 1 deletion(-) + tests/test-harder.sh | 33 +++++++++++++++++++++++++++++++++ + 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml -index 549bd9a..760c815 100644 +index 5061d32..389f445 100644 --- a/src/ph_rpm.ml +++ b/src/ph_rpm.ml -@@ -65,6 +65,12 @@ let ibm_powerkvm_detect () = +@@ -67,6 +67,12 @@ let ibm_powerkvm_detect () = (stat "/etc/ibm_powerkvm-release").st_kind = S_REG with Unix_error _ -> false @@ -25,7 +24,7 @@ index 549bd9a..760c815 100644 let settings = ref no_settings let rpm_major, rpm_minor, rpm_arch = ref 0, ref 0, ref "" let zypper_major, zypper_minor, zypper_patch = ref 0, ref 0, ref 0 -@@ -450,6 +456,10 @@ and mageia_download_all_packages pkgs dir = +@@ -462,6 +468,10 @@ and mageia_download_all_packages pkgs dir = rpm_unpack tdir dir @@ -36,7 +35,7 @@ index 549bd9a..760c815 100644 and download_all_packages_with_urpmi pkgs dir tdir = let rpms = List.map rpm_package_name (PackageSet.elements pkgs) in -@@ -544,4 +554,10 @@ let () = +@@ -576,4 +586,10 @@ let () = ph_detect = openmandriva_detect; ph_download_package = PHDownloadAllPackages openmandriva_download_all_packages; } in @@ -49,7 +48,7 @@ index 549bd9a..760c815 100644 + } in + register_package_handler "azurelinux" "rpm" azurelinux diff --git a/tests/test-harder.sh b/tests/test-harder.sh -index aceef21..223cae9 100755 +index aceef21..a9ff641 100755 --- a/tests/test-harder.sh +++ b/tests/test-harder.sh @@ -32,6 +32,7 @@ if [ -f /etc/os-release ]; then @@ -69,16 +68,17 @@ index aceef21..223cae9 100755 else exit 77 fi -@@ -67,6 +70,8 @@ case $distro in +@@ -67,6 +70,9 @@ case $distro in # installed. (See commit fb40baade8e3441b73ce6fd10a32fbbfe49cc4da) pkgs="augeas hivex rpm" ;; + azurelinux) + pkgs="augeas hivex tar" ++ ;; redhat) # Choose tar because it has an epoch > 0 and is commonly # installed. (See commit fb40baade8e3441b73ce6fd10a32fbbfe49cc4da) -@@ -157,6 +162,33 @@ case $distro in +@@ -157,6 +163,33 @@ case $distro in exit 1 fi ;; @@ -113,5 +113,5 @@ index aceef21..223cae9 100755 if [ ! -x $d2/usr/bin/augtool ]; then echo "$0: $distro: augtool binary not installed in chroot" -- -2.25.1 +2.34.1 diff --git a/SPECS/supermin/supermin.spec b/SPECS/supermin/supermin.spec index 190cd16d2e3..91e40db44f0 100644 --- a/SPECS/supermin/supermin.spec +++ b/SPECS/supermin/supermin.spec @@ -131,6 +131,7 @@ make check || { %changelog * Tue May 07 2024 Mykhailo Bykhovtsev - 5.3.4-1 - Upgrade to version 5.3.4 to support building using ocaml 5.1.1 +- Fixed patch for the test suite * Mon Mar 11 2024 Dan Streetman - 5.2.2-3 - update to build dep latest glibc-static version From 5c4a3c9827fc3728ace6e249d1caaa87dc759c39 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 8 May 2024 18:32:44 -0700 Subject: [PATCH 16/45] Add patches for hivex --- ...-ruby-Replace-MiniTest-with-Minitest.patch | 102 +++++++++++ ...t-rid-of-old-Test-Unit-compatibility.patch | 160 ++++++++++++++++++ .../0003-build-Go-back-to-gettext-0.19.patch | 80 +++++++++ SPECS/hivex/hivex.spec | 7 + 4 files changed, 349 insertions(+) create mode 100644 SPECS/hivex/0001-ruby-Replace-MiniTest-with-Minitest.patch create mode 100644 SPECS/hivex/0002-ruby-Get-rid-of-old-Test-Unit-compatibility.patch create mode 100644 SPECS/hivex/0003-build-Go-back-to-gettext-0.19.patch diff --git a/SPECS/hivex/0001-ruby-Replace-MiniTest-with-Minitest.patch b/SPECS/hivex/0001-ruby-Replace-MiniTest-with-Minitest.patch new file mode 100644 index 00000000000..dff7d3a6b69 --- /dev/null +++ b/SPECS/hivex/0001-ruby-Replace-MiniTest-with-Minitest.patch @@ -0,0 +1,102 @@ +From fbcff7fbd8f96214c7f13f36bd7669a9142824ab Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 7 Aug 2023 10:21:54 +0100 +Subject: [PATCH 1/3] ruby: Replace MiniTest with Minitest + +Apparently the old MiniTest module is somewhat ancient. Use "new" +Minitest module instead. This was broken by the following change in +minitest 5.19: + +https://github.com/minitest/minitest/commit/a2c6c18570f6f0a1bf6af70fe3b6d9599a13fdd6 + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2229653 +--- + ruby/tests/tc_010_load.rb | 2 +- + ruby/tests/tc_021_close.rb | 2 +- + ruby/tests/tc_120_rlenvalue.rb | 2 +- + ruby/tests/tc_130_special.rb | 2 +- + ruby/tests/tc_200_write.rb | 2 +- + ruby/tests/tc_210_setvalue.rb | 2 +- + 6 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/ruby/tests/tc_010_load.rb b/ruby/tests/tc_010_load.rb +index 76fef60..58fac33 100644 +--- a/ruby/tests/tc_010_load.rb ++++ b/ruby/tests/tc_010_load.rb +@@ -17,7 +17,7 @@ + + require File::join(File::dirname(__FILE__), 'test_helper') + +-class TestLoad < MiniTest::Unit::TestCase ++class TestLoad < Minitest::Test + def test_load + h = Hivex::open("../images/minimal", {}) + refute_nil (h) +diff --git a/ruby/tests/tc_021_close.rb b/ruby/tests/tc_021_close.rb +index 38b88a9..bc8f79d 100644 +--- a/ruby/tests/tc_021_close.rb ++++ b/ruby/tests/tc_021_close.rb +@@ -17,7 +17,7 @@ + + require File::join(File::dirname(__FILE__), 'test_helper') + +-class TestClose < MiniTest::Unit::TestCase ++class TestClose < Minitest::Test + def test_close + h = Hivex::open("../images/minimal", {}) + refute_nil (h) +diff --git a/ruby/tests/tc_120_rlenvalue.rb b/ruby/tests/tc_120_rlenvalue.rb +index 6a2fb72..ee881bb 100644 +--- a/ruby/tests/tc_120_rlenvalue.rb ++++ b/ruby/tests/tc_120_rlenvalue.rb +@@ -23,7 +23,7 @@ + + require File::join(File::dirname(__FILE__), 'test_helper') + +-class TestRLenValue < MiniTest::Unit::TestCase ++class TestRLenValue < Minitest::Test + def test_RLenValue + h = Hivex::open(File::join(ENV['abs_srcdir'], '..', 'images', 'rlenvalue_test_hive'), {}) + refute_nil(h) +diff --git a/ruby/tests/tc_130_special.rb b/ruby/tests/tc_130_special.rb +index 7570824..6179f51 100644 +--- a/ruby/tests/tc_130_special.rb ++++ b/ruby/tests/tc_130_special.rb +@@ -3,7 +3,7 @@ + + require File::join(File::dirname(__FILE__), 'test_helper') + +-class TestRLenValue < MiniTest::Unit::TestCase ++class TestRLenValue < Minitest::Test + def test_RLenValue + h = Hivex::open(File::join(ENV['abs_srcdir'], '..', 'images', 'special'), {}) + refute_nil(h) +diff --git a/ruby/tests/tc_200_write.rb b/ruby/tests/tc_200_write.rb +index 463283e..a713d77 100644 +--- a/ruby/tests/tc_200_write.rb ++++ b/ruby/tests/tc_200_write.rb +@@ -17,7 +17,7 @@ + + require File::join(File::dirname(__FILE__), 'test_helper') + +-class TestWrite < MiniTest::Unit::TestCase ++class TestWrite < Minitest::Test + def test_write + h = Hivex::open("../images/minimal", {:write => 1}) + refute_nil (h) +diff --git a/ruby/tests/tc_210_setvalue.rb b/ruby/tests/tc_210_setvalue.rb +index 736b073..2ffd07b 100644 +--- a/ruby/tests/tc_210_setvalue.rb ++++ b/ruby/tests/tc_210_setvalue.rb +@@ -17,7 +17,7 @@ + + require File::join(File::dirname(__FILE__), 'test_helper') + +-class TestSetValue < MiniTest::Unit::TestCase ++class TestSetValue < Minitest::Test + def test_set_value + h = Hivex::open("../images/minimal", {:write => 1}) + refute_nil (h) +-- +2.41.0 + \ No newline at end of file diff --git a/SPECS/hivex/0002-ruby-Get-rid-of-old-Test-Unit-compatibility.patch b/SPECS/hivex/0002-ruby-Get-rid-of-old-Test-Unit-compatibility.patch new file mode 100644 index 00000000000..c8b0ffc9360 --- /dev/null +++ b/SPECS/hivex/0002-ruby-Get-rid-of-old-Test-Unit-compatibility.patch @@ -0,0 +1,160 @@ +From 6dbbc474d3df5cdfd21ed5e692b3a58136fffc42 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 7 Aug 2023 10:41:26 +0100 +Subject: [PATCH 2/3] ruby: Get rid of old Test::Unit compatibility + +Minitest is now required to run the Ruby unit tests. + +This compatibility was added back in commit 3f3bc6af07 ("ruby: tests: +convert from Test::Unit to MiniTest (RHBZ#1090407)", 2014), but is +broken by the change from MiniTest to Minitest. +--- + ruby/Makefile.am | 3 +-- + ruby/tests/tc_010_load.rb | 3 ++- + ruby/tests/tc_021_close.rb | 3 ++- + ruby/tests/tc_120_rlenvalue.rb | 3 ++- + ruby/tests/tc_130_special.rb | 3 ++- + ruby/tests/tc_200_write.rb | 3 ++- + ruby/tests/tc_210_setvalue.rb | 3 ++- + ruby/tests/test_helper.rb | 31 ------------------------------- + 8 files changed, 13 insertions(+), 39 deletions(-) + delete mode 100644 ruby/tests/test_helper.rb + +diff --git a/ruby/Makefile.am b/ruby/Makefile.am +index 0e9a868..7a5fe42 100644 +--- a/ruby/Makefile.am ++++ b/ruby/Makefile.am +@@ -23,8 +23,7 @@ EXTRA_DIST = \ + ext/hivex/_hivex.c \ + lib/hivex.rb \ + run-ruby-tests \ +- tests/tc_*.rb \ +- tests/test_helper.rb ++ tests/tc_*.rb + + CLEANFILES = \ + lib/*~ \ +diff --git a/ruby/tests/tc_010_load.rb b/ruby/tests/tc_010_load.rb +index 58fac33..8efac36 100644 +--- a/ruby/tests/tc_010_load.rb ++++ b/ruby/tests/tc_010_load.rb +@@ -15,7 +15,8 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-require File::join(File::dirname(__FILE__), 'test_helper') ++require 'minitest/autorun' ++require 'hivex' + + class TestLoad < Minitest::Test + def test_load +diff --git a/ruby/tests/tc_021_close.rb b/ruby/tests/tc_021_close.rb +index bc8f79d..b3aaa10 100644 +--- a/ruby/tests/tc_021_close.rb ++++ b/ruby/tests/tc_021_close.rb +@@ -15,7 +15,8 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-require File::join(File::dirname(__FILE__), 'test_helper') ++require 'minitest/autorun' ++require 'hivex' + + class TestClose < Minitest::Test + def test_close +diff --git a/ruby/tests/tc_120_rlenvalue.rb b/ruby/tests/tc_120_rlenvalue.rb +index ee881bb..f40735d 100644 +--- a/ruby/tests/tc_120_rlenvalue.rb ++++ b/ruby/tests/tc_120_rlenvalue.rb +@@ -21,7 +21,8 @@ + # length and offset for this value cell should be 37 bytes, position + # 8712. + +-require File::join(File::dirname(__FILE__), 'test_helper') ++require 'minitest/autorun' ++require 'hivex' + + class TestRLenValue < Minitest::Test + def test_RLenValue +diff --git a/ruby/tests/tc_130_special.rb b/ruby/tests/tc_130_special.rb +index 6179f51..49a635b 100644 +--- a/ruby/tests/tc_130_special.rb ++++ b/ruby/tests/tc_130_special.rb +@@ -1,7 +1,8 @@ + # -*- coding: utf-8 -*- + # -*- ruby -*- + +-require File::join(File::dirname(__FILE__), 'test_helper') ++require 'minitest/autorun' ++require 'hivex' + + class TestRLenValue < Minitest::Test + def test_RLenValue +diff --git a/ruby/tests/tc_200_write.rb b/ruby/tests/tc_200_write.rb +index a713d77..4ce0586 100644 +--- a/ruby/tests/tc_200_write.rb ++++ b/ruby/tests/tc_200_write.rb +@@ -15,7 +15,8 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-require File::join(File::dirname(__FILE__), 'test_helper') ++require 'minitest/autorun' ++require 'hivex' + + class TestWrite < Minitest::Test + def test_write +diff --git a/ruby/tests/tc_210_setvalue.rb b/ruby/tests/tc_210_setvalue.rb +index 2ffd07b..c3624ef 100644 +--- a/ruby/tests/tc_210_setvalue.rb ++++ b/ruby/tests/tc_210_setvalue.rb +@@ -15,7 +15,8 @@ + # along with this program; if not, write to the Free Software + # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +-require File::join(File::dirname(__FILE__), 'test_helper') ++require 'minitest/autorun' ++require 'hivex' + + class TestSetValue < Minitest::Test + def test_set_value +diff --git a/ruby/tests/test_helper.rb b/ruby/tests/test_helper.rb +deleted file mode 100644 +index f939b94..0000000 +--- a/ruby/tests/test_helper.rb ++++ /dev/null +@@ -1,31 +0,0 @@ +-# hivex Ruby bindings -*- ruby -*- +-# Copyright (C) 2009-2014 Red Hat Inc. +-# +-# This program is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This program is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with this program; if not, write to the Free Software +-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +- +-begin +- require 'minitest/autorun' +-rescue LoadError +- require 'test/unit' +- MiniTest = Test +- module Test +- Assertions = Unit::Assertions +- module Assertions +- alias refute_nil assert_not_nil +- end +- end +-end +- +-require 'hivex' +-- +2.41.0 + \ No newline at end of file diff --git a/SPECS/hivex/0003-build-Go-back-to-gettext-0.19.patch b/SPECS/hivex/0003-build-Go-back-to-gettext-0.19.patch new file mode 100644 index 00000000000..f3209e44858 --- /dev/null +++ b/SPECS/hivex/0003-build-Go-back-to-gettext-0.19.patch @@ -0,0 +1,80 @@ +From 326399ceef0c904f78cdd5da17f7ca724292b4f8 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 7 Aug 2023 10:36:46 +0100 +Subject: [PATCH 3/3] build: Go back to gettext 0.19 + +Commit 850feece ("build: Remove gnulib") unintentionally(?) moved to +GNU gettext 0.21. However this is not available in RHEL 8, and +doesn't contain any new features we need. Go back to 0.19 from RHEL 8. + +Update: commit 850feece47b052e568392e83bff2bcdb2886f14d +--- + configure.ac | 2 +- + po/Makevars.template | 29 ----------------------------- + 2 files changed, 1 insertion(+), 30 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 946c261..7a8b664 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -136,7 +136,7 @@ AS_IF([test "x$with_readline" != xno], + + dnl For i18n. + AM_GNU_GETTEXT([external]) +-AM_GNU_GETTEXT_VERSION([0.21]) ++AM_GNU_GETTEXT_VERSION([0.19]) + AM_ICONV + + dnl libxml2 (optional). +diff --git a/po/Makevars.template b/po/Makevars.template +index 86a11f1..4a9ff7d 100644 +--- a/po/Makevars.template ++++ b/po/Makevars.template +@@ -1,8 +1,4 @@ + # Makefile variables for PO directory in any package using GNU gettext. +-# +-# Copyright (C) 2003-2019 Free Software Foundation, Inc. +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to use, copy, distribute, and modify it. + + # Usually the message domain is the same as the package name. + DOMAIN = $(PACKAGE) +@@ -24,13 +20,6 @@ XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ + # their copyright. + COPYRIGHT_HOLDER = Free Software Foundation, Inc. + +-# This tells whether or not to prepend "GNU " prefix to the package +-# name that gets inserted into the header of the $(DOMAIN).pot file. +-# Possible values are "yes", "no", or empty. If it is empty, try to +-# detect it automatically by scanning the files in $(top_srcdir) for +-# "GNU packagename" string. +-PACKAGE_GNU = +- + # This is the email address or URL to which the translators shall report + # bugs in the untranslated strings: + # - Strings which are not entire sentences, see the maintainer guidelines +@@ -62,21 +51,3 @@ USE_MSGCTXT = no + # --previous to keep previous msgids of translated messages, + # --quiet to reduce the verbosity. + MSGMERGE_OPTIONS = +- +-# These options get passed to msginit. +-# If you want to disable line wrapping when writing PO files, add +-# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and +-# MSGINIT_OPTIONS. +-MSGINIT_OPTIONS = +- +-# This tells whether or not to regenerate a PO file when $(DOMAIN).pot +-# has changed. Possible values are "yes" and "no". Set this to no if +-# the POT file is checked in the repository and the version control +-# program ignores timestamps. +-PO_DEPENDS_ON_POT = yes +- +-# This tells whether or not to forcibly update $(DOMAIN).pot and +-# regenerate PO files on "make dist". Possible values are "yes" and +-# "no". Set this to no if the POT file and PO files are maintained +-# externally. +-DIST_DEPENDS_ON_UPDATE_PO = yes +-- +2.41.0 + \ No newline at end of file diff --git a/SPECS/hivex/hivex.spec b/SPECS/hivex/hivex.spec index 229f9ba44ad..34b30f2e7ad 100644 --- a/SPECS/hivex/hivex.spec +++ b/SPECS/hivex/hivex.spec @@ -14,6 +14,12 @@ Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://libguestfs.org/ Source0: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz +# Upstream patches to fix Ruby minitest support. +# https://bugzilla.redhat.com/show_bug.cgi?id=2229653 +Patch: 0001-ruby-Replace-MiniTest-with-Minitest.patch +Patch: 0002-ruby-Get-rid-of-old-Test-Unit-compatibility.patch +# Another upstream patch, not required. +Patch: 0003-build-Go-back-to-gettext-0.19.patch BuildRequires: %{_bindir}/pod2html BuildRequires: %{_bindir}/pod2man @@ -246,6 +252,7 @@ fi %changelog * Wed May 08 2024 Mykhailo Bykhovtsev - 1.3.23-2 - Rebuild with using ocaml 5.1.1 +- Add patches for Ruby and gettext. Imported from Fedora 41 * Fri Feb 16 2024 Yash Panchal - 1.3.23-1 - Upgrate to 1.3.23. From 0038a8fafdf9459eda2758c484497271d4a3ccdd Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 13:44:28 -0700 Subject: [PATCH 17/45] move ocaml-srpm-macros into its own package --- LICENSES-AND-NOTICES/SPECS/data/licenses.json | 1 + .../azurelinux-rpm-macros.spec | 50 +++---- SPECS/azurelinux-rpm-macros/macros.ocaml-srpm | 17 --- SPECS/ocaml-srpm-macros/macros.ocaml-srpm | 49 +++++++ .../ocaml-srpm-macros/ocaml-srpm-macros.spec | 138 ++++++++++++++++++ .../manifests/package/pkggen_core_aarch64.txt | 1 + .../manifests/package/pkggen_core_x86_64.txt | 1 + 7 files changed, 214 insertions(+), 43 deletions(-) delete mode 100644 SPECS/azurelinux-rpm-macros/macros.ocaml-srpm create mode 100644 SPECS/ocaml-srpm-macros/macros.ocaml-srpm create mode 100644 SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec diff --git a/LICENSES-AND-NOTICES/SPECS/data/licenses.json b/LICENSES-AND-NOTICES/SPECS/data/licenses.json index e14c9bb6b38..bda87ef40db 100644 --- a/LICENSES-AND-NOTICES/SPECS/data/licenses.json +++ b/LICENSES-AND-NOTICES/SPECS/data/licenses.json @@ -1031,6 +1031,7 @@ "ocaml-seq", "ocaml-sexplib", "ocaml-sexplib0", + "ocaml-srpm-macros", "ocaml-stdio", "ocaml-stdlib-random", "ocaml-topkg", diff --git a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec index 30c6c92f248..38fa21f8da3 100644 --- a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec +++ b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec @@ -21,37 +21,35 @@ Source5: macros.check Source6: macros.openblas-srpm Source7: macros.nodejs-srpm Source8: macros.mono-srpm -Source9: macros.ocaml-srpm -Source10: macros.perl-srpm -Source11: gpgverify -Source12: macros.forge -Source13: common.lua -Source14: forge.lua +Source9: macros.perl-srpm +Source10: gpgverify +Source11: macros.forge +Source12: common.lua +Source13: forge.lua # macros.rust-srpm is taken from https://pagure.io/fedora-rust/rust2rpm -Source15: macros.rust-srpm +Source14: macros.rust-srpm # macros.fonts is taken from the "fontpackages-devel" package. -Source16: macros.fonts -Source17: macros.suse -Source18: gen-ld-script.sh -Source19: generate-package-note.py -Source20: verify-package-notes.sh +Source15: macros.fonts +Source16: macros.suse +Source17: gen-ld-script.sh +Source18: generate-package-note.py +Source19: verify-package-notes.sh ### The following files should eventually move to python-rpm-macros.spec -Source21: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.python -Source22: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.python3 -Source23: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.python-srpm -Source24: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/brp-python-bytecompile -Source25: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.pybytecompile -Source26: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/compileall2.py -Source27: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/python.lua -Source28: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/clamp_source_mtime.py -Source29: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/pathfix.py -Source30: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/brp-fix-pyc-reproducibility -Source31: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/brp-python-hardlink -Source32: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/import_all_modules.py +Source20: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.python +Source21: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.python3 +Source22: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.python-srpm +Source23: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/brp-python-bytecompile +Source24: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/macros.pybytecompile +Source25: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/compileall2.py +Source26: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/python.lua +Source27: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/clamp_source_mtime.py +Source28: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/pathfix.py +Source29: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/brp-fix-pyc-reproducibility +Source30: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/brp-python-hardlink +Source31: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/f40/f/import_all_modules.py ### Provides: redhat-rpm-config Provides: openblas-srpm-macros -Provides: ocaml-srpm-macros Provides: perl-srpm-macros Provides: python-srpm-macros Provides: python-rpm-macros @@ -142,7 +140,7 @@ install -p -m 644 -t %{buildroot}%{rcluadir}/srpm python.lua %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 3.0-3 -- Added missing %ocamldir macro +- Moved ocaml-srpm-macros into its own package. * Thu Mar 07 2024 Andrew Phelps - 3.0-2 - Update all python-related scripts from Fedora 40 version of python-rpm-macros diff --git a/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm b/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm deleted file mode 100644 index 29896e6f606..00000000000 --- a/SPECS/azurelinux-rpm-macros/macros.ocaml-srpm +++ /dev/null @@ -1,17 +0,0 @@ -# Note that OCaml is compiled on all architectures. However -# on some (rare) architectures, only bytecode compilation is -# available. Use these macros to find out if native code -# compilation is available on a particular architecture. - -# Architectures that support the OCaml native code compiler. -%ocaml_native_compiler aarch64 %{arm} %{ix86} ppc ppc64 ppc64le riscv64 s390x sparc sparcv9 x86_64 - -# Architectures that support native dynamic linking of OCaml code. -%ocaml_natdynlink aarch64 %{arm} %{ix86} ppc ppc64 ppc64le riscv64 s390x sparc sparcv9 x86_64 - -# Architectures that support profiling of native code (ocamlopt -p). -# This was removed in OCaml 4.09. -# https://github.com/ocaml/ocaml/pull/2314 -%ocaml_native_profiling %{nil} - -%ocamldir %{_libdir}/ocaml diff --git a/SPECS/ocaml-srpm-macros/macros.ocaml-srpm b/SPECS/ocaml-srpm-macros/macros.ocaml-srpm new file mode 100644 index 00000000000..04fc35a1deb --- /dev/null +++ b/SPECS/ocaml-srpm-macros/macros.ocaml-srpm @@ -0,0 +1,49 @@ +# Note that OCaml is compiled on all architectures. However +# on some (rare) architectures, only bytecode compilation is +# available. Use these macros to find out if native code +# compilation is available on a particular architecture. +# Architectures that support the OCaml native code compiler. +%ocaml_native_compiler aarch64 riscv64 s390x x86_64 +# Architectures that support native dynamic linking of OCaml code. +%ocaml_natdynlink aarch64 riscv64 s390x x86_64 +# Architectures that support profiling of native code (ocamlopt -p). +# This was removed in OCaml 4.09. +# https://github.com/ocaml/ocaml/pull/2314 +%ocaml_native_profiling %{nil} +# Toplevel OCaml directory +%ocamldir %{_libdir}/ocaml +# Common elements for all OCaml packages. +# +# ExcludeArch: OCaml packages have not been built on i686 since OCaml 5 was +# introduced in Fedora 39. +# -d: most OCaml packages have no ELF objects when built on a bytecode-only +# architecture, so debuginfo generation is suppressed. Use this flag to +# enable a debuginfo package on such architectures; i.e., when the package +# contains an ELF object even on bytecode-only architectures. +%ocaml_pkg(d) %{lua: + print("ExcludeArch: %{ix86}\\n") + if not opt.d then + local arch = rpm.expand("%{_target_cpu}") + local native = rpm.expand("%{ocaml_native_compiler}") + if not string.find(native, arch) then + rpm.define('debug_package %{nil}') + end + end +} +# Generate %package and %files definitions for a doc subpackage, +# containing content generated by odoc. +# Use on the top-level only, preferably just before %prep. +# +# Options: +# -L: specify the license file name. Example: +# %odoc_package -L LICENSE +%odoc_package(L:) %{expand: +%package doc +BuildArch: noarch +BuildRequires: ocaml-odoc +Summary: Documentation for %{name} +%description doc +Developer documentation for %{name}. +%files doc +%doc _build/default/_doc/_html/* +%{?-L:%%license %{-L*} %*}} diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec new file mode 100644 index 00000000000..00711e0e48a --- /dev/null +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec @@ -0,0 +1,138 @@ +# OCaml has a bytecode backend that works on anything with a C +# compiler, and a native code backend available on a subset of +# architectures. A further subset of architectures support native +# dynamic linking. +# +# This package contains a file needed to define some RPM macros +# which are required before any SRPM is built. +# +# See also: https://bugzilla.redhat.com/show_bug.cgi?id=1087794 + +Name: ocaml-srpm-macros +Version: 9 +Release: 3%{?dist} + +Summary: OCaml architecture macros +License: GPL-2.0-or-later + +BuildArch: noarch + +Source0: macros.ocaml-srpm + +# NB. This package MUST NOT Require anything (except for dependencies +# that RPM itself generates). + +%description +This package contains macros needed by RPM in order to build +SRPMS. It does not pull in any other OCaml dependencies. + + +%prep + + +%build + + +%install +mkdir -p $RPM_BUILD_ROOT%{rpmmacrodir} +install -m 0644 %{SOURCE0} $RPM_BUILD_ROOT%{rpmmacrodir}/macros.ocaml-srpm + + +%files +%{rpmmacrodir}/macros.ocaml-srpm + + +%changelog +* Tue May 14 2024 Mykhailo Bykhovtsev - 9-3 +- Initial import from Fedora 41 (License: MIT) +- License verified + +* Thu Jan 25 2024 Fedora Release Engineering - 9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Oct 4 2023 Jerry James - 9-1 +- Update OCaml native arches for OCaml 5.1 +- Remove the Python file and some macros (now in ocaml-rpm-macros) +- Add %%ocaml_pkg macro for common declarations + +* Thu Jul 20 2023 Fedora Release Engineering - 8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jul 10 2023 Richard W.M. Jones - 8-1 +- Update OCaml native archs for OCaml 5.0 + +* Thu Jan 19 2023 Fedora Release Engineering - 7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Feb 16 2022 Jerry James - 7-1 +- Add odoc and dune macros +- Add ocaml_files.py to support %%files automation +- Use %%rpmmacrodir instead of a custom macro + +* Thu Jan 20 2022 Fedora Release Engineering - 6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 6-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Dec 06 2019 Richard W.M. Jones - 6-1 +- Remove support for native profiling, see: + https://github.com/ocaml/ocaml/pull/2314 + +* Thu Jul 25 2019 Fedora Release Engineering - 5-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Aug 08 2017 Richard W.M. Jones - 5-2 +- Bump and rebuild. + +* Tue Aug 8 2017 Richard W.M. Jones - 5-1 +- Add new macro ocaml_native_profiling. + +* Thu Jul 27 2017 Fedora Release Engineering - 4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Nov 8 2016 Richard W.M. Jones - 4-1 +- s390x is now a native architecture with OCaml 4.04 in Fedora >= 26. +- Add riscv64 as a native arch using out of tree backend. + +* Thu Feb 04 2016 Fedora Release Engineering - 2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 2 2014 Richard W.M. Jones - 2-1 +- Move macros to _rpmconfigdir (RHBZ#1093528). + +* Tue Apr 22 2014 Richard W.M. Jones - 1-1 +- New package. diff --git a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt index 7024eb88e62..66e086ce8ed 100644 --- a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt @@ -165,6 +165,7 @@ texinfo-7.0.3-1.azl3.aarch64.rpm gtk-doc-1.33.2-1.azl3.noarch.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm +ocaml-srpm-macros-9-13.azl3.noarch.rpm openssl-3.1.4-8.azl3.aarch64.rpm openssl-devel-3.1.4-8.azl3.aarch64.rpm openssl-libs-3.1.4-8.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt index 51f6c645773..edb4fda05c7 100644 --- a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt @@ -165,6 +165,7 @@ texinfo-7.0.3-1.azl3.x86_64.rpm gtk-doc-1.33.2-1.azl3.noarch.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm +ocaml-srpm-macros-9-13.azl3.noarch.rpm openssl-3.1.4-8.azl3.x86_64.rpm openssl-devel-3.1.4-8.azl3.x86_64.rpm openssl-libs-3.1.4-8.azl3.x86_64.rpm From b7e8396562708e2e50cd4f1d13bdac5e5cad532d Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 14:08:22 -0700 Subject: [PATCH 18/45] make sure we ignore source check for ocaml-srpm-macros --- .github/workflows/validate-cg-manifest.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/validate-cg-manifest.sh b/.github/workflows/validate-cg-manifest.sh index 74c46e21305..e0652396f34 100755 --- a/.github/workflows/validate-cg-manifest.sh +++ b/.github/workflows/validate-cg-manifest.sh @@ -52,6 +52,7 @@ ignore_no_source_tarball=" \ sgx-backwards-compatability \ verity-read-only-root \ web-assets \ + ocaml-srpm-macros \ " # Specs where cgmanifest validation has known issues checking URLs. From 198cc124cce39f7d660a4632fe85dbbe49e16b84 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 15:28:02 -0700 Subject: [PATCH 19/45] running linter on annobin and adding credit --- SPECS/annobin/annobin.spec | 203 ++++---- SPECS/emacs/emacs.spec | 6 - .../0001-Use-ocamlopt-g-option.patch | 27 ++ ...-returns-const-value-pointer-in-OCam.patch | 34 ++ SPECS/ocaml-augeas/macros.ocaml-rpm | 69 --- SPECS/ocaml-augeas/ocaml-augeas.spec | 58 +-- SPECS/ocaml-augeas/ocaml_files.py | 451 ------------------ SPECS/ocaml-base/ocaml-base.spec | 11 +- SPECS/ocaml-camomile/ocaml-camomile.spec | 1 + SPECS/ocaml-cinaps/ocaml-cinaps.spec | 11 +- .../ocaml-compiler-libs-janestreet.spec | 1 + SPECS/ocaml-cppo/ocaml-cppo.spec | 1 + SPECS/ocaml-csexp/ocaml-csexp.spec | 1 + SPECS/ocaml-dune/ocaml-dune.spec | 1 + SPECS/ocaml-fileutils/ocaml-fileutils.spec | 1 + SPECS/ocaml-findlib/ocaml-findlib.spec | 1 + SPECS/ocaml-gettext/ocaml-gettext.spec | 2 +- SPECS/ocaml-lwt/ocaml-lwt.spec | 1 + SPECS/ocaml-num/ocaml-num.spec | 1 + SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec | 1 + .../ocaml-ocplib-endian.spec | 1 + SPECS/ocaml-ounit/ocaml-ounit.spec | 1 + SPECS/ocaml-parsexp/ocaml-parsexp.spec | 1 + .../ocaml-ppx-derivers.spec | 1 + SPECS/ocaml-ppxlib/ocaml-ppxlib.spec | 1 + SPECS/ocaml-re/ocaml-re.spec | 3 +- SPECS/ocaml-react/ocaml-react.spec | 1 + SPECS/ocaml-sexplib/ocaml-sexplib.spec | 1 + SPECS/ocaml-sexplib0/ocaml-sexplib0.spec | 1 + SPECS/ocaml-topkg/ocaml-topkg.spec | 1 + 30 files changed, 194 insertions(+), 700 deletions(-) create mode 100644 SPECS/ocaml-augeas/0001-Use-ocamlopt-g-option.patch create mode 100644 SPECS/ocaml-augeas/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch delete mode 100644 SPECS/ocaml-augeas/macros.ocaml-rpm delete mode 100644 SPECS/ocaml-augeas/ocaml_files.py diff --git a/SPECS/annobin/annobin.spec b/SPECS/annobin/annobin.spec index ee4fc6d396b..37504239b80 100644 --- a/SPECS/annobin/annobin.spec +++ b/SPECS/annobin/annobin.spec @@ -1,17 +1,7 @@ -Name: annobin -Summary: Binary annotation plugin for GCC -Version: 12.49 -Release: 1%{?dist} -License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later -Vendor: Microsoft Corporation -Distribution: Azure Linux -URL: https://sourceware.org/annobin/ # Maintainer: nickc@redhat.com # Web Page: https://sourceware.org/annobin/ # Watermark Protocol: https://fedoraproject.org/wiki/Toolchain/Watermark - #--------------------------------------------------------------------------------- - # Set this to zero to disable the requirement for a specific version of gcc. # This should only be needed if there is some kind of problem with the version # checking logic or when building on RHEL-7 or earlier. @@ -21,27 +11,27 @@ URL: https://sourceware.org/annobin/ # enabling this check greatly simplifies the process of installing a new major # version of gcc into the buildroot. %global with_hard_gcc_version_requirement 0 - #--------------------------------------------------------------------------------- - %global annobin_sources annobin-%{version}.tar.xz -Source: https://nickc.fedorapeople.org/%{annobin_sources} # For the latest sources use: git clone git://sourceware.org/git/annobin.git - # This is where a copy of the sources will be installed. %global annobin_source_dir %{_usrsrc}/annobin - +Summary: Binary annotation plugin for GCC +Name: annobin +Version: 12.49 +Release: 1%{?dist} +License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later +Vendor: Microsoft Corporation +Distribution: Mariner +URL: https://sourceware.org/annobin/ +Source: https://nickc.fedorapeople.org/%{annobin_sources} +Requires: %{name}-plugin-clang # Insert patches here, if needed. Eg: # Patch01: annobin-plugin-default-string-notes.patch - #--------------------------------------------------------------------------------- - # Make sure that the necessary sub-packages are built. - -Requires: %{name}-plugin-gcc -Requires: %{name}-plugin-llvm -Requires: %{name}-plugin-clang - +Requires: %{name}-plugin-gcc +Requires: %{name}-plugin-llvm #--------------------------------------------------------------------------------- %description @@ -63,7 +53,6 @@ security options that were in effect when the binary was compiled. One of the tools is a security checker which analyses the notes present in annotated files and reports on any missing security options. - #--------------------------------------------------------------------------- # Now that we have sub-packages for all of the plugins and for annocheck, @@ -75,25 +64,25 @@ annotated files and reports on any missing security options. # and there no longer is a top level annobin rpm at all. %package docs -Summary: Documentation and shell scripts for use with annobin -BuildArch: noarch +Summary: Documentation and shell scripts for use with annobin +BuildRequires: gawk +BuildRequires: make # The documentation uses pod2man... -BuildRequires: perl-interpreter -BuildRequires: perl-podlators -BuildRequires: gawk -BuildRequires: make -BuildRequires: sharutils +BuildRequires: perl-interpreter +BuildRequires: perl-podlators +BuildRequires: sharutils +BuildArch: noarch %description docs Provides the documentation files and example shell scripts for use with annobin. #---------------------------------------------------------------------------- %package tests -Summary: Test scripts and binaries for checking the behaviour and output of the annobin plugin -Requires: %{name}-docs = %{version}-%{release} -BuildRequires: make -BuildRequires: sharutils -BuildRequires: elfutils-devel +Summary: Test scripts and binaries for checking the behaviour and output of the annobin plugin +BuildRequires: elfutils-devel +BuildRequires: make +BuildRequires: sharutils +Requires: %{name}-docs = %{version}-%{release} %description tests Provides a means to test the generation of annotated binaries and the parsing @@ -102,18 +91,16 @@ of the resulting files. #---------------------------------------------------------------------------- %package annocheck -Summary: A tool for checking the security hardening status of binaries - -BuildRequires: gcc -BuildRequires: elfutils -BuildRequires: elfutils-devel -BuildRequires: elfutils-libelf-devel -BuildRequires: rpm-devel -BuildRequires: make - -Requires: %{name}-docs = %{version}-%{release} -Requires: cpio -Requires: rpm +Summary: A tool for checking the security hardening status of binaries +BuildRequires: elfutils +BuildRequires: elfutils-devel +BuildRequires: elfutils-libelf-devel +BuildRequires: gcc +BuildRequires: make +BuildRequires: rpm-devel +Requires: %{name}-docs = %{version}-%{release} +Requires: cpio +Requires: rpm %description annocheck Installs the annocheck program which uses the notes generated by annobin to @@ -121,16 +108,14 @@ check that the specified files were compiled with the correct security hardening options. %package libannocheck -Summary: A library for checking the security hardening status of binaries - -BuildRequires: gcc -BuildRequires: elfutils -BuildRequires: elfutils-devel -BuildRequires: elfutils-libelf-devel -BuildRequires: rpm-devel -BuildRequires: make - -Requires: %{name}-docs = %{version}-%{release} +Summary: A library for checking the security hardening status of binaries +BuildRequires: elfutils +BuildRequires: elfutils-devel +BuildRequires: elfutils-libelf-devel +BuildRequires: gcc +BuildRequires: make +BuildRequires: rpm-devel +Requires: %{name}-docs = %{version}-%{release} %description libannocheck Installs the libannocheck library which uses the notes generated by the @@ -139,13 +124,6 @@ correct security hardening options. #---------------------------------------------------------------------------- %package plugin-gcc -Summary: annobin gcc plugin - -Requires: %{name}-docs = %{version}-%{release} -Conflicts: %{name} <= 9.60-1 -BuildRequires: gcc-c++ -BuildRequires: gcc-plugin-devel - # [Stolen from gcc-python-plugin] # GCC will only load plugins that were built against exactly that build of GCC # We thus need to embed the exact GCC version as a requirement within the @@ -171,44 +149,43 @@ BuildRequires: gcc-plugin-devel # we can scrape out the "13.2.0" from the version line. # # The following implements the above: - %global gcc_vr %(gcc --version | head -n 1 | sed -e 's|.*(GCC)||g') - # We need the major version of gcc. %global gcc_major %(echo "%{gcc_vr}" | cut -f1 -d".") %global gcc_next %(v="%{gcc_major}"; echo $((++v))) - # Needed when building the srpm. %if "0%{?gcc_major}" == "0" %global gcc_major 0 %endif - +# Information about the gcc plugin is recorded in this file. +%global aver annobin-plugin-version-info +Summary: annobin gcc plugin +BuildRequires: gcc-c++ +BuildRequires: gcc-plugin-devel +Requires: %{name}-docs = %{version}-%{release} +Conflicts: %{name} <= 9.60-1 # For a gcc plugin gcc is required. %if %{with_hard_gcc_version_requirement} # BZ 1607430 - There is an exact requirement on the major version of gcc. -Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next}) +Requires: (gcc >= %{gcc_major} with gcc < %{gcc_next}) %else -Requires: gcc +Requires: gcc %endif -# Information about the gcc plugin is recorded in this file. -%global aver annobin-plugin-version-info - %description plugin-gcc Installs an annobin plugin that can be used by gcc. #--------------------------------------------------------------------------------- %package plugin-llvm -Summary: annobin llvm plugin - -Requires: %{name}-docs = %{version}-%{release} -Requires: llvm -Conflicts: %{name} <= 9.60-1 -BuildRequires: clang -BuildRequires: clang-devel -BuildRequires: compiler-rt -BuildRequires: llvm -BuildRequires: llvm-devel +Summary: annobin llvm plugin +BuildRequires: clang +BuildRequires: clang-devel +BuildRequires: compiler-rt +BuildRequires: llvm +BuildRequires: llvm-devel +Requires: %{name}-docs = %{version}-%{release} +Requires: llvm +Conflicts: %{name} <= 9.60-1 %description plugin-llvm Installs an annobin plugin that can be used by LLVM tools. @@ -216,16 +193,15 @@ Installs an annobin plugin that can be used by LLVM tools. #--------------------------------------------------------------------------------- %package plugin-clang -Summary: annobin clang plugin - -Requires: %{name}-docs = %{version}-%{release} -Requires: llvm -Conflicts: %{name} <= 9.60-1 -BuildRequires: clang -BuildRequires: clang-devel -BuildRequires: compiler-rt -BuildRequires: llvm -BuildRequires: llvm-devel +Summary: annobin clang plugin +BuildRequires: clang +BuildRequires: clang-devel +BuildRequires: compiler-rt +BuildRequires: llvm +BuildRequires: llvm-devel +Requires: %{name}-docs = %{version}-%{release} +Requires: llvm +Conflicts: %{name} <= 9.60-1 %description plugin-clang Installs an annobin plugin that can be used by Clang. @@ -235,11 +211,11 @@ Installs an annobin plugin that can be used by Clang. # Decide where the plugins will live. Change if necessary. %global ANNOBIN_GCC_PLUGIN_DIR %(gcc --print-file-name=plugin) - %{!?llvm_plugin_dir:%global llvm_plugin_dir %{_libdir}/llvm/plugins} %{!?clang_plugin_dir:%global clang_plugin_dir %{_libdir}/clang/plugins} - #--------------------------------------------------------------------------------- +Vendor: Microsoft Corporation +Distribution: Mariner %prep if [ -z "%{gcc_vr}" ]; then @@ -266,10 +242,10 @@ CONFIG_ARGS="$CONFIG_ARGS --quiet --with-debuginfod --with-clang --with-gcc-plug export CFLAGS="$CFLAGS -DAARCH64_BRANCH_PROTECTION_SUPPORTED=1" -%set_build_flags +%{set_build_flags} -export CFLAGS="$CFLAGS $RPM_OPT_FLAGS %build_cflags" -export LDFLAGS="$LDFLAGS %build_ldflags" +export CFLAGS="$CFLAGS %{optflags} %{build_cflags}" +export LDFLAGS="$LDFLAGS %{build_ldflags}" export PLUGIN_FORTIFY_OPTION="-D_FORTIFY_SOURCE=3" @@ -296,7 +272,7 @@ cp gcc-plugin/.libs/annobin.so.0.0.0 %{_tmppath}/tmp_annobin.so make -C gcc-plugin clean BUILD_FLAGS="-fplugin=%{_tmppath}/tmp_annobin.so" -OPTS="$(rpm --undefine=_annotated_build --eval '%build_cflags %build_ldflags')" +OPTS="$(rpm --undefine=_annotated_build --eval '%{build_cflags} %{build_ldflags}')" # If building on systems with an assembler that does not support the # .attach_to_group pseudo op (eg RHEL-7) then enable the next line. @@ -307,10 +283,10 @@ rm %{_tmppath}/tmp_annobin.so cp clang-plugin/annobin-for-clang.so %{_tmppath}/tmp_annobin.so # To enable verbose more in the plugin append the following: ANNOBIN="verbose" -make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" +make -C clang-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" cp llvm-plugin/annobin-for-llvm.so %{_tmppath}/tmp_annobin.so -# To enable verbose more in the plugin append the following: ANNOBIN_VERBOSE="true" +# To enable verbose more in the plugin append the following: ANNOBIN_VERBOSE="true" make -C llvm-plugin clean all CLANG_TARGET_OPTIONS="$CLANG_TARGET_OPTIONS $BUILD_FLAGS" #--------------------------------------------------------------------------------- @@ -330,34 +306,20 @@ mv %{buildroot}/%{llvm_plugin_dir}/annobin-for-clang.so %{buildroot}/%{clang_plu mkdir -p %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR} echo "%{gcc_vr}" > %{buildroot}/%{ANNOBIN_GCC_PLUGIN_DIR}/%{aver} -# Also install a copy of the sources into the build tree. -mkdir -p %{buildroot}%{annobin_source_dir} -cp %{_sourcedir}/%{annobin_sources} %{buildroot}%{annobin_source_dir}/latest-annobin.tar.xz - rm -f %{buildroot}%{_infodir}/dir #--------------------------------------------------------------------------------- %check -# The first "make check" is run with "|| :" so that we can capture any logs -# from failed tests. The second "make check" is there so that the build -# will fail if any of the tests fail. -make check || : -if [ -f tests/test-suite.log ]; then - cat tests/test-suite.log -fi -# If necessary use uuencode to preserve test binaries here. For example: -# uuencode tests/tmp_atexit/atexit.strip atexit.strip - -make check +make check || ( cat tests/test-suite.log; false ) #--------------------------------------------------------------------------------- %files docs %license COPYING3 LICENSE -%exclude %{_datadir}/doc/annobin-plugin/COPYING3 -%exclude %{_datadir}/doc/annobin-plugin/LICENSE -%doc %{_datadir}/doc/annobin-plugin/annotation.proposal.txt +%exclude %{_docdir}/annobin-plugin/COPYING3 +%exclude %{_docdir}/annobin-plugin/LICENSE +%doc %{_docdir}/annobin-plugin/annotation.proposal.txt %{_infodir}/annobin.info* %{_mandir}/man1/annobin.1* %exclude %{_mandir}/man1/built-by.1* @@ -379,7 +341,6 @@ make check %{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0 %{ANNOBIN_GCC_PLUGIN_DIR}/annobin.so.0.0.0 %{ANNOBIN_GCC_PLUGIN_DIR}/%{aver} -%{annobin_source_dir}/latest-annobin.tar.xz %files annocheck %{_bindir}/annocheck @@ -396,7 +357,7 @@ make check * Fri Mar 08 2024 Mykhailo Bykhovtsev - 12.40-1 - Promoted package from extended to core - Upgraded to 12.49 -- Imported and adopted the spec from Fedora +- Imported and adopted the spec from Fedora 41 (License: MIT) - License verified * Fri Oct 15 2021 Pawel Winogrodzki - 9.27-4 diff --git a/SPECS/emacs/emacs.spec b/SPECS/emacs/emacs.spec index ab4623c72e2..95fb83f8f9b 100644 --- a/SPECS/emacs/emacs.spec +++ b/SPECS/emacs/emacs.spec @@ -90,8 +90,6 @@ install -p -m 0644 %SOURCE2 %{buildroot}%{site_lisp} echo "(setq source-directory \"%{_datadir}/emacs/%{version}/\")" \ >> %{buildroot}%{site_lisp}/site-start.el -mkdir -p %{buildroot}%{site_lisp}/site-start.d - # # Create file lists # @@ -105,10 +103,6 @@ rm -f *-filelist {common,el}-*-files ) -# Put the lists together after filtering ./usr to /usr -sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files -grep -vhE '%{site_lisp}(|/(default\.el|site-start\.d|site-start\.el))$' {common,el}-*-files > common-filelist - %files %defattr(-,root,root) %{_bindir}/ebrowse diff --git a/SPECS/ocaml-augeas/0001-Use-ocamlopt-g-option.patch b/SPECS/ocaml-augeas/0001-Use-ocamlopt-g-option.patch new file mode 100644 index 00000000000..a6664987c3d --- /dev/null +++ b/SPECS/ocaml-augeas/0001-Use-ocamlopt-g-option.patch @@ -0,0 +1,27 @@ +From 56c0602e972f1fae336198eb9587d71f1e36daff Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 20 Aug 2019 15:06:57 +0100 +Subject: [PATCH 1/2] Use ocamlopt -g option. + +Originally from Fedora. +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index e01385f..4ae5ef5 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -34,8 +34,8 @@ LIBS = @AUGEAS_LIBS@ @LIBXML2_LIBS@ @LIBS@ + + OCAMLCFLAGS = -g + OCAMLCPACKAGES = +-OCAMLOPTFLAGS = +-OCAMLOPTPACKAGES = ++OCAMLOPTFLAGS = $(OCAMLCFLAGS) ++OCAMLOPTPACKAGES = $(OCAMLCPACKAGES) + + OCAMLDOCFLAGS = -html -sort + +-- +2.23.0 diff --git a/SPECS/ocaml-augeas/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch b/SPECS/ocaml-augeas/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch new file mode 100644 index 00000000000..644e862c934 --- /dev/null +++ b/SPECS/ocaml-augeas/0002-caml_named_value-returns-const-value-pointer-in-OCam.patch @@ -0,0 +1,34 @@ +From 1cf5aef99b26a46529ca797547c0b49627fffe78 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 7 Dec 2019 11:08:54 +0000 +Subject: [PATCH 2/2] caml_named_value returns const value pointer in OCaml + 4.09+ + +--- + augeas-c.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/augeas-c.c b/augeas-c.c +index 9217017..679bcb5 100644 +--- a/augeas-c.c ++++ b/augeas-c.c +@@ -86,7 +86,7 @@ static const int error_map_len = sizeof error_map / sizeof error_map[0]; + static void + raise_error_and_maybe_close (augeas_t t, const char *msg, bool close_handle) + { +- value *exn = caml_named_value ("Augeas.Error"); ++ const value *exn = caml_named_value ("Augeas.Error"); + value args[5]; + const int code = aug_error (t); + const char *aug_err_msg; +@@ -132,7 +132,7 @@ raise_error_and_maybe_close (augeas_t t, const char *msg, bool close_handle) + static void + raise_init_error (const char *msg) + { +- value *exn = caml_named_value ("Augeas.Error"); ++ const value *exn = caml_named_value ("Augeas.Error"); + value args[5]; + + args[0] = caml_alloc (1, 0); +-- +2.23.0 diff --git a/SPECS/ocaml-augeas/macros.ocaml-rpm b/SPECS/ocaml-augeas/macros.ocaml-rpm deleted file mode 100644 index bd6c2460d6c..00000000000 --- a/SPECS/ocaml-augeas/macros.ocaml-rpm +++ /dev/null @@ -1,69 +0,0 @@ -# Make %files lists from an installed tree of files. -# Options: -# -s: separate packaging; every subdirectory of %%{ocamldir}, except stublibs, -# is placed in its own package. This option requires the existence of opam -# *.install files in the build tree. -# -n: suppress creation of a devel subpackage. -%ocaml_files(sn) %{python3} /usr/lib/rpm/azl/ocaml_files.py %{-s} %{-n} %{buildroot} %{ocamldir} - -# Internal macro holding the common parts of ocaml_install and dune_install -%ocaml_install_common(sn) %{expand: -rm -rf %{buildroot}%{_prefix}/doc -mlis=$(find %{buildroot}%{_libdir}/ocaml -name '*.mli') -rm -f ${mlis//.mli/.ml} -%ocaml_files %{-s} %{-n}} - -# Install files listed in opam *.install files. -# Options: -# -s: separate packaging; every subdirectory of %%{ocamldir}, except stublibs, -# is placed in its own package. -# -n: suppress creation of a devel subpackage. -%ocaml_install(sn) %{expand: -%{python3} /usr/lib/rpm/azl/ocaml_files.py -i %{-s} %{-n} %{buildroot} %{ocamldir} -%ocaml_install_common %{-s} %{-n}} - -# Add smp_mflags to arguments if no -j release option is given. -# Add --release to arguments if no -p or --release option is given. -# Add --verbose to arguments if it is not given. -%dune_add_flags(-) %{lua: - has_j = false - has_p = false - has_v = false - for _, flag in pairs(arg) do - if flag:find("^-j") then - has_j = true - elseif flag:find("^-p") or flag:find("^--release)") then - has_p = true - elseif flag:find("^--verbose") then - has_v = true - end - end - if not has_j then - table.insert(arg, 1, rpm.expand("%{?_smp_mflags}")) - end - if not has_p then - table.insert(arg, 1, "--release") - end - if not has_v then - table.insert(arg, 1, "--verbose") - end - print(table.concat(arg, " ")) -} - -# Build with dune -%dune_build(-) dune build %{dune_add_flags %*} - -# Run tests with dune -%dune_check(-) dune runtest %{dune_add_flags %*} - -# Install with dune -# Options: -# -s: separate packaging; every subdirectory of %%{ocamldir}, except stublibs, -# is placed in its own package. -# -n: suppress creation of a devel subpackage. -%dune_install(sn) %{expand: -dune install --destdir=%{buildroot} %{dune_add_flags %*} -if [ -d _build/default/_doc/_html ]; then - find _build/default/_doc/_html -name .dune-keep -delete -fi -%ocaml_install_common %{-s} %{-n}} diff --git a/SPECS/ocaml-augeas/ocaml-augeas.spec b/SPECS/ocaml-augeas/ocaml-augeas.spec index ea33fdfca64..3a14f24e5f6 100644 --- a/SPECS/ocaml-augeas/ocaml-augeas.spec +++ b/SPECS/ocaml-augeas/ocaml-augeas.spec @@ -11,46 +11,37 @@ Vendor: Microsoft Corporation Distribution: Azure Linux URL: https://people.redhat.com/~rjones/augeas/files/ Source0: https://people.redhat.com/~rjones/%{srcname}/files/%{name}-%{version}.tar.gz - # Upstream patch to enable debuginfo. -#Patch1: 0001-Use-ocamlopt-g-option.patch +Patch1: 0001-Use-ocamlopt-g-option.patch # Const-correctness fix for OCaml 4.09+ -#Patch2: 0002-caml_named_value-returns-const-value-pointer-in-OCam.patch - +Patch2: 0002-caml_named_value-returns-const-value-pointer-in-OCam.patch + BuildRequires: make BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-findlib BuildRequires: ocaml-ocamldoc BuildRequires: ocaml-rpm-macros BuildRequires: augeas-devel >= 0.1.0 - - + %description Augeas is a unified system for editing arbitrary configuration files. This provides complete OCaml bindings for Augeas. - - + %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} - - + %description devel The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. - - + %prep %autosetup -p1 - + # Pass -g to ocamlmklib sed -i 's/ocamlmklib/& -g/' Makefile.in - -%build -export CFLAGS="$CFLAGS -Wno-discarded-qualifiers" -export CXXFLAGS="$CXXFLAGS -Wno-discarded-qualifiers" -export FCFLAGS="$FCFLAGS -Wno-discarded-qualifiers" +%build %configure %ifarch %{ocaml_native_compiler} make @@ -58,17 +49,15 @@ make make mlaugeas.cma test_augeas %endif make doc - - + %check make check - - + %install export DESTDIR=$RPM_BUILD_ROOT export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs - + # The upstream 'make install' rule is missing '*.so' and distributes # '*.cmi' instead of just the augeas.cmi file. Temporary fix: #make install @@ -77,25 +66,20 @@ ocamlfind install augeas META *.mli *.cmx *.cma *.cmxa *.a augeas.cmi *.so %else ocamlfind install augeas META *.mli *.cma *.a augeas.cmi *.so %endif - -%files + +%ocaml_files + + +%files -f .ofiles %license COPYING.LIB -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmi -%{_libdir}/ocaml/%{srcname}/mlaugeas.cma -%{_libdir}/ocaml/stublibs/dllmlaugeas.so -%{_libdir}/ocaml/stublibs/dllmlaugeas.so.owner -%files devel + +%files devel -f .ofiles-devel %doc html -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmx -%{_libdir}/ocaml/%{srcname}/%{srcname}*.mli -%{_libdir}/ocaml/%{srcname}/*.a -%{_libdir}/ocaml/%{srcname}/mlaugeas.cmxa - - + %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.6-33 +- Converted spec file to match with Fedora 41. - Removing embedded macros file in favor of using one provided by the ocaml-rpm-macros package. * Fri Mar 29 2024 Betty Lakes - 0.6-32 diff --git a/SPECS/ocaml-augeas/ocaml_files.py b/SPECS/ocaml-augeas/ocaml_files.py deleted file mode 100644 index cf4afd19b0c..00000000000 --- a/SPECS/ocaml-augeas/ocaml_files.py +++ /dev/null @@ -1,451 +0,0 @@ -# Copyright 2022-3, Jerry James -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the -# distribution. -# 3. Neither the name of Red Hat nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import argparse -import os -import shutil -import string -import sys -from collections.abc import Iterable, Iterator -from enum import Enum, auto -from typing import Callable, final - -# Version of this script -version=2 - -# -# BUILDROOT CATEGORIZATION -# - -# Directories to ignore when generating %dir entries -root_dirs: set[str] = { - '/', - '/etc', - '/usr', - '/usr/bin', - '/usr/lib', - '/usr/lib/ocaml', - '/usr/lib/ocaml/caml', - '/usr/lib/ocaml/stublibs', - '/usr/lib/ocaml/threads', - '/usr/lib64', - '/usr/lib64/ocaml', - '/usr/lib64/ocaml/caml', - '/usr/lib64/ocaml/stublibs', - '/usr/lib64/ocaml/threads', - '/usr/libexec', - '/usr/sbin', - '/usr/share', - '/usr/share/doc' -} - -def find_buildroot_toplevel(buildroot: str) -> list[str]: - """Find toplevel files and directories in the buildroot. - - :param str buildroot: path to the buildroot - :return: a list of toplevel files and directories in the buildroot - """ - bfiles: list[str] = [] - for path, dirs, files in os.walk(buildroot): - for i in range(len(dirs) - 1, -1, -1): - d = os.path.join(path, dirs[i])[len(buildroot):] - if d not in root_dirs and not d.startswith('/usr/share/man'): - bfiles.append(d) - del dirs[i] - for f in files: - realfile = os.path.join(path, f)[len(buildroot):] - if realfile.startswith('/usr/share/man'): - bfiles.append(realfile + '*') - else: - bfiles.append(realfile) - return bfiles - -# File suffixes that go into a devel subpackage -dev_suffixes: set[str] = { - 'a', 'cmo', 'cmt', 'cmti', 'cmx', 'cmxa', 'h', 'idl', 'ml', 'mli', 'o' -} - -def is_devel_file(filname: str) -> bool: - """Determine whether a file belongs to a devel subpackage. - - :param str filname: the filename to check - :return: True if the file belongs to a devel subpackage, else False - """ - return (filname == 'dune-package' or filname == 'opam' or - (os.path.splitext(filname)[1][1:] in dev_suffixes - and not filname.endswith('_top_init.ml'))) - -def find_buildroot_all(buildroot: str, devel: bool, add_star: bool) -> list[set[str]]: - """Find all files and directories in the buildroot and optionally - categorize them as 'main' or 'devel'. - - :param Namespace args: parsed command line arguments - :param bool devel: True to split into 'main' and 'devel', False otherwise - :param bool add_star: True to add a star to man page filenames - :return: a list of files and directories, in this order: main files, - main directories, devel files, and devel directories - """ - bfiles: list[set[str]] = [set(), set(), set()] - bdirs: set[str] = set() - for path, dirs, files in os.walk(buildroot): - for d in dirs: - realdir = os.path.join(path, d)[len(buildroot):] - if realdir not in root_dirs and not realdir.startswith('/usr/share/man'): - bdirs.add(realdir) - for f in files: - realfile = os.path.join(path, f)[len(buildroot):] - if devel and is_devel_file(os.path.basename(realfile)): - bfiles[2].add(realfile) - else: - if add_star and realfile.startswith('/usr/share/man'): - bfiles[0].add(realfile + '*') - else: - bfiles[0].add(realfile) - parentdir = os.path.dirname(realfile) - if parentdir in bdirs: - bfiles[1].add(parentdir) - bdirs.remove(parentdir) - # Catch intermediate directories, as in ocaml-mtime - parentdir = os.path.dirname(parentdir) - if parentdir in bdirs: - bfiles[1].add(parentdir) - bdirs.remove(parentdir) - bfiles.append(bdirs) - return bfiles - -# -# INSTALL FILE LEXER AND PARSER -# - -class TokenType(Enum): - """The types of tokens that can appear in an opam *.install file.""" - ERROR = auto() - COLON = auto() - LBRACE = auto() - RBRACE = auto() - LBRACK = auto() - RBRACK = auto() - STRING = auto() - FIELD = auto() - -@final -class InstallFileLexer(Iterator[tuple[TokenType, str]]): - """Convert an opam *.install file into a sequence of tokens.""" - __slots__ = ['index', 'text'] - - def __init__(self, filname: str) -> None: - """Create an opam *.install file lexer. - - :param str filname: the name of the file to read from - """ - self.index = 0 - with open(filname, 'r') as f: - # Limit reads to 4 MB in case this file is bogus. - # Most install files are under 4K. - self.text = f.read(4194304) - - def skip_whitespace(self) -> None: - """Skip over whitespace in the input.""" - while self.index < len(self.text) and \ - (self.text[self.index] == '#' or - self.text[self.index] in string.whitespace): - if self.text[self.index] == '#': - while (self.index < len(self.text) and - self.text[self.index] != '\n' and - self.text[self.index] != '\r'): - self.index += 1 - else: - self.index += 1 - - def __next__(self) -> tuple[TokenType, str]: - """Get the next token from the opam *.install file. - - :return: a pair containing the type and text of the next token - """ - self.skip_whitespace() - if self.index < len(self.text): - ch = self.text[self.index] - if ch == ':': - self.index += 1 - return (TokenType.COLON, ch) - if ch == '{': - self.index += 1 - return (TokenType.LBRACE, ch) - if ch == '}': - self.index += 1 - return (TokenType.RBRACE, ch) - if ch == '[': - self.index += 1 - return (TokenType.LBRACK, ch) - if ch == ']': - self.index += 1 - return (TokenType.RBRACK, ch) - if ch == '"': - start = self.index + 1 - end = start - while end < len(self.text) and self.text[end] != '"': - end += 2 if self.text[end] == '\\' else 1 - self.index = end + 1 - return (TokenType.STRING, self.text[start:end]) - if ch in string.ascii_letters: - start = self.index - end = start + 1 - while (end < len(self.text) and - (self.text[end] == '_' or - self.text[end] in string.ascii_letters)): - end += 1 - self.index = end - return (TokenType.FIELD, self.text[start:end]) - return (TokenType.ERROR, ch) - else: - raise StopIteration - -@final -class InstallFileParser(Iterable[tuple[str, bool, str, str]]): - """Parse opam *.install files.""" - - __slots__ = ['pkgname', 'lexer', 'libdir'] - - def __init__(self, filname: str, libdir: str) -> None: - """Initialize an OCaml .install file parser. - - :param str filname: name of the .install file to parse - :param str libdir: the OCaml library directory - """ - self.pkgname = os.path.splitext(os.path.basename(filname))[0] - self.lexer = InstallFileLexer(filname) - self.libdir = libdir - - def __iter__(self) -> Iterator[tuple[str, bool, str, str]]: - """Parse a .install file. - If there are any parse errors, we assume this file is not really an - opam .install file and abandon the parse. - """ - # Map opam installer names to directories - opammap: dict[str, str] = { - 'lib': os.path.join(self.libdir, self.pkgname), - 'lib_root': self.libdir, - 'libexec': os.path.join(self.libdir, self.pkgname), - 'libexec_root': self.libdir, - 'bin': '/usr/bin', - 'sbin': '/usr/sbin', - 'toplevel': os.path.join(self.libdir, 'toplevel'), - 'share': os.path.join('/usr/share', self.pkgname), - 'share_root': '/usr/share', - 'etc': os.path.join('/etc', self.pkgname), - 'doc': os.path.join('/usr/doc', self.pkgname), - 'stublibs': os.path.join(self.libdir, 'stublibs'), - 'man': '/usr/share/man' - } - - # Parse the file - try: - toktyp, token = next(self.lexer) - while toktyp == TokenType.FIELD: - libname = token - toktyp, token = next(self.lexer) - if toktyp != TokenType.COLON: - return - - toktyp, token = next(self.lexer) - if toktyp != TokenType.LBRACK: - return - - directory = opammap.get(libname) - if not directory: - return - - toktyp, token = next(self.lexer) - while toktyp == TokenType.STRING: - source = token - optional = source[0] == '?' - if optional: - source = source[1:] - nexttp, nexttk = next(self.lexer) - if nexttp == TokenType.LBRACE: - nexttp, nexttk = next(self.lexer) - if nexttp == TokenType.STRING: - filname = os.path.join(directory, nexttk) - bracetp, bractk = next(self.lexer) - if bracetp != TokenType.RBRACE: - return - nexttp, nexttk = next(self.lexer) - else: - return - elif libname == 'man': - index = token.rfind('.') - if index < 0: - return - mandir = os.path.join(directory, 'man' + token[index+1:]) - filname = os.path.join(mandir, os.path.basename(token)) - else: - filname = os.path.join(directory, os.path.basename(token)) - toktyp, token = nexttp, nexttk - yield (self.pkgname, optional, source, filname) - - if toktyp != TokenType.RBRACK: - return - toktyp, token = next(self.lexer) - except StopIteration: - return - -def install_files(buildroot: str, libdir: str) -> None: - """Install the files listed in opam .install files in the buildroot. - - For some projects, there are install files in both the project root - directory and somewhere under "_build", so be careful not to parse the same - install file twice. - - :param str buildroot: path to the buildroot - :param str libdir: the OCaml library directory - """ - install_files = set() - for path, dirs, files in os.walk('.'): - for f in files: - if f.endswith('.install') and f not in install_files: - install_files.add(f) - parser = InstallFileParser(os.path.join(path, f), libdir) - for _, optional, source, filname in parser: - if not optional or os.path.exists(source): - installpath = os.path.join(buildroot, filname[1:]) - os.makedirs(os.path.dirname(installpath), exist_ok=True) - shutil.copy2(source, installpath) - -def get_package_map(buildroot: str, libdir: str, devel: bool) -> dict[str, set[str]]: - """Create a map from package names to installed files from the opam .install - files in the buildroot. - - For some projects, there are install files in both the project root - directory and somewhere under "_build", so be careful not to parse the same - install file twice.""" - - pmap: dict[str, set[str]] = dict() - install_files = set() - - def add_pkg(pkgname: str, filname: str) -> None: - """Add a mapping from a package name to a filename. - - :param str pkgname: the package that acts as the map key - :param str filname: the filename to add to the package set - """ - if pkgname not in pmap: - pmap[pkgname] = set() - pmap[pkgname].add(filname) - - installed = find_buildroot_all(buildroot, devel, False) - for path, dirs, files in os.walk('.'): - for f in files: - if f.endswith('.install') and f not in install_files: - install_files.add(f) - parser = InstallFileParser(os.path.join(path, f), libdir) - for pkgname, _, _, filname in parser: - if filname in installed[0]: - if filname.startswith('/usr/share/man'): - add_pkg(pkgname, filname + '*') - else: - add_pkg(pkgname, filname) - dirname = os.path.dirname(filname) - if dirname in installed[1]: - add_pkg(pkgname, '%dir ' + dirname) - installed[1].remove(dirname) - elif filname in installed[2]: - if filname.startswith('/usr/share/man'): - add_pkg(pkgname + '-devel', filname + '*') - else: - add_pkg(pkgname + '-devel', filname) - dirname = os.path.dirname(filname) - if dirname in installed[3]: - add_pkg(pkgname + '-devel', '%dir ' + dirname) - installed[3].remove(dirname) - return pmap - -# -# MAIN INTERFACE -# - -def ocaml_files(no_devel: bool, separate: bool, install: bool, buildroot: str, - libdir: str) -> None: - """Generate %files lists from an installed buildroot. - - :param bool no_devel: False to split files into a main package and a devel - package - :param bool separate: True to place each OCaml module in an RPM package - :param bool install: True to install files, False to generate %files - :param str buildroot: the installed buildroot - :param str libdir: the OCaml library directory - """ - if install: - install_files(buildroot, libdir) - elif separate: - pkgmap = get_package_map(buildroot, libdir, not no_devel) - for pkg in pkgmap: - with open('.ofiles-' + pkg, 'w') as f: - for entry in pkgmap[pkg]: - f.write(entry + '\n') - elif no_devel: - with open('.ofiles', 'w') as f: - for entry in find_buildroot_toplevel(buildroot): - f.write(entry + '\n') - else: - files = find_buildroot_all(buildroot, True, True) - with open('.ofiles', 'w') as f: - for entry in files[0]: - f.write(entry + '\n') - for entry in files[1]: - f.write('%dir ' + entry + '\n') - with open('.ofiles-devel', 'w') as f: - for entry in files[2]: - f.write(entry + '\n') - for entry in files[3]: - f.write('%dir ' + entry + '\n') - -if __name__ == "__main__": - parser = argparse.ArgumentParser(description='Support for building OCaml RPM packages') - parser.add_argument('-i', '--install', - action='store_true', - default=False, - help='install files instead of generating %files') - parser.add_argument('-n', '--no-devel', - action='store_true', - default=False, - help='suppress creation of a devel subpackage') - parser.add_argument('-s', '--separate', - action='store_true', - default=False, - help='separate packaging. Each OCaml module is in a distinct RPM package. All modules are in a single RPM package by default.') - parser.add_argument('-v', '--version', - action='version', - version=f'%(prog)s {str(version)}') - parser.add_argument('buildroot', help='RPM build root') - parser.add_argument('libdir', help='OCaml library directory') - args = parser.parse_args() - ocaml_files(args.no_devel, - args.separate, - args.install, - args.buildroot, - args.libdir) diff --git a/SPECS/ocaml-base/ocaml-base.spec b/SPECS/ocaml-base/ocaml-base.spec index aa5b949601f..38f1ee43b7e 100644 --- a/SPECS/ocaml-base/ocaml-base.spec +++ b/SPECS/ocaml-base/ocaml-base.spec @@ -3,10 +3,6 @@ # tests at all until we are able to add ppx_jane. %global srcname base -# This package is needed to build ppx_jane, but its tests require ppx_jane. -# Break the dependency cycle here. -%bcond_with test - Summary: Jane Street standard library for OCaml Name: ocaml-%{srcname} Version: 0.16.3 @@ -24,7 +20,7 @@ BuildRequires: ocaml-dune >= 2.0.0 BuildRequires: ocaml-dune-configurator-devel BuildRequires: ocaml-sexplib0-devel >= 0.16 -%if %{with test} +%if %{with_check} BuildRequires: ocaml-num-devel BuildRequires: ocaml-ppx-jane-devel BuildRequires: ocaml-sexplib-devel @@ -52,7 +48,7 @@ The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -n base-%{version} -p1 +%autosetup -n %{srcname}-%{version} -p1 %build %dune_build @@ -60,7 +56,7 @@ developing applications that use %{name}. %install %dune_install -%if %{with test} +%if %{with_check} %check %dune_check %endif @@ -73,6 +69,7 @@ developing applications that use %{name}. %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.3-1 +- Converted spec file to match with Fedora 41. - Upgrade to 0.16.3 * Thu Mar 31 2022 Pawel Winogrodzki - 0.15.0-2 diff --git a/SPECS/ocaml-camomile/ocaml-camomile.spec b/SPECS/ocaml-camomile/ocaml-camomile.spec index ddfb3bce7b6..5715d01cbad 100644 --- a/SPECS/ocaml-camomile/ocaml-camomile.spec +++ b/SPECS/ocaml-camomile/ocaml-camomile.spec @@ -101,6 +101,7 @@ sed -i '\@%{_datadir}@d' .ofiles %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 2.0.0-1 +- Converted spec file to match with Fedora 41. - Upgraded to version 2.0.0 * Thu Mar 31 2022 Pawel Winogrodzki - 1.0.2-9 diff --git a/SPECS/ocaml-cinaps/ocaml-cinaps.spec b/SPECS/ocaml-cinaps/ocaml-cinaps.spec index e5ed834b43a..12d363d05b0 100644 --- a/SPECS/ocaml-cinaps/ocaml-cinaps.spec +++ b/SPECS/ocaml-cinaps/ocaml-cinaps.spec @@ -1,9 +1,5 @@ %global srcname cinaps -# This package is needed to build ppx_jane, but its tests require ppx_jane. -# Break the dependency cycle here. -%bcond_with test - Summary: Trivial Metaprogramming tool using the OCaml toplevel Name: ocaml-%{srcname} Version: 0.15.1 @@ -19,7 +15,7 @@ BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune >= 2.0.0 BuildRequires: ocaml-re-devel >= 1.8.0 -%if %{with test} +%if %{with_check} BuildRequires: ocaml-ppx-jane-devel %endif @@ -45,7 +41,7 @@ The %{name}-devel package contains libraries and signature files for developing applications that use %{name}. %prep -%autosetup -n cinaps-%{version} +%autosetup -n %{srcname}-%{version} %build %dune_build @@ -58,7 +54,7 @@ mkdir -p %{buildroot}%{_mandir}/man1 help2man -N --version-string=%{version} %{buildroot}%{_bindir}/cinaps > \ %{buildroot}%{_mandir}/man1/cinaps.1 -%if %{with test} +%if %{with_check} %check %dune_check %endif @@ -72,6 +68,7 @@ help2man -N --version-string=%{version} %{buildroot}%{_bindir}/cinaps > \ %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 0.15.1-4 +- Converted spec file to match with Fedora 41. - Rebuild with ocaml >= 5.1.1 * Thu Mar 31 2022 Pawel Winogrodzki - 0.15.1-3 diff --git a/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec b/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec index d3cb648a143..baeb15797d8 100644 --- a/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec +++ b/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec @@ -47,6 +47,7 @@ signature files for developing applications that use %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 0.12.4-2 +- Converted spec file to match with Fedora 41. - Rebuild for OCaml 5.1.1 and dune >= 2.8 * Mon Nov 06 2023 CBL-Mariner Servicing Account - 0.12.4-1 diff --git a/SPECS/ocaml-cppo/ocaml-cppo.spec b/SPECS/ocaml-cppo/ocaml-cppo.spec index 303b6d91421..14f1dcce5a5 100644 --- a/SPECS/ocaml-cppo/ocaml-cppo.spec +++ b/SPECS/ocaml-cppo/ocaml-cppo.spec @@ -72,6 +72,7 @@ at build time. To use it, call ocamlbuild with the argument %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 1.6.9-1 +- Converted spec file to match with Fedora 41. - Upgrade to 1.6.9 * Thu Mar 31 2022 Pawel Winogrodzki - 1.6.6-5 diff --git a/SPECS/ocaml-csexp/ocaml-csexp.spec b/SPECS/ocaml-csexp/ocaml-csexp.spec index c56317585fa..393232c9212 100644 --- a/SPECS/ocaml-csexp/ocaml-csexp.spec +++ b/SPECS/ocaml-csexp/ocaml-csexp.spec @@ -151,6 +151,7 @@ EOF %changelog * Tue Apr 30 2024 Mykhailo Bykhovtsev - 1.5.2-4 +- Converted spec file to match with Fedora 41. - Upgraded to 1.5.2. * Thu Mar 31 2022 Pawel Winogrodzki - 1.3.2-4 diff --git a/SPECS/ocaml-dune/ocaml-dune.spec b/SPECS/ocaml-dune/ocaml-dune.spec index a055a8bfa6c..a6ee341986b 100644 --- a/SPECS/ocaml-dune/ocaml-dune.spec +++ b/SPECS/ocaml-dune/ocaml-dune.spec @@ -487,6 +487,7 @@ cd - %changelog * Fri Apr 26 2024 Mykhailo Bykhovtsev - 3.15.2-1 +- Converted spec file to match with Fedora 41. - Upgrade to version 3.15.2 * Thu Mar 31 2022 Pawel Winogrodzki - 2.8.5-3 diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils.spec b/SPECS/ocaml-fileutils/ocaml-fileutils.spec index 441d81263b8..464cd62f691 100644 --- a/SPECS/ocaml-fileutils/ocaml-fileutils.spec +++ b/SPECS/ocaml-fileutils/ocaml-fileutils.spec @@ -64,6 +64,7 @@ developing applications that use %{name}. %changelog * Tue May 07 2024 Mykhailo Bykhovtsev - 0.6.4-1 +- Converted spec file to match with Fedora 41. - Upgrade to 0.6.4 - Use ocaml 5.1.1 to build diff --git a/SPECS/ocaml-findlib/ocaml-findlib.spec b/SPECS/ocaml-findlib/ocaml-findlib.spec index d55bf80568a..4300a2cec65 100644 --- a/SPECS/ocaml-findlib/ocaml-findlib.spec +++ b/SPECS/ocaml-findlib/ocaml-findlib.spec @@ -106,6 +106,7 @@ sed -i '/ocamlfind\.conf/d' .ofiles %changelog * Thu Apr 25 2024 Mykhailo Bykhovtsev - 1.9.6-1 +- Converted spec file to match with Fedora 41. - Upgrading to version 1.9.6 * Wed Mar 30 2022 Pawel Winogrodzki - 1.8.1-16 diff --git a/SPECS/ocaml-gettext/ocaml-gettext.spec b/SPECS/ocaml-gettext/ocaml-gettext.spec index 406ca66479b..e54eb22f4ac 100644 --- a/SPECS/ocaml-gettext/ocaml-gettext.spec +++ b/SPECS/ocaml-gettext/ocaml-gettext.spec @@ -137,7 +137,7 @@ cat .ofiles-gettext-stub-devel >> .ofiles-gettext-devel %changelog * Tue May 07 2024 Mykhailo Bykhovtsev - 0.4.2-3 -- Update build requirements and build process +- Converted spec file to match with Fedora 41. - Use ocaml 5.1.1 to build * Thu Mar 31 2022 Pawel Winogrodzki - 0.4.2-2 diff --git a/SPECS/ocaml-lwt/ocaml-lwt.spec b/SPECS/ocaml-lwt/ocaml-lwt.spec index 9a28f813b90..a9c0f46c679 100644 --- a/SPECS/ocaml-lwt/ocaml-lwt.spec +++ b/SPECS/ocaml-lwt/ocaml-lwt.spec @@ -134,6 +134,7 @@ rm -rf %{buildroot}%{ocamldir}/lwt_ppx_let %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 5.7.0-1 +- Converted spec file to match with Fedora 41. - Upgrade to 5.7.0 * Wed Sep 20 2023 Jon Slobodzian - 5.4.1-9 diff --git a/SPECS/ocaml-num/ocaml-num.spec b/SPECS/ocaml-num/ocaml-num.spec index 277c659c8b8..fb72ee6f8c9 100644 --- a/SPECS/ocaml-num/ocaml-num.spec +++ b/SPECS/ocaml-num/ocaml-num.spec @@ -94,6 +94,7 @@ mkdir -p $OCAMLFIND_DESTDIR/stublibs %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 1.5-1 - Upgrade to 1.5 +- Converted spec file to match with Fedora 41. - use ocaml >= 5.1.1 * Fri Apr 29 2022 Pawel Winogrodzki - 1.3-2 diff --git a/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec b/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec index 5d584634115..211fd06e494 100644 --- a/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec +++ b/SPECS/ocaml-ocamlbuild/ocaml-ocamlbuild.spec @@ -94,6 +94,7 @@ popd %changelog * Mon Apr 29 2024 Mykhailo Bykhovtsev - 0.14.3-1 +- Converted spec file to match with Fedora 41. - Upgrade to 0.14.3 * Fri Oct 27 2023 CBL-Mariner Servicing Account - 0.14.2-1 diff --git a/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec b/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec index a7c9576130d..537f8b2f13c 100644 --- a/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec +++ b/SPECS/ocaml-ocplib-endian/ocaml-ocplib-endian.spec @@ -69,6 +69,7 @@ signature files for developing applications that use %{name}. %changelog * Tue May 07 2024 Mykhailo Bykhovtsev - 1.2-1 - Update to 1.2 +- Converted spec file to match with Fedora 41. - Use ocaml 5.1.1 to build * Thu Mar 31 2022 Pawel Winogrodzki - 1.1-8 diff --git a/SPECS/ocaml-ounit/ocaml-ounit.spec b/SPECS/ocaml-ounit/ocaml-ounit.spec index c1a08c79891..90b7c6dd09d 100644 --- a/SPECS/ocaml-ounit/ocaml-ounit.spec +++ b/SPECS/ocaml-ounit/ocaml-ounit.spec @@ -110,6 +110,7 @@ files for developing applications that use %{name}-lwt. %changelog * Mon Apr 29 2024 Mykhailo Bykhovtsev - 2.2.7-1 +- Converted spec file to match with Fedora 41. - Upgraded to 2.2.7 * Thu Mar 31 2022 Pawel Winogrodzki - 2.2.2-6 diff --git a/SPECS/ocaml-parsexp/ocaml-parsexp.spec b/SPECS/ocaml-parsexp/ocaml-parsexp.spec index 2e643c90c88..ec088e2faec 100644 --- a/SPECS/ocaml-parsexp/ocaml-parsexp.spec +++ b/SPECS/ocaml-parsexp/ocaml-parsexp.spec @@ -69,6 +69,7 @@ developing applications that use %{name}. %changelog * Thu May 02 2024 Mykhailo Bykhovtsev - 0.16.0-1 +- Converted spec file to match with Fedora 41. - Upgraded to version 0.16.0 * Tue Jan 18 2022 Thomas Crain - 0.15.0-1 diff --git a/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec b/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec index 3bf32887bb1..45846856f43 100644 --- a/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec +++ b/SPECS/ocaml-ppx-derivers/ocaml-ppx-derivers.spec @@ -54,6 +54,7 @@ developing applications that use %{name}. %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 1.2.1-20 +- Converted spec file to match with Fedora 41. - Removing not needed build requirement and updating the build process * Thu Mar 31 2022 Pawel Winogrodzki - 1.2.1-19 diff --git a/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec b/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec index 552c3aad4fb..69fcbb03d23 100644 --- a/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec +++ b/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec @@ -76,6 +76,7 @@ signature files for developing applications that use %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.31.0-1 +- Converted spec file to match with Fedora 41. - Upgrade to 0.31.0 * Fri May 19 2023 Olivia Crain - 0.24.0-3 diff --git a/SPECS/ocaml-re/ocaml-re.spec b/SPECS/ocaml-re/ocaml-re.spec index 81f1fe5361b..b4277166cae 100644 --- a/SPECS/ocaml-re/ocaml-re.spec +++ b/SPECS/ocaml-re/ocaml-re.spec @@ -61,7 +61,8 @@ sed -i 's/oUnit/ounit2/' lib_test/fort_unit/dune %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 1.11.0-1 -- Upgrade to 1.11.0 for +- Converted spec file to match with Fedora 41. +- Upgrade to 1.11.0 - Use ocaml >= 5.1.1 to build * Thu Mar 31 2022 Pawel Winogrodzki - 1.9.0-21 diff --git a/SPECS/ocaml-react/ocaml-react.spec b/SPECS/ocaml-react/ocaml-react.spec index a1ac70a08a6..ea88bb70c4f 100644 --- a/SPECS/ocaml-react/ocaml-react.spec +++ b/SPECS/ocaml-react/ocaml-react.spec @@ -72,6 +72,7 @@ ocaml pkg/pkg.ml test %changelog * Mon May 06 2024 Mykhailo Bykhovtsev - 1.2.2-1 +- Converted spec file to match with Fedora 41. - Upgrade to 1.2.2 - Use ocaml 5.1.1 to build and update other build requirements diff --git a/SPECS/ocaml-sexplib/ocaml-sexplib.spec b/SPECS/ocaml-sexplib/ocaml-sexplib.spec index 683a1ed21c4..ae17c83ee00 100644 --- a/SPECS/ocaml-sexplib/ocaml-sexplib.spec +++ b/SPECS/ocaml-sexplib/ocaml-sexplib.spec @@ -86,6 +86,7 @@ cp -p vim/syntax/sexplib.vim %{buildroot}%{vimfiles_root}/syntax %changelog * Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-1 +- Converted spec file to match with Fedora 41. - Upgrade to 0.16.0 * Tue Jan 18 2022 Thomas Crain - 0.15.0-1 diff --git a/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec b/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec index 6a228b78ae8..740fa020ad9 100644 --- a/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec +++ b/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec @@ -45,6 +45,7 @@ developing applications that use %{name}. %changelog * Fri May 03 2024 Mykhailo Bykhovtsev - 0.16.0-2 +- Converted spec file to match with Fedora 41. - Updated build requirements to use ocaml >= 5.1.1 - Removed ocaml-findlib build req diff --git a/SPECS/ocaml-topkg/ocaml-topkg.spec b/SPECS/ocaml-topkg/ocaml-topkg.spec index c68bd67976f..c91fcf6ab78 100644 --- a/SPECS/ocaml-topkg/ocaml-topkg.spec +++ b/SPECS/ocaml-topkg/ocaml-topkg.spec @@ -131,6 +131,7 @@ ocaml pkg/pkg.ml test %changelog * Mon May 06 2024 Mykhailo Bykhovtsev - 1.0.7-2 +- Converted spec file to match with Fedora 41. - Use ocaml 5.1.1 to build and update build process * Thu Nov 02 2023 CBL-Mariner Servicing Account - 1.0.7-1 From fe6e7cb830ee8c012a1e8fa802afc677354a15be Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 15:38:31 -0700 Subject: [PATCH 20/45] fix toolchain and pkkgen --- SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec | 2 +- toolkit/resources/manifests/package/pkggen_core_aarch64.txt | 3 +-- toolkit/resources/manifests/package/pkggen_core_x86_64.txt | 3 +-- toolkit/resources/manifests/package/toolchain_aarch64.txt | 1 + toolkit/resources/manifests/package/toolchain_x86_64.txt | 1 + 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec index 00711e0e48a..b5ed7b49064 100644 --- a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec @@ -44,7 +44,7 @@ install -m 0644 %{SOURCE0} $RPM_BUILD_ROOT%{rpmmacrodir}/macros.ocaml-srpm %changelog * Tue May 14 2024 Mykhailo Bykhovtsev - 9-3 -- Initial import from Fedora 41 (License: MIT) +- Initial Azure Linux import from Fedora 41 (license: MIT) - License verified * Thu Jan 25 2024 Fedora Release Engineering - 9-3 diff --git a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt index 5e6d0b13201..a1136198f09 100644 --- a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt @@ -165,8 +165,7 @@ texinfo-7.0.3-1.azl3.aarch64.rpm gtk-doc-1.33.2-1.azl3.noarch.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm -ocaml-srpm-macros-9-13.azl3.noarch.rpm -openssl-3.3.0-1.azl3.aarch64.rpm +ocaml-srpm-macros-9-3.azl3.noarch.rpm openssl-devel-3.3.0-1.azl3.aarch64.rpm openssl-libs-3.3.0-1.azl3.aarch64.rpm openssl-perl-3.3.0-1.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt index 733cc633d94..b398cb0f82d 100644 --- a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt @@ -165,8 +165,7 @@ texinfo-7.0.3-1.azl3.x86_64.rpm gtk-doc-1.33.2-1.azl3.noarch.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm -ocaml-srpm-macros-9-13.azl3.noarch.rpm -openssl-3.3.0-1.azl3.x86_64.rpm +ocaml-srpm-macros-9-3.azl3.noarch.rpm openssl-devel-3.3.0-1.azl3.x86_64.rpm openssl-libs-3.3.0-1.azl3.x86_64.rpm openssl-perl-3.3.0-1.azl3.x86_64.rpm diff --git a/toolkit/resources/manifests/package/toolchain_aarch64.txt b/toolkit/resources/manifests/package/toolchain_aarch64.txt index 3d66e8315d8..06d8f1fed55 100644 --- a/toolkit/resources/manifests/package/toolchain_aarch64.txt +++ b/toolkit/resources/manifests/package/toolchain_aarch64.txt @@ -275,6 +275,7 @@ npth-1.6-4.azl3.aarch64.rpm npth-debuginfo-1.6-4.azl3.aarch64.rpm npth-devel-1.6-4.azl3.aarch64.rpm ntsysv-1.25-1.azl3.aarch64.rpm +ocaml-srpm-macros-9-3.azl3.noarch.rpm openssl-3.3.0-1.azl3.aarch64.rpm openssl-debuginfo-3.3.0-1.azl3.aarch64.rpm openssl-devel-3.3.0-1.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/toolchain_x86_64.txt b/toolkit/resources/manifests/package/toolchain_x86_64.txt index 51faea65fa4..02868fc7552 100644 --- a/toolkit/resources/manifests/package/toolchain_x86_64.txt +++ b/toolkit/resources/manifests/package/toolchain_x86_64.txt @@ -281,6 +281,7 @@ npth-1.6-4.azl3.x86_64.rpm npth-debuginfo-1.6-4.azl3.x86_64.rpm npth-devel-1.6-4.azl3.x86_64.rpm ntsysv-1.25-1.azl3.x86_64.rpm +ocaml-srpm-macros-9-3.azl3.noarch.rpm openssl-3.3.0-1.azl3.x86_64.rpm openssl-debuginfo-3.3.0-1.azl3.x86_64.rpm openssl-devel-3.3.0-1.azl3.x86_64.rpm From d52bef3673576e57e387ab73cb8e348d87cd052f Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 15:44:22 -0700 Subject: [PATCH 21/45] fix license maps --- LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md index 4099cbff5ff..b3e021b6076 100644 --- a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md +++ b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md @@ -5,7 +5,7 @@ The Azure Linux SPEC files originated from a variety of sources with varying lic | CentOS | [MIT](https://www.centos.org/legal/#licensing-policy) | crash-ptdump-command
delve
fstrm
nodejs-nodemon
rhnlib
rt-setup
rt-tests
rtctl
tuned | | Ceph source | [LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1) | ceph | | Debian | [MIT](https://opensource.org/licenses/MIT) | prometheus-process-exporter | -| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
argparse-manpage
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bogofilter
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fapolicyd
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbi-drivers
libdbusmenu
libdc1394
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mozjs
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp-streams
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-migrate-parsetree
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-pp
ocaml-ppx-derivers
ocaml-ppx-here
ocaml-ppx-let
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-stdio
ocaml-stdlib-random
ocaml-topkg
ocaml-tyxml
ocaml-uuidm
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-BDB
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
redland
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
sendmail
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stunnel
subscription-manager
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib | +| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
argparse-manpage
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bogofilter
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fapolicyd
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbi-drivers
libdbusmenu
libdc1394
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mozjs
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp-streams
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-migrate-parsetree
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-pp
ocaml-ppx-derivers
ocaml-ppx-here
ocaml-ppx-let
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-srpm-macros
ocaml-stdio
ocaml-stdlib-random
ocaml-topkg
ocaml-tyxml
ocaml-uuidm
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-BDB
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
redland
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
sendmail
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stunnel
subscription-manager
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib | | Fedora (Copyright Remi Collet) | [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) | libmemcached-awesome
librabbitmq | | Fedora (ISC) | [ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE) | python-resolvelib | | Magnus Edenhill Open Source | [Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING) | librdkafka | From 9427b286fe68f345e68613483b6ba3ec6cf06827 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 15:46:34 -0700 Subject: [PATCH 22/45] fix distribution tag --- SPECS/annobin/annobin.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SPECS/annobin/annobin.spec b/SPECS/annobin/annobin.spec index 37504239b80..0dd7c530575 100644 --- a/SPECS/annobin/annobin.spec +++ b/SPECS/annobin/annobin.spec @@ -22,7 +22,7 @@ Version: 12.49 Release: 1%{?dist} License: GPL-3.0-or-later AND LGPL-2.0-or-later AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND GFDL-1.3-or-later Vendor: Microsoft Corporation -Distribution: Mariner +Distribution: Azure Linux URL: https://sourceware.org/annobin/ Source: https://nickc.fedorapeople.org/%{annobin_sources} Requires: %{name}-plugin-clang @@ -215,7 +215,7 @@ Installs an annobin plugin that can be used by Clang. %{!?clang_plugin_dir:%global clang_plugin_dir %{_libdir}/clang/plugins} #--------------------------------------------------------------------------------- Vendor: Microsoft Corporation -Distribution: Mariner +Distribution: Azure Linux %prep if [ -z "%{gcc_vr}" ]; then From 73997cbfa6429bae8d3d7554998bd7e49a4e39a3 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 15:49:48 -0700 Subject: [PATCH 23/45] fix update manifests --- toolkit/resources/manifests/package/update_manifests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/toolkit/resources/manifests/package/update_manifests.sh b/toolkit/resources/manifests/package/update_manifests.sh index fb71033533e..6d0eb3c035c 100755 --- a/toolkit/resources/manifests/package/update_manifests.sh +++ b/toolkit/resources/manifests/package/update_manifests.sh @@ -259,6 +259,7 @@ generate_pkggen_core () { grep "^gtk-doc-" $TmpPkgGen grep "^autoconf-" $TmpPkgGen grep "^automake-" $TmpPkgGen + grep "^ocaml-srpms-macros-" $TmpPkgGen grep "^openssl-" $TmpPkgGen grep "^libcap-" $TmpPkgGen grep "^debugedit-" $TmpPkgGen From 9cc65479757ac7ccf1057bb6fe6ab595ae0de4a5 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 15:51:45 -0700 Subject: [PATCH 24/45] lint ocaml-srpm-macros package --- .../ocaml-srpm-macros/ocaml-srpm-macros.spec | 92 +++++++++---------- 1 file changed, 44 insertions(+), 48 deletions(-) diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec index b5ed7b49064..04c39e3ac76 100644 --- a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec @@ -7,41 +7,37 @@ # which are required before any SRPM is built. # # See also: https://bugzilla.redhat.com/show_bug.cgi?id=1087794 - +Summary: OCaml architecture macros Name: ocaml-srpm-macros Version: 9 Release: 3%{?dist} - -Summary: OCaml architecture macros License: GPL-2.0-or-later - -BuildArch: noarch - -Source0: macros.ocaml-srpm - # NB. This package MUST NOT Require anything (except for dependencies # that RPM itself generates). - +Vendor: Microsoft Corporation +Distribution: Mariner +Source0: macros.ocaml-srpm +BuildArch: noarch + %description This package contains macros needed by RPM in order to build SRPMS. It does not pull in any other OCaml dependencies. - - + + %prep - - + + %build - - + + %install -mkdir -p $RPM_BUILD_ROOT%{rpmmacrodir} -install -m 0644 %{SOURCE0} $RPM_BUILD_ROOT%{rpmmacrodir}/macros.ocaml-srpm - - +mkdir -p %{buildroot}%{rpmmacrodir} +install -m 0644 %{SOURCE0} %{buildroot}%{rpmmacrodir}/macros.ocaml-srpm + + %files %{rpmmacrodir}/macros.ocaml-srpm - - + %changelog * Tue May 14 2024 Mykhailo Bykhovtsev - 9-3 - Initial Azure Linux import from Fedora 41 (license: MIT) @@ -49,90 +45,90 @@ install -m 0644 %{SOURCE0} $RPM_BUILD_ROOT%{rpmmacrodir}/macros.ocaml-srpm * Thu Jan 25 2024 Fedora Release Engineering - 9-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - + * Sun Jan 21 2024 Fedora Release Engineering - 9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - + * Wed Oct 4 2023 Jerry James - 9-1 - Update OCaml native arches for OCaml 5.1 - Remove the Python file and some macros (now in ocaml-rpm-macros) - Add %%ocaml_pkg macro for common declarations - + * Thu Jul 20 2023 Fedora Release Engineering - 8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - + * Mon Jul 10 2023 Richard W.M. Jones - 8-1 - Update OCaml native archs for OCaml 5.0 - + * Thu Jan 19 2023 Fedora Release Engineering - 7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - + * Fri Jul 22 2022 Fedora Release Engineering - 7-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - + * Wed Feb 16 2022 Jerry James - 7-1 - Add odoc and dune macros - Add ocaml_files.py to support %%files automation - Use %%rpmmacrodir instead of a custom macro - + * Thu Jan 20 2022 Fedora Release Engineering - 6-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - + * Thu Jul 22 2021 Fedora Release Engineering - 6-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - + * Tue Jan 26 2021 Fedora Release Engineering - 6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - + * Tue Jul 28 2020 Fedora Release Engineering - 6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - + * Wed Jan 29 2020 Fedora Release Engineering - 6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - + * Fri Dec 06 2019 Richard W.M. Jones - 6-1 - Remove support for native profiling, see: https://github.com/ocaml/ocaml/pull/2314 - + * Thu Jul 25 2019 Fedora Release Engineering - 5-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - + * Fri Feb 01 2019 Fedora Release Engineering - 5-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - + * Fri Jul 13 2018 Fedora Release Engineering - 5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - + * Thu Feb 08 2018 Fedora Release Engineering - 5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - + * Tue Aug 08 2017 Richard W.M. Jones - 5-2 - Bump and rebuild. - + * Tue Aug 8 2017 Richard W.M. Jones - 5-1 - Add new macro ocaml_native_profiling. - + * Thu Jul 27 2017 Fedora Release Engineering - 4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - + * Sat Feb 11 2017 Fedora Release Engineering - 4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - + * Tue Nov 8 2016 Richard W.M. Jones - 4-1 - s390x is now a native architecture with OCaml 4.04 in Fedora >= 26. - Add riscv64 as a native arch using out of tree backend. - + * Thu Feb 04 2016 Fedora Release Engineering - 2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - + * Wed Jun 17 2015 Fedora Release Engineering - 2-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - + * Sat Jun 07 2014 Fedora Release Engineering - 2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - + * Fri May 2 2014 Richard W.M. Jones - 2-1 - Move macros to _rpmconfigdir (RHBZ#1093528). - + * Tue Apr 22 2014 Richard W.M. Jones - 1-1 - New package. From 7b6e4e575934d7b7c9f115a799d992f3a274ca9e Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 16:01:49 -0700 Subject: [PATCH 25/45] add signatures file for ocaml-srpm-macros --- SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json new file mode 100644 index 00000000000..4741bd80241 --- /dev/null +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json @@ -0,0 +1,5 @@ +{ + "Signatures": { + "macros.ocaml-srpm": "f1c9c71f9f1327d55d99a6136221a2af147d5915c88570058b18189b2ca27593" + } +} From 5f72c4ba10c423d3f7daabe64e2031cbcd8a7ea5 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 16:02:41 -0700 Subject: [PATCH 26/45] fix distribution tag for ocaml-srpm-macros --- SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec index 04c39e3ac76..4061a8b907f 100644 --- a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec @@ -15,7 +15,7 @@ License: GPL-2.0-or-later # NB. This package MUST NOT Require anything (except for dependencies # that RPM itself generates). Vendor: Microsoft Corporation -Distribution: Mariner +Distribution: Azure Linux Source0: macros.ocaml-srpm BuildArch: noarch From 52b4a324ebf239ace6e4c8075b49378b425598fa Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Tue, 14 May 2024 16:51:05 -0700 Subject: [PATCH 27/45] fix signature --- SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json index 4741bd80241..8689edaa258 100644 --- a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.signatures.json @@ -1,5 +1,5 @@ { "Signatures": { - "macros.ocaml-srpm": "f1c9c71f9f1327d55d99a6136221a2af147d5915c88570058b18189b2ca27593" + "macros.ocaml-srpm": "7e10cb8eadc47b9e33c1327f0d5fa2490122fefc04bc4f8432ec0a5fea058725" } } From 9890520fdbaacc1a8f672d8af8911e97b5013b4f Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Wed, 15 May 2024 12:25:37 -0700 Subject: [PATCH 28/45] remove not needed file --- SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec index 38fa21f8da3..23039b2974d 100644 --- a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec +++ b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec @@ -120,7 +120,6 @@ install -p -m 644 -t %{buildroot}%{rcluadir}/srpm python.lua %{_rpmconfigdir}/macros.d/macros.openblas-srpm %{_rpmconfigdir}/macros.d/macros.nodejs-srpm %{_rpmconfigdir}/macros.d/macros.mono-srpm -%{_rpmconfigdir}/macros.d/macros.ocaml-srpm %{_rpmconfigdir}/macros.d/macros.perl-srpm %{_rpmconfigdir}/macros.d/macros.rust-srpm %{_rpmconfigdir}/macros.d/macros.fonts From a132e28c2bae95d84479c6360b7b3dbdc5c63b7d Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 15 May 2024 14:56:13 -0700 Subject: [PATCH 29/45] fix spacing and the macro used --- SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec | 2 +- SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec index 23039b2974d..a6e8315070e 100644 --- a/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec +++ b/SPECS/azurelinux-rpm-macros/azurelinux-rpm-macros.spec @@ -21,7 +21,7 @@ Source5: macros.check Source6: macros.openblas-srpm Source7: macros.nodejs-srpm Source8: macros.mono-srpm -Source9: macros.perl-srpm +Source9: macros.perl-srpm Source10: gpgverify Source11: macros.forge Source12: common.lua diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec index 4061a8b907f..41db8752b38 100644 --- a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec @@ -31,12 +31,12 @@ SRPMS. It does not pull in any other OCaml dependencies. %install -mkdir -p %{buildroot}%{rpmmacrodir} -install -m 0644 %{SOURCE0} %{buildroot}%{rpmmacrodir}/macros.ocaml-srpm +mkdir -p %{buildroot}%{_rpmmacrodir} +install -m 0644 %{SOURCE0} %{buildroot}%{_rpmmacrodir}/macros.ocaml-srpm %files -%{rpmmacrodir}/macros.ocaml-srpm +%{_rpmmacrodir}/macros.ocaml-srpm %changelog * Tue May 14 2024 Mykhailo Bykhovtsev - 9-3 From 72a3cef85ba30c6d0a4b27609f286de5eab107e7 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 21 May 2024 14:38:14 -0700 Subject: [PATCH 30/45] address PR comments --- .../ocaml-parsexp.signatures.json | 5 - .../ocaml-parsexp/ocaml-parsexp.spec | 153 ------- .../ocaml-sexplib.signatures.json | 5 - .../ocaml-sexplib/ocaml-sexplib.spec | 373 ------------------ SPECS/graphviz/graphviz.spec | 2 +- SPECS/hivex/hivex.spec | 2 +- SPECS/nbdkit/nbdkit.spec | 2 +- SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec | 2 +- .../ocaml-camlp-streams.spec | 2 +- SPECS/ocaml-camomile/ocaml-camomile.spec | 2 +- SPECS/ocaml-cinaps/ocaml-cinaps.spec | 2 +- .../ocaml-compiler-libs-janestreet.spec | 4 +- SPECS/ocaml-cppo/ocaml-cppo.spec | 2 +- SPECS/ocaml-findlib/ocaml-findlib.spec | 14 +- SPECS/ocaml-gettext/ocaml-gettext.spec | 4 +- SPECS/ocaml-parsexp/ocaml-parsexp.spec | 7 +- SPECS/ocaml-pp/ocaml-pp.spec | 3 +- SPECS/ocaml-ppx-here/ocaml-ppx-here.spec | 3 +- SPECS/ocaml-ppx-let/ocaml-ppx-let.spec | 4 +- SPECS/ocaml-ppxlib/ocaml-ppxlib.spec | 3 + SPECS/ocaml-re/ocaml-re.spec | 8 +- SPECS/ocaml-react/ocaml-react.spec | 2 +- SPECS/ocaml-sexplib/ocaml-sexplib.spec | 13 +- SPECS/ocaml-sexplib0/ocaml-sexplib0.spec | 2 +- .../ocaml-srpm-macros/ocaml-srpm-macros.spec | 4 +- .../ocaml-stdlib-random.spec | 3 +- SPECS/ocaml-topkg/ocaml-topkg.spec | 2 +- SPECS/ocaml/ocaml.spec | 16 +- SPECS/vim/vim.spec | 11 +- .../manifests/package/pkggen_core_aarch64.txt | 2 +- .../manifests/package/pkggen_core_x86_64.txt | 2 +- .../manifests/package/toolchain_aarch64.txt | 2 +- .../manifests/package/toolchain_x86_64.txt | 2 +- .../build_official_toolchain_rpms.sh | 4 + 34 files changed, 72 insertions(+), 595 deletions(-) delete mode 100644 SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.signatures.json delete mode 100644 SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.spec delete mode 100644 SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.signatures.json delete mode 100644 SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.spec diff --git a/SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.signatures.json b/SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.signatures.json deleted file mode 100644 index c6fe9dbacfe..00000000000 --- a/SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.signatures.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "Signatures": { - "parsexp-0.15.0.tar.gz": "0be4737dcc3fb459d5eabfa436330de9945e5c1dcb5a101c51415e17c7aa1fb1" - } -} diff --git a/SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.spec b/SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.spec deleted file mode 100644 index e9c767ed628..00000000000 --- a/SPECS-EXTENDED/ocaml-parsexp/ocaml-parsexp.spec +++ /dev/null @@ -1,153 +0,0 @@ -Vendor: Microsoft Corporation -Distribution: Azure Linux -%ifnarch %{ocaml_native_compiler} -%global debug_package %{nil} -%endif - -%global srcname parsexp - -Name: ocaml-%{srcname} -Version: 0.15.0 -Release: 1%{?dist} -Summary: S-expression parsing library - -License: MIT -URL: https://github.com/janestreet/parsexp -Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz - -BuildRequires: ocaml >= 4.08.0 -BuildRequires: ocaml-base-devel >= 0.15 -BuildRequires: ocaml-dune >= 2.0.0 -BuildRequires: ocaml-sexplib0-devel >= 0.15 - -%description -This library provides generic parsers for parsing S-expressions from -strings or other media. - -The library is focused on performance but still provides full generic -parsers that can be used effortlessly with strings, bigstrings, lexing -buffers, character streams or any other source. - -It provides three different classes of parsers: -- the normal parsers, producing [Sexp.t] or [Sexp.t list] values; -- the parsers with positions, building compact position sequences so - that one can recover original positions in order to properly report - error locations at little cost; and -- the Concrete Syntax Tree parsers, producing values of type - [Parsexp.Cst.t] which record the concrete layout of the s-expression - syntax, including comments. - -This library is portable and doesn't provide I/O functions. To read -s-expressions from files or other external sources, you should use -parsexp_io. - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: ocaml-base-devel%{?_isa} - -%description devel -The %{name}-devel package contains libraries and signature files for -developing applications that use %{name}. - -%prep -%autosetup -n %{srcname}-%{version} - -%build -dune build %{?_smp_mflags} - -%install -dune install --destdir=%{buildroot} - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod 0755 {} \+ -%endif - -%check -dune runtest - -%files -%doc CHANGES.md README.org -%license LICENSE.md -%dir %{_libdir}/ocaml/%{srcname}/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cma -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxs -%endif - -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}*.a -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmx -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmt -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmti -%{_libdir}/ocaml/%{srcname}/*.ml -%{_libdir}/ocaml/%{srcname}/*.mli - -%changelog -* Tue Jan 18 2022 Thomas Crain - 0.15.0-1 -- Upgrade to latest version -- License verified - -* Fri Oct 15 2021 Pawel Winogrodzki - 0.14.0-9 -- Initial CBL-Mariner import from Fedora 34 (license: MIT). - -* Mon Feb 22 2021 Jerry James - 0.14.0-8 -- Rebuild for ocaml-base 0.14.1 - -* Tue Feb 2 2021 Richard W.M. Jones - 0.14.0-7 -- Bump and rebuild for updated ocaml-camomile dep (RHBZ#1923853). - -* Tue Jan 26 2021 Fedora Release Engineering - 0.14.0-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Sep 01 2020 Richard W.M. Jones - 0.14.0-5 -- OCaml 4.11.1 rebuild - -* Fri Aug 21 2020 Richard W.M. Jones - 0.14.0-4 -- OCaml 4.11.0 rebuild - -* Sat Aug 01 2020 Fedora Release Engineering - 0.14.0-3 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 0.14.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jun 17 2020 Jerry James - 0.14.0-1 -- Version 0.14 - -* Mon May 04 2020 Richard W.M. Jones - 0.13.0-8 -- OCaml 4.11.0+dev2-2020-04-22 rebuild - -* Tue Apr 21 2020 Richard W.M. Jones - 0.13.0-7 -- OCaml 4.11.0 pre-release attempt 2 - -* Fri Apr 03 2020 Richard W.M. Jones - 0.13.0-6 -- Update all OCaml dependencies for RPM 4.16. - -* Wed Feb 26 2020 Richard W.M. Jones - 0.13.0-5 -- OCaml 4.10.0 final. - -* Wed Jan 29 2020 Fedora Release Engineering - 0.13.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sun Jan 19 2020 Richard W.M. Jones - 0.13.0-3 -- OCaml 4.10.0+beta1 rebuild. - -* Thu Jan 16 2020 Jerry James - 0.13.0-2 -- Change -devel subpackage Requires to ocaml-base-devel -- Build in parallel - -* Fri Jan 10 2020 Jerry James - 0.13.0-1 -- Initial RPM diff --git a/SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.signatures.json b/SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.signatures.json deleted file mode 100644 index 09adbcf5911..00000000000 --- a/SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.signatures.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "Signatures": { - "sexplib-0.15.0.tar.gz": "4a1e558b71e327784081d6e68a21577e3089a16740a1c8077b2b2129549f5b0c" - } -} diff --git a/SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.spec b/SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.spec deleted file mode 100644 index 624498b4fcc..00000000000 --- a/SPECS-EXTENDED/ocaml-sexplib/ocaml-sexplib.spec +++ /dev/null @@ -1,373 +0,0 @@ -Vendor: Microsoft Corporation -Distribution: Azure Linux -%ifnarch %{ocaml_native_compiler} -%global debug_package %{nil} -%endif - -%bcond_with vim - -%global srcname sexplib - -Name: ocaml-%{srcname} -Version: 0.15.0 -Release: 1%{?dist} -Summary: Automated S-expression conversion - -# The project as a whole is MIT, but code in the src subdirectory is BSD. -License: MIT and BSD -URL: https://github.com/janestreet/%{srcname} -Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz - -BuildRequires: ocaml >= 4.04.2 -BuildRequires: ocaml-dune >= 2.0.0 -BuildRequires: ocaml-findlib -BuildRequires: ocaml-num-devel -BuildRequires: ocaml-parsexp-devel -BuildRequires: ocaml-sexplib0-devel -%if %{with vim} -BuildRequires: vim-filesystem -%endif - -%description -This package contains a library for serializing OCaml values to and from -S-expressions. - -%package devel -Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: ocaml-num-devel%{?_isa} -Requires: ocaml-parsexp-devel%{?_isa} - -%description devel -The %{name}-devel package contains libraries and signature files for -developing applications that use %{name}. - -%if %{with vim} -%package vim -Summary: Support for sexplib syntax in vim -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: vim-filesystem - -%description vim -This package contains a vim syntax file for Sexplib. -%endif - -%prep -%autosetup -n %{srcname}-%{version} - -%build -dune build %{?_smp_mflags} - -%install -dune install --destdir=%{buildroot} - -%if %{with vim} -# Install the vim support -mkdir -p %{buildroot}%{vimfiles_root}/syntax -cp -p vim/syntax/sexplib.vim %{buildroot}%{vimfiles_root}/syntax -%endif - -# We install the documentation with the doc macro -rm -fr %{buildroot}%{_prefix}/doc - -%ifarch %{ocaml_native_compiler} -# Add missing executable bits -find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod 0755 {} \+ -%endif - -%files -%doc CHANGES.md README.org -%license COPYRIGHT.txt LICENSE.md LICENSE-Tywith.txt THIRD-PARTY.txt -%dir %{_libdir}/ocaml/%{srcname}/ -%dir %{_libdir}/ocaml/%{srcname}/num/ -%dir %{_libdir}/ocaml/%{srcname}/unix/ -%{_libdir}/ocaml/%{srcname}/META -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cma -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmi -%{_libdir}/ocaml/%{srcname}/num/*.cma -%{_libdir}/ocaml/%{srcname}/num/*.cmi -%{_libdir}/ocaml/%{srcname}/unix/*.cma -%{_libdir}/ocaml/%{srcname}/unix/*.cmi -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxs -%{_libdir}/ocaml/%{srcname}/num/*.cmxs -%{_libdir}/ocaml/%{srcname}/unix/*.cmxs -%endif - -%files devel -%{_libdir}/ocaml/%{srcname}/dune-package -%{_libdir}/ocaml/%{srcname}/opam -%ifarch %{ocaml_native_compiler} -%{_libdir}/ocaml/%{srcname}/%{srcname}*.a -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmx -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmxa -%{_libdir}/ocaml/%{srcname}/num/*.a -%{_libdir}/ocaml/%{srcname}/num/*.cmx -%{_libdir}/ocaml/%{srcname}/num/*.cmxa -%{_libdir}/ocaml/%{srcname}/unix/*.a -%{_libdir}/ocaml/%{srcname}/unix/*.cmx -%{_libdir}/ocaml/%{srcname}/unix/*.cmxa -%endif -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmt -%{_libdir}/ocaml/%{srcname}/%{srcname}*.cmti -%{_libdir}/ocaml/%{srcname}/*.ml -%{_libdir}/ocaml/%{srcname}/*.mli -%{_libdir}/ocaml/%{srcname}/num/*.cmt -%{_libdir}/ocaml/%{srcname}/num/*.cmti -%{_libdir}/ocaml/%{srcname}/num/*.ml -%{_libdir}/ocaml/%{srcname}/num/*.mli -%{_libdir}/ocaml/%{srcname}/unix/*.cmt -%{_libdir}/ocaml/%{srcname}/unix/*.ml - -%if %{with vim} -%files vim -%{vimfiles_root}/syntax/sexplib.vim -%endif - -%changelog -* Tue Jan 18 2022 Thomas Crain - 0.15.0-1 -- Upgrade to latest version -- License verified - -* Thu Dec 2 2021 Muhammad Falak - 0.14.0-7 -- Remove epoch. - -* Mon Aug 09 2021 Thomas Crain - 1:0.14.0-6 -- Initial CBL-Mariner import from Fedora 34 (license: MIT). -- Diable vim subpackage by default - -* Tue Feb 2 2021 Richard W.M. Jones - 1:0.14.0-5 -- Bump and rebuild for updated ocaml-camomile dep (RHBZ#1923853). - -* Tue Jan 26 2021 Fedora Release Engineering - 1:0.14.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Sep 01 2020 Richard W.M. Jones - 1:0.14.0-3 -- OCaml 4.11.1 rebuild - -* Fri Aug 21 2020 Richard W.M. Jones - 1:0.14.0-2 -- OCaml 4.11.0 rebuild - -* Tue Aug 4 2020 Jerry James - 1:0.14.0-1 -- Version 0.14.0 - -* Sat Aug 01 2020 Fedora Release Engineering - 1:0.13.0-12 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 1:0.13.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Thu Jul 23 2020 Richard W.M. Jones - 1:0.13.0-10 -- Rebuild to resolve build order symbol problems. - -* Tue May 05 2020 Richard W.M. Jones - 1:0.13.0-9 -- OCaml 4.11.0+dev2-2020-04-22 rebuild - -* Tue Apr 21 2020 Richard W.M. Jones - 1:0.13.0-8 -- OCaml 4.11.0 pre-release attempt 2 - -* Fri Apr 03 2020 Richard W.M. Jones - 1:0.13.0-7 -- Update all OCaml dependencies for RPM 4.16. - -* Wed Feb 26 2020 Richard W.M. Jones - 1:0.13.0-6 -- OCaml 4.10.0 final. - -* Wed Jan 29 2020 Fedora Release Engineering - 1:0.13.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sun Jan 19 2020 Richard W.M. Jones - 1:0.13.0-4 -- Bump release and rebuild. - -* Sun Jan 19 2020 Richard W.M. Jones - 1:0.13.0-3 -- OCaml 4.10.0+beta1 rebuild. - -* Thu Jan 16 2020 Jerry James - 1:0.13.0-2 -- Add ocaml-parsexp-devel R to -devel -- Build in parallel - -* Fri Jan 10 2020 Jerry James - 1:0.13.0-1 -- Switch to the Jane Street version - -* Thu Jul 25 2019 Fedora Release Engineering - 7.0.5-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 7.0.5-33 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 7.0.5-32 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Jul 11 2018 Richard W.M. Jones - 7.0.5-31 -- OCaml 4.07.0 (final) rebuild. - -* Wed Jun 20 2018 Richard W.M. Jones - 7.0.5-30 -- OCaml 4.07.0-rc1 rebuild. - -* Thu Feb 08 2018 Fedora Release Engineering - 7.0.5-29 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Fri Nov 17 2017 Richard W.M. Jones - 7.0.5-28 -- OCaml 4.06.0 rebuild. - -* Tue Aug 08 2017 Richard W.M. Jones - 7.0.5-27 -- OCaml 4.05.0 rebuild. - -* Thu Aug 03 2017 Fedora Release Engineering - 7.0.5-26 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 7.0.5-25 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Tue Jun 27 2017 Richard W.M. Jones - 7.0.5-24 -- OCaml 4.04.2 rebuild. - -* Fri May 12 2017 Richard W.M. Jones - 7.0.5-23 -- OCaml 4.04.1 rebuild. - -* Sat Feb 11 2017 Fedora Release Engineering - 7.0.5-22 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Nov 08 2016 Richard W.M. Jones - 7.0.5-21 -- Rebuild for OCaml 4.04.0. - -* Thu Feb 04 2016 Fedora Release Engineering - 7.0.5-20 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Tue Jul 28 2015 Richard W.M. Jones - 7.0.5-19 -- OCaml 4.02.3 rebuild. - -* Wed Jun 24 2015 Richard W.M. Jones - 7.0.5-18 -- ocaml-4.02.2 final rebuild. - -* Wed Jun 17 2015 Richard W.M. Jones - 7.0.5-17 -- ocaml-4.02.2 rebuild. - -* Tue Feb 17 2015 Richard W.M. Jones - 7.0.5-16 -- ocaml-4.02.1 rebuild. - -* Thu Sep 25 2014 Jerry James - 7.0.5-15 -- Drop obsolete ExcludeArch -- Fix license handling -- Fix changelog dates - -* Sun Aug 31 2014 Richard W.M. Jones - 7.0.5-14 -- ocaml-4.02.0 final rebuild. - -* Sat Aug 23 2014 Richard W.M. Jones - 7.0.5-13 -- ocaml-4.02.0+rc1 rebuild. - -* Sun Aug 17 2014 Fedora Release Engineering - 7.0.5-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sat Aug 02 2014 Richard W.M. Jones - 7.0.5-11 -- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. - -* Mon Jul 21 2014 Richard W.M. Jones - 7.0.5-10 -- OCaml 4.02.0 beta rebuild. - -* Sat Jun 07 2014 Fedora Release Engineering - 7.0.5-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Wed Mar 19 2014 Richard W.M. Jones - 7.0.5-8 -- Rebuild against latest Arg module. - -* Thu Sep 19 2013 Richard W.M. Jones - 7.0.5-7 -- OCaml 4.01.0 rebuild. -- Modernize the spec file. - -* Sat Aug 03 2013 Fedora Release Engineering - 7.0.5-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Thu Feb 14 2013 Fedora Release Engineering - 7.0.5-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild - -* Tue Oct 30 2012 Richard W.M. Jones - 7.0.5-4 -- Rebuild for OCaml 4.00.1. - -* Mon Jul 30 2012 Richard W.M. Jones - 7.0.5-3 -- Patch for OCaml 4.00.0 official. - -* Fri Jul 20 2012 Fedora Release Engineering - 7.0.5-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Mon Jun 11 2012 Richard W.M. Jones - 7.0.5-1 -- Update to latest upstream version 7.0.5. -- Rebuild for OCaml 4.00.0. - -* Fri Jan 06 2012 Richard W.M. Jones - 7.0.4-2 -- Rebuild for OCaml 3.12.1. - -* Tue Sep 27 2011 Michael Ekstrand - 7.0.4-1 -- New upstream release 7.0.4 from forge.ocamlcore.org (#741483) - -* Tue Feb 08 2011 Fedora Release Engineering - 6.0.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Thu Jan 6 2011 Richard W.M. Jones - 6.0.4-1 -- New upstream version 6.0.4. -- Rebuild for OCaml 3.12.0. - -* Wed Dec 30 2009 Richard W.M. Jones - 4.2.15-2 -- Rebuild for OCaml 3.11.2. - -* Sun Oct 4 2009 Richard W.M. Jones - 4.2.15-1 -- New upstream version 4.2.15. - -* Sat Jul 25 2009 Fedora Release Engineering - 4.2.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Fri Jun 12 2009 Richard W.M. Jones - 4.2.10-2 -- Rebuild to try to fix rpmdepsize FTBFS problem. - -* Sat May 23 2009 Richard W.M. Jones - 4.2.10-1 -- Rebuild for OCaml 3.11.1. -- New upstream version 4.2.10. - -* Thu Apr 16 2009 S390x secondary arch maintainer -- ExcludeArch sparc64, s390, s390x as we don't have OCaml on those archs - (added sparc64 per request from the sparc maintainer) - -* Mon Mar 30 2009 Richard W.M. Jones - 4.2.7-2 -- Force rebuild against latest ocaml-type-conv. - -* Tue Mar 10 2009 Richard W.M. Jones - 4.2.7-1 -- New upstream version 4.2.7. -- Fixed source URL. -- Removed the patch as it is now upstream. -- Fixed the doc line. - -* Wed Feb 25 2009 Fedora Release Engineering - 4.2.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Wed Nov 26 2008 Richard W.M. Jones - 4.2.1-2 -- Rebuild for OCaml 3.11.0+rc1. - -* Thu Nov 20 2008 Richard W.M. Jones - 4.2.1-1 -- New upstream version 4.2.1. - -* Wed Nov 19 2008 Richard W.M. Jones - 4.0.1-2 -- Rebuild for OCaml 3.11.0 - -* Sun Aug 31 2008 Richard W.M. Jones - 4.0.1-1 -- New upstream release 4.0.1. -- Patch a build problem in the test suite. -- ml file should be packaged in the -devel subpackage, not in main. - -* Mon May 12 2008 Richard W.M. Jones - 3.7.4-2 -- Added BR ocaml-camlp4-devel. -- Added a check section to run the included tests. - -* Sat May 3 2008 Richard W.M. Jones - 3.7.4-1 -- New upstream version 3.7.4. - -* Wed Apr 23 2008 Richard W.M. Jones - 3.7.1-1 -- New upstream version 3.7.1. -- Fixed upstream URL. -- Depend on latest type-conv. - -* Wed Mar 5 2008 Richard W.M. Jones - 3.5.0-2 -- Remove ExcludeArch ppc64. - -* Sun Feb 24 2008 Richard W.M. Jones - 3.5.0-1 -- Initial RPM release. diff --git a/SPECS/graphviz/graphviz.spec b/SPECS/graphviz/graphviz.spec index f9fb20b81ed..0695ca27648 100644 --- a/SPECS/graphviz/graphviz.spec +++ b/SPECS/graphviz/graphviz.spec @@ -517,7 +517,7 @@ php --no-php-ini \ %{_mandir}/man3/*.3tcl* %changelog -* Wed May 08 2024 Mykhailo Bykhovtsev - 2.42.4-11 +* Wed May 08 2024 Mykhailo Bykhovtsev - 2.42.4-11 - Rebuild with ocaml 5.1.1 * Tue Feb 06 2024 Dan Streetman - 2.42.4-10 diff --git a/SPECS/hivex/hivex.spec b/SPECS/hivex/hivex.spec index 34b30f2e7ad..674faf90867 100644 --- a/SPECS/hivex/hivex.spec +++ b/SPECS/hivex/hivex.spec @@ -250,7 +250,7 @@ fi %{ruby_vendorarchdir}/_hivex.so %changelog -* Wed May 08 2024 Mykhailo Bykhovtsev - 1.3.23-2 +* Wed May 08 2024 Mykhailo Bykhovtsev - 1.3.23-2 - Rebuild with using ocaml 5.1.1 - Add patches for Ruby and gettext. Imported from Fedora 41 diff --git a/SPECS/nbdkit/nbdkit.spec b/SPECS/nbdkit/nbdkit.spec index 9a8a71b92ca..4ed1738f277 100644 --- a/SPECS/nbdkit/nbdkit.spec +++ b/SPECS/nbdkit/nbdkit.spec @@ -1195,7 +1195,7 @@ export LIBGUESTFS_TRACE=1 %changelog -* Thu May 02 2024 Mykhailo Bykhovtsev - 1.35.3-5 +* Thu May 02 2024 Mykhailo Bykhovtsev - 1.35.3-5 - Upgraded ocaml dependency to 5.1.1 * Fri Feb 16 2024 Andrew Phelps - 1.35.3-4 diff --git a/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec b/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec index 66a7ce7ed95..ae8fdd6822e 100644 --- a/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec +++ b/SPECS/ocaml-bisect-ppx/ocaml-bisect-ppx.spec @@ -112,7 +112,7 @@ find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete %{_libdir}/ocaml/%{upname}/runtime/*.mli %changelog -* Mon May 06 2024 Mykhailo Bykhovtsev - 2.6.3-4 +* Mon May 06 2024 Mykhailo Bykhovtsev - 2.6.3-4 - Rebuild using ocaml 5.1.1 * Thu Mar 31 2022 Pawel Winogrodzki - 2.6.3-3 diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec index 6e72bd43e20..be43261753e 100644 --- a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec @@ -66,7 +66,7 @@ files for developing applications that use %{name}. %files devel -f .ofiles-devel %changelog -* Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 +* Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified diff --git a/SPECS/ocaml-camomile/ocaml-camomile.spec b/SPECS/ocaml-camomile/ocaml-camomile.spec index 5715d01cbad..e442ac3af14 100644 --- a/SPECS/ocaml-camomile/ocaml-camomile.spec +++ b/SPECS/ocaml-camomile/ocaml-camomile.spec @@ -100,7 +100,7 @@ sed -i '\@%{_datadir}@d' .ofiles %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 2.0.0-1 +* Fri May 03 2024 Mykhailo Bykhovtsev - 2.0.0-1 - Converted spec file to match with Fedora 41. - Upgraded to version 2.0.0 diff --git a/SPECS/ocaml-cinaps/ocaml-cinaps.spec b/SPECS/ocaml-cinaps/ocaml-cinaps.spec index 12d363d05b0..301337c7e2a 100644 --- a/SPECS/ocaml-cinaps/ocaml-cinaps.spec +++ b/SPECS/ocaml-cinaps/ocaml-cinaps.spec @@ -67,7 +67,7 @@ help2man -N --version-string=%{version} %{buildroot}%{_bindir}/cinaps > \ %files devel -f .ofiles-devel %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 0.15.1-4 +* Fri May 03 2024 Mykhailo Bykhovtsev - 0.15.1-4 - Converted spec file to match with Fedora 41. - Rebuild with ocaml >= 5.1.1 diff --git a/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec b/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec index baeb15797d8..8b161c2b504 100644 --- a/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec +++ b/SPECS/ocaml-compiler-libs-janestreet/ocaml-compiler-libs-janestreet.spec @@ -37,8 +37,10 @@ signature files for developing applications that use %build %dune_build + %install %dune_install + %files -f .ofiles %doc README.org %license LICENSE.md @@ -46,7 +48,7 @@ signature files for developing applications that use %files devel -f .ofiles-devel %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 0.12.4-2 +* Fri May 03 2024 Mykhailo Bykhovtsev - 0.12.4-2 - Converted spec file to match with Fedora 41. - Rebuild for OCaml 5.1.1 and dune >= 2.8 diff --git a/SPECS/ocaml-cppo/ocaml-cppo.spec b/SPECS/ocaml-cppo/ocaml-cppo.spec index 14f1dcce5a5..988f437eff9 100644 --- a/SPECS/ocaml-cppo/ocaml-cppo.spec +++ b/SPECS/ocaml-cppo/ocaml-cppo.spec @@ -71,7 +71,7 @@ at build time. To use it, call ocamlbuild with the argument %{_libdir}/ocaml/cppo_ocamlbuild/ %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 1.6.9-1 +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.6.9-1 - Converted spec file to match with Fedora 41. - Upgrade to 1.6.9 diff --git a/SPECS/ocaml-findlib/ocaml-findlib.spec b/SPECS/ocaml-findlib/ocaml-findlib.spec index 4300a2cec65..46e50a03e24 100644 --- a/SPECS/ocaml-findlib/ocaml-findlib.spec +++ b/SPECS/ocaml-findlib/ocaml-findlib.spec @@ -79,19 +79,19 @@ rm doc/guide-html/TIMESTAMP %install # Grrr destdir grrrr -mkdir -p $RPM_BUILD_ROOT%{_bindir} -mkdir -p $RPM_BUILD_ROOT%{_mandir}/man{1,5} +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_mandir}/man{1,5} make install \ - prefix=$RPM_BUILD_ROOT \ + prefix=%{buildroot} \ OCAMLFIND_BIN=%{_bindir} \ OCAMLFIND_MAN=%{_mandir} # Remove spurious executable bits -chmod 0644 $RPM_BUILD_ROOT%{_mandir}/man{1,5}/* -chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.{cma,cmi,ml,mli} -chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/{META,Makefile*} +chmod 0644 %{buildroot}%{_mandir}/man{1,5}/* +chmod 0644 %{buildroot}%{_libdir}/ocaml/findlib/*.{cma,cmi,ml,mli} +chmod 0644 %{buildroot}%{_libdir}/ocaml/findlib/{META,Makefile*} %ifarch %{ocaml_native_compiler} -chmod 0644 $RPM_BUILD_ROOT%{_libdir}/ocaml/findlib/*.{a,cmxa} +chmod 0644 %{buildroot}%{_libdir}/ocaml/findlib/*.{a,cmxa} %endif %ocaml_files diff --git a/SPECS/ocaml-gettext/ocaml-gettext.spec b/SPECS/ocaml-gettext/ocaml-gettext.spec index e54eb22f4ac..e2a6e26c1d1 100644 --- a/SPECS/ocaml-gettext/ocaml-gettext.spec +++ b/SPECS/ocaml-gettext/ocaml-gettext.spec @@ -35,7 +35,7 @@ BuildRequires: ocaml-cppo BuildRequires: docbook-style-xsl BuildRequires: libxslt BuildRequires: libxml2 -%if %{with tests} +%if %{with_check} BuildRequires: ocaml-ounit-devel %endif %if %{with camomile} @@ -111,10 +111,8 @@ sed -i '\@%{_bindir}@d;\@%{_mandir}@d' .ofiles-gettext cat .ofiles-gettext-stub >> .ofiles-gettext cat .ofiles-gettext-stub-devel >> .ofiles-gettext-devel -%if %{with tests} %check %dune_check -%endif %files -f .ofiles-gettext %license LICENSE.txt diff --git a/SPECS/ocaml-parsexp/ocaml-parsexp.spec b/SPECS/ocaml-parsexp/ocaml-parsexp.spec index ec088e2faec..86071a704d1 100644 --- a/SPECS/ocaml-parsexp/ocaml-parsexp.spec +++ b/SPECS/ocaml-parsexp/ocaml-parsexp.spec @@ -1,5 +1,3 @@ -Vendor: Microsoft Corporation -Distribution: Azure Linux %ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif @@ -10,8 +8,9 @@ Name: ocaml-%{srcname} Version: 0.16.0 Release: 1%{?dist} Summary: S-expression parsing library - License: MIT +Vendor: Microsoft Corporation +Distribution: Azure Linux URL: https://github.com/janestreet/parsexp Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz @@ -68,7 +67,7 @@ developing applications that use %{name}. %files devel -f .ofiles-devel %changelog -* Thu May 02 2024 Mykhailo Bykhovtsev - 0.16.0-1 +* Thu May 02 2024 Mykhailo Bykhovtsev - 0.16.0-1 - Converted spec file to match with Fedora 41. - Upgraded to version 0.16.0 diff --git a/SPECS/ocaml-pp/ocaml-pp.spec b/SPECS/ocaml-pp/ocaml-pp.spec index 6295f5660de..0541dbab71a 100644 --- a/SPECS/ocaml-pp/ocaml-pp.spec +++ b/SPECS/ocaml-pp/ocaml-pp.spec @@ -14,8 +14,9 @@ Name: ocaml-pp Version: 1.2.0 Release: 6%{?dist} Summary: Pretty printing library for OCaml - License: MIT +Vendor: Microsoft Corporation +Distribution: Azure Linux URL: https://github.com/ocaml-dune/pp Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/pp-%{version}.tar.gz diff --git a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec index af6c740d398..095ffddf917 100644 --- a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec +++ b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec @@ -5,8 +5,9 @@ Name: ocaml-ppx-here Version: 0.16.0 Release: 9%{?dist} Summary: Expands [@here] into its location - License: MIT +Vendor: Microsoft Corporation +Distribution: Azure Linux URL: https://github.com/janestreet/ppx_here Source0: %{url}/archive/v%{version}/ppx_here-%{version}.tar.gz diff --git a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec index fd6d3ef5cb0..113eb0ba985 100644 --- a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec +++ b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec @@ -5,11 +5,11 @@ Name: ocaml-ppx-let Version: 0.16.0 Release: 9%{?dist} Summary: Monadic let-bindings for OCaml - License: MIT +Vendor: Microsoft Corporation +Distribution: Azure Linux URL: https://github.com/janestreet/ppx_let Source0: %{url}/archive/v%{version}/ppx_let-%{version}.tar.gz - BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-base-devel >= 0.16 BuildRequires: ocaml-dune >= 2.0.0 diff --git a/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec b/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec index 69fcbb03d23..72cb68698b2 100644 --- a/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec +++ b/SPECS/ocaml-ppxlib/ocaml-ppxlib.spec @@ -64,10 +64,13 @@ signature files for developing applications that use %build %dune_build + %install %dune_install + %check %dune_check + %files -f .ofiles %doc CHANGES.md HISTORY.md README.md %license LICENSE.md diff --git a/SPECS/ocaml-re/ocaml-re.spec b/SPECS/ocaml-re/ocaml-re.spec index b4277166cae..aff03cbc009 100644 --- a/SPECS/ocaml-re/ocaml-re.spec +++ b/SPECS/ocaml-re/ocaml-re.spec @@ -17,7 +17,7 @@ Patch0: %{name}-remove-seq.patch BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune -%if %{with test} +%if %{with_check} BuildRequires: ocaml-ounit-devel %endif @@ -45,12 +45,12 @@ sed -i 's/oUnit/ounit2/' lib_test/fort_unit/dune %build %dune_build + %install %dune_install -%if %{with test} + %check %dune_check -%endif %files -f .ofiles %doc CHANGES.md @@ -60,7 +60,7 @@ sed -i 's/oUnit/ounit2/' lib_test/fort_unit/dune %files devel -f .ofiles-devel %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 1.11.0-1 +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.11.0-1 - Converted spec file to match with Fedora 41. - Upgrade to 1.11.0 - Use ocaml >= 5.1.1 to build diff --git a/SPECS/ocaml-react/ocaml-react.spec b/SPECS/ocaml-react/ocaml-react.spec index ea88bb70c4f..619b070ceac 100644 --- a/SPECS/ocaml-react/ocaml-react.spec +++ b/SPECS/ocaml-react/ocaml-react.spec @@ -71,7 +71,7 @@ ocaml pkg/pkg.ml test %doc CHANGES.md README.md %changelog -* Mon May 06 2024 Mykhailo Bykhovtsev - 1.2.2-1 +* Mon May 06 2024 Mykhailo Bykhovtsev - 1.2.2-1 - Converted spec file to match with Fedora 41. - Upgrade to 1.2.2 - Use ocaml 5.1.1 to build and update other build requirements diff --git a/SPECS/ocaml-sexplib/ocaml-sexplib.spec b/SPECS/ocaml-sexplib/ocaml-sexplib.spec index ae17c83ee00..8cb3b33910a 100644 --- a/SPECS/ocaml-sexplib/ocaml-sexplib.spec +++ b/SPECS/ocaml-sexplib/ocaml-sexplib.spec @@ -1,20 +1,17 @@ -Vendor: Microsoft Corporation -Distribution: Azure Linux %ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif -%bcond_with vim - %global srcname sexplib Name: ocaml-%{srcname} Version: 0.16.0 Release: 1%{?dist} Summary: Automated S-expression conversion - # The project as a whole is MIT, but code in the src subdirectory is BSD. License: MIT and BSD +Vendor: Microsoft Corporation +Distribution: Azure Linux URL: https://github.com/janestreet/%{srcname} Source0: %{url}/archive/v%{version}/%{srcname}-%{version}.tar.gz @@ -23,9 +20,9 @@ BuildRequires: ocaml-dune >= 2.0.0 BuildRequires: ocaml-num-devel BuildRequires: ocaml-parsexp-devel >= 0.16 BuildRequires: ocaml-sexplib0-devel >= 0.16 -BuildRequires: vim +BuildRequires: vim-rpm-macros -%if %{with test} +%if %{with_check} BuildRequires: ocaml-base-devel BuildRequires: ocaml-base-quickcheck-devel BuildRequires: ocaml-core-kernel-devel @@ -70,10 +67,8 @@ This package contains a vim syntax file for Sexplib. mkdir -p %{buildroot}%{vimfiles_root}/syntax cp -p vim/syntax/sexplib.vim %{buildroot}%{vimfiles_root}/syntax -%if %{with test} %check %dune_check -%endif %files -f .ofiles %doc CHANGES.md README.org diff --git a/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec b/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec index 740fa020ad9..eff1a2755a0 100644 --- a/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec +++ b/SPECS/ocaml-sexplib0/ocaml-sexplib0.spec @@ -44,7 +44,7 @@ developing applications that use %{name}. %files devel -f .ofiles-devel %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 0.16.0-2 +* Fri May 03 2024 Mykhailo Bykhovtsev - 0.16.0-2 - Converted spec file to match with Fedora 41. - Updated build requirements to use ocaml >= 5.1.1 - Removed ocaml-findlib build req diff --git a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec index 41db8752b38..00089e6aa90 100644 --- a/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec +++ b/SPECS/ocaml-srpm-macros/ocaml-srpm-macros.spec @@ -10,7 +10,7 @@ Summary: OCaml architecture macros Name: ocaml-srpm-macros Version: 9 -Release: 3%{?dist} +Release: 4%{?dist} License: GPL-2.0-or-later # NB. This package MUST NOT Require anything (except for dependencies # that RPM itself generates). @@ -39,7 +39,7 @@ install -m 0644 %{SOURCE0} %{buildroot}%{_rpmmacrodir}/macros.ocaml-srpm %{_rpmmacrodir}/macros.ocaml-srpm %changelog -* Tue May 14 2024 Mykhailo Bykhovtsev - 9-3 +* Tue May 14 2024 Mykhailo Bykhovtsev - 9-4 - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec index 355d8527bb6..47f18840142 100644 --- a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -2,8 +2,9 @@ Name: ocaml-stdlib-random Version: 1.2.0 Release: 1%{?dist} Summary: Versioned Random module from the OCaml standard library - License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception +Vendor: Microsoft Corporation +Distribution: Azure Linux URL: https://github.com/ocaml/stdlib-random Source0: %{url}/archive/%{version}/stdlib-random-%{version}.tar.gz diff --git a/SPECS/ocaml-topkg/ocaml-topkg.spec b/SPECS/ocaml-topkg/ocaml-topkg.spec index c91fcf6ab78..daea15cc163 100644 --- a/SPECS/ocaml-topkg/ocaml-topkg.spec +++ b/SPECS/ocaml-topkg/ocaml-topkg.spec @@ -130,7 +130,7 @@ ocaml pkg/pkg.ml test %endif %changelog -* Mon May 06 2024 Mykhailo Bykhovtsev - 1.0.7-2 +* Mon May 06 2024 Mykhailo Bykhovtsev - 1.0.7-2 - Converted spec file to match with Fedora 41. - Use ocaml 5.1.1 to build and update build process diff --git a/SPECS/ocaml/ocaml.spec b/SPECS/ocaml/ocaml.spec index 5abbc7b13fa..d8ec4af2c41 100644 --- a/SPECS/ocaml/ocaml.spec +++ b/SPECS/ocaml/ocaml.spec @@ -309,21 +309,21 @@ make -j1 tests ||: %install %make_install -perl -pi -e "s|^$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf +perl -pi -e "s|^%{buildroot}||" %{buildroot}%{_libdir}/ocaml/ld.conf -echo %{version} > $RPM_BUILD_ROOT%{_libdir}/ocaml/fedora-ocaml-release +echo %{version} > %{buildroot}%{_libdir}/ocaml/fedora-ocaml-release # Remove the installed documentation. We will install it using %%doc -rm -rf $RPM_BUILD_ROOT%{_docdir}/ocaml +rm -rf %{buildroot}%{_docdir}/ocaml -mkdir -p $RPM_BUILD_ROOT%{_rpmmacrodir} -install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_rpmmacrodir}/macros.ocaml-rpm +mkdir -p %{buildroot}%{_rpmmacrodir} +install -m 0644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.ocaml-rpm -mkdir -p $RPM_BUILD_ROOT%{_rpmconfigdir}/azl -install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_rpmconfigdir}/azl +mkdir -p %{buildroot}%{_rpmconfigdir}/azl +install -m 0644 %{SOURCE2} %{buildroot}%{_rpmconfigdir}/azl # Link, rather than copy, identical binaries -hardlink -t $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs +hardlink -t %{buildroot}%{_libdir}/ocaml/stublibs %files diff --git a/SPECS/vim/vim.spec b/SPECS/vim/vim.spec index b73ed7e887c..7d5f0f1dee2 100644 --- a/SPECS/vim/vim.spec +++ b/SPECS/vim/vim.spec @@ -26,6 +26,9 @@ Requires: %{name} = %{version}-%{release} Requires: tcsh Conflicts: toybox +%package rpm-macros +Summary: RPM macros for Vim text editor + %description extra The vim extra package contains a extra files for powerful text editor. @@ -205,9 +208,15 @@ fi %{_bindir}/rview %{_bindir}/vim %{_bindir}/vimdiff + +%files rpm-macros %{_rpmconfigdir}/macros.d/macros.vim %changelog +* Tue May 21 2024 Mykhailo Bykhovtsev - 9.0.2190-3 +- Added vim-rpm-macros subpackage +- Add macros.vim to the new subpackage + * Thu Mar 21 2024 Andy Zaugg - 9.0.2190-2 - Tweek vimrc, remove double escape quit, remove vim bell, add ai and hlsearch and add :W for sudo write @@ -219,7 +228,7 @@ fi - Remove patches that no longer apply in the new version. - Remove file listed twice. -* Wed Oct 11 2023 Mykhailo Bykhovtsev - 9.0.1897-3 +* Wed Oct 11 2023 Mykhailo Bykhovtsev - 9.0.1897-3 - Patch CVE-2023-5441 * Mon Oct 09 2023 Mitch Zhu - 9.0.1897-2 diff --git a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt index c49f1cabd13..0ccc659a68a 100644 --- a/toolkit/resources/manifests/package/pkggen_core_aarch64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_aarch64.txt @@ -165,7 +165,7 @@ texinfo-7.0.3-1.azl3.aarch64.rpm gtk-doc-1.33.2-1.azl3.noarch.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm -ocaml-srpm-macros-9-3.azl3.noarch.rpm +ocaml-srpm-macros-9-4.azl3.noarch.rpm openssl-devel-3.3.0-1.azl3.aarch64.rpm openssl-libs-3.3.0-1.azl3.aarch64.rpm openssl-perl-3.3.0-1.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt index c4b987ddb62..b650dfb2c62 100644 --- a/toolkit/resources/manifests/package/pkggen_core_x86_64.txt +++ b/toolkit/resources/manifests/package/pkggen_core_x86_64.txt @@ -165,7 +165,7 @@ texinfo-7.0.3-1.azl3.x86_64.rpm gtk-doc-1.33.2-1.azl3.noarch.rpm autoconf-2.72-1.azl3.noarch.rpm automake-1.16.5-1.azl3.noarch.rpm -ocaml-srpm-macros-9-3.azl3.noarch.rpm +ocaml-srpm-macros-9-4.azl3.noarch.rpm openssl-devel-3.3.0-1.azl3.x86_64.rpm openssl-libs-3.3.0-1.azl3.x86_64.rpm openssl-perl-3.3.0-1.azl3.x86_64.rpm diff --git a/toolkit/resources/manifests/package/toolchain_aarch64.txt b/toolkit/resources/manifests/package/toolchain_aarch64.txt index 1f10fafb7c9..1bea62acec4 100644 --- a/toolkit/resources/manifests/package/toolchain_aarch64.txt +++ b/toolkit/resources/manifests/package/toolchain_aarch64.txt @@ -275,7 +275,7 @@ npth-1.6-4.azl3.aarch64.rpm npth-debuginfo-1.6-4.azl3.aarch64.rpm npth-devel-1.6-4.azl3.aarch64.rpm ntsysv-1.25-1.azl3.aarch64.rpm -ocaml-srpm-macros-9-3.azl3.noarch.rpm +ocaml-srpm-macros-9-4.azl3.noarch.rpm openssl-3.3.0-1.azl3.aarch64.rpm openssl-debuginfo-3.3.0-1.azl3.aarch64.rpm openssl-devel-3.3.0-1.azl3.aarch64.rpm diff --git a/toolkit/resources/manifests/package/toolchain_x86_64.txt b/toolkit/resources/manifests/package/toolchain_x86_64.txt index a0944bbe138..0b53cc7ebd9 100644 --- a/toolkit/resources/manifests/package/toolchain_x86_64.txt +++ b/toolkit/resources/manifests/package/toolchain_x86_64.txt @@ -281,7 +281,7 @@ npth-1.6-4.azl3.x86_64.rpm npth-debuginfo-1.6-4.azl3.x86_64.rpm npth-devel-1.6-4.azl3.x86_64.rpm ntsysv-1.25-1.azl3.x86_64.rpm -ocaml-srpm-macros-9-3.azl3.noarch.rpm +ocaml-srpm-macros-9-4.azl3.noarch.rpm openssl-3.3.0-1.azl3.x86_64.rpm openssl-debuginfo-3.3.0-1.azl3.x86_64.rpm openssl-devel-3.3.0-1.azl3.x86_64.rpm diff --git a/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh b/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh index 95593e0d660..77e2b3720d2 100755 --- a/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh +++ b/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh @@ -556,6 +556,10 @@ build_rpm_in_chroot_no_install pyproject-rpm-macros chroot_and_install_rpms pyproject-rpm-macros pyproject-rpm-macros chroot_and_install_rpms pyproject-rpm-macros pyproject-srpm-macros +# ocaml and other ocmal packages require ocaml-srpm-macros +build_rpm_in_chroot_no_install ocaml-srpm-macros +chroot_and_install_rpms ocaml-srpm-macros ocaml-srpm-macros + build_rpm_in_chroot_no_install python-packaging chroot_and_install_rpms python-packaging python3-packaging From ca0fc9414b161ae195462c4480e209f254ab3727 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 21 May 2024 14:43:51 -0700 Subject: [PATCH 31/45] add description and noarch to the vim-rpm-macros subpackage --- SPECS/vim/vim.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SPECS/vim/vim.spec b/SPECS/vim/vim.spec index 7d5f0f1dee2..eeaac63d144 100644 --- a/SPECS/vim/vim.spec +++ b/SPECS/vim/vim.spec @@ -28,6 +28,10 @@ Conflicts: toybox %package rpm-macros Summary: RPM macros for Vim text editor +BuildArch: noarch + +%description rpm-macros +The vim-rpm-macros package contains macros.vim needed to define RPM macros %description extra The vim extra package contains a extra files for powerful text editor. From 279872c6e220ebf0e1600960159edac823337a44 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 21 May 2024 14:44:45 -0700 Subject: [PATCH 32/45] fix order in the vim spec file --- SPECS/vim/vim.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SPECS/vim/vim.spec b/SPECS/vim/vim.spec index eeaac63d144..4b2d06ae1b8 100644 --- a/SPECS/vim/vim.spec +++ b/SPECS/vim/vim.spec @@ -26,6 +26,9 @@ Requires: %{name} = %{version}-%{release} Requires: tcsh Conflicts: toybox +%description extra +The vim extra package contains a extra files for powerful text editor. + %package rpm-macros Summary: RPM macros for Vim text editor BuildArch: noarch @@ -33,9 +36,6 @@ BuildArch: noarch %description rpm-macros The vim-rpm-macros package contains macros.vim needed to define RPM macros -%description extra -The vim extra package contains a extra files for powerful text editor. - %prep %autosetup -p1 echo '#define SYS_VIMRC_FILE "%{_sysconfdir}/vimrc"' >> src/feature.h From 1d1bfc77cc797f465bcf8a07c6741bb94dfa36ef Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 21 May 2024 15:16:18 -0700 Subject: [PATCH 33/45] remove the LLVMgold from devel package of llvm --- SPECS/llvm/llvm.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/SPECS/llvm/llvm.spec b/SPECS/llvm/llvm.spec index a0a649f6fe7..c84bb4a09aa 100644 --- a/SPECS/llvm/llvm.spec +++ b/SPECS/llvm/llvm.spec @@ -102,13 +102,11 @@ ninja check-all %files devel %{_libdir}/*.a %{_libdir}/cmake/* -%{_libdir}/LLVMgold.so -%{_libdir}/bfd-plugins/LLVMgold.so %{_includedir}/* %changelog * Fri Apr 5 2024 Mykhailo Bykhovtsev - 18.1.2-2 -- Added LLVMgold.so files to the main and devel packages +- Added LLVMgold.so files to the main package * Wed Apr 03 2024 Andrew Phelps - 18.1.2-1 - Upgrade to version 18.1.2 From 1d61e5cd04dffa9f1ae640b661d4185eb5f954ab Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 21 May 2024 15:38:38 -0700 Subject: [PATCH 34/45] address more PR comments --- .github/workflows/validate-cg-manifest.sh | 2 +- SPECS/annobin/annobin.spec | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/validate-cg-manifest.sh b/.github/workflows/validate-cg-manifest.sh index 59ec5f083f7..23289c41054 100755 --- a/.github/workflows/validate-cg-manifest.sh +++ b/.github/workflows/validate-cg-manifest.sh @@ -44,6 +44,7 @@ ignore_no_source_tarball=" \ kf \ livepatching \ lua-rpm-macros \ + ocaml-srpm-macros \ opencl-filesystem \ patterns-ceph-containers \ pyproject-rpm-macros \ @@ -52,7 +53,6 @@ ignore_no_source_tarball=" \ sgx-backwards-compatibility \ verity-read-only-root \ web-assets \ - ocaml-srpm-macros \ " # Specs where cgmanifest validation has known issues checking URLs. diff --git a/SPECS/annobin/annobin.spec b/SPECS/annobin/annobin.spec index 0dd7c530575..0b5ae36b0db 100644 --- a/SPECS/annobin/annobin.spec +++ b/SPECS/annobin/annobin.spec @@ -214,8 +214,6 @@ Installs an annobin plugin that can be used by Clang. %{!?llvm_plugin_dir:%global llvm_plugin_dir %{_libdir}/llvm/plugins} %{!?clang_plugin_dir:%global clang_plugin_dir %{_libdir}/clang/plugins} #--------------------------------------------------------------------------------- -Vendor: Microsoft Corporation -Distribution: Azure Linux %prep if [ -z "%{gcc_vr}" ]; then From 29d46865ef4d671fe4f6c2b59618d46618a7f3bc Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 22 May 2024 18:50:16 -0700 Subject: [PATCH 35/45] remove extra not needed check --- SPECS/ocaml-cinaps/ocaml-cinaps.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/SPECS/ocaml-cinaps/ocaml-cinaps.spec b/SPECS/ocaml-cinaps/ocaml-cinaps.spec index 301337c7e2a..ab233621ac8 100644 --- a/SPECS/ocaml-cinaps/ocaml-cinaps.spec +++ b/SPECS/ocaml-cinaps/ocaml-cinaps.spec @@ -54,10 +54,8 @@ mkdir -p %{buildroot}%{_mandir}/man1 help2man -N --version-string=%{version} %{buildroot}%{_bindir}/cinaps > \ %{buildroot}%{_mandir}/man1/cinaps.1 -%if %{with_check} %check %dune_check -%endif %files -f .ofiles %doc README.org From 83adc904642abf1b08a8a96341da1d26e1a55cba Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 22 May 2024 18:53:23 -0700 Subject: [PATCH 36/45] fix conditional --- SPECS/ocaml-fileutils/ocaml-fileutils.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils.spec b/SPECS/ocaml-fileutils/ocaml-fileutils.spec index 464cd62f691..b726d71552f 100644 --- a/SPECS/ocaml-fileutils/ocaml-fileutils.spec +++ b/SPECS/ocaml-fileutils/ocaml-fileutils.spec @@ -18,7 +18,7 @@ Patch1: ocaml-fileutils-0.6.4-cmp.patch BuildRequires: ocaml >= 5.1.1 BuildRequires: ocaml-dune >= 1.11.0 -%if 0%{?fedora} || 0%{?rhel} <= 6 +%if 0%{?fedora} || 0%{?rhel} <= 6 || 0%{?azl} BuildRequires: ocaml-ounit-devel >= 2.0.0 %endif @@ -50,7 +50,7 @@ developing applications that use %{name}. %dune_install # Do not run the tests (RHEL 7+ only) since they require ocaml-ounit. -%if 0%{?fedora} || 0%{?rhel} <= 6 +%if 0%{?fedora} || 0%{?rhel} || %{?azl} <= 6 %check %dune_check %endif From 99d684ab3c294cac26a6eb9b34cfd5402f5a599c Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Wed, 22 May 2024 18:58:43 -0700 Subject: [PATCH 37/45] fix license map --- LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md | 44 +- LICENSES-AND-NOTICES/SPECS/data/licenses.json | 6168 ++++++++--------- 2 files changed, 3106 insertions(+), 3106 deletions(-) diff --git a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md index affacecc1d9..fd5cb1df76e 100644 --- a/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md +++ b/LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md @@ -1,22 +1,22 @@ -The Azure Linux SPEC files originated from a variety of sources with varying licenses. The changelog for each SPEC file declares provenance for Azure Linux. Some of the SPEC files that originated from other distributions might already have been derived from alternate sources. Their licenses can be found in LICENSE-EXCEPTION.xxx files in this folder. - -| Origin | License | Specs | -| --- | --- | --- | -| CentOS | [MIT](https://www.centos.org/legal/#licensing-policy) | crash-ptdump-command
delve
fstrm
nodejs-nodemon
rhnlib
rt-setup
rt-tests
rtctl
tuned | -| Ceph source | [LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1) | ceph | -| Debian | [MIT](https://opensource.org/licenses/MIT) | prometheus-process-exporter | -| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
argparse-manpage
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bogofilter
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fapolicyd
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbi-drivers
libdbusmenu
libdc1394
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mozjs
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-migrate-parsetree
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-ppx-derivers
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-stdio
ocaml-topkg
ocaml-tyxml
ocaml-uuidm
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-BDB
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-versioneer
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
redland
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
sendmail
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stunnel
subscription-manager
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib | -| Fedora (Copyright Remi Collet) | [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) | libmemcached-awesome
librabbitmq | -| Fedora (ISC) | [ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE) | python-resolvelib | -| Magnus Edenhill Open Source | [Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING) | librdkafka | -| Microsoft | [Microsoft MIT License](/LICENSES-AND-NOTICES/LICENSE.md) | application-gateway-kubernetes-ingress
asc
azcopy
azure-iot-sdk-c
azure-nvme-utils
azure-storage-cpp
azurelinux-release
azurelinux-repos
azurelinux-rpm-macros
azurelinux-sysinfo
bazel
blobfuse2
bmon
bpftrace
ccache
cert-manager
cf-cli
check-restart
clamav
cloud-hypervisor
cmake-fedora
containerd
coredns
dcos-cli
debugedit
dejavu-fonts
distroless-packages
docker-buildx
docker-cli
docker-compose
doxygen
dtc
elixir
espeak-ng
espeakup
flannel
fluent-bit
freefont
gflags
gh
go-md2man
grpc
grub2-efi-binary-signed
GSL
gtk-update-icon-cache
helm
hvloader
ig
intel-pf-bb-config
ivykis
jsonbuilder
jx
kata-containers-cc
kata-packages-uvm
keda
keras
kernel-signed
kpatch
kube-vip-cloud-provider
kubernetes
libacvp
libconfini
libconfuse
libgdiplus
libmaxminddb
libmetalink
libsafec
libuv
libxml++
lld
local-path-provisioner
lsb-release
ltp
lttng-consume
mm-common
moby-containerd-cc
moby-engine
msgpack
ncompress
networkd-dispatcher
nlohmann-json
nmap
node-problem-detector
ntopng
opentelemetry-cpp
packer
pcaudiolib
pcre2
perl-Test-Warnings
perl-Text-Template
pigz
prebuilt-ca-certificates
prebuilt-ca-certificates-base
prometheus-adapter
python-cachetools
python-cherrypy
python-cstruct
python-execnet
python-google-pasta
python-libclang
python-libevdev
python-logutils
python-ml-dtypes
python-namex
python-nocasedict
python-opt-einsum
python-optree
python-pecan
python-pip
python-pyrpm
python-remoto
python-repoze-lru
python-routes
python-rsa
python-setuptools
python-sphinxcontrib-websupport
python-tensorboard
python-tensorboard-plugin-wit
python-yamlloader
R
rabbitmq-server
rocksdb
rubygem-addressable
rubygem-asciidoctor
rubygem-async
rubygem-async-http
rubygem-async-io
rubygem-async-pool
rubygem-bindata
rubygem-concurrent-ruby
rubygem-connection_pool
rubygem-console
rubygem-cool.io
rubygem-deep_merge
rubygem-digest-crc
rubygem-elastic-transport
rubygem-elasticsearch
rubygem-elasticsearch-api
rubygem-eventmachine
rubygem-excon
rubygem-faraday
rubygem-faraday-em_http
rubygem-faraday-em_synchrony
rubygem-faraday-excon
rubygem-faraday-httpclient
rubygem-faraday-multipart
rubygem-faraday-net_http
rubygem-faraday-net_http_persistent
rubygem-faraday-patron
rubygem-faraday-rack
rubygem-faraday-retry
rubygem-ffi
rubygem-fiber-local
rubygem-fluent-config-regexp-type
rubygem-fluent-logger
rubygem-fluent-plugin-elasticsearch
rubygem-fluent-plugin-kafka
rubygem-fluent-plugin-prometheus
rubygem-fluent-plugin-prometheus_pushgateway
rubygem-fluent-plugin-record-modifier
rubygem-fluent-plugin-rewrite-tag-filter
rubygem-fluent-plugin-systemd
rubygem-fluent-plugin-webhdfs
rubygem-fluent-plugin-windows-exporter
rubygem-fluentd
rubygem-hirb
rubygem-hocon
rubygem-hoe
rubygem-http_parser
rubygem-httpclient
rubygem-io-event
rubygem-jmespath
rubygem-ltsv
rubygem-mini_portile2
rubygem-minitest
rubygem-mocha
rubygem-msgpack
rubygem-multi_json
rubygem-multipart-post
rubygem-net-http-persistent
rubygem-nio4r
rubygem-nokogiri
rubygem-oj
rubygem-parallel
rubygem-power_assert
rubygem-prometheus-client
rubygem-protocol-hpack
rubygem-protocol-http
rubygem-protocol-http1
rubygem-protocol-http2
rubygem-public_suffix
rubygem-puppet-resource_api
rubygem-rdiscount
rubygem-rdkafka
rubygem-rexml
rubygem-ruby-kafka
rubygem-ruby-progressbar
rubygem-rubyzip
rubygem-semantic_puppet
rubygem-serverengine
rubygem-sigdump
rubygem-strptime
rubygem-systemd-journal
rubygem-test-unit
rubygem-thor
rubygem-timers
rubygem-tzinfo
rubygem-tzinfo-data
rubygem-webhdfs
rubygem-webrick
rubygem-yajl-ruby
rubygem-zip-zip
runc
sdbus-cpp
sgx-backwards-compatibility
shim
shim-unsigned
shim-unsigned-aarch64
shim-unsigned-x64
skopeo
span-lite
sriov-network-device-plugin
SymCrypt
SymCrypt-OpenSSL
tensorflow
tinyxml2
toml11
tracelogging
umoci
usrsctp
vala
verity-read-only-root
vnstat
zstd | -| Netplan source | [GPLv3](https://github.com/canonical/netplan/blob/main/COPYING) | netplan | -| Numad source | [LGPLv2 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt) | numad | -| NVIDIA | [ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0) | libnvidia-container
mlnx-tools
mlx-bootctl
nvidia-container-toolkit
ofed-scripts
perftest | -| OpenEuler | [BSD-3 License](https://github.com/pytorch/pytorch/blob/master/LICENSE) | pytorch | -| OpenMamba | [Openmamba GPLv2 License](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt) | bash-completion | -| OpenSUSE | Following [openSUSE guidelines](https://en.opensuse.org/openSUSE:Specfile_guidelines#Specfile_Licensing) | ant
ant-junit
antlr
aopalliance
apache-commons-beanutils
apache-commons-cli
apache-commons-codec
apache-commons-collections
apache-commons-collections4
apache-commons-compress
apache-commons-daemon
apache-commons-dbcp
apache-commons-digester
apache-commons-httpclient
apache-commons-io
apache-commons-jexl
apache-commons-lang
apache-commons-lang3
apache-commons-logging
apache-commons-net
apache-commons-pool
apache-commons-pool2
apache-commons-validator
apache-commons-vfs2
apache-parent
args4j
atinject
base64coder
bcel
bea-stax
beust-jcommander
bsf
byaccj
cal10n
cdparanoia
cglib
cni
containerized-data-importer
cpulimit
cri-o
ecj
fillup
flux
gd
geronimo-specs
glassfish-annotation-api
gnu-getopt
gnu-regexp
golang-packaging
guava
guava20
hamcrest
hawtjni-runtime
httpcomponents-core
influx-cli
influxdb
isorelax
jakarta-taglibs-standard
jansi
jarjar
java-cup
java-cup-bootstrap
javacc
javacc-bootstrap
javassist
jboss-interceptors-1.2-api
jdepend
jflex
jflex-bootstrap
jlex
jline
jna
jsch
jsoup
jsr-305
jtidy
junit
junitperf
jzlib
kubevirt
kured
libcontainers-common
libtheora
libva
libvdpau
lynx
maven-parent
multus
objectweb-anttask
objectweb-asm
objenesis
oro
osgi-annotation
osgi-compendium
osgi-core
patterns-ceph-containers
plexus-classworlds
plexus-interpolation
plexus-pom
plexus-utils
proj
psl-make-dafsa
publicsuffix
qdox
regexp
relaxngDatatype
rhino
ripgrep
servletapi4
servletapi5
shapelib
slf4j
trilead-ssh2
virtiofsd
xalan-j2
xbean
xcursor-themes
xerces-j2
xml-commons-apis
xml-commons-resolver
xmldb-api
xmlrpc-c
xmlunit
xpp2
xpp3
xz-java | -| Photon | [Photon License](LICENSE-PHOTON.md) and [Photon Notice](NOTICE.APACHE2).
Also see [LICENSE-EXCEPTIONS.PHOTON](LICENSE-EXCEPTIONS.PHOTON). | acl
alsa-lib
alsa-utils
ansible
apr
apr-util
asciidoc
atftp
audit
autoconf
autoconf-archive
autofs
autogen
automake
babel
bash
bc
bcc
bind
binutils
bison
blktrace
boost
btrfs-progs
bubblewrap
build-essential
bzip2
c-ares
cairo
cassandra
cdrkit
check
chkconfig
chrpath
cifs-utils
clang
cloud-init
cloud-utils-growpart
cmake
cni-plugins
core-packages
coreutils
cpio
cppunit
cracklib
crash
crash-gcore-command
createrepo_c
cri-tools
cronie
curl
cyrus-sasl
cyrus-sasl-bootstrap
dbus
dbus-glib
dejagnu
device-mapper-multipath
dhcp
dialog
diffutils
dkms
dmidecode
dnsmasq
docbook-dtd-xml
docbook-style-xsl
dosfstools
dracut
dstat
e2fsprogs
ed
efibootmgr
efivar
elfutils
emacs
erlang
etcd
ethtool
expat
expect
fcgi
file
filesystem
findutils
flex
fontconfig
fping
freetype
fuse
gawk
gc
gcc
gdb
gdbm
gettext
git
git-lfs
glib
glib-networking
glibc
glibmm
glide
gmp
gnome-common
gnupg2
gnuplot
gnutls
gobject-introspection
golang
gperf
gperftools
gpgme
gptfdisk
grep
groff
grub2
gtest
gtk-doc
guile
gzip
haproxy
harfbuzz
haveged
hdparm
http-parser
httpd
i2c-tools
iana-etc
icu
initramfs
initscripts
inotify-tools
intltool
iotop
iperf3
iproute
ipset
iptables
iputils
ipvsadm
ipxe
irqbalance
itstool
jansson
jq
json-c
json-glib
kbd
keepalived
kernel
kernel-headers
kernel-mshv
kernel-rt
kernel-uvm
keyutils
kmod
krb5
less
libaio
libarchive
libassuan
libatomic_ops
libcap
libcap-ng
libconfig
libdb
libdnet
libedit
libestr
libevent
libfastjson
libffi
libgcrypt
libgpg-error
libgssglue
libgudev
libjpeg-turbo
libksba
liblogging
libmbim
libmnl
libmodulemd
libmpc
libmspack
libndp
libnetfilter_conntrack
libnetfilter_cthelper
libnetfilter_cttimeout
libnetfilter_queue
libnfnetlink
libnftnl
libnl3
libnsl2
libpcap
libpipeline
libpng
libpsl
libqmi
librelp
librepo
librsync
libseccomp
libselinux
libsepol
libserf
libsigc++30
libsolv
libsoup
libssh2
libtalloc
libtar
libtasn1
libtiff
libtirpc
libtool
libunistring
libunwind
libusb
libvirt
libwebp
libxml2
libxslt
libyaml
linux-firmware
lldb
lldpad
llvm
lm-sensors
lmdb
log4cpp
logrotate
lshw
lsof
lsscsi
ltrace
lttng-tools
lttng-ust
lvm2
lz4
lzo
m2crypto
m4
make
man-db
man-pages
mariadb
maven
mc
mercurial
meson
mlocate
ModemManager
mpfr
msr-tools
mysql
nano
nasm
ncurses
ndctl
net-snmp
net-tools
nettle
newt
nfs-utils
nghttp2
nginx
ninja-build
nodejs
npth
nspr
nss
nss-altfiles
ntp
numactl
nvme-cli
oniguruma
OpenIPMI
openldap
openscap
openssh
openvswitch
ostree
pam
pango
parted
patch
pciutils
perl-Canary-Stability
perl-CGI
perl-common-sense
perl-Crypt-SSLeay
perl-DBD-SQLite
perl-DBI
perl-DBIx-Simple
perl-Exporter-Tiny
perl-File-HomeDir
perl-File-Which
perl-IO-Socket-SSL
perl-JSON-Any
perl-JSON-XS
perl-libintl-perl
perl-List-MoreUtils
perl-Module-Build
perl-Module-Install
perl-Module-ScanDeps
perl-Net-SSLeay
perl-NetAddr-IP
perl-Object-Accessor
perl-Path-Class
perl-Try-Tiny
perl-Types-Serialiser
perl-WWW-Curl
perl-XML-Parser
perl-YAML
perl-YAML-Tiny
pgbouncer
pinentry
polkit
popt
postgresql
procps-ng
protobuf
protobuf-c
psmisc
pth
pyasn1-modules
pyOpenSSL
pyparsing
pytest
python-appdirs
python-asn1crypto
python-atomicwrites
python-attrs
python-bcrypt
python-certifi
python-cffi
python-chardet
python-configobj
python-constantly
python-coverage
python-cryptography
python-daemon
python-dateutil
python-defusedxml
python-distro
python-docopt
python-docutils
python-ecdsa
python-gevent
python-hyperlink
python-hypothesis
python-idna
python-imagesize
python-incremental
python-iniparse
python-ipaddr
python-jinja2
python-jmespath
python-jsonpatch
python-jsonpointer
python-jsonschema
python-lockfile
python-lxml
python-mako
python-markupsafe
python-mistune
python-msgpack
python-netaddr
python-netifaces
python-ntplib
python-oauthlib
python-packaging
python-pam
python-pbr
python-ply
python-prettytable
python-psutil
python-psycopg2
python-py
python-pyasn1
python-pycodestyle
python-pycparser
python-pycurl
python-pygments
python-pynacl
python-requests
python-setuptools_scm
python-simplejson
python-six
python-snowballstemmer
python-sphinx-theme-alabaster
python-twisted
python-urllib3
python-vcversioner
python-virtualenv
python-wcwidth
python-webob
python-websocket-client
python-werkzeug
python-zope-interface
python3
pytz
PyYAML
rapidjson
readline
rng-tools
rpcbind
rpcsvc-proto
rpm
rpm-ostree
rrdtool
rsync
rsyslog
ruby
rust
scons
sed
sg3_utils
shadow-utils
slang
snappy
socat
sqlite
sshpass
strace
strongswan
subversion
sudo
swig
syslinux
syslog-ng
sysstat
systemd-bootstrap
systemtap
tar
tboot
tcl
tcpdump
tcsh
tdnf
telegraf
texinfo
tmux
tpm2-abrmd
tpm2-pkcs11
tpm2-pytss
tpm2-tools
tpm2-tss
traceroute
tree
tzdata
unbound
unixODBC
unzip
usbutils
userspace-rcu
utf8proc
util-linux
valgrind
vim
vsftpd
WALinuxAgent
which
wpa_supplicant
xfsprogs
xinetd
xmlsec1
xmlto
xz
zchunk
zeromq
zip
zlib
zsh | -| RPM software management source | [GPLv2+ License](https://github.com/rpm-software-management/dnf5/blob/main/COPYING.md) | dnf5 | -| Source project | Same as the source project. | python-nocaselist | -| Sysbench source | [GPLv2+ License](https://github.com/akopytov/sysbench/blob/master/COPYING) | sysbench | +The Azure Linux SPEC files originated from a variety of sources with varying licenses. The changelog for each SPEC file declares provenance for Azure Linux. Some of the SPEC files that originated from other distributions might already have been derived from alternate sources. Their licenses can be found in LICENSE-EXCEPTION.xxx files in this folder. + +| Origin | License | Specs | +| --- | --- | --- | +| CentOS | [MIT](https://www.centos.org/legal/#licensing-policy) | crash-ptdump-command
delve
fstrm
nodejs-nodemon
rhnlib
rt-setup
rt-tests
rtctl
tuned | +| Ceph source | [LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1) | ceph | +| Debian | [MIT](https://opensource.org/licenses/MIT) | prometheus-process-exporter | +| Fedora | [Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files) | a52dec
abseil-cpp
accountsservice
acpica-tools
acpid
adcli
adobe-mappings-cmap
adobe-mappings-pdf
advancecomp
adwaita-icon-theme
afflib
aide
alsa-firmware
alsa-plugins
amtk
amtterm
annobin
ansible-freeipa
archivemount
argparse-manpage
arptables
arpwatch
asio
aspell
aspell-en
at
at-spi2-atk
at-spi2-core
atf
atk
atop
attr
audiofile
augeas
authbind
authd
authselect
autoconf213
avahi
babeltrace
babeltrace2
babl
baekmuk-ttf-fonts
bats
bcache-tools
biosdevname
blosc
bluez
bmake
bogofilter
bolt
boom-boot
booth
botan2
breezy
brotli
buildah
busybox
bwidget
byacc
ca-certificates
cachefilesd
cairomm
calamares
capstone
catatonit
catch
catch1
cdrdao
celt051
cereal
certmonger
cfitsio
cgdcbxd
chan
CharLS
checkpolicy
checksec
chrony
cim-schema
cjkuni-uming-fonts
cjose
ck
cldr-emoji-annotation
clucene
clutter
clutter-gst3
clutter-gtk
cmocka
cogl
collectd
colm
color-filesystem
colord
colorize
compat-lua
compiler-rt
conda
conmon
conntrack-tools
console-setup
container-exception-logger
containernetworking-plugins
convmv
corosync
corosync-qdevice
cpp-hocon
cppcheck
cpprest
cpptest
cpuid
criu
crypto-policies
cryptsetup
cscope
ctags
CUnit
cups
custodia
Cython
dbus-c++
dbus-python
dbxtool
dconf
dcraw
debootstrap
deltarpm
desktop-file-utils
device-mapper-persistent-data
dietlibc
diffstat
ding-libs
discount
distribution-gpg-keys
dleyna-connector-dbus
dleyna-core
dmraid
dnf
dnf-plugins-core
docbook-dtds
docbook-simple
docbook-slides
docbook-style-dsssl
docbook-utils
docbook2X
docbook5-schemas
docbook5-style-xsl
dogtail
dos2unix
dotconf
dovecot
dpdk
dpkg
driverctl
dropwatch
drpm
duktape
dumpet
dvd+rw-tools
dwarves
dwz
dyninst
ebtables
edac-utils
edk2
efax
efi-rpm-macros
egl-wayland
eglexternalplatform
elinks
enca
enchant
enchant2
enscript
environment-modules
evemu
execstack
exempi
exiv2
extra-cmake-modules
fabtests
facter
fakechroot
fakeroot
fapolicyd
fdk-aac-free
fdupes
fence-virt
fetchmail
fftw
filebench
fio
fipscheck
firewalld
flac
flatbuffers
flite
fltk
fmt
fontawesome-fonts
fontawesome4-fonts
fontpackages
fonts-rpm-macros
foomatic-db
freeglut
freeipmi
freeradius
freetds
freexl
fribidi
fros
frr
fsverity-utils
fuse-overlayfs
fuse-sshfs
fuse-zip
fuse3
future
fxload
gavl
gbenchmark
gconf-editor
GConf2
gcovr
gcr
gdal
gdisk
gdk-pixbuf2
generic-logos
genwqe-tools
geoclue2
GeoIP
GeoIP-GeoLite-data
geolite2
geos
gfs2-utils
ghc-srpm-macros
giflib
gl-manpages
glew
glm
glog
glslang
glusterfs
gnome-desktop-testing
gnome-doc-utils
gnome-icon-theme
gnome-keyring
gnu-efi
go-rpm-macros
gom
google-api-python-client
google-crosextra-caladea-fonts
google-crosextra-carlito-fonts
google-guice
google-noto-cjk-fonts
google-noto-emoji-fonts
google-roboto-slab-fonts
gphoto2
gpm
gpsbabel
graphene
graphite2
graphviz
grubby
gsettings-desktop-schemas
gsl
gsm
gspell
gssdp
gssntlmssp
gstreamer1
gstreamer1-plugins-base
gtk-vnc
gtk2
gtk3
gtkspell
gupnp
gupnp-av
gupnp-dlna
gupnp-igd
hardening-check
hdf
hdf5
heimdal
help2man
hexedit
hicolor-icon-theme
hiera
highlight
hivex
hostname
hping3
hsakmt
htop
hunspell
hunspell-af
hunspell-ar
hunspell-as
hunspell-ast
hunspell-az
hunspell-be
hunspell-bg
hunspell-bn
hunspell-br
hunspell-ca
hunspell-cop
hunspell-csb
hunspell-cv
hunspell-cy
hunspell-da
hunspell-de
hunspell-dsb
hunspell-el
hunspell-en
hunspell-eo
hunspell-es
hunspell-et
hunspell-eu
hunspell-fa
hunspell-fj
hunspell-fo
hunspell-fr
hunspell-fur
hunspell-fy
hunspell-ga
hunspell-gd
hunspell-gl
hunspell-grc
hunspell-gu
hunspell-gv
hunspell-haw
hunspell-hi
hunspell-hil
hunspell-hr
hunspell-hsb
hunspell-ht
hunspell-hu
hunspell-hy
hunspell-ia
hunspell-id
hunspell-is
hunspell-it
hunspell-kk
hunspell-km
hunspell-kn
hunspell-ko
hunspell-ku
hunspell-ky
hunspell-la
hunspell-lb
hunspell-ln
hunspell-mai
hunspell-mg
hunspell-mi
hunspell-mk
hunspell-ml
hunspell-mn
hunspell-mos
hunspell-mr
hunspell-ms
hunspell-mt
hunspell-nds
hunspell-ne
hunspell-nl
hunspell-no
hunspell-nr
hunspell-nso
hunspell-ny
hunspell-om
hunspell-or
hunspell-pa
hunspell-pl
hunspell-pt
hunspell-quh
hunspell-ro
hunspell-ru
hunspell-rw
hunspell-se
hunspell-shs
hunspell-si
hunspell-sk
hunspell-sl
hunspell-smj
hunspell-so
hunspell-sq
hunspell-sr
hunspell-sv
hunspell-sw
hunspell-ta
hunspell-te
hunspell-tet
hunspell-th
hunspell-tk
hunspell-tl
hunspell-tn
hunspell-tpi
hunspell-ts
hunspell-uk
hunspell-uz
hunspell-ve
hunspell-vi
hunspell-wa
hunspell-xh
hunspell-yi
hwdata
hwloc
hyperscan
hyperv-daemons
hyphen
hyphen-as
hyphen-bg
hyphen-bn
hyphen-ca
hyphen-da
hyphen-de
hyphen-el
hyphen-es
hyphen-fa
hyphen-fo
hyphen-fr
hyphen-ga
hyphen-gl
hyphen-grc
hyphen-gu
hyphen-hi
hyphen-hsb
hyphen-hu
hyphen-ia
hyphen-id
hyphen-is
hyphen-it
hyphen-kn
hyphen-ku
hyphen-lt
hyphen-mi
hyphen-ml
hyphen-mn
hyphen-mr
hyphen-nl
hyphen-or
hyphen-pa
hyphen-pl
hyphen-pt
hyphen-ro
hyphen-ru
hyphen-sa
hyphen-sk
hyphen-sl
hyphen-sv
hyphen-ta
hyphen-te
hyphen-tk
hyphen-uk
ibus
ibus-chewing
ibus-hangul
ibus-kkc
ibus-libzhuyin
ibus-m17n
ibus-rawcode
ibus-sayura
ibus-table
ibus-table-chinese
icc-profiles-openicc
icon-naming-utils
icoutils
iftop
iio-sensor-proxy
ilmbase
im-chooser
imaptest
imsettings
indent
infinipath-psm
inih
iniparser
intel-cmt-cat
intel-ipsec-mb
ioping
IP2Location
ipa-pgothic-fonts
ipcalc
ipmitool
iprutils
iptraf-ng
iptstate
irssi
iscsi-initiator-utils
isns-utils
iso-codes
isomd5sum
iw
iwd
jabberpy
jakarta-servlet
jasper
javapackages-bootstrap
javapackages-tools
jbigkit
jdom2
jemalloc
jfsutils
jimtcl
jose
js-jquery
jsoncpp
Judy
jurand
kata-containers
kde-filesystem
kde-settings
kexec-tools
keybinder3
keycloak-httpd-client-install
kf
kf-kconfig
kf-kcoreaddons
kf-ki18n
kf-kwidgetsaddons
kpmcore
kronosnet
ksh
kyotocabinet
kyua
ladspa
lame
langtable
lapack
lasso
latencytop
lato-fonts
lcms2
lcov
ldns
leatherman
ledmon
lensfun
leveldb
lftp
libabw
libaec
libao
libappstream-glib
libarrow
libart_lgpl
libasyncns
libatasmart
libavc1394
libblockdev
libbpf
libbsd
libburn
libbytesize
libcacard
libcanberra
libcdio
libcdio-paranoia
libcdr
libcgroup
libchewing
libcli
libcmis
libcmpiutil
libcomps
libcroco
libdaemon
libdap
libdatrie
libdazzle
libdbi
libdbi-drivers
libdbusmenu
libdc1394
libdeflate
libdmx
libdnf
libdrm
libdvdnav
libdvdread
libdwarf
libeasyfc
libecap
libecb
libell
libEMF
libeot
libepoxy
libepubgen
libesmtp
libetonyek
libev
libevdev
libexif
libexttextcat
libfabric
libfontenc
libfreehand
libftdi
libgadu
libgdither
libgee
libgee06
libgeotiff
libgexiv2
libgit2
libgit2-glib
libglade2
libglvnd
libgovirt
libgphoto2
libgsf
libgta
libguestfs
libgusb
libgxim
libgxps
libhangul
libhugetlbfs
libibcommon
libical
libICE
libicns
libid3tag
libIDL
libidn2
libiec61883
libieee1284
libimobiledevice
libindicator
libinput
libiodbc
libipt
libiptcdata
libiscsi
libisoburn
libisofs
libjcat
libkcapi
libkeepalive
libkkc
libkkc-data
libkml
liblangtag
libldb
libldm
liblerc
liblockfile
liblognorm
liblouis
liblqr-1
liblzf
libmad
libmediaart
libmicrohttpd
libmikmod
libmodman
libmodplug
libmodulemd1
libmpcdec
libmspub
libmtp
libmusicbrainz5
libmwaw
libnbd
libnet
libnetfilter_log
libnfs
libnotify
libntlm
libnumbertext
libnvme
liboauth
libodfgen
libofa
libogg
liboggz
liboil
libomxil-bellagio
libopenraw
liboping
libosinfo
libotf
libotr
libpagemaker
libpaper
libpciaccess
libpeas
libpfm
libpinyin
libplist
libpmemobj-cpp
libpng12
libpng15
libproxy
libpsm2
libpwquality
libqb
libqxp
libraqm
LibRaw
libraw1394
libreport
libreswan
librevenge
librsvg2
librx
libsamplerate
libsass
libsecret
libsemanage
libsigc++20
libsigsegv
libslirp
libSM
libsmbios
libsmi
libsndfile
libsodium
libspiro
libsrtp
libssh
libstaroffice
libstemmer
libstoragemgmt
libtdb
libteam
libtevent
libthai
libtnc
libtomcrypt
libtommath
libtpms
libtracecmd
libtraceevent
libtracefs
libtranslit
libucil
libunicap
libuninameslist
liburing
libusbmuxd
libuser
libutempter
libvarlink
libverto
libvirt-dbus
libvirt-glib
libvirt-java
libvirt-python
libvisio
libvisual
libvoikko
libvorbis
libvpx
libwacom
libwnck3
libwpd
libwpe
libwpg
libwps
libwvstreams
libX11
libXau
libXaw
libxcb
libXcomposite
libxcrypt
libXcursor
libXdamage
libXdmcp
libXext
libxfce4util
libXfixes
libXfont2
libXft
libXi
libXinerama
libxkbcommon
libxkbfile
libxklavier
libxmlb
libXmu
libXpm
libXrandr
libXrender
libXres
libXScrnSaver
libxshmfence
libXt
libXtst
libXv
libXxf86vm
libyami
libyang
libyubikey
libzip
libzmf
lilv
linuxconsoletools
linuxptp
lksctp-tools
lldpd
lockdev
logwatch
lpsolve
lrzsz
lua
lua-expat
lua-filesystem
lua-json
lua-lpeg
lua-lunit
lua-rpm-macros
lua-term
luajit
lujavrite
luksmeta
lutok
lv2
lzip
lzop
m17n-db
m17n-lib
mac-robber
mailcap
mailx
malaga
malaga-suomi-voikko
mallard-rng
man-pages-cs
man-pages-es
man-pages-it
man-pages-ja
man-pages-ko
man-pages-pl
man-pages-ru
man-pages-zh-CN
mandoc
mariadb-connector-c
mariadb-connector-odbc
marisa
maven-compiler-plugin
maven-jar-plugin
maven-resolver
maven-resources-plugin
maven-surefire
maven-wagon
mcelog
mcpp
mcstrans
mdadm
mdds
mdevctl
meanwhile
mecab
mecab-ipadic
media-player-info
memcached
memkind
mesa
mesa-libGLU
metis
microcode_ctl
microdnf
minicom
minizip
mksh
mobile-broadband-provider-info
mock
mock-core-configs
mod_auth_gssapi
mod_auth_mellon
mod_auth_openidc
mod_authnz_pam
mod_fcgid
mod_http2
mod_intercept_form_submit
mod_lookup_identity
mod_md
mod_security
mod_security_crs
mod_wsgi
mokutil
mozjs
mpage
mrtg
mstflint
mt-st
mtdev
mtools
mtr
mtx
munge
mutt
mythes
mythes-bg
mythes-ca
mythes-cs
mythes-da
mythes-de
mythes-el
mythes-en
mythes-eo
mythes-es
mythes-fr
mythes-ga
mythes-hu
mythes-mi
mythes-ne
mythes-nl
mythes-pl
mythes-pt
mythes-ro
mythes-ru
mythes-sk
mythes-sl
mythes-sv
mythes-uk
nbd
nbdkit
neon
netavark
netcdf
netcf
netlabel_tools
netpbm
netsniff-ng
nfs4-acl-tools
nftables
nilfs-utils
nkf
nload
nlopt
nodejs-packaging
nss-mdns
nss-pam-ldapd
nss_nis
nss_wrapper
ntfs-3g
ntfs-3g-system-compression
numad
numatop
numpy
nvmetcli
nvml
oath-toolkit
ocaml
ocaml-alcotest
ocaml-astring
ocaml-augeas
ocaml-base
ocaml-bigarray-compat
ocaml-bisect-ppx
ocaml-calendar
ocaml-camlp-streams
ocaml-camlp5
ocaml-camomile
ocaml-cinaps
ocaml-cmdliner
ocaml-compiler-libs-janestreet
ocaml-cppo
ocaml-csexp
ocaml-csv
ocaml-ctypes
ocaml-curses
ocaml-dune
ocaml-extlib
ocaml-fileutils
ocaml-findlib
ocaml-fmt
ocaml-fpath
ocaml-gettext
ocaml-integers
ocaml-libvirt
ocaml-luv
ocaml-lwt
ocaml-markup
ocaml-migrate-parsetree
ocaml-mmap
ocaml-num
ocaml-ocamlbuild
ocaml-ocplib-endian
ocaml-ounit
ocaml-parsexp
ocaml-pp
ocaml-ppx-derivers
ocaml-ppx-here
ocaml-ppx-let
ocaml-ppxlib
ocaml-re
ocaml-react
ocaml-result
ocaml-seq
ocaml-sexplib
ocaml-sexplib0
ocaml-srpm-macros
ocaml-stdio
ocaml-stdlib-random
ocaml-topkg
ocaml-tyxml
ocaml-uuidm
ocaml-uutf
ocaml-xml-light
ocaml-zarith
ocl-icd
oddjob
ogdi
omping
opa
opal
open-vm-tools
openblas
opencc
opencl-filesystem
opencl-headers
opencryptoki
opencsd
opendnssec
OpenEXR
openjade
openjpeg2
openmpi
openobex
openoffice-lv
openrdate
opensc
openslp
opensm
opensp
openssl
openssl-ibmpkcs11
openssl-pkcs11
openwsman
optipng
opus
opusfile
orangefs
ORBit2
orc
os-prober
osinfo-db
osinfo-db-tools
overpass-fonts
p11-kit
p7zip
pacemaker
pacrunner
pakchois
pam_krb5
pam_wrapper
papi
paps
parallel
patchelf
patchutils
pbzip2
pcp
pcsc-lite
pcsc-lite-ccid
PEGTL
perl
perl-Algorithm-C3
perl-Algorithm-Diff
perl-Alien-Build
perl-Alien-pkgconf
perl-AnyEvent
perl-AnyEvent-AIO
perl-AnyEvent-BDB
perl-App-cpanminus
perl-App-FatPacker
perl-AppConfig
perl-Archive-Extract
perl-Archive-Zip
perl-Authen-SASL
perl-B-COW
perl-B-Debug
perl-B-Hooks-EndOfScope
perl-B-Hooks-OP-Check
perl-B-Keywords
perl-B-Lint
perl-bareword-filehandles
perl-BDB
perl-Bit-Vector
perl-boolean
perl-Browser-Open
perl-BSD-Resource
perl-Business-ISBN
perl-Business-ISBN-Data
perl-Bytes-Random-Secure
perl-Capture-Tiny
perl-Carp-Clan
perl-CBOR-XS
perl-Class-Accessor
perl-Class-C3
perl-Class-C3-XS
perl-Class-Data-Inheritable
perl-Class-Factory-Util
perl-Class-Inspector
perl-Class-ISA
perl-Class-Load
perl-Class-Load-XS
perl-Class-Method-Modifiers
perl-Class-Singleton
perl-Class-Tiny
perl-Class-XSAccessor
perl-Clone
perl-Color-ANSI-Util
perl-Color-RGB-Util
perl-ColorThemeBase-Static
perl-ColorThemeRole-ANSI
perl-ColorThemes-Standard
perl-ColorThemeUtil-ANSI
perl-Compress-Bzip2
perl-Compress-LZF
perl-Compress-Raw-Lzma
perl-Config-AutoConf
perl-Config-INI
perl-Config-INI-Reader-Multiline
perl-Config-IniFiles
perl-Config-Simple
perl-Config-Tiny
perl-Const-Fast
perl-Convert-ASN1
perl-Convert-Bencode
perl-Coro
perl-Coro-Multicore
perl-CPAN-Changes
perl-CPAN-DistnameInfo
perl-CPAN-Meta-Check
perl-Cpanel-JSON-XS
perl-Crypt-CBC
perl-Crypt-DES
perl-Crypt-IDEA
perl-Crypt-OpenSSL-Bignum
perl-Crypt-OpenSSL-Guess
perl-Crypt-OpenSSL-Random
perl-Crypt-OpenSSL-RSA
perl-Crypt-PasswdMD5
perl-Crypt-Random-Seed
perl-CSS-Tiny
perl-Data-Dump
perl-Data-Munge
perl-Data-OptList
perl-Data-Peek
perl-Data-Section
perl-Data-UUID
perl-Date-Calc
perl-Date-ISO8601
perl-Date-Manip
perl-DateTime
perl-DateTime-Format-Builder
perl-DateTime-Format-DateParse
perl-DateTime-Format-HTTP
perl-DateTime-Format-IBeat
perl-DateTime-Format-ISO8601
perl-DateTime-Format-Mail
perl-DateTime-Format-Strptime
perl-DateTime-Locale
perl-DateTime-TimeZone
perl-DateTime-TimeZone-SystemV
perl-DateTime-TimeZone-Tzfile
perl-DBD-MySQL
perl-Devel-CallChecker
perl-Devel-Caller
perl-Devel-CheckBin
perl-Devel-CheckLib
perl-Devel-Cycle
perl-Devel-EnforceEncapsulation
perl-Devel-GlobalDestruction
perl-Devel-GlobalDestruction-XS
perl-Devel-Hide
perl-Devel-Leak
perl-Devel-LexAlias
perl-Devel-Size
perl-Devel-StackTrace
perl-Devel-Symdump
perl-Digest-BubbleBabble
perl-Digest-CRC
perl-Digest-HMAC
perl-Digest-SHA1
perl-Dist-CheckConflicts
perl-DynaLoader-Functions
perl-Email-Address
perl-Email-Date-Format
perl-Encode-Detect
perl-Encode-EUCJPASCII
perl-Encode-IMAPUTF7
perl-Encode-Locale
perl-Env-ShellWords
perl-Error
perl-EV
perl-Eval-Closure
perl-Event
perl-Exception-Class
perl-Expect
perl-ExtUtils-Config
perl-ExtUtils-Depends
perl-ExtUtils-Helpers
perl-ExtUtils-InstallPaths
perl-ExtUtils-PkgConfig
perl-FCGI
perl-Fedora-VSP
perl-FFI-CheckLib
perl-File-BaseDir
perl-File-BOM
perl-File-chdir
perl-File-CheckTree
perl-File-Copy-Recursive
perl-File-DesktopEntry
perl-File-Find-Object
perl-File-Find-Object-Rule
perl-File-Find-Rule
perl-File-Find-Rule-Perl
perl-File-Inplace
perl-File-Listing
perl-File-MimeInfo
perl-File-pushd
perl-File-ReadBackwards
perl-File-Remove
perl-File-ShareDir
perl-File-ShareDir-Install
perl-File-Slurp
perl-File-Slurp-Tiny
perl-File-Slurper
perl-File-Type
perl-Font-TTF
perl-FreezeThaw
perl-GD
perl-GD-Barcode
perl-generators
perl-Getopt-ArgvFile
perl-gettext
perl-Graphics-ColorNamesLite-WWW
perl-GSSAPI
perl-Guard
perl-Hook-LexWrap
perl-HTML-Parser
perl-HTML-Tagset
perl-HTML-Tree
perl-HTTP-Cookies
perl-HTTP-Daemon
perl-HTTP-Date
perl-HTTP-Message
perl-HTTP-Negotiate
perl-Image-Base
perl-Image-Info
perl-Image-Xbm
perl-Image-Xpm
perl-Import-Into
perl-Importer
perl-inc-latest
perl-indirect
perl-Inline-Files
perl-IO-AIO
perl-IO-All
perl-IO-CaptureOutput
perl-IO-Compress-Lzma
perl-IO-HTML
perl-IO-Multiplex
perl-IO-SessionData
perl-IO-Socket-INET6
perl-IO-String
perl-IO-stringy
perl-IO-Tty
perl-IPC-Run
perl-IPC-Run3
perl-IPC-System-Simple
perl-JSON
perl-JSON-Color
perl-JSON-MaybeXS
perl-LDAP
perl-libnet
perl-libwww-perl
perl-libxml-perl
perl-Lingua-EN-Inflect
perl-List-MoreUtils-XS
perl-local-lib
perl-Locale-Codes
perl-Locale-Maketext-Gettext
perl-Locale-Msgfmt
perl-Locale-PO
perl-Log-Message
perl-Log-Message-Simple
perl-LWP-MediaTypes
perl-LWP-Protocol-https
perl-Mail-AuthenticationResults
perl-Mail-DKIM
perl-Mail-IMAPTalk
perl-Mail-SPF
perl-MailTools
perl-Math-Int64
perl-Math-Random-ISAAC
perl-MIME-Charset
perl-MIME-Lite
perl-MIME-Types
perl-Mixin-Linewise
perl-MLDBM
perl-Mock-Config
perl-Module-Build-Tiny
perl-Module-CPANfile
perl-Module-Implementation
perl-Module-Install-AuthorRequires
perl-Module-Install-AuthorTests
perl-Module-Install-AutoLicense
perl-Module-Install-GithubMeta
perl-Module-Install-ManifestSkip
perl-Module-Install-ReadmeFromPod
perl-Module-Install-ReadmeMarkdownFromPod
perl-Module-Install-Repository
perl-Module-Install-TestBase
perl-Module-Load-Util
perl-Module-Manifest
perl-Module-Manifest-Skip
perl-Module-Package
perl-Module-Package-Au
perl-Module-Pluggable
perl-Module-Runtime
perl-Module-Signature
perl-Mojolicious
perl-Moo
perl-Mozilla-CA
perl-Mozilla-LDAP
perl-MRO-Compat
perl-multidimensional
perl-namespace-autoclean
perl-namespace-clean
perl-Net-CIDR-Lite
perl-Net-Daemon
perl-Net-DNS
perl-Net-DNS-Resolver-Mock
perl-Net-DNS-Resolver-Programmable
perl-Net-HTTP
perl-Net-IMAP-Simple
perl-Net-IMAP-Simple-SSL
perl-Net-IP
perl-Net-LibIDN2
perl-Net-Patricia
perl-Net-SMTP-SSL
perl-Net-SNMP
perl-Net-Telnet
perl-Newt
perl-NNTPClient
perl-NTLM
perl-Number-Compare
perl-Object-Deadly
perl-Object-HashBase
perl-Package-Anon
perl-Package-Constants
perl-Package-DeprecationManager
perl-Package-Generator
perl-Package-Stash
perl-Package-Stash-XS
perl-PadWalker
perl-Paper-Specs
perl-PAR-Dist
perl-Parallel-Iterator
perl-Params-Classify
perl-Params-Util
perl-Params-Validate
perl-Params-ValidationCompiler
perl-Parse-PMFile
perl-Parse-RecDescent
perl-Parse-Yapp
perl-Path-Tiny
perl-Perl-Critic
perl-Perl-Critic-More
perl-Perl-Destruct-Level
perl-Perl-MinimumVersion
perl-Perl4-CoreLibs
perl-PerlIO-gzip
perl-PerlIO-utf8_strict
perl-PkgConfig-LibPkgConf
perl-Pod-Coverage
perl-Pod-Coverage-TrustPod
perl-Pod-Escapes
perl-Pod-Eventual
perl-Pod-LaTeX
perl-Pod-Markdown
perl-Pod-Parser
perl-Pod-Plainer
perl-Pod-POM
perl-Pod-Spell
perl-PPI
perl-PPI-HTML
perl-PPIx-QuoteLike
perl-PPIx-Regexp
perl-PPIx-Utilities
perl-prefork
perl-Probe-Perl
perl-Razor-Agent
perl-Readonly
perl-Readonly-XS
perl-Ref-Util
perl-Ref-Util-XS
perl-Regexp-Pattern-Perl
perl-Return-MultiLevel
perl-Role-Tiny
perl-Scope-Guard
perl-Scope-Upper
perl-SGMLSpm
perl-SNMP_Session
perl-Socket6
perl-Software-License
perl-Sort-Versions
perl-Specio
perl-Spiffy
perl-strictures
perl-String-CRC32
perl-String-Format
perl-String-ShellQuote
perl-String-Similarity
perl-Sub-Exporter
perl-Sub-Exporter-Progressive
perl-Sub-Identify
perl-Sub-Info
perl-Sub-Install
perl-Sub-Name
perl-Sub-Quote
perl-Sub-Uplevel
perl-SUPER
perl-Switch
perl-Syntax-Highlight-Engine-Kate
perl-Sys-CPU
perl-Sys-MemInfo
perl-Sys-Virt
perl-Taint-Runtime
perl-Task-Weaken
perl-Term-Size-Any
perl-Term-Size-Perl
perl-Term-Table
perl-Term-UI
perl-TermReadKey
perl-Test-Base
perl-Test-ClassAPI
perl-Test-CPAN-Meta
perl-Test-CPAN-Meta-JSON
perl-Test-Deep
perl-Test-Differences
perl-Test-DistManifest
perl-Test-Distribution
perl-Test-EOL
perl-Test-Exception
perl-Test-Exit
perl-Test-FailWarnings
perl-Test-Fatal
perl-Test-File
perl-Test-File-ShareDir
perl-Test-Harness
perl-Test-HasVersion
perl-Test-InDistDir
perl-Test-Inter
perl-Test-LeakTrace
perl-Test-LongString
perl-Test-Manifest
perl-Test-Memory-Cycle
perl-Test-MinimumVersion
perl-Test-MockObject
perl-Test-MockRandom
perl-Test-Needs
perl-Test-NoTabs
perl-Test-NoWarnings
perl-Test-Object
perl-Test-Output
perl-Test-Pod
perl-Test-Pod-Coverage
perl-Test-Portability-Files
perl-Test-Requires
perl-Test-RequiresInternet
perl-Test-Script
perl-Test-Simple
perl-Test-SubCalls
perl-Test-Synopsis
perl-Test-Taint
perl-Test-TrailingSpace
perl-Test-utf8
perl-Test-Vars
perl-Test-Warn
perl-Test-Without-Module
perl-Test2-Plugin-NoWarnings
perl-Test2-Suite
perl-Test2-Tools-Explain
perl-Text-CharWidth
perl-Text-CSV_XS
perl-Text-Diff
perl-Text-Glob
perl-Text-Iconv
perl-Text-Soundex
perl-Text-Unidecode
perl-Text-WrapI18N
perl-Tie-IxHash
perl-TimeDate
perl-Tree-DAG_Node
perl-Unicode-EastAsianWidth
perl-Unicode-LineBreak
perl-Unicode-Map8
perl-Unicode-String
perl-Unicode-UTF8
perl-UNIVERSAL-can
perl-UNIVERSAL-isa
perl-Unix-Syslog
perl-URI
perl-Variable-Magic
perl-Version-Requirements
perl-WWW-RobotRules
perl-XML-Catalog
perl-XML-DOM
perl-XML-Dumper
perl-XML-Filter-BufferText
perl-XML-Generator
perl-XML-Grove
perl-XML-Handler-YAWriter
perl-XML-LibXML
perl-XML-LibXSLT
perl-XML-NamespaceSupport
perl-XML-Parser-Lite
perl-XML-RegExp
perl-XML-SAX
perl-XML-SAX-Base
perl-XML-SAX-Writer
perl-XML-Simple
perl-XML-TokeParser
perl-XML-TreeBuilder
perl-XML-Twig
perl-XML-Writer
perl-XML-XPath
perl-XML-XPathEngine
perl-XString
perl-YAML-LibYAML
perl-YAML-PP
perl-YAML-Syck
perltidy
pesign
phodav
php
php-pear
php-pecl-zip
physfs
picosat
pinfo
pipewire
pixman
pkcs11-helper
pkgconf
plexus-cipher
plexus-containers
plexus-sec-dispatcher
plotutils
pmdk-convert
pmix
pngcrush
pngnq
po4a
podman
poetry
policycoreutils
polkit-pkla-compat
polkit-qt-1
portreserve
postfix
potrace
powertop
ppp
pps-tools
pptp
priv_wrapper
procmail
prometheus
prometheus-node-exporter
ps_mem
psacct
psutils
ptlib
publicsuffix-list
pugixml
pulseaudio
puppet
pwgen
pyatspi
pybind11
pycairo
pyelftools
pyflakes
pygobject3
PyGreSQL
pykickstart
pylint
pyparted
pyproject-rpm-macros
pyserial
python-absl-py
python-aiodns
python-aiohttp
python-alsa
python-argcomplete
python-astroid
python-astunparse
python-async-generator
python-augeas
python-azure-sdk
python-beautifulsoup4
python-betamax
python-blinker
python-blivet
python-cached_property
python-charset-normalizer
python-cheetah
python-click
python-cmd2
python-colorama
python-CommonMark
python-conda-package-handling
python-configshell
python-cpuinfo
python-cups
python-curio
python-cytoolz
python-d2to1
python-dbus-client-gen
python-dbus-python-client-gen
python-dbus-signature-pyparsing
python-dbusmock
python-ddt
python-debtcollector
python-decorator
python-distlib
python-dmidecode
python-dns
python-dtopt
python-dulwich
python-editables
python-enchant
python-entrypoints
python-ethtool
python-evdev
python-extras
python-faker
python-fasteners
python-fastjsonschema
python-fields
python-filelock
python-fixtures
python-flake8
python-flask
python-flit
python-flit-core
python-fluidity-sm
python-frozendict
python-funcsigs
python-gast
python-genshi
python-google-auth
python-google-auth-oauthlib
python-greenlet
python-gssapi
python-h5py
python-hatch-fancy-pypi-readme
python-hatch-vcs
python-hatchling
python-hs-dbus-signature
python-html5lib
python-httplib2
python-humanize
python-hwdata
python-importlib-metadata
python-inotify
python-into-dbus-python
python-IPy
python-iso8601
python-isodate
python-isort
python-itsdangerous
python-justbases
python-justbytes
python-jwcrypto
python-jwt
python-kdcproxy
python-kerberos
python-kmod
python-kubernetes
python-lark
python-lazy-object-proxy
python-ldap
python-linux-procfs
python-lit
python-looseversion
python-markdown
python-markdown-it-py
python-mccabe
python-mdurl
python-memcached
python-mimeparse
python-mock
python-monotonic
python-more-itertools
python-mpmath
python-msal
python-msrestazure
python-mutagen
python-networkx
python-nose2
python-ntlm-auth
python-oauth2client
python-openpyxl
python-openstackdocstheme
python-oslo-i18n
python-oslo-sphinx
python-paramiko
python-pathspec
python-pefile
python-pexpect
python-pkgconfig
python-platformdirs
python-pluggy
python-podman-api
python-poetry-core
python-process-tests
python-productmd
python-ptyprocess
python-pycares
python-pycosat
python-pydbus
python-pymongo
python-PyMySQL
python-pyperclip
python-pyroute2
python-pyrsistent
python-pysocks
python-pytest-benchmark
python-pytest-cov
python-pytest-expect
python-pytest-flake8
python-pytest-flakes
python-pytest-forked
python-pytest-mock
python-pytest-relaxed
python-pytest-runner
python-pytest-subtests
python-pytest-timeout
python-pytest-xdist
python-pytoml
python-pyudev
python-pywbem
python-qrcode
python-rdflib
python-recommonmark
python-requests-file
python-requests-ftp
python-requests-kerberos
python-requests-mock
python-requests-oauthlib
python-requests-toolbelt
python-requests_ntlm
python-responses
python-retrying
python-rfc3986
python-rich
python-rpm-generators
python-rpmfluff
python-rtslib
python-ruamel-yaml
python-ruamel-yaml-clib
python-s3transfer
python-schedutils
python-semantic_version
python-should_dsl
python-simpleline
python-slip
python-sniffio
python-sortedcontainers
python-soupsieve
python-sphinx
python-sphinx-epytext
python-sphinx-theme-py3doc-enhanced
python-sphinx_rtd_theme
python-sphinxcontrib-apidoc
python-sphinxcontrib-applehelp
python-sphinxcontrib-devhelp
python-sphinxcontrib-htmlhelp
python-sphinxcontrib-httpdomain
python-sphinxcontrib-jsmath
python-sphinxcontrib-qthelp
python-sphinxcontrib-serializinghtml
python-sqlalchemy
python-suds
python-systemd
python-tempita
python-templated-dictionary
python-termcolor
python-testpath
python-testresources
python-testscenarios
python-testtools
python-tidy
python-toml
python-tomli
python-toolz
python-tornado
python-tox
python-tox-current-env
python-tqdm
python-trio
python-trove-classifiers
python-typing-extensions
python-uamqp
python-unittest2
python-uritemplate
python-urwid
python-varlink
python-versioneer
python-virt-firmware
python-voluptuous
python-waitress
python-webencodings
python-webtest
python-wheel
python-whoosh
python-winrm
python-wrapt
python-xmltodict
python-yubico
python-zipp
python-zmq
python-zstd
python3-mallard-ducktype
python3-pytest-asyncio
python3-typed_ast
pyusb
pywbem
pyxattr
qemu
qhull
qpdf
qperf
qr-code-generator
qt-rpm-macros
qt5-qtconnectivity
qt5-qtsensors
qt5-qtserialport
qtbase
qtdeclarative
qtsvg
qttools
quagga
quota
radvd
ragel
raptor2
rarian
rasdaemon
rasqal
rcs
rdist
rdma-core
re2
re2c
realmd
rear
recode
redland
resource-agents
rest
rhash
rlwrap
rp-pppoe
rpm-mpi-hooks
rpmdevtools
rpmlint
rtkit
rtl-sdr
ruby-augeas
rubygem-bson
rubygem-coderay
rubygem-diff-lcs
rubygem-flexmock
rubygem-hpricot
rubygem-introspection
rubygem-liquid
rubygem-maruku
rubygem-metaclass
rubygem-mongo
rubygem-mustache
rubygem-mysql2
rubygem-pkg-config
rubygem-rake
rubygem-rake-compiler
rubygem-ronn
rubygem-rouge
rubygem-rspec
rubygem-rspec-expectations
rubygem-rspec-mocks
rubygem-rspec-support
rubygem-thread_order
rusers
rust-cbindgen
samba
sanlock
sassist
satyr
sbc
sblim-cim-client2
sblim-cmpi-base
sblim-cmpi-devel
sblim-cmpi-fsvol
sblim-cmpi-network
sblim-cmpi-nfsv3
sblim-cmpi-nfsv4
sblim-cmpi-params
sblim-cmpi-sysfs
sblim-cmpi-syslog
sblim-indication_helper
sblim-sfcb
sblim-sfcc
sblim-sfcCommon
sblim-testsuite
sblim-wbemcli
scl-utils
scotch
screen
scrub
SDL
SDL2
SDL_sound
sdparm
seabios
secilc
selinux-policy
sendmail
serd
setools
setserial
setuptool
sgabios
sgml-common
sgpio
shared-mime-info
sharutils
sip
sisu
skkdic
sleuthkit
slirp4netns
smartmontools
smc-tools
socket_wrapper
softhsm
sombok
sord
sos
sound-theme-freedesktop
soundtouch
sox
soxr
sparsehash
spausedd
speex
speexdsp
spice-protocol
spice-vdagent
spirv-headers
spirv-tools
splix
squashfs-tools
squid
sratom
sscg
star
startup-notification
stunnel
subscription-manager
suitesparse
SuperLU
supermin
switcheroo-control
swtpm
symlinks
sympy
sysfsutils
systemd
systemd-bootchart
t1lib
t1utils
taglib
tang
targetcli
tbb
tcl-pgtcl
tclx
teckit
telnet
thrift
tidy
time
tini
tinycdb
tix
tk
tlog
tmpwatch
tn5250
tofrodos
tokyocabinet
trace-cmd
tss2
ttembed
ttmkfdir
tuna
twolame
uchardet
uclibc-ng
ucpp
ucs-miscfixed-fonts
ucx
udftools
udica
udisks2
uglify-js
uid_wrapper
unicode-emoji
unicode-ucd
unique3
units
upower
uriparser
urlview
usb_modeswitch
usb_modeswitch-data
usbguard
usbip
usbmuxd
usbredir
usermode
ustr
uthash
uuid
uw-imap
v4l-utils
vhostmd
vino
virglrenderer
virt-p2v
virt-top
virt-what
virt-who
vitess
vmem
volume_key
vorbis-tools
vte291
vulkan-headers
vulkan-loader
watchdog
wavpack
wayland
wayland-protocols
web-assets
webrtc-audio-processing
websocketpp
wget
whois
wireguard-tools
wireless-regdb
wireshark
woff2
wordnet
words
wpebackend-fdo
wsmancli
wvdial
x3270
xapian-core
Xaw3d
xcb-proto
xcb-util
xcb-util-image
xcb-util-keysyms
xcb-util-renderutil
xcb-util-wm
xdelta
xdg-dbus-proxy
xdg-utils
xdp-tools
xerces-c
xfconf
xfsdump
xhtml1-dtds
xkeyboard-config
xmlstarlet
xmltoman
xmvn
xorg-x11-apps
xorg-x11-drv-libinput
xorg-x11-font-utils
xorg-x11-fonts
xorg-x11-proto-devel
xorg-x11-server
xorg-x11-server-utils
xorg-x11-util-macros
xorg-x11-utils
xorg-x11-xauth
xorg-x11-xbitmaps
xorg-x11-xinit
xorg-x11-xkb-utils
xorg-x11-xtrans-devel
xrestop
xterm
xxhash
yajl
yaml-cpp
yasm
yelp-tools
yelp-xsl
ykclient
yp-tools
ypbind
ypserv
z3
zenity
zerofree
zfs-fuse
zipper
zopfli
zziplib | +| Fedora (Copyright Remi Collet) | [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode) | libmemcached-awesome
librabbitmq | +| Fedora (ISC) | [ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE) | python-resolvelib | +| Magnus Edenhill Open Source | [Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING) | librdkafka | +| Microsoft | [Microsoft MIT License](/LICENSES-AND-NOTICES/LICENSE.md) | application-gateway-kubernetes-ingress
asc
azcopy
azure-iot-sdk-c
azure-nvme-utils
azure-storage-cpp
azurelinux-release
azurelinux-repos
azurelinux-rpm-macros
azurelinux-sysinfo
bazel
blobfuse2
bmon
bpftrace
ccache
cert-manager
cf-cli
check-restart
clamav
cloud-hypervisor
cmake-fedora
containerd
coredns
dcos-cli
debugedit
dejavu-fonts
distroless-packages
docker-buildx
docker-cli
docker-compose
doxygen
dtc
elixir
espeak-ng
espeakup
flannel
fluent-bit
freefont
gflags
gh
go-md2man
grpc
grub2-efi-binary-signed
GSL
gtk-update-icon-cache
helm
hvloader
ig
intel-pf-bb-config
ivykis
jsonbuilder
jx
kata-containers-cc
kata-packages-uvm
keda
keras
kernel-signed
kpatch
kube-vip-cloud-provider
kubernetes
libacvp
libconfini
libconfuse
libgdiplus
libmaxminddb
libmetalink
libsafec
libuv
libxml++
lld
local-path-provisioner
lsb-release
ltp
lttng-consume
mm-common
moby-containerd-cc
moby-engine
msgpack
ncompress
networkd-dispatcher
nlohmann-json
nmap
node-problem-detector
ntopng
opentelemetry-cpp
packer
pcaudiolib
pcre2
perl-Test-Warnings
perl-Text-Template
pigz
prebuilt-ca-certificates
prebuilt-ca-certificates-base
prometheus-adapter
python-cachetools
python-cherrypy
python-cstruct
python-execnet
python-google-pasta
python-libclang
python-libevdev
python-logutils
python-ml-dtypes
python-namex
python-nocasedict
python-opt-einsum
python-optree
python-pecan
python-pip
python-pyrpm
python-remoto
python-repoze-lru
python-routes
python-rsa
python-setuptools
python-sphinxcontrib-websupport
python-tensorboard
python-tensorboard-plugin-wit
python-yamlloader
R
rabbitmq-server
rocksdb
rubygem-addressable
rubygem-asciidoctor
rubygem-async
rubygem-async-http
rubygem-async-io
rubygem-async-pool
rubygem-bindata
rubygem-concurrent-ruby
rubygem-connection_pool
rubygem-console
rubygem-cool.io
rubygem-deep_merge
rubygem-digest-crc
rubygem-elastic-transport
rubygem-elasticsearch
rubygem-elasticsearch-api
rubygem-eventmachine
rubygem-excon
rubygem-faraday
rubygem-faraday-em_http
rubygem-faraday-em_synchrony
rubygem-faraday-excon
rubygem-faraday-httpclient
rubygem-faraday-multipart
rubygem-faraday-net_http
rubygem-faraday-net_http_persistent
rubygem-faraday-patron
rubygem-faraday-rack
rubygem-faraday-retry
rubygem-ffi
rubygem-fiber-local
rubygem-fluent-config-regexp-type
rubygem-fluent-logger
rubygem-fluent-plugin-elasticsearch
rubygem-fluent-plugin-kafka
rubygem-fluent-plugin-prometheus
rubygem-fluent-plugin-prometheus_pushgateway
rubygem-fluent-plugin-record-modifier
rubygem-fluent-plugin-rewrite-tag-filter
rubygem-fluent-plugin-systemd
rubygem-fluent-plugin-webhdfs
rubygem-fluent-plugin-windows-exporter
rubygem-fluentd
rubygem-hirb
rubygem-hocon
rubygem-hoe
rubygem-http_parser
rubygem-httpclient
rubygem-io-event
rubygem-jmespath
rubygem-ltsv
rubygem-mini_portile2
rubygem-minitest
rubygem-mocha
rubygem-msgpack
rubygem-multi_json
rubygem-multipart-post
rubygem-net-http-persistent
rubygem-nio4r
rubygem-nokogiri
rubygem-oj
rubygem-parallel
rubygem-power_assert
rubygem-prometheus-client
rubygem-protocol-hpack
rubygem-protocol-http
rubygem-protocol-http1
rubygem-protocol-http2
rubygem-public_suffix
rubygem-puppet-resource_api
rubygem-rdiscount
rubygem-rdkafka
rubygem-rexml
rubygem-ruby-kafka
rubygem-ruby-progressbar
rubygem-rubyzip
rubygem-semantic_puppet
rubygem-serverengine
rubygem-sigdump
rubygem-strptime
rubygem-systemd-journal
rubygem-test-unit
rubygem-thor
rubygem-timers
rubygem-tzinfo
rubygem-tzinfo-data
rubygem-webhdfs
rubygem-webrick
rubygem-yajl-ruby
rubygem-zip-zip
runc
sdbus-cpp
sgx-backwards-compatibility
shim
shim-unsigned
shim-unsigned-aarch64
shim-unsigned-x64
skopeo
span-lite
sriov-network-device-plugin
SymCrypt
SymCrypt-OpenSSL
tensorflow
tinyxml2
toml11
tracelogging
umoci
usrsctp
vala
verity-read-only-root
vnstat
zstd | +| Netplan source | [GPLv3](https://github.com/canonical/netplan/blob/main/COPYING) | netplan | +| Numad source | [LGPLv2 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt) | numad | +| NVIDIA | [ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0) | libnvidia-container
mlnx-tools
mlx-bootctl
nvidia-container-toolkit
ofed-scripts
perftest | +| OpenEuler | [BSD-3 License](https://github.com/pytorch/pytorch/blob/master/LICENSE) | pytorch | +| OpenMamba | [Openmamba GPLv2 License](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt) | bash-completion | +| OpenSUSE | Following [openSUSE guidelines](https://en.opensuse.org/openSUSE:Specfile_guidelines#Specfile_Licensing) | ant
ant-junit
antlr
aopalliance
apache-commons-beanutils
apache-commons-cli
apache-commons-codec
apache-commons-collections
apache-commons-collections4
apache-commons-compress
apache-commons-daemon
apache-commons-dbcp
apache-commons-digester
apache-commons-httpclient
apache-commons-io
apache-commons-jexl
apache-commons-lang
apache-commons-lang3
apache-commons-logging
apache-commons-net
apache-commons-pool
apache-commons-pool2
apache-commons-validator
apache-commons-vfs2
apache-parent
args4j
atinject
base64coder
bcel
bea-stax
beust-jcommander
bsf
byaccj
cal10n
cdparanoia
cglib
cni
containerized-data-importer
cpulimit
cri-o
ecj
fillup
flux
gd
geronimo-specs
glassfish-annotation-api
gnu-getopt
gnu-regexp
golang-packaging
guava
guava20
hamcrest
hawtjni-runtime
httpcomponents-core
influx-cli
influxdb
isorelax
jakarta-taglibs-standard
jansi
jarjar
java-cup
java-cup-bootstrap
javacc
javacc-bootstrap
javassist
jboss-interceptors-1.2-api
jdepend
jflex
jflex-bootstrap
jlex
jline
jna
jsch
jsoup
jsr-305
jtidy
junit
junitperf
jzlib
kubevirt
kured
libcontainers-common
libtheora
libva
libvdpau
lynx
maven-parent
multus
objectweb-anttask
objectweb-asm
objenesis
oro
osgi-annotation
osgi-compendium
osgi-core
patterns-ceph-containers
plexus-classworlds
plexus-interpolation
plexus-pom
plexus-utils
proj
psl-make-dafsa
publicsuffix
qdox
regexp
relaxngDatatype
rhino
ripgrep
servletapi4
servletapi5
shapelib
slf4j
trilead-ssh2
virtiofsd
xalan-j2
xbean
xcursor-themes
xerces-j2
xml-commons-apis
xml-commons-resolver
xmldb-api
xmlrpc-c
xmlunit
xpp2
xpp3
xz-java | +| Photon | [Photon License](LICENSE-PHOTON.md) and [Photon Notice](NOTICE.APACHE2).
Also see [LICENSE-EXCEPTIONS.PHOTON](LICENSE-EXCEPTIONS.PHOTON). | acl
alsa-lib
alsa-utils
ansible
apr
apr-util
asciidoc
atftp
audit
autoconf
autoconf-archive
autofs
autogen
automake
babel
bash
bc
bcc
bind
binutils
bison
blktrace
boost
btrfs-progs
bubblewrap
build-essential
bzip2
c-ares
cairo
cassandra
cdrkit
check
chkconfig
chrpath
cifs-utils
clang
cloud-init
cloud-utils-growpart
cmake
cni-plugins
core-packages
coreutils
cpio
cppunit
cracklib
crash
crash-gcore-command
createrepo_c
cri-tools
cronie
curl
cyrus-sasl
cyrus-sasl-bootstrap
dbus
dbus-glib
dejagnu
device-mapper-multipath
dhcp
dialog
diffutils
dkms
dmidecode
dnsmasq
docbook-dtd-xml
docbook-style-xsl
dosfstools
dracut
dstat
e2fsprogs
ed
efibootmgr
efivar
elfutils
emacs
erlang
etcd
ethtool
expat
expect
fcgi
file
filesystem
findutils
flex
fontconfig
fping
freetype
fuse
gawk
gc
gcc
gdb
gdbm
gettext
git
git-lfs
glib
glib-networking
glibc
glibmm
glide
gmp
gnome-common
gnupg2
gnuplot
gnutls
gobject-introspection
golang
gperf
gperftools
gpgme
gptfdisk
grep
groff
grub2
gtest
gtk-doc
guile
gzip
haproxy
harfbuzz
haveged
hdparm
http-parser
httpd
i2c-tools
iana-etc
icu
initramfs
initscripts
inotify-tools
intltool
iotop
iperf3
iproute
ipset
iptables
iputils
ipvsadm
ipxe
irqbalance
itstool
jansson
jq
json-c
json-glib
kbd
keepalived
kernel
kernel-headers
kernel-mshv
kernel-rt
kernel-uvm
keyutils
kmod
krb5
less
libaio
libarchive
libassuan
libatomic_ops
libcap
libcap-ng
libconfig
libdb
libdnet
libedit
libestr
libevent
libfastjson
libffi
libgcrypt
libgpg-error
libgssglue
libgudev
libjpeg-turbo
libksba
liblogging
libmbim
libmnl
libmodulemd
libmpc
libmspack
libndp
libnetfilter_conntrack
libnetfilter_cthelper
libnetfilter_cttimeout
libnetfilter_queue
libnfnetlink
libnftnl
libnl3
libnsl2
libpcap
libpipeline
libpng
libpsl
libqmi
librelp
librepo
librsync
libseccomp
libselinux
libsepol
libserf
libsigc++30
libsolv
libsoup
libssh2
libtalloc
libtar
libtasn1
libtiff
libtirpc
libtool
libunistring
libunwind
libusb
libvirt
libwebp
libxml2
libxslt
libyaml
linux-firmware
lldb
lldpad
llvm
lm-sensors
lmdb
log4cpp
logrotate
lshw
lsof
lsscsi
ltrace
lttng-tools
lttng-ust
lvm2
lz4
lzo
m2crypto
m4
make
man-db
man-pages
mariadb
maven
mc
mercurial
meson
mlocate
ModemManager
mpfr
msr-tools
mysql
nano
nasm
ncurses
ndctl
net-snmp
net-tools
nettle
newt
nfs-utils
nghttp2
nginx
ninja-build
nodejs
npth
nspr
nss
nss-altfiles
ntp
numactl
nvme-cli
oniguruma
OpenIPMI
openldap
openscap
openssh
openvswitch
ostree
pam
pango
parted
patch
pciutils
perl-Canary-Stability
perl-CGI
perl-common-sense
perl-Crypt-SSLeay
perl-DBD-SQLite
perl-DBI
perl-DBIx-Simple
perl-Exporter-Tiny
perl-File-HomeDir
perl-File-Which
perl-IO-Socket-SSL
perl-JSON-Any
perl-JSON-XS
perl-libintl-perl
perl-List-MoreUtils
perl-Module-Build
perl-Module-Install
perl-Module-ScanDeps
perl-Net-SSLeay
perl-NetAddr-IP
perl-Object-Accessor
perl-Path-Class
perl-Try-Tiny
perl-Types-Serialiser
perl-WWW-Curl
perl-XML-Parser
perl-YAML
perl-YAML-Tiny
pgbouncer
pinentry
polkit
popt
postgresql
procps-ng
protobuf
protobuf-c
psmisc
pth
pyasn1-modules
pyOpenSSL
pyparsing
pytest
python-appdirs
python-asn1crypto
python-atomicwrites
python-attrs
python-bcrypt
python-certifi
python-cffi
python-chardet
python-configobj
python-constantly
python-coverage
python-cryptography
python-daemon
python-dateutil
python-defusedxml
python-distro
python-docopt
python-docutils
python-ecdsa
python-gevent
python-hyperlink
python-hypothesis
python-idna
python-imagesize
python-incremental
python-iniparse
python-ipaddr
python-jinja2
python-jmespath
python-jsonpatch
python-jsonpointer
python-jsonschema
python-lockfile
python-lxml
python-mako
python-markupsafe
python-mistune
python-msgpack
python-netaddr
python-netifaces
python-ntplib
python-oauthlib
python-packaging
python-pam
python-pbr
python-ply
python-prettytable
python-psutil
python-psycopg2
python-py
python-pyasn1
python-pycodestyle
python-pycparser
python-pycurl
python-pygments
python-pynacl
python-requests
python-setuptools_scm
python-simplejson
python-six
python-snowballstemmer
python-sphinx-theme-alabaster
python-twisted
python-urllib3
python-vcversioner
python-virtualenv
python-wcwidth
python-webob
python-websocket-client
python-werkzeug
python-zope-interface
python3
pytz
PyYAML
rapidjson
readline
rng-tools
rpcbind
rpcsvc-proto
rpm
rpm-ostree
rrdtool
rsync
rsyslog
ruby
rust
scons
sed
sg3_utils
shadow-utils
slang
snappy
socat
sqlite
sshpass
strace
strongswan
subversion
sudo
swig
syslinux
syslog-ng
sysstat
systemd-bootstrap
systemtap
tar
tboot
tcl
tcpdump
tcsh
tdnf
telegraf
texinfo
tmux
tpm2-abrmd
tpm2-pkcs11
tpm2-pytss
tpm2-tools
tpm2-tss
traceroute
tree
tzdata
unbound
unixODBC
unzip
usbutils
userspace-rcu
utf8proc
util-linux
valgrind
vim
vsftpd
WALinuxAgent
which
wpa_supplicant
xfsprogs
xinetd
xmlsec1
xmlto
xz
zchunk
zeromq
zip
zlib
zsh | +| RPM software management source | [GPLv2+ License](https://github.com/rpm-software-management/dnf5/blob/main/COPYING.md) | dnf5 | +| Source project | Same as the source project. | python-nocaselist | +| Sysbench source | [GPLv2+ License](https://github.com/akopytov/sysbench/blob/master/COPYING) | sysbench | diff --git a/LICENSES-AND-NOTICES/SPECS/data/licenses.json b/LICENSES-AND-NOTICES/SPECS/data/licenses.json index 39ea84e62fc..21f43a0460f 100644 --- a/LICENSES-AND-NOTICES/SPECS/data/licenses.json +++ b/LICENSES-AND-NOTICES/SPECS/data/licenses.json @@ -1,3084 +1,3084 @@ -{ - "header": "The Azure Linux SPEC files originated from a variety of sources with varying licenses. The changelog for each SPEC file declares provenance for Azure Linux. Some of the SPEC files that originated from other distributions might already have been derived from alternate sources. Their licenses can be found in LICENSE-EXCEPTION.xxx files in this folder.", - "table_headers": [ - "Origin", - "License", - "Specs" - ], - "licenses": { - "CentOS": { - "license": "[MIT](https://www.centos.org/legal/#licensing-policy)", - "specs": [ - "crash-ptdump-command", - "delve", - "fstrm", - "nodejs-nodemon", - "rhnlib", - "rt-setup", - "rt-tests", - "rtctl", - "tuned" - ] - }, - "Ceph source": { - "license": "[LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1)", - "specs": [ - "ceph" - ] - }, - "Debian": { - "license": "[MIT](https://opensource.org/licenses/MIT)", - "specs": [ - "prometheus-process-exporter" - ] - }, - "Fedora": { - "license": "[Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files)", - "specs": [ - "a52dec", - "abseil-cpp", - "accountsservice", - "acpica-tools", - "acpid", - "adcli", - "adobe-mappings-cmap", - "adobe-mappings-pdf", - "advancecomp", - "adwaita-icon-theme", - "afflib", - "aide", - "alsa-firmware", - "alsa-plugins", - "amtk", - "amtterm", - "annobin", - "ansible-freeipa", - "archivemount", - "argparse-manpage", - "arptables", - "arpwatch", - "asio", - "aspell", - "aspell-en", - "at", - "at-spi2-atk", - "at-spi2-core", - "atf", - "atk", - "atop", - "attr", - "audiofile", - "augeas", - "authbind", - "authd", - "authselect", - "autoconf213", - "avahi", - "babeltrace", - "babeltrace2", - "babl", - "baekmuk-ttf-fonts", - "bats", - "bcache-tools", - "biosdevname", - "blosc", - "bluez", - "bmake", - "bogofilter", - "bolt", - "boom-boot", - "booth", - "botan2", - "breezy", - "brotli", - "buildah", - "busybox", - "bwidget", - "byacc", - "ca-certificates", - "cachefilesd", - "cairomm", - "calamares", - "capstone", - "catatonit", - "catch", - "catch1", - "cdrdao", - "celt051", - "cereal", - "certmonger", - "cfitsio", - "cgdcbxd", - "chan", - "CharLS", - "checkpolicy", - "checksec", - "chrony", - "cim-schema", - "cjkuni-uming-fonts", - "cjose", - "ck", - "cldr-emoji-annotation", - "clucene", - "clutter", - "clutter-gst3", - "clutter-gtk", - "cmocka", - "cogl", - "collectd", - "colm", - "color-filesystem", - "colord", - "colorize", - "compat-lua", - "compiler-rt", - "conda", - "conmon", - "conntrack-tools", - "console-setup", - "container-exception-logger", - "containernetworking-plugins", - "convmv", - "corosync", - "corosync-qdevice", - "cpp-hocon", - "cppcheck", - "cpprest", - "cpptest", - "cpuid", - "criu", - "crypto-policies", - "cryptsetup", - "cscope", - "ctags", - "CUnit", - "cups", - "custodia", - "Cython", - "dbus-c++", - "dbus-python", - "dbxtool", - "dconf", - "dcraw", - "debootstrap", - "deltarpm", - "desktop-file-utils", - "device-mapper-persistent-data", - "dietlibc", - "diffstat", - "ding-libs", - "discount", - "distribution-gpg-keys", - "dleyna-connector-dbus", - "dleyna-core", - "dmraid", - "dnf", - "dnf-plugins-core", - "docbook-dtds", - "docbook-simple", - "docbook-slides", - "docbook-style-dsssl", - "docbook-utils", - "docbook2X", - "docbook5-schemas", - "docbook5-style-xsl", - "dogtail", - "dos2unix", - "dotconf", - "dovecot", - "dpdk", - "dpkg", - "driverctl", - "dropwatch", - "drpm", - "duktape", - "dumpet", - "dvd+rw-tools", - "dwarves", - "dwz", - "dyninst", - "ebtables", - "edac-utils", - "edk2", - "efax", - "efi-rpm-macros", - "egl-wayland", - "eglexternalplatform", - "elinks", - "enca", - "enchant", - "enchant2", - "enscript", - "environment-modules", - "evemu", - "execstack", - "exempi", - "exiv2", - "extra-cmake-modules", - "fabtests", - "facter", - "fakechroot", - "fakeroot", - "fapolicyd", - "fdk-aac-free", - "fdupes", - "fence-virt", - "fetchmail", - "fftw", - "filebench", - "fio", - "fipscheck", - "firewalld", - "flac", - "flatbuffers", - "flite", - "fltk", - "fmt", - "fontawesome-fonts", - "fontawesome4-fonts", - "fontpackages", - "fonts-rpm-macros", - "foomatic-db", - "freeglut", - "freeipmi", - "freeradius", - "freetds", - "freexl", - "fribidi", - "fros", - "frr", - "fsverity-utils", - "fuse-overlayfs", - "fuse-sshfs", - "fuse-zip", - "fuse3", - "future", - "fxload", - "gavl", - "gbenchmark", - "gconf-editor", - "GConf2", - "gcovr", - "gcr", - "gdal", - "gdisk", - "gdk-pixbuf2", - "generic-logos", - "genwqe-tools", - "geoclue2", - "GeoIP", - "GeoIP-GeoLite-data", - "geolite2", - "geos", - "gfs2-utils", - "ghc-srpm-macros", - "giflib", - "gl-manpages", - "glew", - "glm", - "glog", - "glslang", - "glusterfs", - "gnome-desktop-testing", - "gnome-doc-utils", - "gnome-icon-theme", - "gnome-keyring", - "gnu-efi", - "go-rpm-macros", - "gom", - "google-api-python-client", - "google-crosextra-caladea-fonts", - "google-crosextra-carlito-fonts", - "google-guice", - "google-noto-cjk-fonts", - "google-noto-emoji-fonts", - "google-roboto-slab-fonts", - "gphoto2", - "gpm", - "gpsbabel", - "graphene", - "graphite2", - "graphviz", - "grubby", - "gsettings-desktop-schemas", - "gsl", - "gsm", - "gspell", - "gssdp", - "gssntlmssp", - "gstreamer1", - "gstreamer1-plugins-base", - "gtk-vnc", - "gtk2", - "gtk3", - "gtkspell", - "gupnp", - "gupnp-av", - "gupnp-dlna", - "gupnp-igd", - "hardening-check", - "hdf", - "hdf5", - "heimdal", - "help2man", - "hexedit", - "hicolor-icon-theme", - "hiera", - "highlight", - "hivex", - "hostname", - "hping3", - "hsakmt", - "htop", - "hunspell", - "hunspell-af", - "hunspell-ar", - "hunspell-as", - "hunspell-ast", - "hunspell-az", - "hunspell-be", - "hunspell-bg", - "hunspell-bn", - "hunspell-br", - "hunspell-ca", - "hunspell-cop", - "hunspell-csb", - "hunspell-cv", - "hunspell-cy", - "hunspell-da", - "hunspell-de", - "hunspell-dsb", - "hunspell-el", - "hunspell-en", - "hunspell-eo", - "hunspell-es", - "hunspell-et", - "hunspell-eu", - "hunspell-fa", - "hunspell-fj", - "hunspell-fo", - "hunspell-fr", - "hunspell-fur", - "hunspell-fy", - "hunspell-ga", - "hunspell-gd", - "hunspell-gl", - "hunspell-grc", - "hunspell-gu", - "hunspell-gv", - "hunspell-haw", - "hunspell-hi", - "hunspell-hil", - "hunspell-hr", - "hunspell-hsb", - "hunspell-ht", - "hunspell-hu", - "hunspell-hy", - "hunspell-ia", - "hunspell-id", - "hunspell-is", - "hunspell-it", - "hunspell-kk", - "hunspell-km", - "hunspell-kn", - "hunspell-ko", - "hunspell-ku", - "hunspell-ky", - "hunspell-la", - "hunspell-lb", - "hunspell-ln", - "hunspell-mai", - "hunspell-mg", - "hunspell-mi", - "hunspell-mk", - "hunspell-ml", - "hunspell-mn", - "hunspell-mos", - "hunspell-mr", - "hunspell-ms", - "hunspell-mt", - "hunspell-nds", - "hunspell-ne", - "hunspell-nl", - "hunspell-no", - "hunspell-nr", - "hunspell-nso", - "hunspell-ny", - "hunspell-om", - "hunspell-or", - "hunspell-pa", - "hunspell-pl", - "hunspell-pt", - "hunspell-quh", - "hunspell-ro", - "hunspell-ru", - "hunspell-rw", - "hunspell-se", - "hunspell-shs", - "hunspell-si", - "hunspell-sk", - "hunspell-sl", - "hunspell-smj", - "hunspell-so", - "hunspell-sq", - "hunspell-sr", - "hunspell-sv", - "hunspell-sw", - "hunspell-ta", - "hunspell-te", - "hunspell-tet", - "hunspell-th", - "hunspell-tk", - "hunspell-tl", - "hunspell-tn", - "hunspell-tpi", - "hunspell-ts", - "hunspell-uk", - "hunspell-uz", - "hunspell-ve", - "hunspell-vi", - "hunspell-wa", - "hunspell-xh", - "hunspell-yi", - "hwdata", - "hwloc", - "hyperscan", - "hyperv-daemons", - "hyphen", - "hyphen-as", - "hyphen-bg", - "hyphen-bn", - "hyphen-ca", - "hyphen-da", - "hyphen-de", - "hyphen-el", - "hyphen-es", - "hyphen-fa", - "hyphen-fo", - "hyphen-fr", - "hyphen-ga", - "hyphen-gl", - "hyphen-grc", - "hyphen-gu", - "hyphen-hi", - "hyphen-hsb", - "hyphen-hu", - "hyphen-ia", - "hyphen-id", - "hyphen-is", - "hyphen-it", - "hyphen-kn", - "hyphen-ku", - "hyphen-lt", - "hyphen-mi", - "hyphen-ml", - "hyphen-mn", - "hyphen-mr", - "hyphen-nl", - "hyphen-or", - "hyphen-pa", - "hyphen-pl", - "hyphen-pt", - "hyphen-ro", - "hyphen-ru", - "hyphen-sa", - "hyphen-sk", - "hyphen-sl", - "hyphen-sv", - "hyphen-ta", - "hyphen-te", - "hyphen-tk", - "hyphen-uk", - "ibus", - "ibus-chewing", - "ibus-hangul", - "ibus-kkc", - "ibus-libzhuyin", - "ibus-m17n", - "ibus-rawcode", - "ibus-sayura", - "ibus-table", - "ibus-table-chinese", - "icc-profiles-openicc", - "icon-naming-utils", - "icoutils", - "iftop", - "iio-sensor-proxy", - "ilmbase", - "im-chooser", - "imaptest", - "imsettings", - "indent", - "infinipath-psm", - "inih", - "iniparser", - "intel-cmt-cat", - "intel-ipsec-mb", - "ioping", - "IP2Location", - "ipa-pgothic-fonts", - "ipcalc", - "ipmitool", - "iprutils", - "iptraf-ng", - "iptstate", - "irssi", - "iscsi-initiator-utils", - "isns-utils", - "iso-codes", - "isomd5sum", - "iw", - "iwd", - "jabberpy", - "jakarta-servlet", - "jasper", - "javapackages-bootstrap", - "javapackages-tools", - "jbigkit", - "jdom2", - "jemalloc", - "jfsutils", - "jimtcl", - "jose", - "js-jquery", - "jsoncpp", - "Judy", - "jurand", - "kata-containers", - "kde-filesystem", - "kde-settings", - "kexec-tools", - "keybinder3", - "keycloak-httpd-client-install", - "kf", - "kf-kconfig", - "kf-kcoreaddons", - "kf-ki18n", - "kf-kwidgetsaddons", - "kpmcore", - "kronosnet", - "ksh", - "kyotocabinet", - "kyua", - "ladspa", - "lame", - "langtable", - "lapack", - "lasso", - "latencytop", - "lato-fonts", - "lcms2", - "lcov", - "ldns", - "leatherman", - "ledmon", - "lensfun", - "leveldb", - "lftp", - "libabw", - "libaec", - "libao", - "libappstream-glib", - "libarrow", - "libart_lgpl", - "libasyncns", - "libatasmart", - "libavc1394", - "libblockdev", - "libbpf", - "libbsd", - "libburn", - "libbytesize", - "libcacard", - "libcanberra", - "libcdio", - "libcdio-paranoia", - "libcdr", - "libcgroup", - "libchewing", - "libcli", - "libcmis", - "libcmpiutil", - "libcomps", - "libcroco", - "libdaemon", - "libdap", - "libdatrie", - "libdazzle", - "libdbi", - "libdbi-drivers", - "libdbusmenu", - "libdc1394", - "libdeflate", - "libdmx", - "libdnf", - "libdrm", - "libdvdnav", - "libdvdread", - "libdwarf", - "libeasyfc", - "libecap", - "libecb", - "libell", - "libEMF", - "libeot", - "libepoxy", - "libepubgen", - "libesmtp", - "libetonyek", - "libev", - "libevdev", - "libexif", - "libexttextcat", - "libfabric", - "libfontenc", - "libfreehand", - "libftdi", - "libgadu", - "libgdither", - "libgee", - "libgee06", - "libgeotiff", - "libgexiv2", - "libgit2", - "libgit2-glib", - "libglade2", - "libglvnd", - "libgovirt", - "libgphoto2", - "libgsf", - "libgta", - "libguestfs", - "libgusb", - "libgxim", - "libgxps", - "libhangul", - "libhugetlbfs", - "libibcommon", - "libical", - "libICE", - "libicns", - "libid3tag", - "libIDL", - "libidn2", - "libiec61883", - "libieee1284", - "libimobiledevice", - "libindicator", - "libinput", - "libiodbc", - "libipt", - "libiptcdata", - "libiscsi", - "libisoburn", - "libisofs", - "libjcat", - "libkcapi", - "libkeepalive", - "libkkc", - "libkkc-data", - "libkml", - "liblangtag", - "libldb", - "libldm", - "liblerc", - "liblockfile", - "liblognorm", - "liblouis", - "liblqr-1", - "liblzf", - "libmad", - "libmediaart", - "libmicrohttpd", - "libmikmod", - "libmodman", - "libmodplug", - "libmodulemd1", - "libmpcdec", - "libmspub", - "libmtp", - "libmusicbrainz5", - "libmwaw", - "libnbd", - "libnet", - "libnetfilter_log", - "libnfs", - "libnotify", - "libntlm", - "libnumbertext", - "libnvme", - "liboauth", - "libodfgen", - "libofa", - "libogg", - "liboggz", - "liboil", - "libomxil-bellagio", - "libopenraw", - "liboping", - "libosinfo", - "libotf", - "libotr", - "libpagemaker", - "libpaper", - "libpciaccess", - "libpeas", - "libpfm", - "libpinyin", - "libplist", - "libpmemobj-cpp", - "libpng12", - "libpng15", - "libproxy", - "libpsm2", - "libpwquality", - "libqb", - "libqxp", - "libraqm", - "LibRaw", - "libraw1394", - "libreport", - "libreswan", - "librevenge", - "librsvg2", - "librx", - "libsamplerate", - "libsass", - "libsecret", - "libsemanage", - "libsigc++20", - "libsigsegv", - "libslirp", - "libSM", - "libsmbios", - "libsmi", - "libsndfile", - "libsodium", - "libspiro", - "libsrtp", - "libssh", - "libstaroffice", - "libstemmer", - "libstoragemgmt", - "libtdb", - "libteam", - "libtevent", - "libthai", - "libtnc", - "libtomcrypt", - "libtommath", - "libtpms", - "libtracecmd", - "libtraceevent", - "libtracefs", - "libtranslit", - "libucil", - "libunicap", - "libuninameslist", - "liburing", - "libusbmuxd", - "libuser", - "libutempter", - "libvarlink", - "libverto", - "libvirt-dbus", - "libvirt-glib", - "libvirt-java", - "libvirt-python", - "libvisio", - "libvisual", - "libvoikko", - "libvorbis", - "libvpx", - "libwacom", - "libwnck3", - "libwpd", - "libwpe", - "libwpg", - "libwps", - "libwvstreams", - "libX11", - "libXau", - "libXaw", - "libxcb", - "libXcomposite", - "libxcrypt", - "libXcursor", - "libXdamage", - "libXdmcp", - "libXext", - "libxfce4util", - "libXfixes", - "libXfont2", - "libXft", - "libXi", - "libXinerama", - "libxkbcommon", - "libxkbfile", - "libxklavier", - "libxmlb", - "libXmu", - "libXpm", - "libXrandr", - "libXrender", - "libXres", - "libXScrnSaver", - "libxshmfence", - "libXt", - "libXtst", - "libXv", - "libXxf86vm", - "libyami", - "libyang", - "libyubikey", - "libzip", - "libzmf", - "lilv", - "linuxconsoletools", - "linuxptp", - "lksctp-tools", - "lldpd", - "lockdev", - "logwatch", - "lpsolve", - "lrzsz", - "lua", - "lua-expat", - "lua-filesystem", - "lua-json", - "lua-lpeg", - "lua-lunit", - "lua-rpm-macros", - "lua-term", - "luajit", - "lujavrite", - "luksmeta", - "lutok", - "lv2", - "lzip", - "lzop", - "m17n-db", - "m17n-lib", - "mac-robber", - "mailcap", - "mailx", - "malaga", - "malaga-suomi-voikko", - "mallard-rng", - "man-pages-cs", - "man-pages-es", - "man-pages-it", - "man-pages-ja", - "man-pages-ko", - "man-pages-pl", - "man-pages-ru", - "man-pages-zh-CN", - "mandoc", - "mariadb-connector-c", - "mariadb-connector-odbc", - "marisa", - "maven-compiler-plugin", - "maven-jar-plugin", - "maven-resolver", - "maven-resources-plugin", - "maven-surefire", - "maven-wagon", - "mcelog", - "mcpp", - "mcstrans", - "mdadm", - "mdds", - "mdevctl", - "meanwhile", - "mecab", - "mecab-ipadic", - "media-player-info", - "memcached", - "memkind", - "mesa", - "mesa-libGLU", - "metis", - "microcode_ctl", - "microdnf", - "minicom", - "minizip", - "mksh", - "mobile-broadband-provider-info", - "mock", - "mock-core-configs", - "mod_auth_gssapi", - "mod_auth_mellon", - "mod_auth_openidc", - "mod_authnz_pam", - "mod_fcgid", - "mod_http2", - "mod_intercept_form_submit", - "mod_lookup_identity", - "mod_md", - "mod_security", - "mod_security_crs", - "mod_wsgi", - "mokutil", - "mozjs", - "mpage", - "mrtg", - "mstflint", - "mt-st", - "mtdev", - "mtools", - "mtr", - "mtx", - "munge", - "mutt", - "mythes", - "mythes-bg", - "mythes-ca", - "mythes-cs", - "mythes-da", - "mythes-de", - "mythes-el", - "mythes-en", - "mythes-eo", - "mythes-es", - "mythes-fr", - "mythes-ga", - "mythes-hu", - "mythes-mi", - "mythes-ne", - "mythes-nl", - "mythes-pl", - "mythes-pt", - "mythes-ro", - "mythes-ru", - "mythes-sk", - "mythes-sl", - "mythes-sv", - "mythes-uk", - "nbd", - "nbdkit", - "neon", - "netavark", - "netcdf", - "netcf", - "netlabel_tools", - "netpbm", - "netsniff-ng", - "nfs4-acl-tools", - "nftables", - "nilfs-utils", - "nkf", - "nload", - "nlopt", - "nodejs-packaging", - "nss-mdns", - "nss-pam-ldapd", - "nss_nis", - "nss_wrapper", - "ntfs-3g", - "ntfs-3g-system-compression", - "numad", - "numatop", - "numpy", - "nvmetcli", - "nvml", - "oath-toolkit", - "ocaml", - "ocaml-alcotest", - "ocaml-astring", - "ocaml-augeas", - "ocaml-base", - "ocaml-bigarray-compat", - "ocaml-bisect-ppx", - "ocaml-calendar", - "ocaml-camlp-streams", - "ocaml-camlp5", - "ocaml-camomile", - "ocaml-cinaps", - "ocaml-cmdliner", - "ocaml-compiler-libs-janestreet", - "ocaml-cppo", - "ocaml-csexp", - "ocaml-csv", - "ocaml-ctypes", - "ocaml-curses", - "ocaml-dune", - "ocaml-extlib", - "ocaml-fileutils", - "ocaml-findlib", - "ocaml-fmt", - "ocaml-fpath", - "ocaml-gettext", - "ocaml-integers", - "ocaml-libvirt", - "ocaml-luv", - "ocaml-lwt", - "ocaml-markup", - "ocaml-migrate-parsetree", - "ocaml-mmap", - "ocaml-num", - "ocaml-ocamlbuild", - "ocaml-ocplib-endian", - "ocaml-ounit", - "ocaml-parsexp", - "ocaml-pp", - "ocaml-ppx-derivers", - "ocaml-ppx-here", - "ocaml-ppx-let", - "ocaml-ppxlib", - "ocaml-re", - "ocaml-react", - "ocaml-result", - "ocaml-seq", - "ocaml-sexplib", - "ocaml-sexplib0", - "ocaml-srpm-macros", - "ocaml-stdio", - "ocaml-stdlib-random", - "ocaml-topkg", - "ocaml-tyxml", - "ocaml-uuidm", - "ocaml-uutf", - "ocaml-xml-light", - "ocaml-zarith", - "ocl-icd", - "oddjob", - "ogdi", - "omping", - "opa", - "opal", - "open-vm-tools", - "openblas", - "opencc", - "opencl-filesystem", - "opencl-headers", - "opencryptoki", - "opencsd", - "opendnssec", - "OpenEXR", - "openjade", - "openjpeg2", - "openmpi", - "openobex", - "openoffice-lv", - "openrdate", - "opensc", - "openslp", - "opensm", - "opensp", - "openssl", - "openssl-ibmpkcs11", - "openssl-pkcs11", - "openwsman", - "optipng", - "opus", - "opusfile", - "orangefs", - "ORBit2", - "orc", - "os-prober", - "osinfo-db", - "osinfo-db-tools", - "overpass-fonts", - "p11-kit", - "p7zip", - "pacemaker", - "pacrunner", - "pakchois", - "pam_krb5", - "pam_wrapper", - "papi", - "paps", - "parallel", - "patchelf", - "patchutils", - "pbzip2", - "pcp", - "pcsc-lite", - "pcsc-lite-ccid", - "PEGTL", - "perl", - "perl-Algorithm-C3", - "perl-Algorithm-Diff", - "perl-Alien-Build", - "perl-Alien-pkgconf", - "perl-AnyEvent", - "perl-AnyEvent-AIO", - "perl-AnyEvent-BDB", - "perl-App-cpanminus", - "perl-App-FatPacker", - "perl-AppConfig", - "perl-Archive-Extract", - "perl-Archive-Zip", - "perl-Authen-SASL", - "perl-B-COW", - "perl-B-Debug", - "perl-B-Hooks-EndOfScope", - "perl-B-Hooks-OP-Check", - "perl-B-Keywords", - "perl-B-Lint", - "perl-bareword-filehandles", - "perl-BDB", - "perl-Bit-Vector", - "perl-boolean", - "perl-Browser-Open", - "perl-BSD-Resource", - "perl-Business-ISBN", - "perl-Business-ISBN-Data", - "perl-Bytes-Random-Secure", - "perl-Capture-Tiny", - "perl-Carp-Clan", - "perl-CBOR-XS", - "perl-Class-Accessor", - "perl-Class-C3", - "perl-Class-C3-XS", - "perl-Class-Data-Inheritable", - "perl-Class-Factory-Util", - "perl-Class-Inspector", - "perl-Class-ISA", - "perl-Class-Load", - "perl-Class-Load-XS", - "perl-Class-Method-Modifiers", - "perl-Class-Singleton", - "perl-Class-Tiny", - "perl-Class-XSAccessor", - "perl-Clone", - "perl-Color-ANSI-Util", - "perl-Color-RGB-Util", - "perl-ColorThemeBase-Static", - "perl-ColorThemeRole-ANSI", - "perl-ColorThemes-Standard", - "perl-ColorThemeUtil-ANSI", - "perl-Compress-Bzip2", - "perl-Compress-LZF", - "perl-Compress-Raw-Lzma", - "perl-Config-AutoConf", - "perl-Config-INI", - "perl-Config-INI-Reader-Multiline", - "perl-Config-IniFiles", - "perl-Config-Simple", - "perl-Config-Tiny", - "perl-Const-Fast", - "perl-Convert-ASN1", - "perl-Convert-Bencode", - "perl-Coro", - "perl-Coro-Multicore", - "perl-CPAN-Changes", - "perl-CPAN-DistnameInfo", - "perl-CPAN-Meta-Check", - "perl-Cpanel-JSON-XS", - "perl-Crypt-CBC", - "perl-Crypt-DES", - "perl-Crypt-IDEA", - "perl-Crypt-OpenSSL-Bignum", - "perl-Crypt-OpenSSL-Guess", - "perl-Crypt-OpenSSL-Random", - "perl-Crypt-OpenSSL-RSA", - "perl-Crypt-PasswdMD5", - "perl-Crypt-Random-Seed", - "perl-CSS-Tiny", - "perl-Data-Dump", - "perl-Data-Munge", - "perl-Data-OptList", - "perl-Data-Peek", - "perl-Data-Section", - "perl-Data-UUID", - "perl-Date-Calc", - "perl-Date-ISO8601", - "perl-Date-Manip", - "perl-DateTime", - "perl-DateTime-Format-Builder", - "perl-DateTime-Format-DateParse", - "perl-DateTime-Format-HTTP", - "perl-DateTime-Format-IBeat", - "perl-DateTime-Format-ISO8601", - "perl-DateTime-Format-Mail", - "perl-DateTime-Format-Strptime", - "perl-DateTime-Locale", - "perl-DateTime-TimeZone", - "perl-DateTime-TimeZone-SystemV", - "perl-DateTime-TimeZone-Tzfile", - "perl-DBD-MySQL", - "perl-Devel-CallChecker", - "perl-Devel-Caller", - "perl-Devel-CheckBin", - "perl-Devel-CheckLib", - "perl-Devel-Cycle", - "perl-Devel-EnforceEncapsulation", - "perl-Devel-GlobalDestruction", - "perl-Devel-GlobalDestruction-XS", - "perl-Devel-Hide", - "perl-Devel-Leak", - "perl-Devel-LexAlias", - "perl-Devel-Size", - "perl-Devel-StackTrace", - "perl-Devel-Symdump", - "perl-Digest-BubbleBabble", - "perl-Digest-CRC", - "perl-Digest-HMAC", - "perl-Digest-SHA1", - "perl-Dist-CheckConflicts", - "perl-DynaLoader-Functions", - "perl-Email-Address", - "perl-Email-Date-Format", - "perl-Encode-Detect", - "perl-Encode-EUCJPASCII", - "perl-Encode-IMAPUTF7", - "perl-Encode-Locale", - "perl-Env-ShellWords", - "perl-Error", - "perl-EV", - "perl-Eval-Closure", - "perl-Event", - "perl-Exception-Class", - "perl-Expect", - "perl-ExtUtils-Config", - "perl-ExtUtils-Depends", - "perl-ExtUtils-Helpers", - "perl-ExtUtils-InstallPaths", - "perl-ExtUtils-PkgConfig", - "perl-FCGI", - "perl-Fedora-VSP", - "perl-FFI-CheckLib", - "perl-File-BaseDir", - "perl-File-BOM", - "perl-File-chdir", - "perl-File-CheckTree", - "perl-File-Copy-Recursive", - "perl-File-DesktopEntry", - "perl-File-Find-Object", - "perl-File-Find-Object-Rule", - "perl-File-Find-Rule", - "perl-File-Find-Rule-Perl", - "perl-File-Inplace", - "perl-File-Listing", - "perl-File-MimeInfo", - "perl-File-pushd", - "perl-File-ReadBackwards", - "perl-File-Remove", - "perl-File-ShareDir", - "perl-File-ShareDir-Install", - "perl-File-Slurp", - "perl-File-Slurp-Tiny", - "perl-File-Slurper", - "perl-File-Type", - "perl-Font-TTF", - "perl-FreezeThaw", - "perl-GD", - "perl-GD-Barcode", - "perl-generators", - "perl-Getopt-ArgvFile", - "perl-gettext", - "perl-Graphics-ColorNamesLite-WWW", - "perl-GSSAPI", - "perl-Guard", - "perl-Hook-LexWrap", - "perl-HTML-Parser", - "perl-HTML-Tagset", - "perl-HTML-Tree", - "perl-HTTP-Cookies", - "perl-HTTP-Daemon", - "perl-HTTP-Date", - "perl-HTTP-Message", - "perl-HTTP-Negotiate", - "perl-Image-Base", - "perl-Image-Info", - "perl-Image-Xbm", - "perl-Image-Xpm", - "perl-Import-Into", - "perl-Importer", - "perl-inc-latest", - "perl-indirect", - "perl-Inline-Files", - "perl-IO-AIO", - "perl-IO-All", - "perl-IO-CaptureOutput", - "perl-IO-Compress-Lzma", - "perl-IO-HTML", - "perl-IO-Multiplex", - "perl-IO-SessionData", - "perl-IO-Socket-INET6", - "perl-IO-String", - "perl-IO-stringy", - "perl-IO-Tty", - "perl-IPC-Run", - "perl-IPC-Run3", - "perl-IPC-System-Simple", - "perl-JSON", - "perl-JSON-Color", - "perl-JSON-MaybeXS", - "perl-LDAP", - "perl-libnet", - "perl-libwww-perl", - "perl-libxml-perl", - "perl-Lingua-EN-Inflect", - "perl-List-MoreUtils-XS", - "perl-local-lib", - "perl-Locale-Codes", - "perl-Locale-Maketext-Gettext", - "perl-Locale-Msgfmt", - "perl-Locale-PO", - "perl-Log-Message", - "perl-Log-Message-Simple", - "perl-LWP-MediaTypes", - "perl-LWP-Protocol-https", - "perl-Mail-AuthenticationResults", - "perl-Mail-DKIM", - "perl-Mail-IMAPTalk", - "perl-Mail-SPF", - "perl-MailTools", - "perl-Math-Int64", - "perl-Math-Random-ISAAC", - "perl-MIME-Charset", - "perl-MIME-Lite", - "perl-MIME-Types", - "perl-Mixin-Linewise", - "perl-MLDBM", - "perl-Mock-Config", - "perl-Module-Build-Tiny", - "perl-Module-CPANfile", - "perl-Module-Implementation", - "perl-Module-Install-AuthorRequires", - "perl-Module-Install-AuthorTests", - "perl-Module-Install-AutoLicense", - "perl-Module-Install-GithubMeta", - "perl-Module-Install-ManifestSkip", - "perl-Module-Install-ReadmeFromPod", - "perl-Module-Install-ReadmeMarkdownFromPod", - "perl-Module-Install-Repository", - "perl-Module-Install-TestBase", - "perl-Module-Load-Util", - "perl-Module-Manifest", - "perl-Module-Manifest-Skip", - "perl-Module-Package", - "perl-Module-Package-Au", - "perl-Module-Pluggable", - "perl-Module-Runtime", - "perl-Module-Signature", - "perl-Mojolicious", - "perl-Moo", - "perl-Mozilla-CA", - "perl-Mozilla-LDAP", - "perl-MRO-Compat", - "perl-multidimensional", - "perl-namespace-autoclean", - "perl-namespace-clean", - "perl-Net-CIDR-Lite", - "perl-Net-Daemon", - "perl-Net-DNS", - "perl-Net-DNS-Resolver-Mock", - "perl-Net-DNS-Resolver-Programmable", - "perl-Net-HTTP", - "perl-Net-IMAP-Simple", - "perl-Net-IMAP-Simple-SSL", - "perl-Net-IP", - "perl-Net-LibIDN2", - "perl-Net-Patricia", - "perl-Net-SMTP-SSL", - "perl-Net-SNMP", - "perl-Net-Telnet", - "perl-Newt", - "perl-NNTPClient", - "perl-NTLM", - "perl-Number-Compare", - "perl-Object-Deadly", - "perl-Object-HashBase", - "perl-Package-Anon", - "perl-Package-Constants", - "perl-Package-DeprecationManager", - "perl-Package-Generator", - "perl-Package-Stash", - "perl-Package-Stash-XS", - "perl-PadWalker", - "perl-Paper-Specs", - "perl-PAR-Dist", - "perl-Parallel-Iterator", - "perl-Params-Classify", - "perl-Params-Util", - "perl-Params-Validate", - "perl-Params-ValidationCompiler", - "perl-Parse-PMFile", - "perl-Parse-RecDescent", - "perl-Parse-Yapp", - "perl-Path-Tiny", - "perl-Perl-Critic", - "perl-Perl-Critic-More", - "perl-Perl-Destruct-Level", - "perl-Perl-MinimumVersion", - "perl-Perl4-CoreLibs", - "perl-PerlIO-gzip", - "perl-PerlIO-utf8_strict", - "perl-PkgConfig-LibPkgConf", - "perl-Pod-Coverage", - "perl-Pod-Coverage-TrustPod", - "perl-Pod-Escapes", - "perl-Pod-Eventual", - "perl-Pod-LaTeX", - "perl-Pod-Markdown", - "perl-Pod-Parser", - "perl-Pod-Plainer", - "perl-Pod-POM", - "perl-Pod-Spell", - "perl-PPI", - "perl-PPI-HTML", - "perl-PPIx-QuoteLike", - "perl-PPIx-Regexp", - "perl-PPIx-Utilities", - "perl-prefork", - "perl-Probe-Perl", - "perl-Razor-Agent", - "perl-Readonly", - "perl-Readonly-XS", - "perl-Ref-Util", - "perl-Ref-Util-XS", - "perl-Regexp-Pattern-Perl", - "perl-Return-MultiLevel", - "perl-Role-Tiny", - "perl-Scope-Guard", - "perl-Scope-Upper", - "perl-SGMLSpm", - "perl-SNMP_Session", - "perl-Socket6", - "perl-Software-License", - "perl-Sort-Versions", - "perl-Specio", - "perl-Spiffy", - "perl-strictures", - "perl-String-CRC32", - "perl-String-Format", - "perl-String-ShellQuote", - "perl-String-Similarity", - "perl-Sub-Exporter", - "perl-Sub-Exporter-Progressive", - "perl-Sub-Identify", - "perl-Sub-Info", - "perl-Sub-Install", - "perl-Sub-Name", - "perl-Sub-Quote", - "perl-Sub-Uplevel", - "perl-SUPER", - "perl-Switch", - "perl-Syntax-Highlight-Engine-Kate", - "perl-Sys-CPU", - "perl-Sys-MemInfo", - "perl-Sys-Virt", - "perl-Taint-Runtime", - "perl-Task-Weaken", - "perl-Term-Size-Any", - "perl-Term-Size-Perl", - "perl-Term-Table", - "perl-Term-UI", - "perl-TermReadKey", - "perl-Test-Base", - "perl-Test-ClassAPI", - "perl-Test-CPAN-Meta", - "perl-Test-CPAN-Meta-JSON", - "perl-Test-Deep", - "perl-Test-Differences", - "perl-Test-DistManifest", - "perl-Test-Distribution", - "perl-Test-EOL", - "perl-Test-Exception", - "perl-Test-Exit", - "perl-Test-FailWarnings", - "perl-Test-Fatal", - "perl-Test-File", - "perl-Test-File-ShareDir", - "perl-Test-Harness", - "perl-Test-HasVersion", - "perl-Test-InDistDir", - "perl-Test-Inter", - "perl-Test-LeakTrace", - "perl-Test-LongString", - "perl-Test-Manifest", - "perl-Test-Memory-Cycle", - "perl-Test-MinimumVersion", - "perl-Test-MockObject", - "perl-Test-MockRandom", - "perl-Test-Needs", - "perl-Test-NoTabs", - "perl-Test-NoWarnings", - "perl-Test-Object", - "perl-Test-Output", - "perl-Test-Pod", - "perl-Test-Pod-Coverage", - "perl-Test-Portability-Files", - "perl-Test-Requires", - "perl-Test-RequiresInternet", - "perl-Test-Script", - "perl-Test-Simple", - "perl-Test-SubCalls", - "perl-Test-Synopsis", - "perl-Test-Taint", - "perl-Test-TrailingSpace", - "perl-Test-utf8", - "perl-Test-Vars", - "perl-Test-Warn", - "perl-Test-Without-Module", - "perl-Test2-Plugin-NoWarnings", - "perl-Test2-Suite", - "perl-Test2-Tools-Explain", - "perl-Text-CharWidth", - "perl-Text-CSV_XS", - "perl-Text-Diff", - "perl-Text-Glob", - "perl-Text-Iconv", - "perl-Text-Soundex", - "perl-Text-Unidecode", - "perl-Text-WrapI18N", - "perl-Tie-IxHash", - "perl-TimeDate", - "perl-Tree-DAG_Node", - "perl-Unicode-EastAsianWidth", - "perl-Unicode-LineBreak", - "perl-Unicode-Map8", - "perl-Unicode-String", - "perl-Unicode-UTF8", - "perl-UNIVERSAL-can", - "perl-UNIVERSAL-isa", - "perl-Unix-Syslog", - "perl-URI", - "perl-Variable-Magic", - "perl-Version-Requirements", - "perl-WWW-RobotRules", - "perl-XML-Catalog", - "perl-XML-DOM", - "perl-XML-Dumper", - "perl-XML-Filter-BufferText", - "perl-XML-Generator", - "perl-XML-Grove", - "perl-XML-Handler-YAWriter", - "perl-XML-LibXML", - "perl-XML-LibXSLT", - "perl-XML-NamespaceSupport", - "perl-XML-Parser-Lite", - "perl-XML-RegExp", - "perl-XML-SAX", - "perl-XML-SAX-Base", - "perl-XML-SAX-Writer", - "perl-XML-Simple", - "perl-XML-TokeParser", - "perl-XML-TreeBuilder", - "perl-XML-Twig", - "perl-XML-Writer", - "perl-XML-XPath", - "perl-XML-XPathEngine", - "perl-XString", - "perl-YAML-LibYAML", - "perl-YAML-PP", - "perl-YAML-Syck", - "perltidy", - "pesign", - "phodav", - "php", - "php-pear", - "php-pecl-zip", - "physfs", - "picosat", - "pinfo", - "pipewire", - "pixman", - "pkcs11-helper", - "pkgconf", - "plexus-cipher", - "plexus-containers", - "plexus-sec-dispatcher", - "plotutils", - "pmdk-convert", - "pmix", - "pngcrush", - "pngnq", - "po4a", - "podman", - "poetry", - "policycoreutils", - "polkit-pkla-compat", - "polkit-qt-1", - "portreserve", - "postfix", - "potrace", - "powertop", - "ppp", - "pps-tools", - "pptp", - "priv_wrapper", - "procmail", - "prometheus", - "prometheus-node-exporter", - "ps_mem", - "psacct", - "psutils", - "ptlib", - "publicsuffix-list", - "pugixml", - "pulseaudio", - "puppet", - "pwgen", - "pyatspi", - "pybind11", - "pycairo", - "pyelftools", - "pyflakes", - "pygobject3", - "PyGreSQL", - "pykickstart", - "pylint", - "pyparted", - "pyproject-rpm-macros", - "pyserial", - "python-absl-py", - "python-aiodns", - "python-aiohttp", - "python-alsa", - "python-argcomplete", - "python-astroid", - "python-astunparse", - "python-async-generator", - "python-augeas", - "python-azure-sdk", - "python-beautifulsoup4", - "python-betamax", - "python-blinker", - "python-blivet", - "python-cached_property", - "python-charset-normalizer", - "python-cheetah", - "python-click", - "python-cmd2", - "python-colorama", - "python-CommonMark", - "python-conda-package-handling", - "python-configshell", - "python-cpuinfo", - "python-cups", - "python-curio", - "python-cytoolz", - "python-d2to1", - "python-dbus-client-gen", - "python-dbus-python-client-gen", - "python-dbus-signature-pyparsing", - "python-dbusmock", - "python-ddt", - "python-debtcollector", - "python-decorator", - "python-distlib", - "python-dmidecode", - "python-dns", - "python-dtopt", - "python-dulwich", - "python-editables", - "python-enchant", - "python-entrypoints", - "python-ethtool", - "python-evdev", - "python-extras", - "python-faker", - "python-fasteners", - "python-fastjsonschema", - "python-fields", - "python-filelock", - "python-fixtures", - "python-flake8", - "python-flask", - "python-flit", - "python-flit-core", - "python-fluidity-sm", - "python-frozendict", - "python-funcsigs", - "python-gast", - "python-genshi", - "python-google-auth", - "python-google-auth-oauthlib", - "python-greenlet", - "python-gssapi", - "python-h5py", - "python-hatch-fancy-pypi-readme", - "python-hatch-vcs", - "python-hatchling", - "python-hs-dbus-signature", - "python-html5lib", - "python-httplib2", - "python-humanize", - "python-hwdata", - "python-importlib-metadata", - "python-inotify", - "python-into-dbus-python", - "python-IPy", - "python-iso8601", - "python-isodate", - "python-isort", - "python-itsdangerous", - "python-justbases", - "python-justbytes", - "python-jwcrypto", - "python-jwt", - "python-kdcproxy", - "python-kerberos", - "python-kmod", - "python-kubernetes", - "python-lark", - "python-lazy-object-proxy", - "python-ldap", - "python-linux-procfs", - "python-lit", - "python-looseversion", - "python-markdown", - "python-markdown-it-py", - "python-mccabe", - "python-mdurl", - "python-memcached", - "python-mimeparse", - "python-mock", - "python-monotonic", - "python-more-itertools", - "python-mpmath", - "python-msal", - "python-msrestazure", - "python-mutagen", - "python-networkx", - "python-nose2", - "python-ntlm-auth", - "python-oauth2client", - "python-openpyxl", - "python-openstackdocstheme", - "python-oslo-i18n", - "python-oslo-sphinx", - "python-paramiko", - "python-pathspec", - "python-pefile", - "python-pexpect", - "python-pkgconfig", - "python-platformdirs", - "python-pluggy", - "python-podman-api", - "python-poetry-core", - "python-process-tests", - "python-productmd", - "python-ptyprocess", - "python-pycares", - "python-pycosat", - "python-pydbus", - "python-pymongo", - "python-PyMySQL", - "python-pyperclip", - "python-pyroute2", - "python-pyrsistent", - "python-pysocks", - "python-pytest-benchmark", - "python-pytest-cov", - "python-pytest-expect", - "python-pytest-flake8", - "python-pytest-flakes", - "python-pytest-forked", - "python-pytest-mock", - "python-pytest-relaxed", - "python-pytest-runner", - "python-pytest-subtests", - "python-pytest-timeout", - "python-pytest-xdist", - "python-pytoml", - "python-pyudev", - "python-pywbem", - "python-qrcode", - "python-rdflib", - "python-recommonmark", - "python-requests-file", - "python-requests-ftp", - "python-requests-kerberos", - "python-requests-mock", - "python-requests-oauthlib", - "python-requests-toolbelt", - "python-requests_ntlm", - "python-responses", - "python-retrying", - "python-rfc3986", - "python-rich", - "python-rpm-generators", - "python-rpmfluff", - "python-rtslib", - "python-ruamel-yaml", - "python-ruamel-yaml-clib", - "python-s3transfer", - "python-schedutils", - "python-semantic_version", - "python-should_dsl", - "python-simpleline", - "python-slip", - "python-sniffio", - "python-sortedcontainers", - "python-soupsieve", - "python-sphinx", - "python-sphinx-epytext", - "python-sphinx-theme-py3doc-enhanced", - "python-sphinx_rtd_theme", - "python-sphinxcontrib-apidoc", - "python-sphinxcontrib-applehelp", - "python-sphinxcontrib-devhelp", - "python-sphinxcontrib-htmlhelp", - "python-sphinxcontrib-httpdomain", - "python-sphinxcontrib-jsmath", - "python-sphinxcontrib-qthelp", - "python-sphinxcontrib-serializinghtml", - "python-sqlalchemy", - "python-suds", - "python-systemd", - "python-tempita", - "python-templated-dictionary", - "python-termcolor", - "python-testpath", - "python-testresources", - "python-testscenarios", - "python-testtools", - "python-tidy", - "python-toml", - "python-tomli", - "python-toolz", - "python-tornado", - "python-tox", - "python-tox-current-env", - "python-tqdm", - "python-trio", - "python-trove-classifiers", - "python-typing-extensions", - "python-uamqp", - "python-unittest2", - "python-uritemplate", - "python-urwid", - "python-varlink", - "python-versioneer", - "python-virt-firmware", - "python-voluptuous", - "python-waitress", - "python-webencodings", - "python-webtest", - "python-wheel", - "python-whoosh", - "python-winrm", - "python-wrapt", - "python-xmltodict", - "python-yubico", - "python-zipp", - "python-zmq", - "python-zstd", - "python3-mallard-ducktype", - "python3-pytest-asyncio", - "python3-typed_ast", - "pyusb", - "pywbem", - "pyxattr", - "qemu", - "qhull", - "qpdf", - "qperf", - "qr-code-generator", - "qt-rpm-macros", - "qt5-qtconnectivity", - "qt5-qtsensors", - "qt5-qtserialport", - "qtbase", - "qtdeclarative", - "qtsvg", - "qttools", - "quagga", - "quota", - "radvd", - "ragel", - "raptor2", - "rarian", - "rasdaemon", - "rasqal", - "rcs", - "rdist", - "rdma-core", - "re2", - "re2c", - "realmd", - "rear", - "recode", - "redland", - "resource-agents", - "rest", - "rhash", - "rlwrap", - "rp-pppoe", - "rpm-mpi-hooks", - "rpmdevtools", - "rpmlint", - "rtkit", - "rtl-sdr", - "ruby-augeas", - "rubygem-bson", - "rubygem-coderay", - "rubygem-diff-lcs", - "rubygem-flexmock", - "rubygem-hpricot", - "rubygem-introspection", - "rubygem-liquid", - "rubygem-maruku", - "rubygem-metaclass", - "rubygem-mongo", - "rubygem-mustache", - "rubygem-mysql2", - "rubygem-pkg-config", - "rubygem-rake", - "rubygem-rake-compiler", - "rubygem-ronn", - "rubygem-rouge", - "rubygem-rspec", - "rubygem-rspec-expectations", - "rubygem-rspec-mocks", - "rubygem-rspec-support", - "rubygem-thread_order", - "rusers", - "rust-cbindgen", - "samba", - "sanlock", - "sassist", - "satyr", - "sbc", - "sblim-cim-client2", - "sblim-cmpi-base", - "sblim-cmpi-devel", - "sblim-cmpi-fsvol", - "sblim-cmpi-network", - "sblim-cmpi-nfsv3", - "sblim-cmpi-nfsv4", - "sblim-cmpi-params", - "sblim-cmpi-sysfs", - "sblim-cmpi-syslog", - "sblim-indication_helper", - "sblim-sfcb", - "sblim-sfcc", - "sblim-sfcCommon", - "sblim-testsuite", - "sblim-wbemcli", - "scl-utils", - "scotch", - "screen", - "scrub", - "SDL", - "SDL2", - "SDL_sound", - "sdparm", - "seabios", - "secilc", - "selinux-policy", - "sendmail", - "serd", - "setools", - "setserial", - "setuptool", - "sgabios", - "sgml-common", - "sgpio", - "shared-mime-info", - "sharutils", - "sip", - "sisu", - "skkdic", - "sleuthkit", - "slirp4netns", - "smartmontools", - "smc-tools", - "socket_wrapper", - "softhsm", - "sombok", - "sord", - "sos", - "sound-theme-freedesktop", - "soundtouch", - "sox", - "soxr", - "sparsehash", - "spausedd", - "speex", - "speexdsp", - "spice-protocol", - "spice-vdagent", - "spirv-headers", - "spirv-tools", - "splix", - "squashfs-tools", - "squid", - "sratom", - "sscg", - "star", - "startup-notification", - "stunnel", - "subscription-manager", - "suitesparse", - "SuperLU", - "supermin", - "switcheroo-control", - "swtpm", - "symlinks", - "sympy", - "sysfsutils", - "systemd", - "systemd-bootchart", - "t1lib", - "t1utils", - "taglib", - "tang", - "targetcli", - "tbb", - "tcl-pgtcl", - "tclx", - "teckit", - "telnet", - "thrift", - "tidy", - "time", - "tini", - "tinycdb", - "tix", - "tk", - "tlog", - "tmpwatch", - "tn5250", - "tofrodos", - "tokyocabinet", - "trace-cmd", - "tss2", - "ttembed", - "ttmkfdir", - "tuna", - "twolame", - "uchardet", - "uclibc-ng", - "ucpp", - "ucs-miscfixed-fonts", - "ucx", - "udftools", - "udica", - "udisks2", - "uglify-js", - "uid_wrapper", - "unicode-emoji", - "unicode-ucd", - "unique3", - "units", - "upower", - "uriparser", - "urlview", - "usb_modeswitch", - "usb_modeswitch-data", - "usbguard", - "usbip", - "usbmuxd", - "usbredir", - "usermode", - "ustr", - "uthash", - "uuid", - "uw-imap", - "v4l-utils", - "vhostmd", - "vino", - "virglrenderer", - "virt-p2v", - "virt-top", - "virt-what", - "virt-who", - "vitess", - "vmem", - "volume_key", - "vorbis-tools", - "vte291", - "vulkan-headers", - "vulkan-loader", - "watchdog", - "wavpack", - "wayland", - "wayland-protocols", - "web-assets", - "webrtc-audio-processing", - "websocketpp", - "wget", - "whois", - "wireguard-tools", - "wireless-regdb", - "wireshark", - "woff2", - "wordnet", - "words", - "wpebackend-fdo", - "wsmancli", - "wvdial", - "x3270", - "xapian-core", - "Xaw3d", - "xcb-proto", - "xcb-util", - "xcb-util-image", - "xcb-util-keysyms", - "xcb-util-renderutil", - "xcb-util-wm", - "xdelta", - "xdg-dbus-proxy", - "xdg-utils", - "xdp-tools", - "xerces-c", - "xfconf", - "xfsdump", - "xhtml1-dtds", - "xkeyboard-config", - "xmlstarlet", - "xmltoman", - "xmvn", - "xorg-x11-apps", - "xorg-x11-drv-libinput", - "xorg-x11-font-utils", - "xorg-x11-fonts", - "xorg-x11-proto-devel", - "xorg-x11-server", - "xorg-x11-server-utils", - "xorg-x11-util-macros", - "xorg-x11-utils", - "xorg-x11-xauth", - "xorg-x11-xbitmaps", - "xorg-x11-xinit", - "xorg-x11-xkb-utils", - "xorg-x11-xtrans-devel", - "xrestop", - "xterm", - "xxhash", - "yajl", - "yaml-cpp", - "yasm", - "yelp-tools", - "yelp-xsl", - "ykclient", - "yp-tools", - "ypbind", - "ypserv", - "z3", - "zenity", - "zerofree", - "zfs-fuse", - "zipper", - "zopfli", - "zziplib" - ] - }, - "Fedora (Copyright Remi Collet)": { - "license": "[CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode)", - "specs": [ - "libmemcached-awesome", - "librabbitmq" - ] - }, - "Fedora (ISC)": { - "license": "[ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE)", - "specs": [ - "python-resolvelib" - ] - }, - "Magnus Edenhill Open Source": { - "license": "[Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING)", - "specs": [ - "librdkafka" - ] - }, - "Microsoft": { - "license": "[Microsoft MIT License](/LICENSES-AND-NOTICES/LICENSE.md)", - "specs": [ - "application-gateway-kubernetes-ingress", - "asc", - "azcopy", - "azure-iot-sdk-c", - "azure-nvme-utils", - "azure-storage-cpp", - "azurelinux-release", - "azurelinux-repos", - "azurelinux-rpm-macros", - "azurelinux-sysinfo", - "bazel", - "blobfuse2", - "bmon", - "bpftrace", - "ccache", - "cert-manager", - "cf-cli", - "check-restart", - "clamav", - "cloud-hypervisor", - "cmake-fedora", - "containerd", - "coredns", - "dcos-cli", - "debugedit", - "dejavu-fonts", - "distroless-packages", - "docker-buildx", - "docker-cli", - "docker-compose", - "doxygen", - "dtc", - "elixir", - "espeak-ng", - "espeakup", - "flannel", - "fluent-bit", - "freefont", - "gflags", - "gh", - "go-md2man", - "grpc", - "grub2-efi-binary-signed", - "GSL", - "gtk-update-icon-cache", - "helm", - "hvloader", - "ig", - "intel-pf-bb-config", - "ivykis", - "jsonbuilder", - "jx", - "kata-containers-cc", - "kata-packages-uvm", - "keda", - "keras", - "kernel-signed", - "kpatch", - "kube-vip-cloud-provider", - "kubernetes", - "libacvp", - "libconfini", - "libconfuse", - "libgdiplus", - "libmaxminddb", - "libmetalink", - "libsafec", - "libuv", - "libxml++", - "lld", - "local-path-provisioner", - "lsb-release", - "ltp", - "lttng-consume", - "mm-common", - "moby-containerd-cc", - "moby-engine", - "msgpack", - "ncompress", - "networkd-dispatcher", - "nlohmann-json", - "nmap", - "node-problem-detector", - "ntopng", - "opentelemetry-cpp", - "packer", - "pcaudiolib", - "pcre2", - "perl-Test-Warnings", - "perl-Text-Template", - "pigz", - "prebuilt-ca-certificates", - "prebuilt-ca-certificates-base", - "prometheus-adapter", - "python-cachetools", - "python-cherrypy", - "python-cstruct", - "python-execnet", - "python-google-pasta", - "python-libclang", - "python-libevdev", - "python-logutils", - "python-ml-dtypes", - "python-namex", - "python-nocasedict", - "python-opt-einsum", - "python-optree", - "python-pecan", - "python-pip", - "python-pyrpm", - "python-remoto", - "python-repoze-lru", - "python-routes", - "python-rsa", - "python-setuptools", - "python-sphinxcontrib-websupport", - "python-tensorboard", - "python-tensorboard-plugin-wit", - "python-yamlloader", - "R", - "rabbitmq-server", - "rocksdb", - "rubygem-addressable", - "rubygem-asciidoctor", - "rubygem-async", - "rubygem-async-http", - "rubygem-async-io", - "rubygem-async-pool", - "rubygem-bindata", - "rubygem-concurrent-ruby", - "rubygem-connection_pool", - "rubygem-console", - "rubygem-cool.io", - "rubygem-deep_merge", - "rubygem-digest-crc", - "rubygem-elastic-transport", - "rubygem-elasticsearch", - "rubygem-elasticsearch-api", - "rubygem-eventmachine", - "rubygem-excon", - "rubygem-faraday", - "rubygem-faraday-em_http", - "rubygem-faraday-em_synchrony", - "rubygem-faraday-excon", - "rubygem-faraday-httpclient", - "rubygem-faraday-multipart", - "rubygem-faraday-net_http", - "rubygem-faraday-net_http_persistent", - "rubygem-faraday-patron", - "rubygem-faraday-rack", - "rubygem-faraday-retry", - "rubygem-ffi", - "rubygem-fiber-local", - "rubygem-fluent-config-regexp-type", - "rubygem-fluent-logger", - "rubygem-fluent-plugin-elasticsearch", - "rubygem-fluent-plugin-kafka", - "rubygem-fluent-plugin-prometheus", - "rubygem-fluent-plugin-prometheus_pushgateway", - "rubygem-fluent-plugin-record-modifier", - "rubygem-fluent-plugin-rewrite-tag-filter", - "rubygem-fluent-plugin-systemd", - "rubygem-fluent-plugin-webhdfs", - "rubygem-fluent-plugin-windows-exporter", - "rubygem-fluentd", - "rubygem-hirb", - "rubygem-hocon", - "rubygem-hoe", - "rubygem-http_parser", - "rubygem-httpclient", - "rubygem-io-event", - "rubygem-jmespath", - "rubygem-ltsv", - "rubygem-mini_portile2", - "rubygem-minitest", - "rubygem-mocha", - "rubygem-msgpack", - "rubygem-multi_json", - "rubygem-multipart-post", - "rubygem-net-http-persistent", - "rubygem-nio4r", - "rubygem-nokogiri", - "rubygem-oj", - "rubygem-parallel", - "rubygem-power_assert", - "rubygem-prometheus-client", - "rubygem-protocol-hpack", - "rubygem-protocol-http", - "rubygem-protocol-http1", - "rubygem-protocol-http2", - "rubygem-public_suffix", - "rubygem-puppet-resource_api", - "rubygem-rdiscount", - "rubygem-rdkafka", - "rubygem-rexml", - "rubygem-ruby-kafka", - "rubygem-ruby-progressbar", - "rubygem-rubyzip", - "rubygem-semantic_puppet", - "rubygem-serverengine", - "rubygem-sigdump", - "rubygem-strptime", - "rubygem-systemd-journal", - "rubygem-test-unit", - "rubygem-thor", - "rubygem-timers", - "rubygem-tzinfo", - "rubygem-tzinfo-data", - "rubygem-webhdfs", - "rubygem-webrick", - "rubygem-yajl-ruby", - "rubygem-zip-zip", - "runc", - "sdbus-cpp", - "sgx-backwards-compatibility", - "shim", - "shim-unsigned", - "shim-unsigned-aarch64", - "shim-unsigned-x64", - "skopeo", - "span-lite", - "sriov-network-device-plugin", - "SymCrypt", - "SymCrypt-OpenSSL", - "tensorflow", - "tinyxml2", - "toml11", - "tracelogging", - "umoci", - "usrsctp", - "vala", - "verity-read-only-root", - "vnstat", - "zstd" - ] - }, - "Netplan source": { - "license": "[GPLv3](https://github.com/canonical/netplan/blob/main/COPYING)", - "specs": [ - "netplan" - ] - }, - "Numad source": { - "license": "[LGPLv2 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt)", - "specs": [ - "numad" - ] - }, - "NVIDIA": { - "license": "[ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0)", - "specs": [ - "libnvidia-container", - "mlnx-tools", - "mlx-bootctl", - "nvidia-container-toolkit", - "ofed-scripts", - "perftest" - ] - }, - "OpenEuler": { - "license": "[BSD-3 License](https://github.com/pytorch/pytorch/blob/master/LICENSE)", - "specs": [ - "pytorch" - ] - }, - "OpenMamba": { - "license": "[Openmamba GPLv2 License](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt)", - "specs": [ - "bash-completion" - ] - }, - "OpenSUSE": { - "license": "Following [openSUSE guidelines](https://en.opensuse.org/openSUSE:Specfile_guidelines#Specfile_Licensing)", - "specs": [ - "ant", - "ant-junit", - "antlr", - "aopalliance", - "apache-commons-beanutils", - "apache-commons-cli", - "apache-commons-codec", - "apache-commons-collections", - "apache-commons-collections4", - "apache-commons-compress", - "apache-commons-daemon", - "apache-commons-dbcp", - "apache-commons-digester", - "apache-commons-httpclient", - "apache-commons-io", - "apache-commons-jexl", - "apache-commons-lang", - "apache-commons-lang3", - "apache-commons-logging", - "apache-commons-net", - "apache-commons-pool", - "apache-commons-pool2", - "apache-commons-validator", - "apache-commons-vfs2", - "apache-parent", - "args4j", - "atinject", - "base64coder", - "bcel", - "bea-stax", - "beust-jcommander", - "bsf", - "byaccj", - "cal10n", - "cdparanoia", - "cglib", - "cni", - "containerized-data-importer", - "cpulimit", - "cri-o", - "ecj", - "fillup", - "flux", - "gd", - "geronimo-specs", - "glassfish-annotation-api", - "gnu-getopt", - "gnu-regexp", - "golang-packaging", - "guava", - "guava20", - "hamcrest", - "hawtjni-runtime", - "httpcomponents-core", - "influx-cli", - "influxdb", - "isorelax", - "jakarta-taglibs-standard", - "jansi", - "jarjar", - "java-cup", - "java-cup-bootstrap", - "javacc", - "javacc-bootstrap", - "javassist", - "jboss-interceptors-1.2-api", - "jdepend", - "jflex", - "jflex-bootstrap", - "jlex", - "jline", - "jna", - "jsch", - "jsoup", - "jsr-305", - "jtidy", - "junit", - "junitperf", - "jzlib", - "kubevirt", - "kured", - "libcontainers-common", - "libtheora", - "libva", - "libvdpau", - "lynx", - "maven-parent", - "multus", - "objectweb-anttask", - "objectweb-asm", - "objenesis", - "oro", - "osgi-annotation", - "osgi-compendium", - "osgi-core", - "patterns-ceph-containers", - "plexus-classworlds", - "plexus-interpolation", - "plexus-pom", - "plexus-utils", - "proj", - "psl-make-dafsa", - "publicsuffix", - "qdox", - "regexp", - "relaxngDatatype", - "rhino", - "ripgrep", - "servletapi4", - "servletapi5", - "shapelib", - "slf4j", - "trilead-ssh2", - "virtiofsd", - "xalan-j2", - "xbean", - "xcursor-themes", - "xerces-j2", - "xml-commons-apis", - "xml-commons-resolver", - "xmldb-api", - "xmlrpc-c", - "xmlunit", - "xpp2", - "xpp3", - "xz-java" - ] - }, - "Photon": { - "license": "[Photon License](LICENSE-PHOTON.md) and [Photon Notice](NOTICE.APACHE2).
Also see [LICENSE-EXCEPTIONS.PHOTON](LICENSE-EXCEPTIONS.PHOTON).", - "specs": [ - "acl", - "alsa-lib", - "alsa-utils", - "ansible", - "apr", - "apr-util", - "asciidoc", - "atftp", - "audit", - "autoconf", - "autoconf-archive", - "autofs", - "autogen", - "automake", - "babel", - "bash", - "bc", - "bcc", - "bind", - "binutils", - "bison", - "blktrace", - "boost", - "btrfs-progs", - "bubblewrap", - "build-essential", - "bzip2", - "c-ares", - "cairo", - "cassandra", - "cdrkit", - "check", - "chkconfig", - "chrpath", - "cifs-utils", - "clang", - "cloud-init", - "cloud-utils-growpart", - "cmake", - "cni-plugins", - "core-packages", - "coreutils", - "cpio", - "cppunit", - "cracklib", - "crash", - "crash-gcore-command", - "createrepo_c", - "cri-tools", - "cronie", - "curl", - "cyrus-sasl", - "cyrus-sasl-bootstrap", - "dbus", - "dbus-glib", - "dejagnu", - "device-mapper-multipath", - "dhcp", - "dialog", - "diffutils", - "dkms", - "dmidecode", - "dnsmasq", - "docbook-dtd-xml", - "docbook-style-xsl", - "dosfstools", - "dracut", - "dstat", - "e2fsprogs", - "ed", - "efibootmgr", - "efivar", - "elfutils", - "emacs", - "erlang", - "etcd", - "ethtool", - "expat", - "expect", - "fcgi", - "file", - "filesystem", - "findutils", - "flex", - "fontconfig", - "fping", - "freetype", - "fuse", - "gawk", - "gc", - "gcc", - "gdb", - "gdbm", - "gettext", - "git", - "git-lfs", - "glib", - "glib-networking", - "glibc", - "glibmm", - "glide", - "gmp", - "gnome-common", - "gnupg2", - "gnuplot", - "gnutls", - "gobject-introspection", - "golang", - "gperf", - "gperftools", - "gpgme", - "gptfdisk", - "grep", - "groff", - "grub2", - "gtest", - "gtk-doc", - "guile", - "gzip", - "haproxy", - "harfbuzz", - "haveged", - "hdparm", - "http-parser", - "httpd", - "i2c-tools", - "iana-etc", - "icu", - "initramfs", - "initscripts", - "inotify-tools", - "intltool", - "iotop", - "iperf3", - "iproute", - "ipset", - "iptables", - "iputils", - "ipvsadm", - "ipxe", - "irqbalance", - "itstool", - "jansson", - "jq", - "json-c", - "json-glib", - "kbd", - "keepalived", - "kernel", - "kernel-headers", - "kernel-mshv", - "kernel-rt", - "kernel-uvm", - "keyutils", - "kmod", - "krb5", - "less", - "libaio", - "libarchive", - "libassuan", - "libatomic_ops", - "libcap", - "libcap-ng", - "libconfig", - "libdb", - "libdnet", - "libedit", - "libestr", - "libevent", - "libfastjson", - "libffi", - "libgcrypt", - "libgpg-error", - "libgssglue", - "libgudev", - "libjpeg-turbo", - "libksba", - "liblogging", - "libmbim", - "libmnl", - "libmodulemd", - "libmpc", - "libmspack", - "libndp", - "libnetfilter_conntrack", - "libnetfilter_cthelper", - "libnetfilter_cttimeout", - "libnetfilter_queue", - "libnfnetlink", - "libnftnl", - "libnl3", - "libnsl2", - "libpcap", - "libpipeline", - "libpng", - "libpsl", - "libqmi", - "librelp", - "librepo", - "librsync", - "libseccomp", - "libselinux", - "libsepol", - "libserf", - "libsigc++30", - "libsolv", - "libsoup", - "libssh2", - "libtalloc", - "libtar", - "libtasn1", - "libtiff", - "libtirpc", - "libtool", - "libunistring", - "libunwind", - "libusb", - "libvirt", - "libwebp", - "libxml2", - "libxslt", - "libyaml", - "linux-firmware", - "lldb", - "lldpad", - "llvm", - "lm-sensors", - "lmdb", - "log4cpp", - "logrotate", - "lshw", - "lsof", - "lsscsi", - "ltrace", - "lttng-tools", - "lttng-ust", - "lvm2", - "lz4", - "lzo", - "m2crypto", - "m4", - "make", - "man-db", - "man-pages", - "mariadb", - "maven", - "mc", - "mercurial", - "meson", - "mlocate", - "ModemManager", - "mpfr", - "msr-tools", - "mysql", - "nano", - "nasm", - "ncurses", - "ndctl", - "net-snmp", - "net-tools", - "nettle", - "newt", - "nfs-utils", - "nghttp2", - "nginx", - "ninja-build", - "nodejs", - "npth", - "nspr", - "nss", - "nss-altfiles", - "ntp", - "numactl", - "nvme-cli", - "oniguruma", - "OpenIPMI", - "openldap", - "openscap", - "openssh", - "openvswitch", - "ostree", - "pam", - "pango", - "parted", - "patch", - "pciutils", - "perl-Canary-Stability", - "perl-CGI", - "perl-common-sense", - "perl-Crypt-SSLeay", - "perl-DBD-SQLite", - "perl-DBI", - "perl-DBIx-Simple", - "perl-Exporter-Tiny", - "perl-File-HomeDir", - "perl-File-Which", - "perl-IO-Socket-SSL", - "perl-JSON-Any", - "perl-JSON-XS", - "perl-libintl-perl", - "perl-List-MoreUtils", - "perl-Module-Build", - "perl-Module-Install", - "perl-Module-ScanDeps", - "perl-Net-SSLeay", - "perl-NetAddr-IP", - "perl-Object-Accessor", - "perl-Path-Class", - "perl-Try-Tiny", - "perl-Types-Serialiser", - "perl-WWW-Curl", - "perl-XML-Parser", - "perl-YAML", - "perl-YAML-Tiny", - "pgbouncer", - "pinentry", - "polkit", - "popt", - "postgresql", - "procps-ng", - "protobuf", - "protobuf-c", - "psmisc", - "pth", - "pyasn1-modules", - "pyOpenSSL", - "pyparsing", - "pytest", - "python-appdirs", - "python-asn1crypto", - "python-atomicwrites", - "python-attrs", - "python-bcrypt", - "python-certifi", - "python-cffi", - "python-chardet", - "python-configobj", - "python-constantly", - "python-coverage", - "python-cryptography", - "python-daemon", - "python-dateutil", - "python-defusedxml", - "python-distro", - "python-docopt", - "python-docutils", - "python-ecdsa", - "python-gevent", - "python-hyperlink", - "python-hypothesis", - "python-idna", - "python-imagesize", - "python-incremental", - "python-iniparse", - "python-ipaddr", - "python-jinja2", - "python-jmespath", - "python-jsonpatch", - "python-jsonpointer", - "python-jsonschema", - "python-lockfile", - "python-lxml", - "python-mako", - "python-markupsafe", - "python-mistune", - "python-msgpack", - "python-netaddr", - "python-netifaces", - "python-ntplib", - "python-oauthlib", - "python-packaging", - "python-pam", - "python-pbr", - "python-ply", - "python-prettytable", - "python-psutil", - "python-psycopg2", - "python-py", - "python-pyasn1", - "python-pycodestyle", - "python-pycparser", - "python-pycurl", - "python-pygments", - "python-pynacl", - "python-requests", - "python-setuptools_scm", - "python-simplejson", - "python-six", - "python-snowballstemmer", - "python-sphinx-theme-alabaster", - "python-twisted", - "python-urllib3", - "python-vcversioner", - "python-virtualenv", - "python-wcwidth", - "python-webob", - "python-websocket-client", - "python-werkzeug", - "python-zope-interface", - "python3", - "pytz", - "PyYAML", - "rapidjson", - "readline", - "rng-tools", - "rpcbind", - "rpcsvc-proto", - "rpm", - "rpm-ostree", - "rrdtool", - "rsync", - "rsyslog", - "ruby", - "rust", - "scons", - "sed", - "sg3_utils", - "shadow-utils", - "slang", - "snappy", - "socat", - "sqlite", - "sshpass", - "strace", - "strongswan", - "subversion", - "sudo", - "swig", - "syslinux", - "syslog-ng", - "sysstat", - "systemd-bootstrap", - "systemtap", - "tar", - "tboot", - "tcl", - "tcpdump", - "tcsh", - "tdnf", - "telegraf", - "texinfo", - "tmux", - "tpm2-abrmd", - "tpm2-pkcs11", - "tpm2-pytss", - "tpm2-tools", - "tpm2-tss", - "traceroute", - "tree", - "tzdata", - "unbound", - "unixODBC", - "unzip", - "usbutils", - "userspace-rcu", - "utf8proc", - "util-linux", - "valgrind", - "vim", - "vsftpd", - "WALinuxAgent", - "which", - "wpa_supplicant", - "xfsprogs", - "xinetd", - "xmlsec1", - "xmlto", - "xz", - "zchunk", - "zeromq", - "zip", - "zlib", - "zsh" - ] - }, - "RPM software management source": { - "license": "[GPLv2+ License](https://github.com/rpm-software-management/dnf5/blob/main/COPYING.md)", - "specs": [ - "dnf5" - ] - }, - "Source project": { - "license": "Same as the source project.", - "specs": [ - "python-nocaselist" - ] - }, - "Sysbench source": { - "license": "[GPLv2+ License](https://github.com/akopytov/sysbench/blob/master/COPYING)", - "specs": [ - "sysbench" - ] - } - } -} +{ + "header": "The Azure Linux SPEC files originated from a variety of sources with varying licenses. The changelog for each SPEC file declares provenance for Azure Linux. Some of the SPEC files that originated from other distributions might already have been derived from alternate sources. Their licenses can be found in LICENSE-EXCEPTION.xxx files in this folder.", + "table_headers": [ + "Origin", + "License", + "Specs" + ], + "licenses": { + "CentOS": { + "license": "[MIT](https://www.centos.org/legal/#licensing-policy)", + "specs": [ + "crash-ptdump-command", + "delve", + "fstrm", + "nodejs-nodemon", + "rhnlib", + "rt-setup", + "rt-tests", + "rtctl", + "tuned" + ] + }, + "Ceph source": { + "license": "[LGPL2.1](https://github.com/ceph/ceph/blob/master/COPYING-LGPL2.1)", + "specs": [ + "ceph" + ] + }, + "Debian": { + "license": "[MIT](https://opensource.org/licenses/MIT)", + "specs": [ + "prometheus-process-exporter" + ] + }, + "Fedora": { + "license": "[Fedora MIT License Declaration](https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#License_of_Fedora_SPEC_Files)", + "specs": [ + "a52dec", + "abseil-cpp", + "accountsservice", + "acpica-tools", + "acpid", + "adcli", + "adobe-mappings-cmap", + "adobe-mappings-pdf", + "advancecomp", + "adwaita-icon-theme", + "afflib", + "aide", + "alsa-firmware", + "alsa-plugins", + "amtk", + "amtterm", + "annobin", + "ansible-freeipa", + "archivemount", + "argparse-manpage", + "arptables", + "arpwatch", + "asio", + "aspell", + "aspell-en", + "at", + "at-spi2-atk", + "at-spi2-core", + "atf", + "atk", + "atop", + "attr", + "audiofile", + "augeas", + "authbind", + "authd", + "authselect", + "autoconf213", + "avahi", + "babeltrace", + "babeltrace2", + "babl", + "baekmuk-ttf-fonts", + "bats", + "bcache-tools", + "biosdevname", + "blosc", + "bluez", + "bmake", + "bogofilter", + "bolt", + "boom-boot", + "booth", + "botan2", + "breezy", + "brotli", + "buildah", + "busybox", + "bwidget", + "byacc", + "ca-certificates", + "cachefilesd", + "cairomm", + "calamares", + "capstone", + "catatonit", + "catch", + "catch1", + "cdrdao", + "celt051", + "cereal", + "certmonger", + "cfitsio", + "cgdcbxd", + "chan", + "CharLS", + "checkpolicy", + "checksec", + "chrony", + "cim-schema", + "cjkuni-uming-fonts", + "cjose", + "ck", + "cldr-emoji-annotation", + "clucene", + "clutter", + "clutter-gst3", + "clutter-gtk", + "cmocka", + "cogl", + "collectd", + "colm", + "color-filesystem", + "colord", + "colorize", + "compat-lua", + "compiler-rt", + "conda", + "conmon", + "conntrack-tools", + "console-setup", + "container-exception-logger", + "containernetworking-plugins", + "convmv", + "corosync", + "corosync-qdevice", + "cpp-hocon", + "cppcheck", + "cpprest", + "cpptest", + "cpuid", + "criu", + "crypto-policies", + "cryptsetup", + "cscope", + "ctags", + "CUnit", + "cups", + "custodia", + "Cython", + "dbus-c++", + "dbus-python", + "dbxtool", + "dconf", + "dcraw", + "debootstrap", + "deltarpm", + "desktop-file-utils", + "device-mapper-persistent-data", + "dietlibc", + "diffstat", + "ding-libs", + "discount", + "distribution-gpg-keys", + "dleyna-connector-dbus", + "dleyna-core", + "dmraid", + "dnf", + "dnf-plugins-core", + "docbook-dtds", + "docbook-simple", + "docbook-slides", + "docbook-style-dsssl", + "docbook-utils", + "docbook2X", + "docbook5-schemas", + "docbook5-style-xsl", + "dogtail", + "dos2unix", + "dotconf", + "dovecot", + "dpdk", + "dpkg", + "driverctl", + "dropwatch", + "drpm", + "duktape", + "dumpet", + "dvd+rw-tools", + "dwarves", + "dwz", + "dyninst", + "ebtables", + "edac-utils", + "edk2", + "efax", + "efi-rpm-macros", + "egl-wayland", + "eglexternalplatform", + "elinks", + "enca", + "enchant", + "enchant2", + "enscript", + "environment-modules", + "evemu", + "execstack", + "exempi", + "exiv2", + "extra-cmake-modules", + "fabtests", + "facter", + "fakechroot", + "fakeroot", + "fapolicyd", + "fdk-aac-free", + "fdupes", + "fence-virt", + "fetchmail", + "fftw", + "filebench", + "fio", + "fipscheck", + "firewalld", + "flac", + "flatbuffers", + "flite", + "fltk", + "fmt", + "fontawesome-fonts", + "fontawesome4-fonts", + "fontpackages", + "fonts-rpm-macros", + "foomatic-db", + "freeglut", + "freeipmi", + "freeradius", + "freetds", + "freexl", + "fribidi", + "fros", + "frr", + "fsverity-utils", + "fuse-overlayfs", + "fuse-sshfs", + "fuse-zip", + "fuse3", + "future", + "fxload", + "gavl", + "gbenchmark", + "gconf-editor", + "GConf2", + "gcovr", + "gcr", + "gdal", + "gdisk", + "gdk-pixbuf2", + "generic-logos", + "genwqe-tools", + "geoclue2", + "GeoIP", + "GeoIP-GeoLite-data", + "geolite2", + "geos", + "gfs2-utils", + "ghc-srpm-macros", + "giflib", + "gl-manpages", + "glew", + "glm", + "glog", + "glslang", + "glusterfs", + "gnome-desktop-testing", + "gnome-doc-utils", + "gnome-icon-theme", + "gnome-keyring", + "gnu-efi", + "go-rpm-macros", + "gom", + "google-api-python-client", + "google-crosextra-caladea-fonts", + "google-crosextra-carlito-fonts", + "google-guice", + "google-noto-cjk-fonts", + "google-noto-emoji-fonts", + "google-roboto-slab-fonts", + "gphoto2", + "gpm", + "gpsbabel", + "graphene", + "graphite2", + "graphviz", + "grubby", + "gsettings-desktop-schemas", + "gsl", + "gsm", + "gspell", + "gssdp", + "gssntlmssp", + "gstreamer1", + "gstreamer1-plugins-base", + "gtk-vnc", + "gtk2", + "gtk3", + "gtkspell", + "gupnp", + "gupnp-av", + "gupnp-dlna", + "gupnp-igd", + "hardening-check", + "hdf", + "hdf5", + "heimdal", + "help2man", + "hexedit", + "hicolor-icon-theme", + "hiera", + "highlight", + "hivex", + "hostname", + "hping3", + "hsakmt", + "htop", + "hunspell", + "hunspell-af", + "hunspell-ar", + "hunspell-as", + "hunspell-ast", + "hunspell-az", + "hunspell-be", + "hunspell-bg", + "hunspell-bn", + "hunspell-br", + "hunspell-ca", + "hunspell-cop", + "hunspell-csb", + "hunspell-cv", + "hunspell-cy", + "hunspell-da", + "hunspell-de", + "hunspell-dsb", + "hunspell-el", + "hunspell-en", + "hunspell-eo", + "hunspell-es", + "hunspell-et", + "hunspell-eu", + "hunspell-fa", + "hunspell-fj", + "hunspell-fo", + "hunspell-fr", + "hunspell-fur", + "hunspell-fy", + "hunspell-ga", + "hunspell-gd", + "hunspell-gl", + "hunspell-grc", + "hunspell-gu", + "hunspell-gv", + "hunspell-haw", + "hunspell-hi", + "hunspell-hil", + "hunspell-hr", + "hunspell-hsb", + "hunspell-ht", + "hunspell-hu", + "hunspell-hy", + "hunspell-ia", + "hunspell-id", + "hunspell-is", + "hunspell-it", + "hunspell-kk", + "hunspell-km", + "hunspell-kn", + "hunspell-ko", + "hunspell-ku", + "hunspell-ky", + "hunspell-la", + "hunspell-lb", + "hunspell-ln", + "hunspell-mai", + "hunspell-mg", + "hunspell-mi", + "hunspell-mk", + "hunspell-ml", + "hunspell-mn", + "hunspell-mos", + "hunspell-mr", + "hunspell-ms", + "hunspell-mt", + "hunspell-nds", + "hunspell-ne", + "hunspell-nl", + "hunspell-no", + "hunspell-nr", + "hunspell-nso", + "hunspell-ny", + "hunspell-om", + "hunspell-or", + "hunspell-pa", + "hunspell-pl", + "hunspell-pt", + "hunspell-quh", + "hunspell-ro", + "hunspell-ru", + "hunspell-rw", + "hunspell-se", + "hunspell-shs", + "hunspell-si", + "hunspell-sk", + "hunspell-sl", + "hunspell-smj", + "hunspell-so", + "hunspell-sq", + "hunspell-sr", + "hunspell-sv", + "hunspell-sw", + "hunspell-ta", + "hunspell-te", + "hunspell-tet", + "hunspell-th", + "hunspell-tk", + "hunspell-tl", + "hunspell-tn", + "hunspell-tpi", + "hunspell-ts", + "hunspell-uk", + "hunspell-uz", + "hunspell-ve", + "hunspell-vi", + "hunspell-wa", + "hunspell-xh", + "hunspell-yi", + "hwdata", + "hwloc", + "hyperscan", + "hyperv-daemons", + "hyphen", + "hyphen-as", + "hyphen-bg", + "hyphen-bn", + "hyphen-ca", + "hyphen-da", + "hyphen-de", + "hyphen-el", + "hyphen-es", + "hyphen-fa", + "hyphen-fo", + "hyphen-fr", + "hyphen-ga", + "hyphen-gl", + "hyphen-grc", + "hyphen-gu", + "hyphen-hi", + "hyphen-hsb", + "hyphen-hu", + "hyphen-ia", + "hyphen-id", + "hyphen-is", + "hyphen-it", + "hyphen-kn", + "hyphen-ku", + "hyphen-lt", + "hyphen-mi", + "hyphen-ml", + "hyphen-mn", + "hyphen-mr", + "hyphen-nl", + "hyphen-or", + "hyphen-pa", + "hyphen-pl", + "hyphen-pt", + "hyphen-ro", + "hyphen-ru", + "hyphen-sa", + "hyphen-sk", + "hyphen-sl", + "hyphen-sv", + "hyphen-ta", + "hyphen-te", + "hyphen-tk", + "hyphen-uk", + "ibus", + "ibus-chewing", + "ibus-hangul", + "ibus-kkc", + "ibus-libzhuyin", + "ibus-m17n", + "ibus-rawcode", + "ibus-sayura", + "ibus-table", + "ibus-table-chinese", + "icc-profiles-openicc", + "icon-naming-utils", + "icoutils", + "iftop", + "iio-sensor-proxy", + "ilmbase", + "im-chooser", + "imaptest", + "imsettings", + "indent", + "infinipath-psm", + "inih", + "iniparser", + "intel-cmt-cat", + "intel-ipsec-mb", + "ioping", + "IP2Location", + "ipa-pgothic-fonts", + "ipcalc", + "ipmitool", + "iprutils", + "iptraf-ng", + "iptstate", + "irssi", + "iscsi-initiator-utils", + "isns-utils", + "iso-codes", + "isomd5sum", + "iw", + "iwd", + "jabberpy", + "jakarta-servlet", + "jasper", + "javapackages-bootstrap", + "javapackages-tools", + "jbigkit", + "jdom2", + "jemalloc", + "jfsutils", + "jimtcl", + "jose", + "js-jquery", + "jsoncpp", + "Judy", + "jurand", + "kata-containers", + "kde-filesystem", + "kde-settings", + "kexec-tools", + "keybinder3", + "keycloak-httpd-client-install", + "kf", + "kf-kconfig", + "kf-kcoreaddons", + "kf-ki18n", + "kf-kwidgetsaddons", + "kpmcore", + "kronosnet", + "ksh", + "kyotocabinet", + "kyua", + "ladspa", + "lame", + "langtable", + "lapack", + "lasso", + "latencytop", + "lato-fonts", + "lcms2", + "lcov", + "ldns", + "leatherman", + "ledmon", + "lensfun", + "leveldb", + "lftp", + "libabw", + "libaec", + "libao", + "libappstream-glib", + "libarrow", + "libart_lgpl", + "libasyncns", + "libatasmart", + "libavc1394", + "libblockdev", + "libbpf", + "libbsd", + "libburn", + "libbytesize", + "libcacard", + "libcanberra", + "libcdio", + "libcdio-paranoia", + "libcdr", + "libcgroup", + "libchewing", + "libcli", + "libcmis", + "libcmpiutil", + "libcomps", + "libcroco", + "libdaemon", + "libdap", + "libdatrie", + "libdazzle", + "libdbi", + "libdbi-drivers", + "libdbusmenu", + "libdc1394", + "libdeflate", + "libdmx", + "libdnf", + "libdrm", + "libdvdnav", + "libdvdread", + "libdwarf", + "libeasyfc", + "libecap", + "libecb", + "libell", + "libEMF", + "libeot", + "libepoxy", + "libepubgen", + "libesmtp", + "libetonyek", + "libev", + "libevdev", + "libexif", + "libexttextcat", + "libfabric", + "libfontenc", + "libfreehand", + "libftdi", + "libgadu", + "libgdither", + "libgee", + "libgee06", + "libgeotiff", + "libgexiv2", + "libgit2", + "libgit2-glib", + "libglade2", + "libglvnd", + "libgovirt", + "libgphoto2", + "libgsf", + "libgta", + "libguestfs", + "libgusb", + "libgxim", + "libgxps", + "libhangul", + "libhugetlbfs", + "libibcommon", + "libical", + "libICE", + "libicns", + "libid3tag", + "libIDL", + "libidn2", + "libiec61883", + "libieee1284", + "libimobiledevice", + "libindicator", + "libinput", + "libiodbc", + "libipt", + "libiptcdata", + "libiscsi", + "libisoburn", + "libisofs", + "libjcat", + "libkcapi", + "libkeepalive", + "libkkc", + "libkkc-data", + "libkml", + "liblangtag", + "libldb", + "libldm", + "liblerc", + "liblockfile", + "liblognorm", + "liblouis", + "liblqr-1", + "liblzf", + "libmad", + "libmediaart", + "libmicrohttpd", + "libmikmod", + "libmodman", + "libmodplug", + "libmodulemd1", + "libmpcdec", + "libmspub", + "libmtp", + "libmusicbrainz5", + "libmwaw", + "libnbd", + "libnet", + "libnetfilter_log", + "libnfs", + "libnotify", + "libntlm", + "libnumbertext", + "libnvme", + "liboauth", + "libodfgen", + "libofa", + "libogg", + "liboggz", + "liboil", + "libomxil-bellagio", + "libopenraw", + "liboping", + "libosinfo", + "libotf", + "libotr", + "libpagemaker", + "libpaper", + "libpciaccess", + "libpeas", + "libpfm", + "libpinyin", + "libplist", + "libpmemobj-cpp", + "libpng12", + "libpng15", + "libproxy", + "libpsm2", + "libpwquality", + "libqb", + "libqxp", + "libraqm", + "LibRaw", + "libraw1394", + "libreport", + "libreswan", + "librevenge", + "librsvg2", + "librx", + "libsamplerate", + "libsass", + "libsecret", + "libsemanage", + "libsigc++20", + "libsigsegv", + "libslirp", + "libSM", + "libsmbios", + "libsmi", + "libsndfile", + "libsodium", + "libspiro", + "libsrtp", + "libssh", + "libstaroffice", + "libstemmer", + "libstoragemgmt", + "libtdb", + "libteam", + "libtevent", + "libthai", + "libtnc", + "libtomcrypt", + "libtommath", + "libtpms", + "libtracecmd", + "libtraceevent", + "libtracefs", + "libtranslit", + "libucil", + "libunicap", + "libuninameslist", + "liburing", + "libusbmuxd", + "libuser", + "libutempter", + "libvarlink", + "libverto", + "libvirt-dbus", + "libvirt-glib", + "libvirt-java", + "libvirt-python", + "libvisio", + "libvisual", + "libvoikko", + "libvorbis", + "libvpx", + "libwacom", + "libwnck3", + "libwpd", + "libwpe", + "libwpg", + "libwps", + "libwvstreams", + "libX11", + "libXau", + "libXaw", + "libxcb", + "libXcomposite", + "libxcrypt", + "libXcursor", + "libXdamage", + "libXdmcp", + "libXext", + "libxfce4util", + "libXfixes", + "libXfont2", + "libXft", + "libXi", + "libXinerama", + "libxkbcommon", + "libxkbfile", + "libxklavier", + "libxmlb", + "libXmu", + "libXpm", + "libXrandr", + "libXrender", + "libXres", + "libXScrnSaver", + "libxshmfence", + "libXt", + "libXtst", + "libXv", + "libXxf86vm", + "libyami", + "libyang", + "libyubikey", + "libzip", + "libzmf", + "lilv", + "linuxconsoletools", + "linuxptp", + "lksctp-tools", + "lldpd", + "lockdev", + "logwatch", + "lpsolve", + "lrzsz", + "lua", + "lua-expat", + "lua-filesystem", + "lua-json", + "lua-lpeg", + "lua-lunit", + "lua-rpm-macros", + "lua-term", + "luajit", + "lujavrite", + "luksmeta", + "lutok", + "lv2", + "lzip", + "lzop", + "m17n-db", + "m17n-lib", + "mac-robber", + "mailcap", + "mailx", + "malaga", + "malaga-suomi-voikko", + "mallard-rng", + "man-pages-cs", + "man-pages-es", + "man-pages-it", + "man-pages-ja", + "man-pages-ko", + "man-pages-pl", + "man-pages-ru", + "man-pages-zh-CN", + "mandoc", + "mariadb-connector-c", + "mariadb-connector-odbc", + "marisa", + "maven-compiler-plugin", + "maven-jar-plugin", + "maven-resolver", + "maven-resources-plugin", + "maven-surefire", + "maven-wagon", + "mcelog", + "mcpp", + "mcstrans", + "mdadm", + "mdds", + "mdevctl", + "meanwhile", + "mecab", + "mecab-ipadic", + "media-player-info", + "memcached", + "memkind", + "mesa", + "mesa-libGLU", + "metis", + "microcode_ctl", + "microdnf", + "minicom", + "minizip", + "mksh", + "mobile-broadband-provider-info", + "mock", + "mock-core-configs", + "mod_auth_gssapi", + "mod_auth_mellon", + "mod_auth_openidc", + "mod_authnz_pam", + "mod_fcgid", + "mod_http2", + "mod_intercept_form_submit", + "mod_lookup_identity", + "mod_md", + "mod_security", + "mod_security_crs", + "mod_wsgi", + "mokutil", + "mozjs", + "mpage", + "mrtg", + "mstflint", + "mt-st", + "mtdev", + "mtools", + "mtr", + "mtx", + "munge", + "mutt", + "mythes", + "mythes-bg", + "mythes-ca", + "mythes-cs", + "mythes-da", + "mythes-de", + "mythes-el", + "mythes-en", + "mythes-eo", + "mythes-es", + "mythes-fr", + "mythes-ga", + "mythes-hu", + "mythes-mi", + "mythes-ne", + "mythes-nl", + "mythes-pl", + "mythes-pt", + "mythes-ro", + "mythes-ru", + "mythes-sk", + "mythes-sl", + "mythes-sv", + "mythes-uk", + "nbd", + "nbdkit", + "neon", + "netavark", + "netcdf", + "netcf", + "netlabel_tools", + "netpbm", + "netsniff-ng", + "nfs4-acl-tools", + "nftables", + "nilfs-utils", + "nkf", + "nload", + "nlopt", + "nodejs-packaging", + "nss-mdns", + "nss-pam-ldapd", + "nss_nis", + "nss_wrapper", + "ntfs-3g", + "ntfs-3g-system-compression", + "numad", + "numatop", + "numpy", + "nvmetcli", + "nvml", + "oath-toolkit", + "ocaml", + "ocaml-alcotest", + "ocaml-astring", + "ocaml-augeas", + "ocaml-base", + "ocaml-bigarray-compat", + "ocaml-bisect-ppx", + "ocaml-calendar", + "ocaml-camlp-streams", + "ocaml-camlp5", + "ocaml-camomile", + "ocaml-cinaps", + "ocaml-cmdliner", + "ocaml-compiler-libs-janestreet", + "ocaml-cppo", + "ocaml-csexp", + "ocaml-csv", + "ocaml-ctypes", + "ocaml-curses", + "ocaml-dune", + "ocaml-extlib", + "ocaml-fileutils", + "ocaml-findlib", + "ocaml-fmt", + "ocaml-fpath", + "ocaml-gettext", + "ocaml-integers", + "ocaml-libvirt", + "ocaml-luv", + "ocaml-lwt", + "ocaml-markup", + "ocaml-migrate-parsetree", + "ocaml-mmap", + "ocaml-num", + "ocaml-ocamlbuild", + "ocaml-ocplib-endian", + "ocaml-ounit", + "ocaml-parsexp", + "ocaml-pp", + "ocaml-ppx-derivers", + "ocaml-ppx-here", + "ocaml-ppx-let", + "ocaml-ppxlib", + "ocaml-re", + "ocaml-react", + "ocaml-result", + "ocaml-seq", + "ocaml-sexplib", + "ocaml-sexplib0", + "ocaml-srpm-macros", + "ocaml-stdio", + "ocaml-stdlib-random", + "ocaml-topkg", + "ocaml-tyxml", + "ocaml-uuidm", + "ocaml-uutf", + "ocaml-xml-light", + "ocaml-zarith", + "ocl-icd", + "oddjob", + "ogdi", + "omping", + "opa", + "opal", + "open-vm-tools", + "openblas", + "opencc", + "opencl-filesystem", + "opencl-headers", + "opencryptoki", + "opencsd", + "opendnssec", + "OpenEXR", + "openjade", + "openjpeg2", + "openmpi", + "openobex", + "openoffice-lv", + "openrdate", + "opensc", + "openslp", + "opensm", + "opensp", + "openssl", + "openssl-ibmpkcs11", + "openssl-pkcs11", + "openwsman", + "optipng", + "opus", + "opusfile", + "orangefs", + "ORBit2", + "orc", + "os-prober", + "osinfo-db", + "osinfo-db-tools", + "overpass-fonts", + "p11-kit", + "p7zip", + "pacemaker", + "pacrunner", + "pakchois", + "pam_krb5", + "pam_wrapper", + "papi", + "paps", + "parallel", + "patchelf", + "patchutils", + "pbzip2", + "pcp", + "pcsc-lite", + "pcsc-lite-ccid", + "PEGTL", + "perl", + "perl-Algorithm-C3", + "perl-Algorithm-Diff", + "perl-Alien-Build", + "perl-Alien-pkgconf", + "perl-AnyEvent", + "perl-AnyEvent-AIO", + "perl-AnyEvent-BDB", + "perl-App-cpanminus", + "perl-App-FatPacker", + "perl-AppConfig", + "perl-Archive-Extract", + "perl-Archive-Zip", + "perl-Authen-SASL", + "perl-B-COW", + "perl-B-Debug", + "perl-B-Hooks-EndOfScope", + "perl-B-Hooks-OP-Check", + "perl-B-Keywords", + "perl-B-Lint", + "perl-bareword-filehandles", + "perl-BDB", + "perl-Bit-Vector", + "perl-boolean", + "perl-Browser-Open", + "perl-BSD-Resource", + "perl-Business-ISBN", + "perl-Business-ISBN-Data", + "perl-Bytes-Random-Secure", + "perl-Capture-Tiny", + "perl-Carp-Clan", + "perl-CBOR-XS", + "perl-Class-Accessor", + "perl-Class-C3", + "perl-Class-C3-XS", + "perl-Class-Data-Inheritable", + "perl-Class-Factory-Util", + "perl-Class-Inspector", + "perl-Class-ISA", + "perl-Class-Load", + "perl-Class-Load-XS", + "perl-Class-Method-Modifiers", + "perl-Class-Singleton", + "perl-Class-Tiny", + "perl-Class-XSAccessor", + "perl-Clone", + "perl-Color-ANSI-Util", + "perl-Color-RGB-Util", + "perl-ColorThemeBase-Static", + "perl-ColorThemeRole-ANSI", + "perl-ColorThemes-Standard", + "perl-ColorThemeUtil-ANSI", + "perl-Compress-Bzip2", + "perl-Compress-LZF", + "perl-Compress-Raw-Lzma", + "perl-Config-AutoConf", + "perl-Config-INI", + "perl-Config-INI-Reader-Multiline", + "perl-Config-IniFiles", + "perl-Config-Simple", + "perl-Config-Tiny", + "perl-Const-Fast", + "perl-Convert-ASN1", + "perl-Convert-Bencode", + "perl-Coro", + "perl-Coro-Multicore", + "perl-CPAN-Changes", + "perl-CPAN-DistnameInfo", + "perl-CPAN-Meta-Check", + "perl-Cpanel-JSON-XS", + "perl-Crypt-CBC", + "perl-Crypt-DES", + "perl-Crypt-IDEA", + "perl-Crypt-OpenSSL-Bignum", + "perl-Crypt-OpenSSL-Guess", + "perl-Crypt-OpenSSL-Random", + "perl-Crypt-OpenSSL-RSA", + "perl-Crypt-PasswdMD5", + "perl-Crypt-Random-Seed", + "perl-CSS-Tiny", + "perl-Data-Dump", + "perl-Data-Munge", + "perl-Data-OptList", + "perl-Data-Peek", + "perl-Data-Section", + "perl-Data-UUID", + "perl-Date-Calc", + "perl-Date-ISO8601", + "perl-Date-Manip", + "perl-DateTime", + "perl-DateTime-Format-Builder", + "perl-DateTime-Format-DateParse", + "perl-DateTime-Format-HTTP", + "perl-DateTime-Format-IBeat", + "perl-DateTime-Format-ISO8601", + "perl-DateTime-Format-Mail", + "perl-DateTime-Format-Strptime", + "perl-DateTime-Locale", + "perl-DateTime-TimeZone", + "perl-DateTime-TimeZone-SystemV", + "perl-DateTime-TimeZone-Tzfile", + "perl-DBD-MySQL", + "perl-Devel-CallChecker", + "perl-Devel-Caller", + "perl-Devel-CheckBin", + "perl-Devel-CheckLib", + "perl-Devel-Cycle", + "perl-Devel-EnforceEncapsulation", + "perl-Devel-GlobalDestruction", + "perl-Devel-GlobalDestruction-XS", + "perl-Devel-Hide", + "perl-Devel-Leak", + "perl-Devel-LexAlias", + "perl-Devel-Size", + "perl-Devel-StackTrace", + "perl-Devel-Symdump", + "perl-Digest-BubbleBabble", + "perl-Digest-CRC", + "perl-Digest-HMAC", + "perl-Digest-SHA1", + "perl-Dist-CheckConflicts", + "perl-DynaLoader-Functions", + "perl-Email-Address", + "perl-Email-Date-Format", + "perl-Encode-Detect", + "perl-Encode-EUCJPASCII", + "perl-Encode-IMAPUTF7", + "perl-Encode-Locale", + "perl-Env-ShellWords", + "perl-Error", + "perl-EV", + "perl-Eval-Closure", + "perl-Event", + "perl-Exception-Class", + "perl-Expect", + "perl-ExtUtils-Config", + "perl-ExtUtils-Depends", + "perl-ExtUtils-Helpers", + "perl-ExtUtils-InstallPaths", + "perl-ExtUtils-PkgConfig", + "perl-FCGI", + "perl-Fedora-VSP", + "perl-FFI-CheckLib", + "perl-File-BaseDir", + "perl-File-BOM", + "perl-File-chdir", + "perl-File-CheckTree", + "perl-File-Copy-Recursive", + "perl-File-DesktopEntry", + "perl-File-Find-Object", + "perl-File-Find-Object-Rule", + "perl-File-Find-Rule", + "perl-File-Find-Rule-Perl", + "perl-File-Inplace", + "perl-File-Listing", + "perl-File-MimeInfo", + "perl-File-pushd", + "perl-File-ReadBackwards", + "perl-File-Remove", + "perl-File-ShareDir", + "perl-File-ShareDir-Install", + "perl-File-Slurp", + "perl-File-Slurp-Tiny", + "perl-File-Slurper", + "perl-File-Type", + "perl-Font-TTF", + "perl-FreezeThaw", + "perl-GD", + "perl-GD-Barcode", + "perl-generators", + "perl-Getopt-ArgvFile", + "perl-gettext", + "perl-Graphics-ColorNamesLite-WWW", + "perl-GSSAPI", + "perl-Guard", + "perl-Hook-LexWrap", + "perl-HTML-Parser", + "perl-HTML-Tagset", + "perl-HTML-Tree", + "perl-HTTP-Cookies", + "perl-HTTP-Daemon", + "perl-HTTP-Date", + "perl-HTTP-Message", + "perl-HTTP-Negotiate", + "perl-Image-Base", + "perl-Image-Info", + "perl-Image-Xbm", + "perl-Image-Xpm", + "perl-Import-Into", + "perl-Importer", + "perl-inc-latest", + "perl-indirect", + "perl-Inline-Files", + "perl-IO-AIO", + "perl-IO-All", + "perl-IO-CaptureOutput", + "perl-IO-Compress-Lzma", + "perl-IO-HTML", + "perl-IO-Multiplex", + "perl-IO-SessionData", + "perl-IO-Socket-INET6", + "perl-IO-String", + "perl-IO-stringy", + "perl-IO-Tty", + "perl-IPC-Run", + "perl-IPC-Run3", + "perl-IPC-System-Simple", + "perl-JSON", + "perl-JSON-Color", + "perl-JSON-MaybeXS", + "perl-LDAP", + "perl-libnet", + "perl-libwww-perl", + "perl-libxml-perl", + "perl-Lingua-EN-Inflect", + "perl-List-MoreUtils-XS", + "perl-local-lib", + "perl-Locale-Codes", + "perl-Locale-Maketext-Gettext", + "perl-Locale-Msgfmt", + "perl-Locale-PO", + "perl-Log-Message", + "perl-Log-Message-Simple", + "perl-LWP-MediaTypes", + "perl-LWP-Protocol-https", + "perl-Mail-AuthenticationResults", + "perl-Mail-DKIM", + "perl-Mail-IMAPTalk", + "perl-Mail-SPF", + "perl-MailTools", + "perl-Math-Int64", + "perl-Math-Random-ISAAC", + "perl-MIME-Charset", + "perl-MIME-Lite", + "perl-MIME-Types", + "perl-Mixin-Linewise", + "perl-MLDBM", + "perl-Mock-Config", + "perl-Module-Build-Tiny", + "perl-Module-CPANfile", + "perl-Module-Implementation", + "perl-Module-Install-AuthorRequires", + "perl-Module-Install-AuthorTests", + "perl-Module-Install-AutoLicense", + "perl-Module-Install-GithubMeta", + "perl-Module-Install-ManifestSkip", + "perl-Module-Install-ReadmeFromPod", + "perl-Module-Install-ReadmeMarkdownFromPod", + "perl-Module-Install-Repository", + "perl-Module-Install-TestBase", + "perl-Module-Load-Util", + "perl-Module-Manifest", + "perl-Module-Manifest-Skip", + "perl-Module-Package", + "perl-Module-Package-Au", + "perl-Module-Pluggable", + "perl-Module-Runtime", + "perl-Module-Signature", + "perl-Mojolicious", + "perl-Moo", + "perl-Mozilla-CA", + "perl-Mozilla-LDAP", + "perl-MRO-Compat", + "perl-multidimensional", + "perl-namespace-autoclean", + "perl-namespace-clean", + "perl-Net-CIDR-Lite", + "perl-Net-Daemon", + "perl-Net-DNS", + "perl-Net-DNS-Resolver-Mock", + "perl-Net-DNS-Resolver-Programmable", + "perl-Net-HTTP", + "perl-Net-IMAP-Simple", + "perl-Net-IMAP-Simple-SSL", + "perl-Net-IP", + "perl-Net-LibIDN2", + "perl-Net-Patricia", + "perl-Net-SMTP-SSL", + "perl-Net-SNMP", + "perl-Net-Telnet", + "perl-Newt", + "perl-NNTPClient", + "perl-NTLM", + "perl-Number-Compare", + "perl-Object-Deadly", + "perl-Object-HashBase", + "perl-Package-Anon", + "perl-Package-Constants", + "perl-Package-DeprecationManager", + "perl-Package-Generator", + "perl-Package-Stash", + "perl-Package-Stash-XS", + "perl-PadWalker", + "perl-Paper-Specs", + "perl-PAR-Dist", + "perl-Parallel-Iterator", + "perl-Params-Classify", + "perl-Params-Util", + "perl-Params-Validate", + "perl-Params-ValidationCompiler", + "perl-Parse-PMFile", + "perl-Parse-RecDescent", + "perl-Parse-Yapp", + "perl-Path-Tiny", + "perl-Perl-Critic", + "perl-Perl-Critic-More", + "perl-Perl-Destruct-Level", + "perl-Perl-MinimumVersion", + "perl-Perl4-CoreLibs", + "perl-PerlIO-gzip", + "perl-PerlIO-utf8_strict", + "perl-PkgConfig-LibPkgConf", + "perl-Pod-Coverage", + "perl-Pod-Coverage-TrustPod", + "perl-Pod-Escapes", + "perl-Pod-Eventual", + "perl-Pod-LaTeX", + "perl-Pod-Markdown", + "perl-Pod-Parser", + "perl-Pod-Plainer", + "perl-Pod-POM", + "perl-Pod-Spell", + "perl-PPI", + "perl-PPI-HTML", + "perl-PPIx-QuoteLike", + "perl-PPIx-Regexp", + "perl-PPIx-Utilities", + "perl-prefork", + "perl-Probe-Perl", + "perl-Razor-Agent", + "perl-Readonly", + "perl-Readonly-XS", + "perl-Ref-Util", + "perl-Ref-Util-XS", + "perl-Regexp-Pattern-Perl", + "perl-Return-MultiLevel", + "perl-Role-Tiny", + "perl-Scope-Guard", + "perl-Scope-Upper", + "perl-SGMLSpm", + "perl-SNMP_Session", + "perl-Socket6", + "perl-Software-License", + "perl-Sort-Versions", + "perl-Specio", + "perl-Spiffy", + "perl-strictures", + "perl-String-CRC32", + "perl-String-Format", + "perl-String-ShellQuote", + "perl-String-Similarity", + "perl-Sub-Exporter", + "perl-Sub-Exporter-Progressive", + "perl-Sub-Identify", + "perl-Sub-Info", + "perl-Sub-Install", + "perl-Sub-Name", + "perl-Sub-Quote", + "perl-Sub-Uplevel", + "perl-SUPER", + "perl-Switch", + "perl-Syntax-Highlight-Engine-Kate", + "perl-Sys-CPU", + "perl-Sys-MemInfo", + "perl-Sys-Virt", + "perl-Taint-Runtime", + "perl-Task-Weaken", + "perl-Term-Size-Any", + "perl-Term-Size-Perl", + "perl-Term-Table", + "perl-Term-UI", + "perl-TermReadKey", + "perl-Test-Base", + "perl-Test-ClassAPI", + "perl-Test-CPAN-Meta", + "perl-Test-CPAN-Meta-JSON", + "perl-Test-Deep", + "perl-Test-Differences", + "perl-Test-DistManifest", + "perl-Test-Distribution", + "perl-Test-EOL", + "perl-Test-Exception", + "perl-Test-Exit", + "perl-Test-FailWarnings", + "perl-Test-Fatal", + "perl-Test-File", + "perl-Test-File-ShareDir", + "perl-Test-Harness", + "perl-Test-HasVersion", + "perl-Test-InDistDir", + "perl-Test-Inter", + "perl-Test-LeakTrace", + "perl-Test-LongString", + "perl-Test-Manifest", + "perl-Test-Memory-Cycle", + "perl-Test-MinimumVersion", + "perl-Test-MockObject", + "perl-Test-MockRandom", + "perl-Test-Needs", + "perl-Test-NoTabs", + "perl-Test-NoWarnings", + "perl-Test-Object", + "perl-Test-Output", + "perl-Test-Pod", + "perl-Test-Pod-Coverage", + "perl-Test-Portability-Files", + "perl-Test-Requires", + "perl-Test-RequiresInternet", + "perl-Test-Script", + "perl-Test-Simple", + "perl-Test-SubCalls", + "perl-Test-Synopsis", + "perl-Test-Taint", + "perl-Test-TrailingSpace", + "perl-Test-utf8", + "perl-Test-Vars", + "perl-Test-Warn", + "perl-Test-Without-Module", + "perl-Test2-Plugin-NoWarnings", + "perl-Test2-Suite", + "perl-Test2-Tools-Explain", + "perl-Text-CharWidth", + "perl-Text-CSV_XS", + "perl-Text-Diff", + "perl-Text-Glob", + "perl-Text-Iconv", + "perl-Text-Soundex", + "perl-Text-Unidecode", + "perl-Text-WrapI18N", + "perl-Tie-IxHash", + "perl-TimeDate", + "perl-Tree-DAG_Node", + "perl-Unicode-EastAsianWidth", + "perl-Unicode-LineBreak", + "perl-Unicode-Map8", + "perl-Unicode-String", + "perl-Unicode-UTF8", + "perl-UNIVERSAL-can", + "perl-UNIVERSAL-isa", + "perl-Unix-Syslog", + "perl-URI", + "perl-Variable-Magic", + "perl-Version-Requirements", + "perl-WWW-RobotRules", + "perl-XML-Catalog", + "perl-XML-DOM", + "perl-XML-Dumper", + "perl-XML-Filter-BufferText", + "perl-XML-Generator", + "perl-XML-Grove", + "perl-XML-Handler-YAWriter", + "perl-XML-LibXML", + "perl-XML-LibXSLT", + "perl-XML-NamespaceSupport", + "perl-XML-Parser-Lite", + "perl-XML-RegExp", + "perl-XML-SAX", + "perl-XML-SAX-Base", + "perl-XML-SAX-Writer", + "perl-XML-Simple", + "perl-XML-TokeParser", + "perl-XML-TreeBuilder", + "perl-XML-Twig", + "perl-XML-Writer", + "perl-XML-XPath", + "perl-XML-XPathEngine", + "perl-XString", + "perl-YAML-LibYAML", + "perl-YAML-PP", + "perl-YAML-Syck", + "perltidy", + "pesign", + "phodav", + "php", + "php-pear", + "php-pecl-zip", + "physfs", + "picosat", + "pinfo", + "pipewire", + "pixman", + "pkcs11-helper", + "pkgconf", + "plexus-cipher", + "plexus-containers", + "plexus-sec-dispatcher", + "plotutils", + "pmdk-convert", + "pmix", + "pngcrush", + "pngnq", + "po4a", + "podman", + "poetry", + "policycoreutils", + "polkit-pkla-compat", + "polkit-qt-1", + "portreserve", + "postfix", + "potrace", + "powertop", + "ppp", + "pps-tools", + "pptp", + "priv_wrapper", + "procmail", + "prometheus", + "prometheus-node-exporter", + "ps_mem", + "psacct", + "psutils", + "ptlib", + "publicsuffix-list", + "pugixml", + "pulseaudio", + "puppet", + "pwgen", + "pyatspi", + "pybind11", + "pycairo", + "pyelftools", + "pyflakes", + "pygobject3", + "PyGreSQL", + "pykickstart", + "pylint", + "pyparted", + "pyproject-rpm-macros", + "pyserial", + "python-absl-py", + "python-aiodns", + "python-aiohttp", + "python-alsa", + "python-argcomplete", + "python-astroid", + "python-astunparse", + "python-async-generator", + "python-augeas", + "python-azure-sdk", + "python-beautifulsoup4", + "python-betamax", + "python-blinker", + "python-blivet", + "python-cached_property", + "python-charset-normalizer", + "python-cheetah", + "python-click", + "python-cmd2", + "python-colorama", + "python-CommonMark", + "python-conda-package-handling", + "python-configshell", + "python-cpuinfo", + "python-cups", + "python-curio", + "python-cytoolz", + "python-d2to1", + "python-dbus-client-gen", + "python-dbus-python-client-gen", + "python-dbus-signature-pyparsing", + "python-dbusmock", + "python-ddt", + "python-debtcollector", + "python-decorator", + "python-distlib", + "python-dmidecode", + "python-dns", + "python-dtopt", + "python-dulwich", + "python-editables", + "python-enchant", + "python-entrypoints", + "python-ethtool", + "python-evdev", + "python-extras", + "python-faker", + "python-fasteners", + "python-fastjsonschema", + "python-fields", + "python-filelock", + "python-fixtures", + "python-flake8", + "python-flask", + "python-flit", + "python-flit-core", + "python-fluidity-sm", + "python-frozendict", + "python-funcsigs", + "python-gast", + "python-genshi", + "python-google-auth", + "python-google-auth-oauthlib", + "python-greenlet", + "python-gssapi", + "python-h5py", + "python-hatch-fancy-pypi-readme", + "python-hatch-vcs", + "python-hatchling", + "python-hs-dbus-signature", + "python-html5lib", + "python-httplib2", + "python-humanize", + "python-hwdata", + "python-importlib-metadata", + "python-inotify", + "python-into-dbus-python", + "python-IPy", + "python-iso8601", + "python-isodate", + "python-isort", + "python-itsdangerous", + "python-justbases", + "python-justbytes", + "python-jwcrypto", + "python-jwt", + "python-kdcproxy", + "python-kerberos", + "python-kmod", + "python-kubernetes", + "python-lark", + "python-lazy-object-proxy", + "python-ldap", + "python-linux-procfs", + "python-lit", + "python-looseversion", + "python-markdown", + "python-markdown-it-py", + "python-mccabe", + "python-mdurl", + "python-memcached", + "python-mimeparse", + "python-mock", + "python-monotonic", + "python-more-itertools", + "python-mpmath", + "python-msal", + "python-msrestazure", + "python-mutagen", + "python-networkx", + "python-nose2", + "python-ntlm-auth", + "python-oauth2client", + "python-openpyxl", + "python-openstackdocstheme", + "python-oslo-i18n", + "python-oslo-sphinx", + "python-paramiko", + "python-pathspec", + "python-pefile", + "python-pexpect", + "python-pkgconfig", + "python-platformdirs", + "python-pluggy", + "python-podman-api", + "python-poetry-core", + "python-process-tests", + "python-productmd", + "python-ptyprocess", + "python-pycares", + "python-pycosat", + "python-pydbus", + "python-pymongo", + "python-PyMySQL", + "python-pyperclip", + "python-pyroute2", + "python-pyrsistent", + "python-pysocks", + "python-pytest-benchmark", + "python-pytest-cov", + "python-pytest-expect", + "python-pytest-flake8", + "python-pytest-flakes", + "python-pytest-forked", + "python-pytest-mock", + "python-pytest-relaxed", + "python-pytest-runner", + "python-pytest-subtests", + "python-pytest-timeout", + "python-pytest-xdist", + "python-pytoml", + "python-pyudev", + "python-pywbem", + "python-qrcode", + "python-rdflib", + "python-recommonmark", + "python-requests-file", + "python-requests-ftp", + "python-requests-kerberos", + "python-requests-mock", + "python-requests-oauthlib", + "python-requests-toolbelt", + "python-requests_ntlm", + "python-responses", + "python-retrying", + "python-rfc3986", + "python-rich", + "python-rpm-generators", + "python-rpmfluff", + "python-rtslib", + "python-ruamel-yaml", + "python-ruamel-yaml-clib", + "python-s3transfer", + "python-schedutils", + "python-semantic_version", + "python-should_dsl", + "python-simpleline", + "python-slip", + "python-sniffio", + "python-sortedcontainers", + "python-soupsieve", + "python-sphinx", + "python-sphinx-epytext", + "python-sphinx-theme-py3doc-enhanced", + "python-sphinx_rtd_theme", + "python-sphinxcontrib-apidoc", + "python-sphinxcontrib-applehelp", + "python-sphinxcontrib-devhelp", + "python-sphinxcontrib-htmlhelp", + "python-sphinxcontrib-httpdomain", + "python-sphinxcontrib-jsmath", + "python-sphinxcontrib-qthelp", + "python-sphinxcontrib-serializinghtml", + "python-sqlalchemy", + "python-suds", + "python-systemd", + "python-tempita", + "python-templated-dictionary", + "python-termcolor", + "python-testpath", + "python-testresources", + "python-testscenarios", + "python-testtools", + "python-tidy", + "python-toml", + "python-tomli", + "python-toolz", + "python-tornado", + "python-tox", + "python-tox-current-env", + "python-tqdm", + "python-trio", + "python-trove-classifiers", + "python-typing-extensions", + "python-uamqp", + "python-unittest2", + "python-uritemplate", + "python-urwid", + "python-varlink", + "python-versioneer", + "python-virt-firmware", + "python-voluptuous", + "python-waitress", + "python-webencodings", + "python-webtest", + "python-wheel", + "python-whoosh", + "python-winrm", + "python-wrapt", + "python-xmltodict", + "python-yubico", + "python-zipp", + "python-zmq", + "python-zstd", + "python3-mallard-ducktype", + "python3-pytest-asyncio", + "python3-typed_ast", + "pyusb", + "pywbem", + "pyxattr", + "qemu", + "qhull", + "qpdf", + "qperf", + "qr-code-generator", + "qt-rpm-macros", + "qt5-qtconnectivity", + "qt5-qtsensors", + "qt5-qtserialport", + "qtbase", + "qtdeclarative", + "qtsvg", + "qttools", + "quagga", + "quota", + "radvd", + "ragel", + "raptor2", + "rarian", + "rasdaemon", + "rasqal", + "rcs", + "rdist", + "rdma-core", + "re2", + "re2c", + "realmd", + "rear", + "recode", + "redland", + "resource-agents", + "rest", + "rhash", + "rlwrap", + "rp-pppoe", + "rpm-mpi-hooks", + "rpmdevtools", + "rpmlint", + "rtkit", + "rtl-sdr", + "ruby-augeas", + "rubygem-bson", + "rubygem-coderay", + "rubygem-diff-lcs", + "rubygem-flexmock", + "rubygem-hpricot", + "rubygem-introspection", + "rubygem-liquid", + "rubygem-maruku", + "rubygem-metaclass", + "rubygem-mongo", + "rubygem-mustache", + "rubygem-mysql2", + "rubygem-pkg-config", + "rubygem-rake", + "rubygem-rake-compiler", + "rubygem-ronn", + "rubygem-rouge", + "rubygem-rspec", + "rubygem-rspec-expectations", + "rubygem-rspec-mocks", + "rubygem-rspec-support", + "rubygem-thread_order", + "rusers", + "rust-cbindgen", + "samba", + "sanlock", + "sassist", + "satyr", + "sbc", + "sblim-cim-client2", + "sblim-cmpi-base", + "sblim-cmpi-devel", + "sblim-cmpi-fsvol", + "sblim-cmpi-network", + "sblim-cmpi-nfsv3", + "sblim-cmpi-nfsv4", + "sblim-cmpi-params", + "sblim-cmpi-sysfs", + "sblim-cmpi-syslog", + "sblim-indication_helper", + "sblim-sfcb", + "sblim-sfcc", + "sblim-sfcCommon", + "sblim-testsuite", + "sblim-wbemcli", + "scl-utils", + "scotch", + "screen", + "scrub", + "SDL", + "SDL2", + "SDL_sound", + "sdparm", + "seabios", + "secilc", + "selinux-policy", + "sendmail", + "serd", + "setools", + "setserial", + "setuptool", + "sgabios", + "sgml-common", + "sgpio", + "shared-mime-info", + "sharutils", + "sip", + "sisu", + "skkdic", + "sleuthkit", + "slirp4netns", + "smartmontools", + "smc-tools", + "socket_wrapper", + "softhsm", + "sombok", + "sord", + "sos", + "sound-theme-freedesktop", + "soundtouch", + "sox", + "soxr", + "sparsehash", + "spausedd", + "speex", + "speexdsp", + "spice-protocol", + "spice-vdagent", + "spirv-headers", + "spirv-tools", + "splix", + "squashfs-tools", + "squid", + "sratom", + "sscg", + "star", + "startup-notification", + "stunnel", + "subscription-manager", + "suitesparse", + "SuperLU", + "supermin", + "switcheroo-control", + "swtpm", + "symlinks", + "sympy", + "sysfsutils", + "systemd", + "systemd-bootchart", + "t1lib", + "t1utils", + "taglib", + "tang", + "targetcli", + "tbb", + "tcl-pgtcl", + "tclx", + "teckit", + "telnet", + "thrift", + "tidy", + "time", + "tini", + "tinycdb", + "tix", + "tk", + "tlog", + "tmpwatch", + "tn5250", + "tofrodos", + "tokyocabinet", + "trace-cmd", + "tss2", + "ttembed", + "ttmkfdir", + "tuna", + "twolame", + "uchardet", + "uclibc-ng", + "ucpp", + "ucs-miscfixed-fonts", + "ucx", + "udftools", + "udica", + "udisks2", + "uglify-js", + "uid_wrapper", + "unicode-emoji", + "unicode-ucd", + "unique3", + "units", + "upower", + "uriparser", + "urlview", + "usb_modeswitch", + "usb_modeswitch-data", + "usbguard", + "usbip", + "usbmuxd", + "usbredir", + "usermode", + "ustr", + "uthash", + "uuid", + "uw-imap", + "v4l-utils", + "vhostmd", + "vino", + "virglrenderer", + "virt-p2v", + "virt-top", + "virt-what", + "virt-who", + "vitess", + "vmem", + "volume_key", + "vorbis-tools", + "vte291", + "vulkan-headers", + "vulkan-loader", + "watchdog", + "wavpack", + "wayland", + "wayland-protocols", + "web-assets", + "webrtc-audio-processing", + "websocketpp", + "wget", + "whois", + "wireguard-tools", + "wireless-regdb", + "wireshark", + "woff2", + "wordnet", + "words", + "wpebackend-fdo", + "wsmancli", + "wvdial", + "x3270", + "xapian-core", + "Xaw3d", + "xcb-proto", + "xcb-util", + "xcb-util-image", + "xcb-util-keysyms", + "xcb-util-renderutil", + "xcb-util-wm", + "xdelta", + "xdg-dbus-proxy", + "xdg-utils", + "xdp-tools", + "xerces-c", + "xfconf", + "xfsdump", + "xhtml1-dtds", + "xkeyboard-config", + "xmlstarlet", + "xmltoman", + "xmvn", + "xorg-x11-apps", + "xorg-x11-drv-libinput", + "xorg-x11-font-utils", + "xorg-x11-fonts", + "xorg-x11-proto-devel", + "xorg-x11-server", + "xorg-x11-server-utils", + "xorg-x11-util-macros", + "xorg-x11-utils", + "xorg-x11-xauth", + "xorg-x11-xbitmaps", + "xorg-x11-xinit", + "xorg-x11-xkb-utils", + "xorg-x11-xtrans-devel", + "xrestop", + "xterm", + "xxhash", + "yajl", + "yaml-cpp", + "yasm", + "yelp-tools", + "yelp-xsl", + "ykclient", + "yp-tools", + "ypbind", + "ypserv", + "z3", + "zenity", + "zerofree", + "zfs-fuse", + "zipper", + "zopfli", + "zziplib" + ] + }, + "Fedora (Copyright Remi Collet)": { + "license": "[CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/legalcode)", + "specs": [ + "libmemcached-awesome", + "librabbitmq" + ] + }, + "Fedora (ISC)": { + "license": "[ISC License](https://github.com/sarugaku/resolvelib/blob/main/LICENSE)", + "specs": [ + "python-resolvelib" + ] + }, + "Magnus Edenhill Open Source": { + "license": "[Magnus Edenhill Open Source BSD License](https://github.com/jemalloc/jemalloc/blob/dev/COPYING)", + "specs": [ + "librdkafka" + ] + }, + "Microsoft": { + "license": "[Microsoft MIT License](/LICENSES-AND-NOTICES/LICENSE.md)", + "specs": [ + "application-gateway-kubernetes-ingress", + "asc", + "azcopy", + "azure-iot-sdk-c", + "azure-nvme-utils", + "azure-storage-cpp", + "azurelinux-release", + "azurelinux-repos", + "azurelinux-rpm-macros", + "azurelinux-sysinfo", + "bazel", + "blobfuse2", + "bmon", + "bpftrace", + "ccache", + "cert-manager", + "cf-cli", + "check-restart", + "clamav", + "cloud-hypervisor", + "cmake-fedora", + "containerd", + "coredns", + "dcos-cli", + "debugedit", + "dejavu-fonts", + "distroless-packages", + "docker-buildx", + "docker-cli", + "docker-compose", + "doxygen", + "dtc", + "elixir", + "espeak-ng", + "espeakup", + "flannel", + "fluent-bit", + "freefont", + "gflags", + "gh", + "go-md2man", + "grpc", + "grub2-efi-binary-signed", + "GSL", + "gtk-update-icon-cache", + "helm", + "hvloader", + "ig", + "intel-pf-bb-config", + "ivykis", + "jsonbuilder", + "jx", + "kata-containers-cc", + "kata-packages-uvm", + "keda", + "keras", + "kernel-signed", + "kpatch", + "kube-vip-cloud-provider", + "kubernetes", + "libacvp", + "libconfini", + "libconfuse", + "libgdiplus", + "libmaxminddb", + "libmetalink", + "libsafec", + "libuv", + "libxml++", + "lld", + "local-path-provisioner", + "lsb-release", + "ltp", + "lttng-consume", + "mm-common", + "moby-containerd-cc", + "moby-engine", + "msgpack", + "ncompress", + "networkd-dispatcher", + "nlohmann-json", + "nmap", + "node-problem-detector", + "ntopng", + "opentelemetry-cpp", + "packer", + "pcaudiolib", + "pcre2", + "perl-Test-Warnings", + "perl-Text-Template", + "pigz", + "prebuilt-ca-certificates", + "prebuilt-ca-certificates-base", + "prometheus-adapter", + "python-cachetools", + "python-cherrypy", + "python-cstruct", + "python-execnet", + "python-google-pasta", + "python-libclang", + "python-libevdev", + "python-logutils", + "python-ml-dtypes", + "python-namex", + "python-nocasedict", + "python-opt-einsum", + "python-optree", + "python-pecan", + "python-pip", + "python-pyrpm", + "python-remoto", + "python-repoze-lru", + "python-routes", + "python-rsa", + "python-setuptools", + "python-sphinxcontrib-websupport", + "python-tensorboard", + "python-tensorboard-plugin-wit", + "python-yamlloader", + "R", + "rabbitmq-server", + "rocksdb", + "rubygem-addressable", + "rubygem-asciidoctor", + "rubygem-async", + "rubygem-async-http", + "rubygem-async-io", + "rubygem-async-pool", + "rubygem-bindata", + "rubygem-concurrent-ruby", + "rubygem-connection_pool", + "rubygem-console", + "rubygem-cool.io", + "rubygem-deep_merge", + "rubygem-digest-crc", + "rubygem-elastic-transport", + "rubygem-elasticsearch", + "rubygem-elasticsearch-api", + "rubygem-eventmachine", + "rubygem-excon", + "rubygem-faraday", + "rubygem-faraday-em_http", + "rubygem-faraday-em_synchrony", + "rubygem-faraday-excon", + "rubygem-faraday-httpclient", + "rubygem-faraday-multipart", + "rubygem-faraday-net_http", + "rubygem-faraday-net_http_persistent", + "rubygem-faraday-patron", + "rubygem-faraday-rack", + "rubygem-faraday-retry", + "rubygem-ffi", + "rubygem-fiber-local", + "rubygem-fluent-config-regexp-type", + "rubygem-fluent-logger", + "rubygem-fluent-plugin-elasticsearch", + "rubygem-fluent-plugin-kafka", + "rubygem-fluent-plugin-prometheus", + "rubygem-fluent-plugin-prometheus_pushgateway", + "rubygem-fluent-plugin-record-modifier", + "rubygem-fluent-plugin-rewrite-tag-filter", + "rubygem-fluent-plugin-systemd", + "rubygem-fluent-plugin-webhdfs", + "rubygem-fluent-plugin-windows-exporter", + "rubygem-fluentd", + "rubygem-hirb", + "rubygem-hocon", + "rubygem-hoe", + "rubygem-http_parser", + "rubygem-httpclient", + "rubygem-io-event", + "rubygem-jmespath", + "rubygem-ltsv", + "rubygem-mini_portile2", + "rubygem-minitest", + "rubygem-mocha", + "rubygem-msgpack", + "rubygem-multi_json", + "rubygem-multipart-post", + "rubygem-net-http-persistent", + "rubygem-nio4r", + "rubygem-nokogiri", + "rubygem-oj", + "rubygem-parallel", + "rubygem-power_assert", + "rubygem-prometheus-client", + "rubygem-protocol-hpack", + "rubygem-protocol-http", + "rubygem-protocol-http1", + "rubygem-protocol-http2", + "rubygem-public_suffix", + "rubygem-puppet-resource_api", + "rubygem-rdiscount", + "rubygem-rdkafka", + "rubygem-rexml", + "rubygem-ruby-kafka", + "rubygem-ruby-progressbar", + "rubygem-rubyzip", + "rubygem-semantic_puppet", + "rubygem-serverengine", + "rubygem-sigdump", + "rubygem-strptime", + "rubygem-systemd-journal", + "rubygem-test-unit", + "rubygem-thor", + "rubygem-timers", + "rubygem-tzinfo", + "rubygem-tzinfo-data", + "rubygem-webhdfs", + "rubygem-webrick", + "rubygem-yajl-ruby", + "rubygem-zip-zip", + "runc", + "sdbus-cpp", + "sgx-backwards-compatibility", + "shim", + "shim-unsigned", + "shim-unsigned-aarch64", + "shim-unsigned-x64", + "skopeo", + "span-lite", + "sriov-network-device-plugin", + "SymCrypt", + "SymCrypt-OpenSSL", + "tensorflow", + "tinyxml2", + "toml11", + "tracelogging", + "umoci", + "usrsctp", + "vala", + "verity-read-only-root", + "vnstat", + "zstd" + ] + }, + "Netplan source": { + "license": "[GPLv3](https://github.com/canonical/netplan/blob/main/COPYING)", + "specs": [ + "netplan" + ] + }, + "Numad source": { + "license": "[LGPLv2 License](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt)", + "specs": [ + "numad" + ] + }, + "NVIDIA": { + "license": "[ASL 2.0 License and spec specific licenses](http://www.apache.org/licenses/LICENSE-2.0)", + "specs": [ + "libnvidia-container", + "mlnx-tools", + "mlx-bootctl", + "nvidia-container-toolkit", + "ofed-scripts", + "perftest" + ] + }, + "OpenEuler": { + "license": "[BSD-3 License](https://github.com/pytorch/pytorch/blob/master/LICENSE)", + "specs": [ + "pytorch" + ] + }, + "OpenMamba": { + "license": "[Openmamba GPLv2 License](https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt)", + "specs": [ + "bash-completion" + ] + }, + "OpenSUSE": { + "license": "Following [openSUSE guidelines](https://en.opensuse.org/openSUSE:Specfile_guidelines#Specfile_Licensing)", + "specs": [ + "ant", + "ant-junit", + "antlr", + "aopalliance", + "apache-commons-beanutils", + "apache-commons-cli", + "apache-commons-codec", + "apache-commons-collections", + "apache-commons-collections4", + "apache-commons-compress", + "apache-commons-daemon", + "apache-commons-dbcp", + "apache-commons-digester", + "apache-commons-httpclient", + "apache-commons-io", + "apache-commons-jexl", + "apache-commons-lang", + "apache-commons-lang3", + "apache-commons-logging", + "apache-commons-net", + "apache-commons-pool", + "apache-commons-pool2", + "apache-commons-validator", + "apache-commons-vfs2", + "apache-parent", + "args4j", + "atinject", + "base64coder", + "bcel", + "bea-stax", + "beust-jcommander", + "bsf", + "byaccj", + "cal10n", + "cdparanoia", + "cglib", + "cni", + "containerized-data-importer", + "cpulimit", + "cri-o", + "ecj", + "fillup", + "flux", + "gd", + "geronimo-specs", + "glassfish-annotation-api", + "gnu-getopt", + "gnu-regexp", + "golang-packaging", + "guava", + "guava20", + "hamcrest", + "hawtjni-runtime", + "httpcomponents-core", + "influx-cli", + "influxdb", + "isorelax", + "jakarta-taglibs-standard", + "jansi", + "jarjar", + "java-cup", + "java-cup-bootstrap", + "javacc", + "javacc-bootstrap", + "javassist", + "jboss-interceptors-1.2-api", + "jdepend", + "jflex", + "jflex-bootstrap", + "jlex", + "jline", + "jna", + "jsch", + "jsoup", + "jsr-305", + "jtidy", + "junit", + "junitperf", + "jzlib", + "kubevirt", + "kured", + "libcontainers-common", + "libtheora", + "libva", + "libvdpau", + "lynx", + "maven-parent", + "multus", + "objectweb-anttask", + "objectweb-asm", + "objenesis", + "oro", + "osgi-annotation", + "osgi-compendium", + "osgi-core", + "patterns-ceph-containers", + "plexus-classworlds", + "plexus-interpolation", + "plexus-pom", + "plexus-utils", + "proj", + "psl-make-dafsa", + "publicsuffix", + "qdox", + "regexp", + "relaxngDatatype", + "rhino", + "ripgrep", + "servletapi4", + "servletapi5", + "shapelib", + "slf4j", + "trilead-ssh2", + "virtiofsd", + "xalan-j2", + "xbean", + "xcursor-themes", + "xerces-j2", + "xml-commons-apis", + "xml-commons-resolver", + "xmldb-api", + "xmlrpc-c", + "xmlunit", + "xpp2", + "xpp3", + "xz-java" + ] + }, + "Photon": { + "license": "[Photon License](LICENSE-PHOTON.md) and [Photon Notice](NOTICE.APACHE2).
Also see [LICENSE-EXCEPTIONS.PHOTON](LICENSE-EXCEPTIONS.PHOTON).", + "specs": [ + "acl", + "alsa-lib", + "alsa-utils", + "ansible", + "apr", + "apr-util", + "asciidoc", + "atftp", + "audit", + "autoconf", + "autoconf-archive", + "autofs", + "autogen", + "automake", + "babel", + "bash", + "bc", + "bcc", + "bind", + "binutils", + "bison", + "blktrace", + "boost", + "btrfs-progs", + "bubblewrap", + "build-essential", + "bzip2", + "c-ares", + "cairo", + "cassandra", + "cdrkit", + "check", + "chkconfig", + "chrpath", + "cifs-utils", + "clang", + "cloud-init", + "cloud-utils-growpart", + "cmake", + "cni-plugins", + "core-packages", + "coreutils", + "cpio", + "cppunit", + "cracklib", + "crash", + "crash-gcore-command", + "createrepo_c", + "cri-tools", + "cronie", + "curl", + "cyrus-sasl", + "cyrus-sasl-bootstrap", + "dbus", + "dbus-glib", + "dejagnu", + "device-mapper-multipath", + "dhcp", + "dialog", + "diffutils", + "dkms", + "dmidecode", + "dnsmasq", + "docbook-dtd-xml", + "docbook-style-xsl", + "dosfstools", + "dracut", + "dstat", + "e2fsprogs", + "ed", + "efibootmgr", + "efivar", + "elfutils", + "emacs", + "erlang", + "etcd", + "ethtool", + "expat", + "expect", + "fcgi", + "file", + "filesystem", + "findutils", + "flex", + "fontconfig", + "fping", + "freetype", + "fuse", + "gawk", + "gc", + "gcc", + "gdb", + "gdbm", + "gettext", + "git", + "git-lfs", + "glib", + "glib-networking", + "glibc", + "glibmm", + "glide", + "gmp", + "gnome-common", + "gnupg2", + "gnuplot", + "gnutls", + "gobject-introspection", + "golang", + "gperf", + "gperftools", + "gpgme", + "gptfdisk", + "grep", + "groff", + "grub2", + "gtest", + "gtk-doc", + "guile", + "gzip", + "haproxy", + "harfbuzz", + "haveged", + "hdparm", + "http-parser", + "httpd", + "i2c-tools", + "iana-etc", + "icu", + "initramfs", + "initscripts", + "inotify-tools", + "intltool", + "iotop", + "iperf3", + "iproute", + "ipset", + "iptables", + "iputils", + "ipvsadm", + "ipxe", + "irqbalance", + "itstool", + "jansson", + "jq", + "json-c", + "json-glib", + "kbd", + "keepalived", + "kernel", + "kernel-headers", + "kernel-mshv", + "kernel-rt", + "kernel-uvm", + "keyutils", + "kmod", + "krb5", + "less", + "libaio", + "libarchive", + "libassuan", + "libatomic_ops", + "libcap", + "libcap-ng", + "libconfig", + "libdb", + "libdnet", + "libedit", + "libestr", + "libevent", + "libfastjson", + "libffi", + "libgcrypt", + "libgpg-error", + "libgssglue", + "libgudev", + "libjpeg-turbo", + "libksba", + "liblogging", + "libmbim", + "libmnl", + "libmodulemd", + "libmpc", + "libmspack", + "libndp", + "libnetfilter_conntrack", + "libnetfilter_cthelper", + "libnetfilter_cttimeout", + "libnetfilter_queue", + "libnfnetlink", + "libnftnl", + "libnl3", + "libnsl2", + "libpcap", + "libpipeline", + "libpng", + "libpsl", + "libqmi", + "librelp", + "librepo", + "librsync", + "libseccomp", + "libselinux", + "libsepol", + "libserf", + "libsigc++30", + "libsolv", + "libsoup", + "libssh2", + "libtalloc", + "libtar", + "libtasn1", + "libtiff", + "libtirpc", + "libtool", + "libunistring", + "libunwind", + "libusb", + "libvirt", + "libwebp", + "libxml2", + "libxslt", + "libyaml", + "linux-firmware", + "lldb", + "lldpad", + "llvm", + "lm-sensors", + "lmdb", + "log4cpp", + "logrotate", + "lshw", + "lsof", + "lsscsi", + "ltrace", + "lttng-tools", + "lttng-ust", + "lvm2", + "lz4", + "lzo", + "m2crypto", + "m4", + "make", + "man-db", + "man-pages", + "mariadb", + "maven", + "mc", + "mercurial", + "meson", + "mlocate", + "ModemManager", + "mpfr", + "msr-tools", + "mysql", + "nano", + "nasm", + "ncurses", + "ndctl", + "net-snmp", + "net-tools", + "nettle", + "newt", + "nfs-utils", + "nghttp2", + "nginx", + "ninja-build", + "nodejs", + "npth", + "nspr", + "nss", + "nss-altfiles", + "ntp", + "numactl", + "nvme-cli", + "oniguruma", + "OpenIPMI", + "openldap", + "openscap", + "openssh", + "openvswitch", + "ostree", + "pam", + "pango", + "parted", + "patch", + "pciutils", + "perl-Canary-Stability", + "perl-CGI", + "perl-common-sense", + "perl-Crypt-SSLeay", + "perl-DBD-SQLite", + "perl-DBI", + "perl-DBIx-Simple", + "perl-Exporter-Tiny", + "perl-File-HomeDir", + "perl-File-Which", + "perl-IO-Socket-SSL", + "perl-JSON-Any", + "perl-JSON-XS", + "perl-libintl-perl", + "perl-List-MoreUtils", + "perl-Module-Build", + "perl-Module-Install", + "perl-Module-ScanDeps", + "perl-Net-SSLeay", + "perl-NetAddr-IP", + "perl-Object-Accessor", + "perl-Path-Class", + "perl-Try-Tiny", + "perl-Types-Serialiser", + "perl-WWW-Curl", + "perl-XML-Parser", + "perl-YAML", + "perl-YAML-Tiny", + "pgbouncer", + "pinentry", + "polkit", + "popt", + "postgresql", + "procps-ng", + "protobuf", + "protobuf-c", + "psmisc", + "pth", + "pyasn1-modules", + "pyOpenSSL", + "pyparsing", + "pytest", + "python-appdirs", + "python-asn1crypto", + "python-atomicwrites", + "python-attrs", + "python-bcrypt", + "python-certifi", + "python-cffi", + "python-chardet", + "python-configobj", + "python-constantly", + "python-coverage", + "python-cryptography", + "python-daemon", + "python-dateutil", + "python-defusedxml", + "python-distro", + "python-docopt", + "python-docutils", + "python-ecdsa", + "python-gevent", + "python-hyperlink", + "python-hypothesis", + "python-idna", + "python-imagesize", + "python-incremental", + "python-iniparse", + "python-ipaddr", + "python-jinja2", + "python-jmespath", + "python-jsonpatch", + "python-jsonpointer", + "python-jsonschema", + "python-lockfile", + "python-lxml", + "python-mako", + "python-markupsafe", + "python-mistune", + "python-msgpack", + "python-netaddr", + "python-netifaces", + "python-ntplib", + "python-oauthlib", + "python-packaging", + "python-pam", + "python-pbr", + "python-ply", + "python-prettytable", + "python-psutil", + "python-psycopg2", + "python-py", + "python-pyasn1", + "python-pycodestyle", + "python-pycparser", + "python-pycurl", + "python-pygments", + "python-pynacl", + "python-requests", + "python-setuptools_scm", + "python-simplejson", + "python-six", + "python-snowballstemmer", + "python-sphinx-theme-alabaster", + "python-twisted", + "python-urllib3", + "python-vcversioner", + "python-virtualenv", + "python-wcwidth", + "python-webob", + "python-websocket-client", + "python-werkzeug", + "python-zope-interface", + "python3", + "pytz", + "PyYAML", + "rapidjson", + "readline", + "rng-tools", + "rpcbind", + "rpcsvc-proto", + "rpm", + "rpm-ostree", + "rrdtool", + "rsync", + "rsyslog", + "ruby", + "rust", + "scons", + "sed", + "sg3_utils", + "shadow-utils", + "slang", + "snappy", + "socat", + "sqlite", + "sshpass", + "strace", + "strongswan", + "subversion", + "sudo", + "swig", + "syslinux", + "syslog-ng", + "sysstat", + "systemd-bootstrap", + "systemtap", + "tar", + "tboot", + "tcl", + "tcpdump", + "tcsh", + "tdnf", + "telegraf", + "texinfo", + "tmux", + "tpm2-abrmd", + "tpm2-pkcs11", + "tpm2-pytss", + "tpm2-tools", + "tpm2-tss", + "traceroute", + "tree", + "tzdata", + "unbound", + "unixODBC", + "unzip", + "usbutils", + "userspace-rcu", + "utf8proc", + "util-linux", + "valgrind", + "vim", + "vsftpd", + "WALinuxAgent", + "which", + "wpa_supplicant", + "xfsprogs", + "xinetd", + "xmlsec1", + "xmlto", + "xz", + "zchunk", + "zeromq", + "zip", + "zlib", + "zsh" + ] + }, + "RPM software management source": { + "license": "[GPLv2+ License](https://github.com/rpm-software-management/dnf5/blob/main/COPYING.md)", + "specs": [ + "dnf5" + ] + }, + "Source project": { + "license": "Same as the source project.", + "specs": [ + "python-nocaselist" + ] + }, + "Sysbench source": { + "license": "[GPLv2+ License](https://github.com/akopytov/sysbench/blob/master/COPYING)", + "specs": [ + "sysbench" + ] + } + } +} From 7f49e82fe75e770683bdf987227ccd51ee7c54db Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Thu, 23 May 2024 13:09:17 -0700 Subject: [PATCH 38/45] add manual changelog entries for ocaml-stdlib-random --- .../ocaml-stdlib-random.spec | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec index 47f18840142..9856627f288 100644 --- a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -58,4 +58,20 @@ files for developing applications that use %{name}. - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified -%autochangelog \ No newline at end of file +* Sat Mar 30 00:00:00 2024 Jerry James - 1.2.0-1 +- Version 1.2.0 + +* Thu Jan 25 00:00:00 2024 Fedora Release Engineering - 1.1.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 00:00:00 2024 Fedora Release Engineering - 1.1.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 00:00:00 2023 Richard W.M. Jones - 1.1.0-3 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 00:00:00 2023 Richard W.M. Jones - 1.1.0-2 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Wed Nov 22 00:00:00 2023 Jerry James - 1.1.0-1 +- Initial RPM (rhbz#2242905) From e6ba1ad945dc62eb9d4363bf652af2cca6b22917 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Thu, 23 May 2024 13:10:22 -0700 Subject: [PATCH 39/45] fix format for the changelog to remove time --- SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec index 9856627f288..55eebe164e1 100644 --- a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -58,20 +58,20 @@ files for developing applications that use %{name}. - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified -* Sat Mar 30 00:00:00 2024 Jerry James - 1.2.0-1 +* Sat Mar 30 2024 Jerry James - 1.2.0-1 - Version 1.2.0 -* Thu Jan 25 00:00:00 2024 Fedora Release Engineering - 1.1.0-5 +* Thu Jan 25 2024 Fedora Release Engineering - 1.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Sun Jan 21 00:00:00 2024 Fedora Release Engineering - 1.1.0-4 +* Sun Jan 21 2024 Fedora Release Engineering - 1.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild -* Mon Dec 18 00:00:00 2023 Richard W.M. Jones - 1.1.0-3 +* Mon Dec 18 2023 Richard W.M. Jones - 1.1.0-3 - OCaml 5.1.1 + s390x code gen fix for Fedora 40 -* Tue Dec 12 00:00:00 2023 Richard W.M. Jones - 1.1.0-2 +* Tue Dec 12 2023 Richard W.M. Jones - 1.1.0-2 - OCaml 5.1.1 rebuild for Fedora 40 -* Wed Nov 22 00:00:00 2023 Jerry James - 1.1.0-1 +* Wed Nov 22 2023 Jerry James - 1.1.0-1 - Initial RPM (rhbz#2242905) From fb88ea0f341670dc6cbe3d4f6eee9b3982bcfe48 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 28 May 2024 15:44:52 -0700 Subject: [PATCH 40/45] remove check conditional for ocaml-base --- SPECS/ocaml-base/ocaml-base.spec | 2 -- 1 file changed, 2 deletions(-) diff --git a/SPECS/ocaml-base/ocaml-base.spec b/SPECS/ocaml-base/ocaml-base.spec index 38f1ee43b7e..4dfe483329b 100644 --- a/SPECS/ocaml-base/ocaml-base.spec +++ b/SPECS/ocaml-base/ocaml-base.spec @@ -56,10 +56,8 @@ developing applications that use %{name}. %install %dune_install -%if %{with_check} %check %dune_check -%endif %files -f .ofiles %doc CHANGES.md README.org ROADMAP.md From 15bbdd210de60c7370f9b7ef7635ceaac39db282 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev <108374904+mbykhovtsev-ms@users.noreply.github.com> Date: Tue, 28 May 2024 15:45:37 -0700 Subject: [PATCH 41/45] Update toolkit/scripts/toolchain/build_official_toolchain_rpms.sh Co-authored-by: Pawel Winogrodzki --- toolkit/scripts/toolchain/build_official_toolchain_rpms.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh b/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh index 77e2b3720d2..71bcafea265 100755 --- a/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh +++ b/toolkit/scripts/toolchain/build_official_toolchain_rpms.sh @@ -558,7 +558,6 @@ chroot_and_install_rpms pyproject-rpm-macros pyproject-srpm-macros # ocaml and other ocmal packages require ocaml-srpm-macros build_rpm_in_chroot_no_install ocaml-srpm-macros -chroot_and_install_rpms ocaml-srpm-macros ocaml-srpm-macros build_rpm_in_chroot_no_install python-packaging chroot_and_install_rpms python-packaging python3-packaging From 097383604d92330fd0518e7b60f529bbe020ffc7 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev <108374904+mbykhovtsev-ms@users.noreply.github.com> Date: Tue, 28 May 2024 15:51:03 -0700 Subject: [PATCH 42/45] Update SPECS/llvm/llvm.spec Co-authored-by: Pawel Winogrodzki --- SPECS/llvm/llvm.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/SPECS/llvm/llvm.spec b/SPECS/llvm/llvm.spec index c84bb4a09aa..3ec519c1426 100644 --- a/SPECS/llvm/llvm.spec +++ b/SPECS/llvm/llvm.spec @@ -89,7 +89,6 @@ ninja check-all %{_bindir}/* %{_libdir}/*.so %{_libdir}/*.so.* -%{_libdir}/LLVMgold.so %{_libdir}/bfd-plugins/LLVMgold.so %dir %{_datadir}/opt-viewer %{_datadir}/opt-viewer/opt-diff.py From eab011696ee0a2f731b1f9ab5bea46d2626af486 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 28 May 2024 15:57:13 -0700 Subject: [PATCH 43/45] update the llvm comment --- SPECS/llvm/llvm.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SPECS/llvm/llvm.spec b/SPECS/llvm/llvm.spec index 3ec519c1426..9c7568f36be 100644 --- a/SPECS/llvm/llvm.spec +++ b/SPECS/llvm/llvm.spec @@ -105,7 +105,7 @@ ninja check-all %changelog * Fri Apr 5 2024 Mykhailo Bykhovtsev - 18.1.2-2 -- Added LLVMgold.so files to the main package +- Added symlink for %{buildroot}%{_libdir}/bfd-plugins/ -> LLVMgold.so to the main package * Wed Apr 03 2024 Andrew Phelps - 18.1.2-1 - Upgrade to version 18.1.2 From e6b6108b6d42264d5c1b174142cd2350ee0881e4 Mon Sep 17 00:00:00 2001 From: "Mykhailo Bykhovtsev (from Dev Box)" Date: Tue, 28 May 2024 16:18:14 -0700 Subject: [PATCH 44/45] address PR comments --- SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec | 5 ++--- SPECS/ocaml-fileutils/ocaml-fileutils.spec | 3 +-- SPECS/ocaml-findlib/ocaml-findlib.spec | 7 +++++-- SPECS/ocaml-pp/ocaml-pp.spec | 4 ++-- SPECS/ocaml-ppx-here/ocaml-ppx-here.spec | 4 ++-- SPECS/ocaml-ppx-let/ocaml-ppx-let.spec | 4 ++-- SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec | 4 ++-- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec index be43261753e..155f0a57665 100644 --- a/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec +++ b/SPECS/ocaml-camlp-streams/ocaml-camlp-streams.spec @@ -7,9 +7,8 @@ ExcludeArch: %{ix86} Name: ocaml-camlp-streams Version: 5.0.1 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Stream and Genlex libraries for OCaml - License: LGPL-2.1-only WITH OCaml-LGPL-linking-exception URL: https://github.com/ocaml/camlp-streams Source0: %{url}/archive/v%{version}/camlp-streams-%{version}.tar.gz @@ -66,7 +65,7 @@ files for developing applications that use %{name}. %files devel -f .ofiles-devel %changelog -* Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-12 +* Mon May 06 2024 Mykhailo Bykhovtsev - 5.0.1-13 - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified diff --git a/SPECS/ocaml-fileutils/ocaml-fileutils.spec b/SPECS/ocaml-fileutils/ocaml-fileutils.spec index b726d71552f..d8aaf35c9e0 100644 --- a/SPECS/ocaml-fileutils/ocaml-fileutils.spec +++ b/SPECS/ocaml-fileutils/ocaml-fileutils.spec @@ -50,7 +50,7 @@ developing applications that use %{name}. %dune_install # Do not run the tests (RHEL 7+ only) since they require ocaml-ounit. -%if 0%{?fedora} || 0%{?rhel} || %{?azl} <= 6 +%if 0%{?fedora} || 0%{?rhel} || 0%{?azl} %check %dune_check %endif @@ -60,7 +60,6 @@ developing applications that use %{name}. %files devel -f .ofiles-devel %doc README.md CHANGES.md -%license LICENSE.txt %changelog * Tue May 07 2024 Mykhailo Bykhovtsev - 0.6.4-1 diff --git a/SPECS/ocaml-findlib/ocaml-findlib.spec b/SPECS/ocaml-findlib/ocaml-findlib.spec index 46e50a03e24..7da274527db 100644 --- a/SPECS/ocaml-findlib/ocaml-findlib.spec +++ b/SPECS/ocaml-findlib/ocaml-findlib.spec @@ -98,11 +98,14 @@ chmod 0644 %{buildroot}%{_libdir}/ocaml/findlib/*.{a,cmxa} sed -i '/ocamlfind\.conf/d' .ofiles %files -f .ofiles -%doc LICENSE doc/README +%license LICENSE +%doc doc/README %config(noreplace) %{_sysconfdir}/ocamlfind.conf %files devel -f .ofiles-devel -%doc LICENSE doc/README doc/guide-html +%doc LICENSE +%doc doc/README +%doc doc/guide-html %changelog * Thu Apr 25 2024 Mykhailo Bykhovtsev - 1.9.6-1 diff --git a/SPECS/ocaml-pp/ocaml-pp.spec b/SPECS/ocaml-pp/ocaml-pp.spec index 0541dbab71a..8b090a64e87 100644 --- a/SPECS/ocaml-pp/ocaml-pp.spec +++ b/SPECS/ocaml-pp/ocaml-pp.spec @@ -12,7 +12,7 @@ Name: ocaml-pp Version: 1.2.0 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Pretty printing library for OCaml License: MIT Vendor: Microsoft Corporation @@ -156,7 +156,7 @@ EOF %files devel -f .ofiles-devel %changelog -* Mon Apr 29 2024 Mykhailo Bykhovtsev - 1.2.0-6 +* Mon Apr 29 2024 Mykhailo Bykhovtsev - 1.2.0-7 - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified diff --git a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec index 095ffddf917..1c1636a87d5 100644 --- a/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec +++ b/SPECS/ocaml-ppx-here/ocaml-ppx-here.spec @@ -3,7 +3,7 @@ ExcludeArch: %{ix86} Name: ocaml-ppx-here Version: 0.16.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Expands [@here] into its location License: MIT Vendor: Microsoft Corporation @@ -55,7 +55,7 @@ sed -e 's,dummy\.ml\.pp,dummy.pp.ml,g' \ %files devel -f .ofiles-devel %changelog -* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-10 - Initial Azure Linux import from Fedora 41 (license: MIT) - License Verified diff --git a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec index 113eb0ba985..a0d6a3c264a 100644 --- a/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec +++ b/SPECS/ocaml-ppx-let/ocaml-ppx-let.spec @@ -3,7 +3,7 @@ ExcludeArch: %{ix86} Name: ocaml-ppx-let Version: 0.16.0 -Release: 9%{?dist} +Release: 10%{?dist} Summary: Monadic let-bindings for OCaml License: MIT Vendor: Microsoft Corporation @@ -71,7 +71,7 @@ files for developing applications that use %{name}. %files devel -f .ofiles-devel %changelog -* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-9 +* Wed May 01 2024 Mykhailo Bykhovtsev - 0.16.0-10 - Initial Azure Linux import from Fedora 41 (license: MIT) - License Verified diff --git a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec index 55eebe164e1..27e023a3ddc 100644 --- a/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec +++ b/SPECS/ocaml-stdlib-random/ocaml-stdlib-random.spec @@ -1,6 +1,6 @@ Name: ocaml-stdlib-random Version: 1.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Versioned Random module from the OCaml standard library License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception Vendor: Microsoft Corporation @@ -54,7 +54,7 @@ files for developing applications that use %{name}. %files devel -f .ofiles-devel %changelog -* Fri May 03 2024 Mykhailo Bykhovtsev - 1.2.0-1 +* Fri May 03 2024 Mykhailo Bykhovtsev - 1.2.0-2 - Initial Azure Linux import from Fedora 41 (license: MIT) - License verified From a84be0ac465a412f0af11c9a74a75ceb39125f31 Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Tue, 28 May 2024 16:34:13 -0700 Subject: [PATCH 45/45] Fix license placement in "ocaml-findlib.spec". --- SPECS/ocaml-findlib/ocaml-findlib.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/SPECS/ocaml-findlib/ocaml-findlib.spec b/SPECS/ocaml-findlib/ocaml-findlib.spec index 7da274527db..b6aecb0c8d2 100644 --- a/SPECS/ocaml-findlib/ocaml-findlib.spec +++ b/SPECS/ocaml-findlib/ocaml-findlib.spec @@ -103,7 +103,6 @@ sed -i '/ocamlfind\.conf/d' .ofiles %config(noreplace) %{_sysconfdir}/ocamlfind.conf %files devel -f .ofiles-devel -%doc LICENSE %doc doc/README %doc doc/guide-html