Compare commits

..

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

9 changed files with 290 additions and 157 deletions

7
.gitignore vendored
View file

@ -1,2 +1,5 @@
/0install-*.tbz /0install-2.6.1.tar.bz2
/0install-*.tbz.sig /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,238 @@
# PACKAGING NOTE: We do not currently build either the command-line tool or the %global cache_dir /var/cache/0install.net
# GUI interface. They depend on obus (https://github.com/ocaml-community/obus) %global gettext_domain_name zero-install
# 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
Name: 0install Name: 0install
Version: 2.18 Version: 2.12.1
Release: %autorelease Release: 6%{?dist}
Summary: Decentralized cross-distribution software installation system Summary: A decentralized cross-distribution software installation system
# LGPL-2.1-or-later: the project as a whole License: LGPLv2+
# CC0-1.0: share/metainfo/0install.appdata.xml URL: http://0install.net
# LicenseRef-Fedora-Public-Domain: src/sample_client.py Source0: http://downloads.sf.net/project/zero-install/%{name}/%{version}/%{name}-%{version}.tar.bz2
License: LGPL-2.1-or-later # Temporarily disable tests, some failures within mock env
SourceLicense: %{license} AND CC0-1.0 AND LicenseRef-Fedora-Public-Domain Patch0: %{name}-2.6-no-tests.patch
URL: https://0install.net/ # multilib: use lib64 instead of lib on 64-bit arches
VCS: git:%{giturl}.git Patch1: %{name}-2.9.1-lib64.patch
Source0: %{giturl}/releases/download/v%{version}/%{name}-%{version}.tbz Patch2: %{name}-2.10-makefile.patch
Source1: %{giturl}/releases/download/v%{version}/%{name}-%{version}.tbz.sig
# Key for Thomas Leonard <talex5@gmail.com>
Source2: 5DD58D70899C454A966D6A5175133C8F94F6E0CC.gpg
# OCaml packages not built on i686 since OCaml 5 / Fedora 39. BuildRequires: ocaml >= 4.02.3
ExcludeArch: %{ix86} 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 Requires(pre): shadow-utils
BuildRequires: ocaml >= 4.08
BuildRequires: ocaml-dune >= 2.5
BuildRequires: ocaml-ounit2-devel
%global _desc %{expand:Zero Install is a decentralized cross-distribution software installation # for icons
system. Other features include full support for shared libraries (with a SAT Requires: hicolor-icon-theme
solver for dependency resolution), sharing between users, and integration with
native platform package managers. It supports both binary and source # ocaml-ext-devel is missing
packages, and works on Linux, macOS, Unix and Windows systems.} 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 %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 0install does not define a new packaging format; unmodified tarballs
Summary: Package dependency solver 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 0install also has some interesting features not often found in
%_desc 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. The XML file describing the program's requirements can also be
This was originally written for the 0install package manager, but is now included in a source-code repository, allowing full dependency
generic and is also used as a solver backend for opam. 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 %prep
%{gpgverify} --data=%{SOURCE0} --signature=%{SOURCE1} --keyring=%{SOURCE2} %setup -q
%autosetup %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 %build
%dune_build -p 0install-solver make
make update-mo
%install %install
%dune_install 0install-solver make install_system DESTDIR=$RPM_BUILD_ROOT
%check # fix permission of shared objects
%dune_check -p 0install-solver chmod +x $RPM_BUILD_ROOT%{_libdir}/0install.net/gui_gtk.cmxs
%files -n ocaml-0install-solver -f .ofiles mkdir -p "$RPM_BUILD_ROOT%{cache_dir}/implementations"
%doc CHANGES.md README.md
%license COPYING 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 %changelog
%autochangelog * 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,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.12.1.tar.bz2) = 314ecbff2985171bf9dd854166c0b6faf90526a0844e8861cafd7082919aa91d4009e3fad84f06956373997637c927e836aea8093c17b88358283bbc45ad763d
SHA512 (0install-2.18.tbz.sig) = bb323a22f533daf3c561439f90fe29f42aae11b10c2f10c89ce6f8819e0d26139430167daa612dd6f8eb2854163c8596f5dba202f4c464fada3a686da2677a56