diff --git a/.gitignore b/.gitignore index 8fe9270..384150d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ ocaml-fileutils-0.4.0.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/fileutils-0.5.2-fix-bytes.patch b/fileutils-0.5.2-fix-bytes.patch new file mode 100644 index 0000000..cd0011d --- /dev/null +++ b/fileutils-0.5.2-fix-bytes.patch @@ -0,0 +1,20 @@ +--- ocaml-fileutils-0.5.2.old/src/FileUtilCP.ml 2017-05-23 21:12:19.000000000 +0100 ++++ ocaml-fileutils-0.5.2/src/FileUtilCP.ml 2017-11-08 17:36:42.271524209 +0000 +@@ -138,7 +138,7 @@ + end + in + +- let buffer = String.make 1024 ' ' in ++ let buffer = Bytes.make 1024 ' ' in + + let cp_file st_src dst_exists fn_src fn_dst = + let mode = int_of_permission st_src.permission in +@@ -176,7 +176,7 @@ + try + while (read := + handle_exception +- (Unix.read fd_src buffer 0) (String.length buffer) ++ (Unix.read fd_src buffer 0) (Bytes.length buffer) + (fun e -> `ErrorRead(fn_src, e)); + !read <> 0) do + let written = diff --git a/gating.yaml b/gating.yaml deleted file mode 100755 index 2c7ed80..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !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 a664cef..251b3d5 100644 --- a/ocaml-fileutils.spec +++ b/ocaml-fileutils.spec @@ -1,27 +1,21 @@ -# 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.6.6 -Release: 5%{?dist} +Version: 0.5.2 +Release: 6%{?dist} Summary: OCaml library for common file and filename operations -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 +License: LGPLv2 with exceptions +URL: https://forge.ocamlcore.org/projects/ocaml-fileutils/ +Source0: http://forge.ocamlcore.org/frs/download.php/1695/ocaml-fileutils-0.5.2.tar.gz -BuildRequires: ocaml >= 4.14 -BuildRequires: ocaml-dune >= 2.9 -%if 0%{?fedora} -BuildRequires: ocaml-ounit-devel >= 2.0.0 +Patch1: fileutils-0.5.2-fix-bytes.patch + +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 %endif +BuildRequires: ocaml-ocamlbuild %description @@ -37,7 +31,7 @@ abstract filenames. %package devel Summary: Development files for %{name} -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name} = %{version}-%{release} %description devel @@ -46,179 +40,61 @@ developing applications that use %{name}. %prep -%autosetup -n fileutils-%{version} -p1 +%setup -q +%autopatch -p1 %build -%dune_build +# Disable the tests (RHEL 7 only) since they require ocaml-ounit. +ocaml setup.ml -configure --prefix %{_prefix} --destdir $RPM_BUILD_ROOT \ +%if 0%{?rhel} >= 7 + --disable-tests +%else + --enable-tests +%endif +make %install -%dune_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 -# Do not run the tests (RHEL 7+ only) since they require ocaml-ounit. -%if 0%{?fedora} || 0%{?rhel} <= 6 %check -%dune_check +%if ! 0%{?rhel} >= 7 +make test %endif -%files -f .ofiles -%license LICENSE.txt +%files +%doc 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 -f .ofiles-devel -%doc README.md CHANGES.md -%license LICENSE.txt +%files devel +%doc COPYING.txt AUTHORS.txt CHANGELOG.txt README.txt TODO.txt +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/fileutils/*.a +%{_libdir}/ocaml/fileutils/*.cmx +%{_libdir}/ocaml/fileutils/*.cmxa +%endif +%{_libdir}/ocaml/fileutils/*.ml +%{_libdir}/ocaml/fileutils/*.mli %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 diff --git a/sources b/sources index ee75ed3..23e4068 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fileutils-0.6.6.tbz) = ecc38b1577ab108bd24d1e9f0e83596254e542eefb37020dedcff7ca0109e562411cbb9806fbc6f88f4166569bf061a444971388c26950ec02dfc48b35daed90 +SHA512 (ocaml-fileutils-0.5.2.tar.gz) = 264282c54ff693686ca9e60f371038f8ea9bce219d04556297dc7b6028c9f65c5a03b7cd263c3519cb212e29665200db1c95c88874bb2cb3d7b610e3b832018d diff --git a/tests/basic-test.sh b/tests/basic-test.sh deleted file mode 100755 index 9c74e1c..0000000 --- a/tests/basic-test.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/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 deleted file mode 100755 index 24edee1..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,13 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - required_packages: - - ocaml - - ocaml-findlib - - ocaml-fileutils-devel - tests: - - simple: - dir: . - run: ./basic-test.sh