summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Dieter <jdieter@gmail.com>2007-03-29 19:43:26 +0300
committerJonathan Dieter <jdieter@gmail.com>2007-03-29 19:43:26 +0300
commit5ea857b0e948b687785b8e55e08866c6171fb715 (patch)
treeb819860880b50d41f31ba627d0261dd64b9667b1
parentb1147b441a7f4873f39c5ce337d516b2cd1483eb (diff)
downloadpresto-5ea857b0e948b687785b8e55e08866c6171fb715.zip
presto-5ea857b0e948b687785b8e55e08866c6171fb715.tar.gz
presto-5ea857b0e948b687785b8e55e08866c6171fb715.tar.xz
Split server and client
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
-rw-r--r--README27
-rw-r--r--createprestorepo/Makefile6
-rwxr-xr-xcreateprestorepo/createprestorepo.py (renamed from makerepo/createprestorepo.py)0
-rwxr-xr-xcreateprestorepo/dumpMetadata.py (renamed from makerepo/dumpMetadata.py)0
-rw-r--r--createprestorepo/genprestometadata.py (renamed from makerepo/genprestometadata.py)0
-rw-r--r--yum-presto/COPYING (renamed from COPYING)0
-rw-r--r--yum-presto/ChangeLog (renamed from ChangeLog)5
-rw-r--r--yum-presto/Makefile (renamed from Makefile)1
-rw-r--r--yum-presto/README26
-rw-r--r--yum-presto/presto.conf (renamed from presto.conf)0
-rw-r--r--yum-presto/presto.py (renamed from presto.py)2
-rw-r--r--yum-presto/shared/deltarpm.py (renamed from shared/deltarpm.py)0
-rw-r--r--yum-presto/shared/prestoDownload.py (renamed from shared/prestoDownload.py)6
-rw-r--r--yum-presto/shared/prestoLog.py (renamed from shared/prestoLog.py)0
-rw-r--r--yum-presto/shared/prestoRepo.py (renamed from shared/prestoRepo.py)0
-rw-r--r--yum-presto/shared/prestoTransaction.py (renamed from shared/prestoTransaction.py)0
-rw-r--r--yum-presto/shared/prestomdparser.py (renamed from shared/prestomdparser.py)3
17 files changed, 43 insertions, 33 deletions
diff --git a/README b/README
deleted file mode 100644
index e37f369..0000000
--- a/README
+++ /dev/null
@@ -1,27 +0,0 @@
-Presto: A project to add delta rpm support into yum for Fedora users
-https://hosted.fedoraproject.org/projects/presto/wiki/WikiStart
-Most of the code base has been written by Marcel Hild <mhild@redhat.com> as
-up2date/satellite-server delta rpm support. Code adaptation for yum done by
-Ahmed Kamal <email.ahmedkamal@googlemail.com>. Support for storing repository
-information added by Jonathan Dieter <jdieter@gmail.com>
-
-Installation:
-=============
-1- Make sure deltarpm is installed on your system (yum -y install deltarpm)
-2- Place the files in the following locations:
- share-presto => /usr/share/presto/*
- presto.py => /usr/lib/yum-plugins/presto.py
- presto.conf => /etc/yum/pluginconf.d/presto.conf)
-3- Use makerepo/createdeltarepo.py to create a Presto repository on top of a
- normal yum repository.
- NOTE: createdeltarepo.py will NOT change any files created by createrepo
-4- In your repository conf file, set deltaurl to point to your Presto
- repository (in most cases, it will be the same as baseurl).
-5- Now install an old rpm from your repo using rpm, then try updating it using
- yum. The plugin should kick in, try to download the drpm, reconstruct the
- full rpm, and yum should install that
-
-Notes:
-=====
-- The code is in an early stage. Minimal testing has been done.
-
diff --git a/createprestorepo/Makefile b/createprestorepo/Makefile
new file mode 100644
index 0000000..38fbfc6
--- /dev/null
+++ b/createprestorepo/Makefile
@@ -0,0 +1,6 @@
+clean:
+ rm -f *.pyc *.pyo *~
+
+install:
+# mkdir -p $(DESTDIR)/usr/share/createprestorepo
+# install -m 644 presto.py $(DESTDIR)/usr/lib/yum-plugins
diff --git a/makerepo/createprestorepo.py b/createprestorepo/createprestorepo.py
index a217045..a217045 100755
--- a/makerepo/createprestorepo.py
+++ b/createprestorepo/createprestorepo.py
diff --git a/makerepo/dumpMetadata.py b/createprestorepo/dumpMetadata.py
index 2f074da..2f074da 100755
--- a/makerepo/dumpMetadata.py
+++ b/createprestorepo/dumpMetadata.py
diff --git a/makerepo/genprestometadata.py b/createprestorepo/genprestometadata.py
index 402af25..402af25 100644
--- a/makerepo/genprestometadata.py
+++ b/createprestorepo/genprestometadata.py
diff --git a/COPYING b/yum-presto/COPYING
index e77696a..e77696a 100644
--- a/COPYING
+++ b/yum-presto/COPYING
diff --git a/ChangeLog b/yum-presto/ChangeLog
index 624c2d7..7f57c2a 100644
--- a/ChangeLog
+++ b/yum-presto/ChangeLog
@@ -1,3 +1,8 @@
+* Thu Mar 29 2007 Jonathan Dieter <jdieter@gmail.com> - 0.3.1
+ - Minor fix so yum doesn't die when download fails
+ - Minor fix to allow public keys to be imported properly
+ - Update README
+
* Wed Mar 28 2007 Jonathan Dieter <jdieter@gmail.com> - 0.3.0
- Massive changes to downloading structure
- When unable to rebuild drpm, we now download full rpm
diff --git a/Makefile b/yum-presto/Makefile
index 5e1b97b..a335109 100644
--- a/Makefile
+++ b/yum-presto/Makefile
@@ -1,6 +1,5 @@
clean:
rm -f *.pyc *.pyo *~
- cd makerepo; rm -f *.pyc *.pyo *~
cd shared; rm -f *.pyc *.pyo *~
install:
diff --git a/yum-presto/README b/yum-presto/README
new file mode 100644
index 0000000..7fdea95
--- /dev/null
+++ b/yum-presto/README
@@ -0,0 +1,26 @@
+Presto: A project to add delta rpm support into yum for Fedora users
+https://hosted.fedoraproject.org/projects/presto/wiki/WikiStart
+
+Installation:
+=============
+1- Install yum-presto on your system (yum -y install yum-presto)
+2- Now install an old rpm from updates or extras using rpm, then try updating
+ it using yum. The plugin should kick in, try to download the drpm,
+ reconstruct the full rpm, and yum should install that.
+
+Notes:
+======
+Presto will read the deltaurl from two possible locations:
+1. The repository's .repo file ("deltaurl = http://repository.com")
+2. Appended to /etc/yum/pluginconf.d/presto.conf in the form:
+ [repository]
+ deltaurl = http://repository.com
+
+Presto.conf has the following options in [main]:
+keepdeltas=1 Always keep deltas in cache no matter what keepcache
+ is set to.
+neverkeepdeltas=1 Always remove deltas after creating full rpms.
+exitondownloadfailure=0|1 If there is a problem downloading the deltarpm, exit
+ rather than trying to download the full rpm.
+Note: If you specify neither keepdeltas nor neverkeepdeltas, presto will follow
+ the keepcache option in yum.conf.
diff --git a/presto.conf b/yum-presto/presto.conf
index 899a4e2..899a4e2 100644
--- a/presto.conf
+++ b/yum-presto/presto.conf
diff --git a/presto.py b/yum-presto/presto.py
index b270212..e9908ee 100644
--- a/presto.py
+++ b/yum-presto/presto.py
@@ -145,5 +145,5 @@ def posttrans_hook(conduit):
prestoLog.log(conduit, LOG_FILE, rpm_size, drpm_size)
conduit.info(2, "Size of all updates downloaded from Presto-enabled repositories: %i bytes" % drpm_size)
- conduit.info(2, "Size updates would have been downloaded if Presto wasn't enabled: %i bytes" % rpm_size)
+ conduit.info(2, "Size of updates that would have been downloaded if Presto wasn't enabled: %i bytes" % rpm_size)
conduit.info(2, "This is a savings of %i percent" % (100 - ((drpm_size * 100) / rpm_size)))
diff --git a/shared/deltarpm.py b/yum-presto/shared/deltarpm.py
index 710a8bb..710a8bb 100644
--- a/shared/deltarpm.py
+++ b/yum-presto/shared/deltarpm.py
diff --git a/shared/prestoDownload.py b/yum-presto/shared/prestoDownload.py
index 45318ba..340ad1c 100644
--- a/shared/prestoDownload.py
+++ b/yum-presto/shared/prestoDownload.py
@@ -117,6 +117,7 @@ def downloadPkgs(conduit, pkglist):
adderror(po, str(e))
else:
rebuild_pkgs.append(po)
+ po.simple['deltalocalpath'] = deltalocal
if errors.has_key(po):
del errors[po]
@@ -128,7 +129,6 @@ def downloadPkgs(conduit, pkglist):
del po.simple['realpackagesize']
del po.simple['realrelativepath']
del po.simple['reallocalpath']
- po.simple['deltalocalpath'] = deltalocal
# Rebuild rpms from downloaded deltarpms
for po in rebuild_pkgs:
@@ -145,7 +145,9 @@ def downloadPkgs(conduit, pkglist):
pass
else:
# Set package type to local, so yum doesn't try to download it later
- po.pkgtype = "local"
+ # po.pkgtype = "local" # If we set this, we can't auto-install public keys
+ # and yum is smart enough to detect the full rpm and
+ # not redownload it.
# Check to see whether or not we should keep the drpms
# FIXME: Is there any way to see whether or not a Boolean option was not set?
diff --git a/shared/prestoLog.py b/yum-presto/shared/prestoLog.py
index 3c0c1e6..3c0c1e6 100644
--- a/shared/prestoLog.py
+++ b/yum-presto/shared/prestoLog.py
diff --git a/shared/prestoRepo.py b/yum-presto/shared/prestoRepo.py
index 582dc2f..582dc2f 100644
--- a/shared/prestoRepo.py
+++ b/yum-presto/shared/prestoRepo.py
diff --git a/shared/prestoTransaction.py b/yum-presto/shared/prestoTransaction.py
index 3d387a4..3d387a4 100644
--- a/shared/prestoTransaction.py
+++ b/yum-presto/shared/prestoTransaction.py
diff --git a/shared/prestomdparser.py b/yum-presto/shared/prestomdparser.py
index 1713531..9dbcc1d 100644
--- a/shared/prestomdparser.py
+++ b/yum-presto/shared/prestomdparser.py
@@ -1,5 +1,3 @@
-#!/usr/bin/python -t
-#
# author: Jonathan Dieter <jdieter@gmail.com>
#
# mostly taken from mdparser.py (part of yum) with a few minor modifications
@@ -18,6 +16,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Copyright 2005 Duke University
+# Portions copyright 2007 Jonathan Dieter
import gzip
from cElementTree import iterparse