Compare commits

..

No commits in common. "rawhide" and "f28" have entirely different histories.

9 changed files with 287 additions and 157 deletions

7
.gitignore vendored
View file

@ -1,2 +1,5 @@
/0install-*.tbz
/0install-*.tbz.sig
/0install-2.6.1.tar.bz2
/0install-2.9.1.tar.bz2
/0install-2.10.tar.bz2
/0install-2.11.tar.bz2
/0install-2.12.1.tar.bz2

View file

@ -0,0 +1,23 @@
diff -up ./Makefile.translation ./Makefile
--- ./Makefile.translation 2015-10-05 00:41:05.000000000 +1000
+++ ./Makefile 2015-10-06 17:06:42.633307106 +1000
@@ -54,7 +54,13 @@ default: all
[ -d "${DISTDIR}" ] || mkdir "${DISTDIR}"
$(MAKE) -C "${BUILDDIR}" -f "${SRCDIR}/Makefile.build" "$@" SRCDIR="${SRCDIR}" BUILDDIR="${BUILDDIR}" DISTDIR="${DISTDIR}" DESTDIR="${DESTDIR}"
+po-files=$(shell find . -name '*.po')
+mo-files=$(subst po,mo,$(po-files))
+update-mo: ${mo-files}
+
+
share/locale/zero-install.pot: $(SH)
+ touch $@
xgettext --sort-by-file --language=Shell -j --output=$@ $(SH)
update-po: share/locale/zero-install.pot
@@ -73,4 +79,4 @@ clean:
rm -rf build
rm -rf dist
-.PHONY: update-po check-po clean default
+.PHONY: update-po update-mo check-po clean default

View file

@ -0,0 +1,11 @@
--- 0install-2.6/ocaml/Makefile.no-tests 2014-01-20 01:49:14.000000000 +0700
+++ 0install-2.6/ocaml/Makefile 2014-01-20 19:23:48.945070803 +0700
@@ -11,7 +11,7 @@
.PHONY: all ocaml doc clean tags test
-all: build_dir ocaml test
+all: build_dir ocaml
build_dir:
[ -d "${OCAML_BUILDDIR}" ] || mkdir -p "${OCAML_BUILDDIR}"

View file

