summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rox-base/zeroinstall-injector')
-rw-r--r--rox-base/zeroinstall-injector/Manifest28
-rw-r--r--rox-base/zeroinstall-injector/files/digest-zeroinstall-injector-0.273
-rw-r--r--rox-base/zeroinstall-injector/files/global-0.275
-rw-r--r--rox-base/zeroinstall-injector/files/gpgInfo/pubring.gpgbin0 -> 911 bytes
-rw-r--r--rox-base/zeroinstall-injector/files/gpgInfo/secring.gpg0
-rw-r--r--rox-base/zeroinstall-injector/files/gpgInfo/trustdb.gpgbin0 -> 1240 bytes
-rw-r--r--rox-base/zeroinstall-injector/files/zeroinstall-injector-0.27-local_feed.patch121
-rw-r--r--rox-base/zeroinstall-injector/zeroinstall-injector-0.27.ebuild65
8 files changed, 222 insertions, 0 deletions
diff --git a/rox-base/zeroinstall-injector/Manifest b/rox-base/zeroinstall-injector/Manifest
new file mode 100644
index 0000000..f0ee967
--- /dev/null
+++ b/rox-base/zeroinstall-injector/Manifest
@@ -0,0 +1,28 @@
+AUX global-0.27 73 RMD160 b6fb0f8dfb500500d3b2719224dabf4c8160aed2 SHA1 a1e2a0d9b60ec2a02ad4bed98ee16ad7b9966132 SHA256 e081270dcfa04acf9da2e363c55be02c02b719ec2616b875a3f9118a5778423e
+MD5 a6cb42c31e5b742d67f4abc5e23481ee files/global-0.27 73
+RMD160 b6fb0f8dfb500500d3b2719224dabf4c8160aed2 files/global-0.27 73
+SHA256 e081270dcfa04acf9da2e363c55be02c02b719ec2616b875a3f9118a5778423e files/global-0.27 73
+AUX gpgInfo/pubring.gpg 911 RMD160 c155ac32769a7588ce4cefdb0042e88e2210e70d SHA1 465084f9f17a060f46d749bc9604b767125bc636 SHA256 4006d375e1669ee5b5352794777f0e1e905c6aed0cf685822a952c7196ab2052
+MD5 5c5e7dd2f87fbcd4cbd2a4bb09d944af files/gpgInfo/pubring.gpg 911
+RMD160 c155ac32769a7588ce4cefdb0042e88e2210e70d files/gpgInfo/pubring.gpg 911
+SHA256 4006d375e1669ee5b5352794777f0e1e905c6aed0cf685822a952c7196ab2052 files/gpgInfo/pubring.gpg 911
+AUX gpgInfo/secring.gpg 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+MD5 d41d8cd98f00b204e9800998ecf8427e files/gpgInfo/secring.gpg 0
+RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 files/gpgInfo/secring.gpg 0
+SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 files/gpgInfo/secring.gpg 0
+AUX gpgInfo/trustdb.gpg 1240 RMD160 d44385143431ac246b9f7aff85811cb673fc3be5 SHA1 de2e7f3e491087b9568d2d54e2e30fed053d81fb SHA256 4abab858a3b869c3ea0aadab45e99e2d0019fc4fe98a317177fbad7e4db7e94c
+MD5 6c68fc931a179f58525fcfdb56da019d files/gpgInfo/trustdb.gpg 1240
+RMD160 d44385143431ac246b9f7aff85811cb673fc3be5 files/gpgInfo/trustdb.gpg 1240
+SHA256 4abab858a3b869c3ea0aadab45e99e2d0019fc4fe98a317177fbad7e4db7e94c files/gpgInfo/trustdb.gpg 1240
+AUX zeroinstall-injector-0.27-local_feed.patch 4523 RMD160 0e4b4c4e558b66dff2e582c1fc002f7ff791c2bc SHA1 286b7588476a49b54b129bc409f3f52e0977c805 SHA256 f4f171da592e06a76024530c5217d8fd2ad1e2fa6158815779f8af31376032ea
+MD5 c007022076415ed52863823b69cf2cfe files/zeroinstall-injector-0.27-local_feed.patch 4523
+RMD160 0e4b4c4e558b66dff2e582c1fc002f7ff791c2bc files/zeroinstall-injector-0.27-local_feed.patch 4523
+SHA256 f4f171da592e06a76024530c5217d8fd2ad1e2fa6158815779f8af31376032ea files/zeroinstall-injector-0.27-local_feed.patch 4523
+DIST zeroinstall-injector-0.27.tar.gz.gpg 127113 RMD160 f93d87ae38c23eb73c7bc092d6a358932050ecf0 SHA1 b8f417d2174f17f1bfa3952bb319e112ba47af16 SHA256 9e2b532c61f1687f965bbbdd8f96c6aede6163fce2335b86b815b74f1d154761
+EBUILD zeroinstall-injector-0.27.ebuild 1805 RMD160 7512660da1082a745e171bfdddffaa0080b73648 SHA1 9f28e8fb3bb7eee0326b0462ab7a14ad83ae7b8f SHA256 57cbd574af4bc2c9d1f9db88d212a17a826052e1c1a34d3f65bb3b9c04af1a17
+MD5 db2725fdf5c3f2eb4c67d97bc3ea0d47 zeroinstall-injector-0.27.ebuild 1805
+RMD160 7512660da1082a745e171bfdddffaa0080b73648 zeroinstall-injector-0.27.ebuild 1805
+SHA256 57cbd574af4bc2c9d1f9db88d212a17a826052e1c1a34d3f65bb3b9c04af1a17 zeroinstall-injector-0.27.ebuild 1805
+MD5 b0fffbea1faf95e435aa67cba14972a4 files/digest-zeroinstall-injector-0.27 289
+RMD160 00e180c2a3c61bd3154702b47e9fa1e7632be1ef files/digest-zeroinstall-injector-0.27 289
+SHA256 5d32564926e8b07092190403b10bb6eacb63dc93726237ab0939107635456772 files/digest-zeroinstall-injector-0.27 289
diff --git a/rox-base/zeroinstall-injector/files/digest-zeroinstall-injector-0.27 b/rox-base/zeroinstall-injector/files/digest-zeroinstall-injector-0.27
new file mode 100644
index 0000000..b3eee05
--- /dev/null
+++ b/rox-base/zeroinstall-injector/files/digest-zeroinstall-injector-0.27
@@ -0,0 +1,3 @@
+MD5 124b5f5794c6950c53c11df9c538ac3c zeroinstall-injector-0.27.tar.gz.gpg 127113
+RMD160 f93d87ae38c23eb73c7bc092d6a358932050ecf0 zeroinstall-injector-0.27.tar.gz.gpg 127113
+SHA256 9e2b532c61f1687f965bbbdd8f96c6aede6163fce2335b86b815b74f1d154761 zeroinstall-injector-0.27.tar.gz.gpg 127113
diff --git a/rox-base/zeroinstall-injector/files/global-0.27 b/rox-base/zeroinstall-injector/files/global-0.27
new file mode 100644
index 0000000..8db0727
--- /dev/null
+++ b/rox-base/zeroinstall-injector/files/global-0.27
@@ -0,0 +1,5 @@
+[global]
+freshness = -1
+help_with_testing = False
+network_use = minimal
+
diff --git a/rox-base/zeroinstall-injector/files/gpgInfo/pubring.gpg b/rox-base/zeroinstall-injector/files/gpgInfo/pubring.gpg
new file mode 100644
index 0000000..e0de7b9
--- /dev/null
+++ b/rox-base/zeroinstall-injector/files/gpgInfo/pubring.gpg
Binary files differ
diff --git a/rox-base/zeroinstall-injector/files/gpgInfo/secring.gpg b/rox-base/zeroinstall-injector/files/gpgInfo/secring.gpg
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/rox-base/zeroinstall-injector/files/gpgInfo/secring.gpg
diff --git a/rox-base/zeroinstall-injector/files/gpgInfo/trustdb.gpg b/rox-base/zeroinstall-injector/files/gpgInfo/trustdb.gpg
new file mode 100644
index 0000000..642e546
--- /dev/null
+++ b/rox-base/zeroinstall-injector/files/gpgInfo/trustdb.gpg
Binary files differ
diff --git a/rox-base/zeroinstall-injector/files/zeroinstall-injector-0.27-local_feed.patch b/rox-base/zeroinstall-injector/files/zeroinstall-injector-0.27-local_feed.patch
new file mode 100644
index 0000000..a7fa7dc
--- /dev/null
+++ b/rox-base/zeroinstall-injector/files/zeroinstall-injector-0.27-local_feed.patch
@@ -0,0 +1,121 @@
+diff -ur zeroinstall-orig/0launch-gui/properties.py zeroinstall/0launch-gui/properties.py
+--- zeroinstall-orig/0launch-gui/properties.py 2007-04-08 04:50:32.000000000 -0600
++++ zeroinstall/0launch-gui/properties.py 2007-05-07 09:48:41.000000000 -0600
+@@ -263,7 +263,13 @@
+ model, miter = sel.get_selected()
+ if not miter: return # build in progress
+ iface = model[miter][Feeds.URI]
+- self.remove_feed_button.set_sensitive(iface != self.interface.uri)
++ # Only enable removing user_override feeds
++ enable_remove = False
++ for x in self.interface.feeds:
++ if x.uri == iface:
++ if x.user_override:
++ enable_remove = True
++ self.remove_feed_button.set_sensitive( enable_remove )
+ self.description.set_details(iface_cache.get_interface(iface))
+
+ def updated(self):
+diff -ur zeroinstall-orig/injector/model.py zeroinstall/injector/model.py
+--- zeroinstall-orig/injector/model.py 2007-04-06 13:22:30.000000000 -0600
++++ zeroinstall/injector/model.py 2007-05-07 09:48:41.000000000 -0600
+@@ -70,6 +70,7 @@
+ developer = Stability(10, 'developer', 'Work-in-progress - bugs likely')
+ testing = Stability(20, 'testing', 'Stability unknown - please test!')
+ stable = Stability(30, 'stable', 'Tested - no serious problems found')
++packaged = Stability(35, 'packaged', 'Supplied by the local package manager')
+ preferred = Stability(40, 'preferred', 'Best of all - must be set manually')
+
+ class Restriction(object):
+diff -ur zeroinstall-orig/injector/reader.py zeroinstall/injector/reader.py
+--- zeroinstall-orig/injector/reader.py 2007-04-07 02:47:20.000000000 -0600
++++ zeroinstall/injector/reader.py 2007-05-07 12:33:27.000000000 -0600
+@@ -41,7 +41,7 @@
+ before = parse_version(e.getAttribute('before'))))
+
+ def update_from_cache(interface):
+- """Read a cached interface and any user overrides.
++ """Read a cached interface and any local feeds or user overrides.
+ @param interface: the interface object to update
+ @type interface: L{model.Interface}
+ @return: True if cached version and user overrides loaded OK.
+@@ -61,7 +61,11 @@
+ debug("Loading cached information for %s from %s", interface, cached)
+ update(interface, cached)
+
+- update_user_overrides(interface)
++ if update_local_feeds(interface):
++ cached = True
++
++ if update_user_overrides(interface):
++ cached = True
+
+ # Special case: add our fall-back local copy of the injector as a feed
+ if interface.uri == injector_gui_uri:
+@@ -70,6 +74,49 @@
+
+ return bool(cached)
+
++def update_local_feeds(interface):
++ """Update an interface with system-supplied local feeds.
++ @param interface: the interface object to update
++ @type interface: L{model.Interface}
++ @return: True if a local feed was loaded.
++ @rtype: bool"""
++ debug( "update_local_feeds for %s" % escape(interface.uri) )
++ path = basedir.load_first_config(config_site, 'local_feeds',
++ escape(interface.uri))
++
++ if not path:
++ return False
++
++ debug( "Adding system-supplied local_feed from '%s'" % path )
++
++ # Ensure the local feed matches the specified interface
++ root = qdom.parse(file(path))
++ if root.getAttribute('uri') != interface.uri:
++ match = False
++ for item in root.childNodes:
++ if item.uri != XMLNS_IFACE: continue
++ if item.name == 'feed-for':
++ if interface.uri == item.getAttribute('interface'):
++ match = True
++ break
++ if not match:
++ raise InvalidInterface('Local feed does not match specified interface')
++
++ realpath = path
++ linkcount = 0
++ while os.path.islink(realpath):
++ # Add the "real" location, not the link
++ oldpath = realpath
++ realpath = os.readlink(oldpath)
++ if not realpath.startswith('/'):
++ realpath = os.path.join(os.path.dirname(oldpath), realpath)
++ linkcount += 1
++ if linkcount > 100:
++ raise InvalidInterface('Local feed symlink more than 100 levels deep, skipping')
++ interface.feeds.append(Feed(realpath, None, False))
++
++ return True
++
+ def update_user_overrides(interface):
+ """Update an interface with user-supplied information.
+ @param interface: the interface object to update
+@@ -77,7 +124,7 @@
+ user = basedir.load_first_config(config_site, config_prog,
+ 'user_overrides', escape(interface.uri))
+ if not user:
+- return
++ return False
+
+ root = qdom.parse(file(user))
+
+@@ -113,6 +160,7 @@
+ if not feed_src:
+ raise InvalidInterface('Missing "src" attribute in <feed>')
+ interface.feeds.append(Feed(feed_src, item.getAttribute('arch'), True))
++ return True
+
+ def check_readable(interface_uri, source):
+ """Test whether an interface file is valid.
diff --git a/rox-base/zeroinstall-injector/zeroinstall-injector-0.27.ebuild b/rox-base/zeroinstall-injector/zeroinstall-injector-0.27.ebuild
new file mode 100644
index 0000000..1018641
--- /dev/null
+++ b/rox-base/zeroinstall-injector/zeroinstall-injector-0.27.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit distutils
+
+DESCRIPTION="Zeroinstall Injector allows regular users to install software themselves"
+HOMEPAGE="http://0install.net/"
+SRC_URI="mirror://sourceforge/zero-install/${P}.tar.gz.gpg"
+
+LICENSE=""
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+DEPEND="app-crypt/gnupg"
+RDEPEND=">=dev-python/pygtk-2.0
+ ${DEPEND}"
+
+# If we decide to do RESTRICT="fetch" instead of trying gpg
+#pkg_nofetch() {
+# einfo "Zeroinstall is distributed only in gpg-signed tarballs, which ebuilds"
+# einfo "cannot currently handle. You must:"
+# einfo " 1. Download the file ${P}.tar.gz.gpg from"
+# einfo " http://downloads.sourceforge.net/zero-install/zeroinstall-injector-0.27.tar.gz.gpg"
+# einfo " 2. Verify the signature:"
+# einfo " gpg ${P}.tar.gz.gpg"
+# einfo " It has the fingerprint 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1"
+# einfo " 3. Put the resulting ${P}.tar.gz in ${DISTDIR}."
+#}
+
+src_unpack() {
+ local GPGSRC=${P}.tar.gz.gpg
+ local GPGHOME="${WORKDIR}/.gnupg"
+ local TARSRC=${P}.tar.gz
+
+ # Un-gpg-sign the downloaded archive
+ cp "${DISTDIR}/${GPGSRC}" "${WORKDIR}"
+ cp -r "${FILESDIR}/gpgInfo" "${GPGHOME}"
+ chmod 700 "${GPGHOME}"
+ cd "${WORKDIR}"
+ gpg -q --homedir "${GPGHOME}" ${GPGSRC} || die "GPG validation failed"
+ [ -e ${TARSRC} ] || die "GPG unwrap failed"
+
+ # Unpack the unsigned archive
+ tar -xzf ${TARSRC} || die "Tar unpack failed"
+
+ # Patches
+ cd "${S}"
+ epatch "${FILESDIR}/${P}-local_feed.patch"
+}
+
+src_install() {
+ distutils_src_install
+
+ exeinto "/usr/bin/"
+ doexe "${FILESDIR}/0distutils"
+
+ local BASE_XDG_CONFIG="/etc/xdg/0install.net"
+
+ insinto "${BASE_XDG_CONFIG}/injector"
+ newins "${FILESDIR}/global-${PV}" global
+ dodir "${BASE_XDG_CONFIG}/local_feeds"
+}
+