%{!?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.52 Release: 1%{?dist} Summary: The Zero Install Injector (0launch) Group: Applications/System License: LGPLv2 URL: http://0install.net Source0: http://downloads.sourceforge.net/zero-install/%{name}-%{version}.tar.bz2 # https://sourceforge.net/tracker/?group_id=76468&atid=547191 # Patch0: %{name}-0.49-any-arch.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildArch: noarch BuildRequires: python-devel BuildRequires: desktop-file-utils BuildRequires: gettext # for-tests BuildRequires: PyXML pygtk2 gnupg xdg-utils BuildRequires: tar gzip bzip2 xz-lzma-compat BuildRequires: python-coverage # /for-tests Requires: PyXML pygtk2 gnupg sudo xdg-utils Requires: tar gzip bzip2 xz-lzma-compat # for PackageKit support Requires: dbus-python Requires(pre): shadow-utils # for icons Requires: hicolor-icon-theme %description 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 decentralized installation system (there is no central repository; all packages are identified by URLs), loosely-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 %setup -q #patch0 -p1 -b .any-arch %build %{__python} setup.py build %install rm -rf $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" for i in add manage; do desktop-file-install \ %if 0%{!?fedora:1} --vendor="" \ %endif --remove-category="Application" \ --delete-original \ --dir=$RPM_BUILD_ROOT%{_datadir}/applications \ $RPM_BUILD_ROOT%{_datadir}/applications/zeroinstall-$i.desktop done %find_lang zero-install %check cd tests for t in download packagekit; do mv test${t}.py{,.off} done ./testall.py %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. 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 %post touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files -f zero-install.lang %defattr(-,root,root,-) %doc COPYING README %{_bindir}/0* %config(noreplace) %{_sysconfdir}/xdg/menus/applications-merged/zeroinstall.menu %{_datadir}/applications/*.desktop %{_datadir}/desktop-directories/zeroinstall.directory %{_datadir}/icons/hicolor/*/apps/zeroinstall.png %{python_sitelib}/zeroinstall/ %if 0%{!?el5:1} %{python_sitelib}/*.egg-info %endif %{_mandir}/man1/0* %dir %{cache_dir} %attr(755,zeroinst,zeroinst) %{cache_dir}/implementations %changelog * Sun Mar 13 2011 Michel Salim - 0.52-1 - Update to 0.52 * Thu Jul 22 2010 David Malcolm - 0.49-3 - Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild * Fri Jul 9 2010 Michel Salim - 0.49-2 - Enable tests * Fri Jul 9 2010 Michel Salim - 0.49-1 - Update to 0.49 * Mon Jul 27 2009 Fedora Release Engineering - 0.38-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat Feb 28 2009 Michel Salim - 0.38-2 - Workaround for RHEL's desktop-file-utils - Add missing dependency on xdg-utils * Fri Feb 27 2009 Michel Salim - 0.38-1 - Update to 0.38 - Upgrades now preserve the existing menu, if modified * Wed Feb 25 2009 Fedora Release Engineering - 0.34-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.34-2 - Rebuild for Python 2.6 * Sun Aug 3 2008 Michel Alexandre Salim - 0.34-1 - Update to 0.34 * Sat Apr 5 2008 Michel Salim - 0.32-1 - Update to 0.32 - Package .egg-info file on Fedora >= 9 * Fri Jan 18 2008 Michel Salim - 0.31-1 - Update to 0.31 * Sat Sep 8 2007 Michel Salim 0.30-2 - Update scriptlet that creates zeroinst user * 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 * Sat Nov 11 2006 Michel Salim 0.24-2 - Allow installation of ix86 binaries on x86_64 * Sat Nov 4 2006 Michel Salim 0.24-1 - Update to 0.24 - Not ghosting .pyos any longer * Sun Oct 8 2006 Michel Salim 0.23-1 - Update to 0.23 * Sun Mar 5 2006 Michel Salim 0.18-4 - Removed left-behind pushd and popd * Sat Feb 25 2006 Michel Salim 0.18-3 - Add Python-related requirements, BuildReq on gnupg to decrypt upstream source * Sat Feb 18 2006 Michel Salim 0.18-2 - Use _mandir, discard CFLAGS and unused python_sitearch definition * Thu Feb 16 2006 Michel Salim 0.18-1 - Initial Fedora Extras release, based on upstream spec contributed by Juan Carlos Jimenez Garcia