@ -0,0 +1,34 @@
diff -up ./install.sh.src.orig ./install.sh.src
--- ./install.sh.src.orig 2015-09-02 14:39:32.011146045 +1000
+++ ./install.sh.src 2015-09-02 14:40:31.756148173 +1000
@@ -76,7 +76,7 @@ install -d "$DESTDIR${PREFIX_SHARE}/bash
install -d "$DESTDIR${PREFIX_SHARE}/fish/completions"
install -d "$DESTDIR${PREFIX_SHARE}/doc/0install"
install -d "$DESTDIR${PREFIX}/${ZSHFUNCTIONS}"
-install -d "$DESTDIR${PREFIX}/lib/0install.net"
+install -d "$DESTDIR${PREFIX}/lib64/0install.net"
install -m 0644 ${DOCS} "$DESTDIR${PREFIX_SHARE}/doc/0install/"
install -m 0644 ${MANPAGES} "$DESTDIR${PREFIX_MAN}/man1/"
@@ -93,7 +93,7 @@ install -m 0755 share/0install.net/unlzm
install -m 0755 share/0install.net/unxz "$DESTDIR${PREFIX_SHARE}/0install.net/"
if [ -n "$PLUGINS" ]; then
- install -m 0644 $PLUGINS "$DESTDIR${PREFIX}/lib/0install.net/"
+ install -m 0644 $PLUGINS "$DESTDIR${PREFIX}/lib64/0install.net/"
fi
for size in 24x24 48x48 128x128 scalable; do \
diff -up ./ocaml/Makefile.orig ./ocaml/Makefile
diff -up ./ocaml/zeroinstall/gui.ml.orig ./ocaml/zeroinstall/gui.ml
--- ./ocaml/zeroinstall/gui.ml.orig 2015-09-02 14:32:01.260129993 +1000
+++ ./ocaml/zeroinstall/gui.ml 2015-09-02 14:34:51.351136051 +1000
@@ -337,7 +337,7 @@ let try_get_gui config ~use_gui =
if system#file_exists plugin_path then Some plugin_path else None in
let plugin_path =
- let sys_lib = Filename.dirname bindir +/ "lib" in
+ let sys_lib = Filename.dirname bindir +/ "lib64" in
U.first_match check_plugin_dir [
(* Was 0install installed with opam? *)
sys_lib +/ "0install";

View file

@ -1,85 +1,235 @@
# PACKAGING NOTE: We do not currently build either the command-line tool or the
# GUI interface. They depend on obus (https://github.com/ocaml-community/obus)
# which cannot be built for the version of OCaml currently in Fedora. For now
# we only build the solver, which is the only part needed by opam anyway.
%global giturl https://github.com/0install/0install
%global cache_dir /var/cache/0install.net
%global gettext_domain_name zero-install
Name: 0install
Version: 2.18
Release: %autorelease
Summary: Decentralized cross-distribution software installation system
Version: 2.12.1
Release: 5%{?dist}
Summary: A decentralized cross-distribution software installation system
# LGPL-2.1-or-later: the project as a whole
# CC0-1.0: share/metainfo/0install.appdata.xml
# LicenseRef-Fedora-Public-Domain: src/sample_client.py
License: LGPL-2.1-or-later
SourceLicense: %{license} AND CC0-1.0 AND LicenseRef-Fedora-Public-Domain
URL: https://0install.net/
VCS: git:%{giturl}.git
Source0: %{giturl}/releases/download/v%{version}/%{name}-%{version}.tbz
Source1: %{giturl}/releases/download/v%{version}/%{name}-%{version}.tbz.sig
# Key for Thomas Leonard <talex5@gmail.com>
Source2: 5DD58D70899C454A966D6A5175133C8F94F6E0CC.gpg
License: LGPLv2+
URL: http://0install.net
Source0: http://downloads.sf.net/project/zero-install/%{name}/%{version}/%{name}-%{version}.tar.bz2
# Temporarily disable tests, some failures within mock env
Patch0: %{name}-2.6-no-tests.patch
# multilib: use lib64 instead of lib on 64-bit arches
Patch1: %{name}-2.9.1-lib64.patch
Patch2: %{name}-2.10-makefile.patch
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
BuildRequires: ocaml >= 4.02.3
BuildRequires: ocaml-biniou-devel
BuildRequires: ocaml-easy-format-devel
BuildRequires: ocaml-findlib
BuildRequires: ocaml-camlp4-devel
BuildRequires: ocaml-curl-devel >= 0.7.9
BuildRequires: ocaml-extlib-devel
BuildRequires: ocaml-lablgtk-devel
BuildRequires: ocaml-lwt-devel
# not packaged yet, optional
# BuildRequires: ocaml-obus-devel
BuildRequires: ocaml-ocamlbuild
BuildRequires: ocaml-ounit-devel
BuildRequires: ocaml-ssl-devel
BuildRequires: ocaml-xmlm-devel
BuildRequires: ocaml-yojson-devel
BuildRequires: glib2-devel
BuildRequires: libev-devel
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: gnupg2
BuildRequires: ocaml >= 4.08
BuildRequires: ocaml-dune >= 2.5
BuildRequires: ocaml-ounit2-devel
Requires(pre): shadow-utils
%global _desc %{expand:Zero Install is a decentralized cross-distribution software installation
system. Other features include full support for shared libraries (with a SAT
solver for dependency resolution), sharing between users, and integration with
native platform package managers. It supports both binary and source
packages, and works on Linux, macOS, Unix and Windows systems.}
# for icons
Requires: hicolor-icon-theme
# ocaml-ext-devel is missing
ExcludeArch: ppc64 ppc64le
%if 0%{?epel}
# Explict require ocaml-react-devel, otherwise
# ocamlfind: Package `lwt.react' not found
BuildRequires: ocaml-react-devel
%endif
Provides: zeroinstall-injector = %{version}-%{release}
Obsoletes: zeroinstall-injector < 2.4-1%{?dist}
%description
%_desc
Zero Install is a decentralized cross-distribution software
installation system available under the LGPL. It allows software
developers to publish programs directly from their own web-sites,
while supporting features familiar from centralized distribution
repositories such as shared libraries, automatic updates and digital
signatures. It is intended to complement, rather than replace, the
operating system's package management. 0install packages never
interfere with those provided by the distribution.
%package -n ocaml-0install-solver
Summary: Package dependency solver
0install does not define a new packaging format; unmodified tarballs
or zip archives can be used. Instead, it defines an XML metadata
format to describe these packages and the dependencies between them. A
single metadata file can be used on multiple platforms (e.g. Ubuntu,
Debian, Fedora, openSUSE, Mac OS X and Windows), assuming binary or
source archives are available that work on those systems.
%description -n ocaml-0install-solver
%_desc
0install also has some interesting features not often found in
traditional package managers. For example, while it will share
libraries whenever possible, it can always install multiple versions
of a package in parallel when there are conflicting
requirements. Installation is always side-effect-free (each package is
unpacked to its own directory and will not touch shared directories
such as /usr/bin), making it ideal for use with sandboxing
technologies and virtualization.
This package contains a package dependency resolver based on a SAT solver.
This was originally written for the 0install package manager, but is now
generic and is also used as a solver backend for opam.
The XML file describing the program's requirements can also be
included in a source-code repository, allowing full dependency
handling for unreleased developer versions. For example, a user can
clone a Git repository and build and test the program, automatically
downloading newer versions of libraries where necessary, without
interfering with the versions of those libraries installed by their
distribution, which continue to be used for other software.
The SAT solver is based on MiniSat (http://minisat.se/Papers.html) and the
application to package management is based on OPIUM (Optimal Package
Install/Uninstall Manager). 0install-solver uses a (novel?) strategy to find
the optimal solution extremely quickly (even for a SAT-based solver).
%package -n ocaml-0install-solver-devel
Summary: Development files for %{name}-solver
Requires: ocaml-0install-solver%{?_isa} = %{version}-%{release}
%description -n ocaml-0install-solver-devel
The %{name}-solver-devel package contains libraries and signature files for
developing applications that use %{name}-solver.
%prep
%{gpgverify} --data=%{SOURCE0} --signature=%{SOURCE1} --keyring=%{SOURCE2}
%autosetup
%setup -q
%patch0 -p1 -b .no-tests
%if "%{_lib}" == "lib64"
%patch1 -p0 -b .lib64
%endif
%patch2 -p0 -b .translation
## Remove Utilities from .desktop file, so it will use Settings as main category
sed -i -e 's/Utility;//' share/applications/%{name}.desktop
%build
%dune_build -p 0install-solver
make
make update-mo
%install
%dune_install 0install-solver
make install_system DESTDIR=$RPM_BUILD_ROOT
%check
%dune_check -p 0install-solver
# fix permission of shared objects
chmod +x $RPM_BUILD_ROOT%{_libdir}/0install.net/gui_gtk.cmxs
%files -n ocaml-0install-solver -f .ofiles
%doc CHANGES.md README.md
%license COPYING
mkdir -p "$RPM_BUILD_ROOT%{cache_dir}/implementations"
desktop-file-validate \
$RPM_BUILD_ROOT%{_datadir}/applications/0install.desktop
## Copy mo files
mkdir -p %{buildroot}%{_datadir}/locale
cp -R build/share/locale/* %{buildroot}%{_datadir}/locale
%find_lang %{gettext_domain_name}
## Remove excess doc
rm -fr %{buildroot}/usr/share/doc/%{name}
%pre
# Add the "zeroinst" user.
# This is not used by default, but is required if you want to
# set up sharing of downloads later.
getent group zeroinst >/dev/null || groupadd -r zeroinst
getent passwd zeroinst >/dev/null || \
useradd -r -g zeroinst -d %{cache_dir} -s /sbin/nologin \
-c "Zero Install shared cache" zeroinst
exit 0
%files -f %{gettext_domain_name}.lang
%doc COPYING README.md
%{_bindir}/0*
%{_libdir}/0install.net
%{_datadir}/0install.net
%{_datadir}/appdata/0install*
%{_datadir}/applications/0install.desktop
%{_datadir}/icons/hicolor/*/apps/zeroinstall.*
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%{_datadir}/bash-completion/completions/0*
%dir %{_datadir}/fish
%dir %{_datadir}/fish/completions
%{_datadir}/fish/completions/0*.fish
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_0*
%{_mandir}/man1/0*
%dir %{cache_dir}
%attr(755,zeroinst,zeroinst) %{cache_dir}/implementations
%files -n ocaml-0install-solver-devel -f .ofiles-devel
%changelog
%autochangelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Jan 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.12.1-4
- Remove obsolete scriptlets
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Mar 29 2017 Ding-Yi Chen <dchen@redhat.com> - 2.12.1-1
- Drop support for OCaml 4.01
- Work around buggy GnuPG 2.1.16
- Update dependencies
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.11-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Nov 09 2016 Dan Horák <dan@danny.cz> - 2.11-3
- rebuild for s390x codegen bug
* Mon Nov 07 2016 Richard W.M. Jones <rjones@redhat.com> - 2.11-2
- Rebuild for OCaml 4.04.0.
- Add explicit dependency on ocamlbuild.
* Mon Feb 22 2016 Ding-Yi Chen <dchen@redhat.com> - 2.11-1
- Upstream update to 2.11.
- Exclude ppc64le and ppc
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Oct 06 2015 Ding-Yi Chen <dchen@redhat.com> - 2.10-2
- Remove Utilities from .desktop file, so it will use Settings as main category.
* Tue Oct 06 2015 Ding-Yi Chen <dchen@redhat.com> - 2.10-1
- Upstream update to 2.10.
* Thu Oct 01 2015 Ding-Yi Chen <dchen@redhat.com> - 2.9.1-1
- Upstream update to 2.9.1.
- Add buildrequires: ocaml-react-devel for EPEL.
- Exclude ppc64 for EPEL, as the build dependency ocaml-findlib-devel is not available on it.
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Jun 06 2014 Dennis Gilmore <Dennis@ausil.us> - 2.6.1-4
- Remove the no longer needed ExclusiveArch line the macro used has been removed
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Feb 15 2014 Michel Salim <salimma@fedoraproject.org> - 2.6.1-2
- Spec clean-up
- Fix permission of shared objects so they get properly handled when
generating debuginfo
* Fri Feb 14 2014 Michel Salim <salimma@fedoraproject.org> - 2.6.1-1
- Update to 2.6.1
- Install to proper libdir depending on the actual architecture
- Fix ExclusiveArch, build requirements and obsoletion
- Fix license tag
- Yank old changelog from zero-install
* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 2.6-1
- Update to 2.6
* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 2.5.1-1
- Rename package to 0install
- Update to 2.5.1

View file

@ -1,6 +0,0 @@
[Zero Install](https://0install.net/) is a decentralized cross-distribution
software installation system. Other features include full support for shared
libraries (with a SAT solver for dependency resolution), sharing between
users, and integration with native platform package managers. It supports
both binary and source packages, and works on Linux, macOS, Unix and Windows
systems.

View file

@ -1,84 +0,0 @@
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sun Jan 07 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 2.12.1-4
- Remove obsolete scriptlets
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.12.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Mar 29 2017 Ding-Yi Chen <dchen@redhat.com> - 2.12.1-1
- Drop support for OCaml 4.01
- Work around buggy GnuPG 2.1.16
- Update dependencies
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.11-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Nov 09 2016 Dan Horák <dan@danny.cz> - 2.11-3
- rebuild for s390x codegen bug
* Mon Nov 07 2016 Richard W.M. Jones <rjones@redhat.com> - 2.11-2
- Rebuild for OCaml 4.04.0.
- Add explicit dependency on ocamlbuild.
* Mon Feb 22 2016 Ding-Yi Chen <dchen@redhat.com> - 2.11-1
- Upstream update to 2.11.
- Exclude ppc64le and ppc
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.10-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Oct 06 2015 Ding-Yi Chen <dchen@redhat.com> - 2.10-2
- Remove Utilities from .desktop file, so it will use Settings as main category.
* Tue Oct 06 2015 Ding-Yi Chen <dchen@redhat.com> - 2.10-1
- Upstream update to 2.10.
* Thu Oct 01 2015 Ding-Yi Chen <dchen@redhat.com> - 2.9.1-1
- Upstream update to 2.9.1.
- Add buildrequires: ocaml-react-devel for EPEL.
- Exclude ppc64 for EPEL, as the build dependency ocaml-findlib-devel is not available on it.
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Fri Jun 06 2014 Dennis Gilmore <Dennis@ausil.us> - 2.6.1-4
- Remove the no longer needed ExclusiveArch line the macro used has been removed
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Feb 15 2014 Michel Salim <salimma@fedoraproject.org> - 2.6.1-2
- Spec clean-up
- Fix permission of shared objects so they get properly handled when
generating debuginfo
* Fri Feb 14 2014 Michel Salim <salimma@fedoraproject.org> - 2.6.1-1
- Update to 2.6.1
- Install to proper libdir depending on the actual architecture
- Fix ExclusiveArch, build requirements and obsoletion
- Fix license tag
- Yank old changelog from zero-install
* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 2.6-1
- Update to 2.6
* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 2.5.1-1
- Rename package to 0install
- Update to 2.5.1

View file

@ -1,2 +1 @@
SHA512 (0install-2.18.tbz) = 6d4734754951fad9caad5d876a1301e283bdd77a080d6601d57b21c540a30a616b18f664cbd4f86748c90de41cf3ef54f3a883fd75f638abbe3630a0320e4a7f
SHA512 (0install-2.18.tbz.sig) = bb323a22f533daf3c561439f90fe29f42aae11b10c2f10c89ce6f8819e0d26139430167daa612dd6f8eb2854163c8596f5dba202f4c464fada3a686da2677a56
SHA512 (0install-2.12.1.tar.bz2) = 314ecbff2985171bf9dd854166c0b6faf90526a0844e8861cafd7082919aa91d4009e3fad84f06956373997637c927e836aea8093c17b88358283bbc45ad763d