From fb9bcfb02b3e67d6085ed17b5f9f3dbb5fa33279 Mon Sep 17 00:00:00 2001 From: Michel Alexandre Salim Date: Sep 06 2007 00:04:19 +0000 Subject: Update to 0.30 --- diff --git a/.cvsignore b/.cvsignore index 7d893c9..377ebc7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -zeroinstall-injector-0.24.tar.gz.gpg +zeroinstall-injector-0.30.tar.gz.gpg diff --git a/sources b/sources index 4c61f00..4414fed 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -d543beb1742374b1d2d983f0d05388fc zeroinstall-injector-0.24.tar.gz.gpg +c539dc6ffa39f18700220f5565d8eac3 zeroinstall-injector-0.30.tar.gz.gpg diff --git a/zeroinstall-injector.spec b/zeroinstall-injector.spec index 5437061..0b8b267 100644 --- a/zeroinstall-injector.spec +++ b/zeroinstall-injector.spec @@ -1,30 +1,41 @@ %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} +%define cache_dir /var/cache/0install.net + Name: zeroinstall-injector -Version: 0.24 -Release: 3%{?dist} +Version: 0.30 +Release: 1%{?dist} Summary: The Zero Install Injector (0launch) Group: Applications/System -License: LGPL +License: LGPLv2.1 URL: http://0install.net Source0: http://osdn.dl.sf.net/sourceforge/zero-install/%{name}-%{version}.tar.gz.gpg Patch0: zeroinstall-x86_64-arch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch -BuildRequires: python-devel gnupg -Requires: PyXML pygtk2 gnupg +BuildRequires: python-devel gnupg desktop-file-utils +Requires: PyXML pygtk2 gnupg pygtk2-libglade sudo +Requires: /usr/sbin/useradd %description -A running process is created by combining many different libraries (and other -components). In the Zero Install world, we have all versions of each library -available at all times. The problem then is how to choose which versions to -use. - -The injector solves this problem by selecting components to meet a program's -requirements, according to a policy you give it. The injector finds out which -versions are available, and downloads and runs the ones you choose. +The Zero Install Injector makes it easy for users to install software without +needing root privileges. It takes the URL of a program and runs it +(downloading it first if necessary). Any dependencies of the program are +fetched in the same way. The user controls which version of the program and +its dependencies to use. + +Zero Install is a decentralised installation system (there is no central +repository; all packages are identified by URLs), loosly-coupled (if different +programs require different versions of a library then both versions are +installed in parallel, without conflicts), and has an emphasis on security +(all package descriptions are GPG-signed, and contain cryptographic hashes of +the contents of each version). Each version of each program is stored in its +own sub-directory within the Zero Install cache (nothing is installed to +directories outside of the cache, such as /usr/bin) and no code from the +package is run during install or uninstall. The system can automatically check +for updates when software is run. %prep gpg --decrypt %{SOURCE0} | gzip -cd - | tar xvf - @@ -36,15 +47,30 @@ gpg --decrypt %{SOURCE0} | gzip -cd - | tar xvf - %install rm -rf $RPM_BUILD_ROOT -%{__python} setup.py install --skip-build --install-data %{_datadir} --root $RPM_BUILD_ROOT +%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT +mv "$RPM_BUILD_ROOT/usr/man" "$RPM_BUILD_ROOT/%{_datadir}/man" +mkdir -p "$RPM_BUILD_ROOT%{cache_dir}/implementations" + +desktop-file-install --vendor="fedora" \ + --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ + $RPM_BUILD_ROOT%{_datadir}/applications/zeroinstall-zero2desktop.desktop %clean rm -rf $RPM_BUILD_ROOT +%pre +# Add the "zeroinst" user. +# This is not used by default, but is required if you want to +# set up sharing of downloads later. +/usr/sbin/useradd -c 'Zero Install shared cache' \ + -s /sbin/nologin -r -d '/' zeroinst 2> /dev/null || : + %files %defattr(-,root,root,-) %doc COPYING README %{_bindir}/0* +%{_datadir}/applications/zeroinstall-zero2desktop.desktop +%{_datadir}/pixmaps/zeroinstall-zero2desktop.png %dir %{python_sitelib}/zeroinstall/ %dir %{python_sitelib}/zeroinstall/0launch-gui/ %dir %{python_sitelib}/zeroinstall/injector/ @@ -53,11 +79,20 @@ rm -rf $RPM_BUILD_ROOT %{python_sitelib}/zeroinstall/0launch-gui/0launch-gui %{python_sitelib}/zeroinstall/0launch-gui/README %{python_sitelib}/zeroinstall/0launch-gui/ZeroInstall-GUI.xml +%{python_sitelib}/zeroinstall/0launch-gui/zero-install.glade %{python_sitelib}/zeroinstall/*/*.py* %{_mandir}/man1/0* - +%dir %{cache_dir} +%attr(755,zeroinst,zeroinst) %{cache_dir}/implementations %changelog +* Wed Sep 5 2007 Michel Salim 0.30-1 +- Update to 0.30 +- License is now versioned +- Incorporate changes from Thomas Leonard: + * create zeroinst user + * create shared cache + * Mon Dec 18 2006 Michel Salim 0.24-3 - Rebuild for development branch