diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c7948c3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/dose3-5.0.1.tar.gz diff --git a/ocaml-dose3.spec b/ocaml-dose3.spec new file mode 100644 index 0000000..87bc55d --- /dev/null +++ b/ocaml-dose3.spec @@ -0,0 +1,157 @@ +# We need the ocaml bz2 bindings to run the unit tests via ounit. +# There is also a separate test data repository for a different set of tests +# that is distributed separately. + +Name: ocaml-dose3 +Version: 5.0.1 +Release: 2%{?dist} +Summary: Framework for managing distribution packages and dependencies + +%global libname %(echo %{name} | sed -e 's/^ocaml-//') + +# Linking exception, see included COPYING file. +License: LGPLv3+ with exceptions +URL: http://www.mancoosi.org/software/ +Source0: https://gforge.inria.fr/frs/download.php/file/36063/dose3-%{version}.tar.gz + +BuildRequires: ocaml +BuildRequires: ocaml-ocamlbuild +BuildRequires: ocaml-ocamldoc +BuildRequires: ocaml-ocamlgraph-devel +BuildRequires: ocaml-findlib-devel +BuildRequires: ocaml-extlib-devel +BuildRequires: ocaml-expat-devel +BuildRequires: ocaml-re-devel +BuildRequires: ocaml-cudf-devel +BuildRequires: ocaml-cppo +BuildRequires: ocaml-zip-devel +BuildRequires: ocaml-ounit-devel + +BuildRequires: rpm-devel +BuildRequires: zlib-devel + +BuildRequires: perl, perl-generators + +# Needs latex for documentation. +BuildRequires: texlive +BuildRequires: texlive-comment +BuildRequires: hevea +BuildRequires: graphviz + +# Depend on pod2man, pod2html. +BuildRequires: /usr/bin/pod2man +BuildRequires: /usr/bin/pod2html + +%description +Dose3 is a framework made of several OCaml libraries for managing +distribution packages and their dependencies. + +Though not tied to any particular distribution, dose3 constitutes a pool of +libraries which enable analyzing packages coming from various distributions. + +Besides basic functionalities for querying and setting package properties, +dose3 also implements algorithms for solving more complex problems +(monitoring package evolutions, correct and complete dependency resolution, +repository-wide uninstallability checks). + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and signature files for +developing applications that use %{name}. + +# Since these are applications, I think the correct name is "dose3-tools" +# and not "ocaml-dose3-tools", but I'm happy to change it if necessary. + +%package -n dose3-tools +Summary: Tools suite from the dose3 framework + +%description -n dose3-tools +Dose3 is a framework made of several OCaml libraries for managing +distribution packages and their dependencies. + +This package contains the tools shipped with the dose3 framework +for manipulating packages of various formats. + +%prep +%autosetup -n %{libname}-%{version} + +%build +%configure --with-zip --with-oUnit --with-rpm4 --with-xml +# Build fails when built with %{?_smp_mflags} and thus we can't use the magic macro. +make +make doc man + +%install +%make_install + +# Install manpages. +mkdir -p %{buildroot}%{_mandir}/man1/ +mkdir -p %{buildroot}%{_mandir}/man5/ +mkdir -p %{buildroot}%{_mandir}/man8/ +cp -a doc/manpages/*.8 %{buildroot}%{_mandir}/man8/ +cp -a doc/manpages/*.5 %{buildroot}%{_mandir}/man5/ +cp -a doc/manpages/*.1 %{buildroot}%{_mandir}/man1/ + +# Rewrite symlinks. +rm -f %{buildroot}%{_bindir}/rpmcheck +rm -f %{buildroot}%{_bindir}/debcheck +rm -f %{buildroot}%{_bindir}/eclipsecheck +ln -s %{_bindir}/distcheck %{buildroot}%{_bindir}/rpmcheck +ln -s %{_bindir}/distcheck %{buildroot}%{_bindir}/debcheck +ln -s %{_bindir}/distcheck %{buildroot}%{_bindir}/eclipsecheck + +%files +%license COPYING +%doc README.architecture +%{_libdir}/ocaml/%{libname} +%ifarch %{ocaml_native_compiler} +%exclude %{_libdir}/ocaml/*/*.a +%exclude %{_libdir}/ocaml/*/*.cmxa +%endif +%exclude %{_libdir}/ocaml/*/*.cmi +%{_libdir}/ocaml/stublibs/*.so +%{_libdir}/ocaml/stublibs/*.so.owner + +%files devel +%license COPYING +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/*/*.a +%{_libdir}/ocaml/*/*.cmxa +%endif +%{_libdir}/ocaml/*/*.cmi + +%files -n dose3-tools +%license COPYING +%doc doc/debcheck.primer/*.pdf +%doc doc/apt-external-solvers.primer/*.pdf +%doc doc/apt-cudf/ +%{_bindir}/apt-cudf +%{_bindir}/ceve +%{_bindir}/challenged +%{_bindir}/deb-buildcheck +%{_bindir}/deb-coinstall +%{_bindir}/debcheck +%{_bindir}/eclipsecheck +%{_bindir}/distcheck +%{_bindir}/outdated +%{_bindir}/rpmcheck +%{_mandir}/man1/*.1* +%{_mandir}/man5/*.5* +%{_mandir}/man8/*.8* + +%changelog +* Fri Sep 01 2017 Ben Rosser 5.0.1-2 +- Use configure macro to avoid specifying prefix, libdir, bindir by hand. +- Remove Requires on main package from dose3-tools subpackage. + +* Tue Aug 15 2017 Ben Rosser 5.0.1-1 +- There are far newer versions; package latest release. + +* Tue Aug 15 2017 Ben Rosser 4.2-2 +- Successfully link against ocamlgraph. + +* Tue Aug 15 2017 Ben Rosser 4.2-1 +- Initial package. diff --git a/sources b/sources new file mode 100644 index 0000000..3f171f3 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (dose3-5.0.1.tar.gz) = e66526319446054041f138ee2633043d0832089f6a554cf566a28de899d10383acfb1aa6bf1a368811602939676510933a7d2404fd34dbeba15045b458f5af84