diff --git a/.gitignore b/.gitignore index ea02671..8fe9270 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,6 @@ ocaml-fileutils-0.4.0.tar.gz /ocaml-fileutils-0.4.4.tar.gz /ocaml-fileutils-0.4.5.tar.gz /ocaml-fileutils-0.5.1.tar.gz +/ocaml-fileutils-0.5.2.tar.gz +/fileutils-0.6.4.tbz +/fileutils-0.6.6.tbz diff --git a/gating.yaml b/gating.yaml new file mode 100755 index 0000000..2c7ed80 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-* +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/ocaml-fileutils.spec b/ocaml-fileutils.spec index 3686b55..a664cef 100644 --- a/ocaml-fileutils.spec +++ b/ocaml-fileutils.spec @@ -1,24 +1,27 @@ -%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) -%if ! %opt +# OCaml packages not built on i686 since OCaml 5 / Fedora 39. +ExcludeArch: %{ix86} + +%ifnarch %{ocaml_native_compiler} %global debug_package %{nil} %endif +%global giturl https://github.com/gildor478/ocaml-fileutils + Name: ocaml-fileutils -Version: 0.5.1 -Release: 8%{?dist} +Version: 0.6.6 +Release: 5%{?dist} Summary: OCaml library for common file and filename operations -License: LGPLv2 with exceptions -URL: https://forge.ocamlcore.org/projects/ocaml-fileutils/ -Source0: http://forge.ocamlcore.org/frs/download.php/1651/ocaml-fileutils-0.5.1.tar.gz +License: LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception +URL: https://gildor478.github.io/ocaml-fileutils/ +VCS: git:%{giturl}.git +Source0: %{giturl}/releases/download/v%{version}/fileutils-%{version}.tbz -BuildRequires: ocaml >= 4.00.1 -BuildRequires: ocaml-findlib-devel >= 1.3.3-3 -BuildRequires: ocaml-ocamldoc -%if 0%{?fedora} || 0%{?rhel} <= 6 -BuildRequires: ocaml-ounit-devel +BuildRequires: ocaml >= 4.14 +BuildRequires: ocaml-dune >= 2.9 +%if 0%{?fedora} +BuildRequires: ocaml-ounit-devel >= 2.0.0 %endif -BuildRequires: ocaml-ocamlbuild %description @@ -34,7 +37,7 @@ abstract filenames. %package devel Summary: Development files for %{name} -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -43,58 +46,198 @@ developing applications that use %{name}. %prep -%setup -q - -# Disable the tests (RHEL 7 only) since they require ocaml-ounit. -%if 0%{?rhel} >= 7 -rm test/test.ml -touch test/test.ml -%endif +%autosetup -n fileutils-%{version} -p1 %build -ocaml setup.ml -configure --prefix %{_prefix} --destdir $RPM_BUILD_ROOT -make +%dune_build %install -export DESTDIR=$RPM_BUILD_ROOT -export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_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 -%doc COPYING.txt -%{_libdir}/ocaml/fileutils -%if %opt -%exclude %{_libdir}/ocaml/fileutils/*.a -%exclude %{_libdir}/ocaml/fileutils/*.cmx -%exclude %{_libdir}/ocaml/fileutils/*.cmxa +%dune_check %endif -%exclude %{_libdir}/ocaml/fileutils/*.ml -%exclude %{_libdir}/ocaml/fileutils/*.mli -%files devel -%doc COPYING.txt AUTHORS.txt CHANGELOG.txt README.txt TODO.txt -%if %opt -%{_libdir}/ocaml/fileutils/*.a -%{_libdir}/ocaml/fileutils/*.cmx -%{_libdir}/ocaml/fileutils/*.cmxa -%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 Oct 14 2025 Richard W.M. Jones - 0.6.6-5 +- OCaml 5.4.0 rebuild + +* Thu Jul 24 2025 Fedora Release Engineering - 0.6.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jul 12 2025 Jerry James - 0.6.6-3 +- Rebuild to fix OCaml dependencies + +* Fri Jan 17 2025 Fedora Release Engineering - 0.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jan 9 2025 Jerry James - 0.6.6-1 +- OCaml 5.3.0 rebuild for Fedora 42 +- Version 0.6.6 +- All patches have been upstreamed + +* Thu Jul 18 2024 Fedora Release Engineering - 0.6.4-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jun 19 2024 Richard W.M. Jones - 0.6.4-10 +- OCaml 5.2.0 ppc64le fix + +* Wed May 29 2024 Richard W.M. Jones - 0.6.4-9 +- OCaml 5.2.0 for Fedora 41 + +* Thu Jan 25 2024 Fedora Release Engineering - 0.6.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.6.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 18 2023 Richard W.M. Jones - 0.6.4-6 +- OCaml 5.1.1 + s390x code gen fix for Fedora 40 + +* Tue Dec 12 2023 Richard W.M. Jones - 0.6.4-5 +- OCaml 5.1.1 rebuild for Fedora 40 + +* Thu Oct 05 2023 Richard W.M. Jones - 0.6.4-4 +- OCaml 5.1 rebuild for Fedora 40 + +* Thu Jul 20 2023 Fedora Release Engineering - 0.6.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Richard W.M. Jones - 0.6.4-2 +- OCaml 5.0 rebuild for Fedora 39 + +* Mon Jul 10 2023 Jerry James - 0.6.4-1 +- Version 0.6.4 +- New project URLs +- Convert License tag to SPDX +- Drop upstreamed bytes and ounit2 patches +- Build with dune + +* Tue Jan 24 2023 Richard W.M. Jones - 0.5.2-36 +- Bump release and rebuild + +* Tue Jan 24 2023 Richard W.M. Jones - 0.5.2-35 +- Rebuild OCaml packages for F38 + +* Thu Jan 19 2023 Fedora Release Engineering - 0.5.2-34 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 0.5.2-33 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jun 19 2022 Richard W.M. Jones - 0.5.2-32 +- OCaml 4.14.0 rebuild + +* Fri Feb 04 2022 Richard W.M. Jones - 0.5.2-31 +- OCaml 4.13.1 rebuild to remove package notes + +* Thu Jan 20 2022 Fedora Release Engineering - 0.5.2-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Oct 05 2021 Richard W.M. Jones - 0.5.2-29 +- OCaml 4.13.1 build + +* Thu Jul 22 2021 Fedora Release Engineering - 0.5.2-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 30 2021 Richard W.M. Jones - 0.5.2-27 +- Bump and rebuild for ELN. + +* Mon Mar 1 21:31:03 GMT 2021 Richard W.M. Jones - 0.5.2-26 +- OCaml 4.12.0 build + +* Tue Jan 26 2021 Fedora Release Engineering - 0.5.2-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 01 2020 Richard W.M. Jones - 0.5.2-24 +- OCaml 4.11.1 rebuild + +* Fri Aug 21 2020 Richard W.M. Jones - 0.5.2-23 +- OCaml 4.11.0 rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 0.5.2-22 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0.5.2-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 05 2020 Richard W.M. Jones - 0.5.2-20 +- Bump and rebuild for s390x. + +* Tue May 05 2020 Richard W.M. Jones - 0.5.2-19 +- OCaml 4.11.0+dev2-2020-04-22 rebuild + +* Tue Apr 21 2020 Richard W.M. Jones - 0.5.2-18 +- OCaml 4.11.0 pre-release attempt 2 + +* Sat Apr 04 2020 Richard W.M. Jones - 0.5.2-17 +- Update all OCaml dependencies for RPM 4.16. + +* Wed Feb 26 2020 Richard W.M. Jones - 0.5.2-16 +- OCaml 4.10.0 final. + +* Wed Jan 29 2020 Fedora Release Engineering - 0.5.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sun Jan 19 2020 Richard W.M. Jones - 0.5.2-14 +- OCaml 4.10.0+beta1 rebuild. + +* Thu Jan 09 2020 Richard W.M. Jones - 0.5.2-13 +- OCaml 4.09.0 for riscv64 + +* Fri Dec 06 2019 Richard W.M. Jones - 0.5.2-12 +- OCaml 4.09.0 (final) rebuild. + +* Fri Aug 16 2019 Richard W.M. Jones - 0.5.2-11 +- OCaml 4.08.1 (final) rebuild. + +* Wed Jul 31 2019 Richard W.M. Jones - 0.5.2-10 +- OCaml 4.08.1 (rc2) rebuild. + +* Thu Jul 25 2019 Fedora Release Engineering - 0.5.2-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 27 2019 Richard W.M. Jones - 0.5.2-8 +- OCaml 4.08.0 (final) rebuild. + +* Mon Apr 29 2019 Richard W.M. Jones - 0.5.2-7 +- OCaml 4.08.0 (beta 3) rebuild. + +* Fri Feb 01 2019 Fedora Release Engineering - 0.5.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 0.5.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Richard W.M. Jones - 0.5.2-4 +- OCaml 4.07.0 (final) rebuild. + +* Wed Jun 20 2018 Richard W.M. Jones - 0.5.2-3 +- OCaml 4.07.0-rc1 rebuild. + +* Thu Feb 08 2018 Fedora Release Engineering - 0.5.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Nov 08 2017 Richard W.M. Jones - 0.5.2-1 +- New upstream version 0.5.2. +- OCaml 4.06.0 rebuild. + * Mon Aug 07 2017 Richard W.M. Jones - 0.5.1-8 - OCaml 4.05.0 rebuild. diff --git a/sources b/sources index a36731d..ee75ed3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2fe185bbce4357eb5fba1dfc0b3e63c5 ocaml-fileutils-0.5.1.tar.gz +SHA512 (fileutils-0.6.6.tbz) = ecc38b1577ab108bd24d1e9f0e83596254e542eefb37020dedcff7ca0109e562411cbb9806fbc6f88f4166569bf061a444971388c26950ec02dfc48b35daed90 diff --git a/tests/basic-test.sh b/tests/basic-test.sh new file mode 100755 index 0000000..9c74e1c --- /dev/null +++ b/tests/basic-test.sh @@ -0,0 +1,8 @@ +#!/bin/bash - +set -e +set -x + +# Compile trivial fileutils program. +echo 'assert (FilePath.compare "/" "/" = 0)' > filetest.ml +ocamlfind ocamlopt -package fileutils filetest.ml -linkpkg -o filetest +./filetest diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100755 index 0000000..24edee1 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,13 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - ocaml + - ocaml-findlib + - ocaml-fileutils-devel + tests: + - simple: + dir: . + run: ./basic-test.sh