Overview
Deltup allows you to use patches to update your source tarballs
(i.e. distfiles). That way, it reduces dawnload size and time. You
can read more about deltup on its
homepage.
Note: This script is only in alpha stage and I'd like to get your reports, ideas and any kind of feedback.
Using
You need to do following to make your ports system try to use
delta before downloading orignal tarballs:
- Download fetch_delup.sh
and place it somewhere in /usr/local/bin and then chmod +x it.
- # echo "FETCH_CMD=/path/to/fetch_deltup.sh">> /etc/make.conf
- Install wget (ftp/wget) and deltup (sysutils/deltup)
Now you can try to fetch some ports or do something like portupgrade -aF (and report
me about problems).
Known Issues
- Your DISTDIR (usually it's /usr/ports/distfiles) will be poisoned with
files named deltup-queued.X and X.failed. I'll fix it soon.
- Sometimes it generates wrong patters for finding tarballs of the previous version
of the package to be downloaded, e.g. it'll try to fetch delta for updating
zsh-1.2.3-doc.tar.bz2 to zsh-1.2.5.tar.bz2. It's funny, but server has
such kind of deltas, thus, this bug is not unique for my script.
- deltup needs a lot of space on /tmp for patching large tarballs (e.g. firefox).
If you don't have enough space on /tmp, you can use another filesystem by defining
TMPDIR environment variable.
TODO
- Make it possible to remove old tarballs after patching (should be optional)
- Clean up rubbish in $DISTDIR
- Improve handling situation when delta is not avaible
- ? allow users to select ports which should be ignored
Links
May 20, 2005, Roman Bogorodskiy