diff options
author | Jonathan Dieter <jdieter@gmail.com> | 2007-03-29 19:43:26 +0300 |
---|---|---|
committer | Jonathan Dieter <jdieter@gmail.com> | 2007-03-29 19:43:26 +0300 |
commit | 5ea857b0e948b687785b8e55e08866c6171fb715 (patch) | |
tree | b819860880b50d41f31ba627d0261dd64b9667b1 | |
parent | b1147b441a7f4873f39c5ce337d516b2cd1483eb (diff) | |
download | presto-5ea857b0e948b687785b8e55e08866c6171fb715.tar.gz presto-5ea857b0e948b687785b8e55e08866c6171fb715.tar.xz presto-5ea857b0e948b687785b8e55e08866c6171fb715.zip |
Split server and client
Signed-off-by: Jonathan Dieter <jdieter@gmail.com>
-rw-r--r-- | README | 27 | ||||
-rw-r--r-- | createprestorepo/Makefile | 6 | ||||
-rwxr-xr-x | createprestorepo/createprestorepo.py (renamed from makerepo/createprestorepo.py) | 0 | ||||
-rwxr-xr-x | createprestorepo/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/README | 26 | ||||
-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
@@ -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 |