# Project: Jigdo (Jigsaw download)
# __ _
-# |_) /| Copyright (C) 2001-2003 | richard@
+# |_) /| Copyright (C) 2001-2006 | richard@
# | \/¯| Richard Atterer | atterer.net
# ¯ '` ¯
# this Makefile mostly forwards make commands to the other directories
----------------------------------------------------------------------
-Copyright (C) 2001-2005 | richard@
+Copyright (C) 2001-2006 | richard@
Richard Atterer | atterer.net
This program is free software; you can redistribute it and/or modify
Changelog for Jigsaw Download -*- Text -*-
------------------------------------------------------------------------
-Current CVS version
+jigdo 0.7.3 -- Richard Atterer, 19 May 2006
+
+ - A maintenance release with some bug fixes
+ - Fix for compilation on 64 bit architectures (sigh, as usual...)
+ - Fixes to make the code compile cleanly with GCC 4.1
+
+jigdo 0.7.2 -- Richard Atterer, 12 Jul 2005
- jigdo-file: Added support for bzip2 (de)compression in .template
files, as an alternative to zlib compression. Bzip2 is disabled by
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-pkg-config-prefix=PATH When cross-compiling, specify prefix of
- libraries/headers for target architecture none
+ libraries/headers for target architecture none
--without-libdb Don't use libdb (it's necessary for jigdo-file's cache)
--with-gui Build the jigdo GTK+ GUI application auto
+ --with-libcurl=-lcurl Use given -l switch instead of trying to
+ determine the right one
--with-uint64=TYPE Specify unsigned type of at least 64 bits auto
(Replace spaces with underscores in TYPE)
GLIBLIBS="`pkg-config $jigdo_pkg_config_prefix glib-2.0 $gth --libs 2>/dev/null`"
fi
+echo "$as_me:$LINENO: checking for value of --with-libcurl" >&5
+echo $ECHO_N "checking for value of --with-libcurl... $ECHO_C" >&6
+
+# Check whether --with-libcurl or --without-libcurl was given.
+if test "${with_libcurl+set}" = set; then
+ withval="$with_libcurl"
+ jigdo_libcurl="$withval"
+else
+ jigdo_libcurl="auto"
+fi;
+echo "$as_me:$LINENO: result: \"$jigdo_libcurl\"" >&5
+echo "${ECHO_T}\"$jigdo_libcurl\"" >&6
+if test "$jigdo_libcurl" = "auto" \
+ || test "$jigdo_libcurl" = "yes" \
+ || test "$jigdo_libcurl" = "no"; then
+ jigdo_libcurl=""
+fi
+
if test "$jigdo_gui" = "yes"; then
if test "$is_windows" = "no"; then
echo "$as_me:$LINENO: checking for libcurl 7.11.0 or later" >&5
[1-9][0-9].*|[8-9].*|7.1[1-9]*|7.[2-9][0-9]*)
CURLCFLAGS="`curl-config --cflags 2>/dev/null`"
CURLLIBS="`curl-config --libs 2>/dev/null`"
+ if test -n "$jigdo_libcurl"; then CURLLIBS="$jigdo_libcurl"; fi
;;
*)
echo "$as_me:$LINENO: result: * libcurl not installed, or the installed version" >&5
installDevel "libcurl2" "libcurl2"
esac
else
- echo "$as_me:$LINENO: checking for curl_global_init in -lcurl" >&5
+ if test -n "$jigdo_libcurl"; then
+ have_libcurl="$jigdo_libcurl"
+ else
+ echo "$as_me:$LINENO: checking for curl_global_init in -lcurl" >&5
echo $ECHO_N "checking for curl_global_init in -lcurl... $ECHO_C" >&6
if test "${ac_cv_lib_curl_curl_global_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcurl $LIBS"
+LIBS="-lcurl -lwinmm -lws2_32 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
have_libcurl="no"
fi
- echo "$as_me:$LINENO: checking for curl_global_init in -lcurldll" >&5
-echo $ECHO_N "checking for curl_global_init in -lcurldll... $ECHO_C" >&6
-if test "${ac_cv_lib_curldll_curl_global_init+set}" = set; then
+ echo "$as_me:$LINENO: checking for curl_global_init in -lcurl " >&5
+echo $ECHO_N "checking for curl_global_init in -lcurl ... $ECHO_C" >&6
+if test "${ac_cv_lib_curl__curl_global_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lcurldll $LIBS"
+LIBS="-lcurl -lcurl -lssl -lcrypto -lwinmm -lws2_32 $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
- ac_cv_lib_curldll_curl_global_init=yes
+ ac_cv_lib_curl__curl_global_init=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
-ac_cv_lib_curldll_curl_global_init=no
+ac_cv_lib_curl__curl_global_init=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_curldll_curl_global_init" >&5
-echo "${ECHO_T}$ac_cv_lib_curldll_curl_global_init" >&6
-if test $ac_cv_lib_curldll_curl_global_init = yes; then
- have_libcurl="-lcurldll"
+echo "$as_me:$LINENO: result: $ac_cv_lib_curl__curl_global_init" >&5
+echo "${ECHO_T}$ac_cv_lib_curl__curl_global_init" >&6
+if test $ac_cv_lib_curl__curl_global_init = yes; then
+ have_libcurl="-lcurl"
fi
- echo "$as_me:$LINENO: checking for curl_global_init in -llibcurl" >&5
+ echo "$as_me:$LINENO: checking for curl_global_init in -llibcurl" >&5
echo $ECHO_N "checking for curl_global_init in -llibcurl... $ECHO_C" >&6
if test "${ac_cv_lib_libcurl_curl_global_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
have_libcurl="-llibcurl"
fi
+ echo "$as_me:$LINENO: checking for curl_global_init in -lcurldll" >&5
+echo $ECHO_N "checking for curl_global_init in -lcurldll... $ECHO_C" >&6
+if test "${ac_cv_lib_curldll_curl_global_init+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lcurldll $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+/* Override any gcc2 internal prototype to avoid an error. */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char curl_global_init ();
+int
+main ()
+{
+curl_global_init ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+ (eval $ac_link) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_cxx_werror_flag" || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_lib_curldll_curl_global_init=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_lib_curldll_curl_global_init=no
+fi
+rm -f conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+echo "$as_me:$LINENO: result: $ac_cv_lib_curldll_curl_global_init" >&5
+echo "${ECHO_T}$ac_cv_lib_curldll_curl_global_init" >&6
+if test $ac_cv_lib_curldll_curl_global_init = yes; then
+ have_libcurl="-lcurldll"
+fi
+
+ fi
if test "${ac_cv_header_curl_curl_h+set}" = set; then
echo "$as_me:$LINENO: checking for curl/curl.h" >&5
echo $ECHO_N "checking for curl/curl.h... $ECHO_C" >&6
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
- #include <stdio.h>
+ #include <termio.h>
+ #include <unistd.h>
+ #include <stdio.h>
#include <sys/ioctl.h>
int
main ()
dnl Process this file with autoconf to produce a configure script.
-dnl $Id: configure.ac,v 1.23 2005/07/09 22:21:33 atterer Exp $
+dnl $Id: configure.ac,v 1.25 2006/05/19 16:05:40 atterer Exp $
AC_INIT(src/jigdo-file.cc)
AC_CONFIG_HEADER(src/config.h)
dnl ______________________________________________________________________
AC_MSG_CHECKING(for value of --with-pkg-config-prefix)
AC_ARG_WITH(pkg-config-prefix,
[ --with-pkg-config-prefix=PATH When cross-compiling, specify prefix of
- libraries/headers for target architecture [none]],
+ libraries/headers for target architecture [none]],
jigdo_pkg_config_prefix="$withval", jigdo_pkg_config_prefix="")
if test "$jigdo_pkg_config_prefix" = ""; then
AC_MSG_RESULT(not set)
jigdo_gui_failed
fi
if test "$is_windows" = yes; then gth="gthread-2.0"; else gth=""; fi
+dnl gth="gthread-2.0"
GTKCFLAGS="`pkg-config $jigdo_pkg_config_prefix gtk+-2.0 $gth --cflags 2>/dev/null`"
GTKLIBS="`pkg-config $jigdo_pkg_config_prefix gtk+-2.0 $gth --libs 2>/dev/null`"
GLIBLIBS="`pkg-config $jigdo_pkg_config_prefix glib-2.0 $gth --libs 2>/dev/null`"
fi
dnl ____________________
+AC_MSG_CHECKING(for value of --with-libcurl)
+AC_ARG_WITH(libcurl,
+ [ --with-libcurl=-lcurl Use given -l switch instead of trying to
+ determine the right one],
+ jigdo_libcurl="$withval", jigdo_libcurl="auto")
+AC_MSG_RESULT(\"$jigdo_libcurl\")
+if test "$jigdo_libcurl" = "auto" \
+ || test "$jigdo_libcurl" = "yes" \
+ || test "$jigdo_libcurl" = "no"; then
+ jigdo_libcurl=""
+fi
+
dnl The following adds flags for libcurl
-dnl On Windows, no curl-config is supplied
if test "$jigdo_gui" = "yes"; then
if test "$is_windows" = "no"; then
AC_MSG_CHECKING(for libcurl 7.11.0 or later)
[[1-9][0-9].*|[8-9].*|7.1[1-9]*|7.[2-9][0-9]*])
CURLCFLAGS="`curl-config --cflags 2>/dev/null`"
CURLLIBS="`curl-config --libs 2>/dev/null`"
+ if test -n "$jigdo_libcurl"; then CURLLIBS="$jigdo_libcurl"; fi
;;
*)
AC_MSG_RESULT([ * libcurl not installed, or the installed version])
installDevel "libcurl2" "libcurl2"
esac
else
- AC_CHECK_LIB(curl, curl_global_init, have_libcurl="-lcurl", have_libcurl="no")
- AC_CHECK_LIB(curldll, curl_global_init, have_libcurl="-lcurldll", )
- AC_CHECK_LIB(libcurl, curl_global_init, have_libcurl="-llibcurl", )
+ dnl On Windows, no curl-config is supplied
+ if test -n "$jigdo_libcurl"; then
+ have_libcurl="$jigdo_libcurl"
+ else
+ dnl Just -lcurl will attempt static linking. You will need to specify
+ dnl "make X=-DCURL_STATICLIB" for this to work
+ dnl Will try SSL/non-SSL curl
+ AC_CHECK_LIB(curl, curl_global_init, have_libcurl="-lcurl", have_libcurl="no", -lwinmm -lws2_32)
+ AC_CHECK_LIB(curl , curl_global_init, have_libcurl="-lcurl", , -lcurl -lssl -lcrypto -lwinmm -lws2_32)
+ dnl This will pick up DLLs to link against
+ AC_CHECK_LIB(libcurl, curl_global_init, have_libcurl="-llibcurl",)
+ AC_CHECK_LIB(curldll, curl_global_init, have_libcurl="-lcurldll",)
+ fi
AC_CHECK_HEADER(curl/curl.h, have_curl_h="yes", have_curl_h="no")
if test "$have_libcurl" = "no" -o "$have_curl_h" = "no"; then
AC_MSG_RESULT([ * Please install libcurl 7.11.0 or later, it is])
AC_CACHE_CHECK([for TIOCGWINSZ ioctl],
jigdo_cv_ioctl_winsz,
AC_TRY_COMPILE(
- [ #include <stdio.h>
+ [ #include <termio.h>
+ #include <unistd.h>
+ #include <stdio.h>
#include <sys/ioctl.h>],
[ struct winsize w; int i;
ioctl(fileno(stdout), TIOCGWINSZ, &w);
Section: utils
Priority: extra
Maintainer: Richard Atterer <jigdo.atterer.net>
-Build-Depends: debhelper (>= 4), zlib1g-dev, libbz2-dev, libdb4.3-dev || libdb4.2-dev || libdb4-dev, libgtk2.0-dev, libcurl3-dev || libcurl2-dev
+Build-Depends: debhelper (>= 4), zlib1g-dev, libbz2-dev, libdb4.3-dev | libdb4.2-dev | libdb4-dev, libgtk2.0-dev, libcurl3-dev | libcurl2-dev
Standards-Version: 3.5.6
Package: jigdo
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-# This is the debhelper compatibility version to use.
-export DH_COMPAT=2
-
# Non-standard default goal. This also does enough to allow you to
# compile from CVS just by typing "deb/rules"
build-deb: debian/changelog
incomplete list is: zlib, libbzip2, libcurl + OpenSSL, GTK+.
Tracking down, downloading and installing all the Windows versions of
-these libraries, together with heade files, DLLs etc is quite a bit of
-work. For this reason, I have put together a script which does all
-this work for you.
+these libraries, together with header files, DLLs etc is quite a bit of
+work. For this reason, I have put together a script which does all this
+work for you.
"scripts/win-lib-install.sh" only needs to be given destination
directories for the downloaded .zip files (variable "dl" near the top
<H3><A NAME="AEN5">Peter Jay Salzman</A></H3>
<DIV>
<DIV>
- <P><CODE><<A HREF="mailto:p@dirac.org">p@dirac.org</A
+ <P><CODE><<A HREF="mailto:p@dirac.orgZZZ">p@dirac.orgZZZ</A
>></CODE></P></DIV></DIV>
<P>Copyright © 2001 Peter Jay Salzman</P>
- <P>2005-06-13 ver 1.5a<BR></P>
+ <P>2005-12-05 ver 1.8<BR></P>
<DIV>
<DIV><A NAME="AEN21"></A>
<P><B>Abstract</B></P>
<P>Getting Debian ISOs has always been a painful, slow and supremely
- inefficient process. Jigdo is a new tool for obtaining Debian ISOs
- in an easy, fast and very efficient manner. This HOWTO describes why
- you should use jigdo, a little bit about how it works and how you
- use it to get and update Debian ISOs.</P>
+ inefficient process. Jigdo is a tool for distributing and obtaining
+ Debian ISOs in an easy, fast and very efficient manner. This HOWTO
+ describes why you should use jigdo, a little bit about how it works
+ and how you use it to get and update Debian ISOs.</P>
<P>Jigdo is a very general tool, and isn't tied specifically to
Debian ISOs. The jigdo tools can be used to make any ISO available
for download in the same easy, fast and efficient manner they're
<DL>
<DT>1.1. <A HREF="#AUTHORSHIP">Authorship and Copyright</A></DT>
<DT>1.2. <A HREF="#ACKNOWLEDGEMENTS">Acknowledgements</A></DT>
- <DT>1.3. <A HREF="#AEN46">Comments and Corrections</A></DT>
+ <DT>1.3. <A HREF="#AEN48">Comments and Corrections</A></DT>
<DT>1.4. <A HREF="#VERSION">Latest Version And Translations</A></DT
></DL></DD>
<DT>2. <A HREF="#WHYJIGDO">Why jigdo?</A></DT>
<DD>
<DL>
- <DT>2.1. <A HREF="#AEN88">How Does One Get A Debian ISO Image
+ <DT>2.1. <A HREF="#AEN97">How Does One Get A Debian ISO Image
Set?</A></DT>
<DT>2.2. <A HREF="#WHYNOTDOWNLOADTHEWHOLEISOIMAGE">Why Not Download
The Whole ISO Image?</A></DT>
Image (In 5 Easy Steps)</A></DT>
<DD>
<DL>
- <DT>4.1. <A HREF="#AEN175">Install Jigdo</A></DT>
+ <DT>4.1. <A HREF="#AEN208">Install Jigdo</A></DT>
<DT>4.2. <A HREF="#DOWNLOADTHE.TEMPLATEAND.JIGDOFILES">Download The
.template And .jigdo Files</A></DT>
<DT>4.3. <A HREF="#RUNJIGDO-LITE">Run jigdo-lite</A></DT>
<DT>6. <A HREF="#FAQ">Frequently Asked Questions</A></DT>
<DD>
<DL>
- <DT>6.1. <A HREF="#JIGDOASKSTWICE">Why does jidgo ask <SPAN><I
- >twice</I></SPAN> for scanning for existing files? Is it enough to
- say yes once ?</A></DT>
- <DT>6.2. <A HREF="#PROBLEMFILES">Jigdo Seems To Have Problems
- Downloading Certain Filenames.</A></DT>
+ <DT>6.1. <A HREF="#AEN351">Why does jidgo ask <SPAN><I>twice</I
+ ></SPAN> for scanning for existing files? Is it enough to say yes
+ once ?</A></DT>
+ <DT>6.2. <A HREF="#AEN357">Jigdo Has Problems Downloading Certain
+ Filenames.</A></DT>
<DT>6.3. <A HREF="#USEPROXY">How do I make jigdo use my proxy?</A
></DT>
- <DT>6.4. <A HREF="#AEN330">Jigdo-lite fails with an error - have I
+ <DT>6.4. <A HREF="#AEN384">Jigdo-lite fails with an error - have I
downloaded all those MBs in vain?</A></DT>
<DT>6.5. <A HREF="#DISACKNOWLEDGEMENTS">[11 Aug 2002]: Why aren't
the translations of this HOWTO on LDP?</A></DT>
- <DT>6.6. <A HREF="#AEN365">jigdo takes a bit long to download the
- files because wget keeps disconnecting and then reconnecting to the
- FTP server for each file. Is there a way to make it faster?</A
- ></DT>
- <DT>6.7. <A HREF="#INTERRUPTED">What do I do if my jigdo download
+ <DT>6.6. <A HREF="#INTERRUPTED">What do I do if my jigdo download
gets interrupted?</A></DT>
- <DT>6.8. <A HREF="#AEN372">My jigdo download won't complete because
+ <DT>6.7. <A HREF="#AEN433">My jigdo download won't complete because
the .jigdo file is broken. When I download a new, fixed .jigdo
file, do I need to download all the data over again?</A></DT>
- <DT>6.9. <A HREF="#DVDSIZEDIMAGES">Can I use jigdo to download
+ <DT>6.8. <A HREF="#DVDSIZEDIMAGES">Can I use jigdo to download
images for DVD?</A></DT>
- <DT>6.10. <A HREF="#AEN388">Can I burn the <TT>.iso.tmp</TT> file to
+ <DT>6.9. <A HREF="#AEN450">Can I burn the <TT>.iso.tmp</TT> file to
CD?</A></DT>
- <DT>6.11. <A HREF="#AEN395">Why doesn't jigdo work? It downloads
- some packages and deletes them. I know it doesn't write them to the
- <TT>iso.tmp</TT> file because the file size doesn't change!</A
- ></DT>
- <DT>6.12. <A HREF="#TROUBLEWITHJIGDOEASY">I'm having trouble getting
+ <DT>6.10. <A HREF="#AEN457">Jigdo-lite is broken! It downloads
+ packages and deletes them. I know it doesn't write them to the <TT
+ >iso.tmp</TT> file because the file size doesn't change!</A></DT>
+ <DT>6.11. <A HREF="#TROUBLEWITHJIGDOEASY">I'm having trouble getting
jigdo-easy to work.</A></DT>
- <DT>6.13. <A HREF="#NEEDTOUPGRADE">[10 Feb 2003]: I'm having trouble
- getting jigdo to download Sarge or Sid.</A></DT>
- <DT>6.14. <A HREF="#SCANMULTIPLEIMAGES">For image updates, I want
+ <DT>6.12. <A HREF="#SCANMULTIPLEIMAGES">For image updates, I want
jigdo-lite to scan 14 loop-mounted images in one go. How can I do
this?</A></DT>
- <DT>6.15. <A HREF="#WGETOPTIONS">Jigdo-lite is too verbose. How can
+ <DT>6.13. <A HREF="#WGETOPTIONS">Jigdo-lite is too verbose. How can
I supress some or all of its messages?</A></DT>
- <DT>6.16. <A HREF="#OTHERPLATFORMS">Can I use jigdo on platforms
+ <DT>6.14. <A HREF="#OTHERPLATFORMS">Can I use jigdo on platforms
other than Linux?</A></DT>
- <DT>6.17. <A HREF="#AEN442">On MS Windows, why do I get a "<TT>No
+ <DT>6.15. <A HREF="#AEN500">On MS Windows, why do I get a "<TT>No
such file or directory</TT>" error message?</A></DT>
- <DT>6.18. <A HREF="#AEN448">On MS Windows, why won't my image grow
+ <DT>6.16. <A HREF="#AEN506">On MS Windows, why won't my image grow
larger than 2GB?</A></DT>
- <DT>6.19. <A HREF="#AEN453">On MS Windows, <TT>jigdo-lite.bat</TT>
- fails with an error message saying "sh" was not found.</A></DT
- ></DL></DD>
+ <DT>6.17. <A HREF="#AEN511">On MS Windows, <TT>jigdo-lite.bat</TT>
+ fails with an error message saying "sh" was not found.</A></DT>
+ <DT>6.18. <A HREF="#AEN524">Can I run multiple instances of
+ jigdo-lite to download images in parallel?</A></DT>
+ <DT>6.19. <A HREF="#AEN529">Is there a GUI interface available?</A
+ ></DT></DL></DD>
<DT>7. <A HREF="#ERRATA">Errata</A></DT>
<DD>
<DL>
<DT>7.1. <A HREF="#JIGDO-EASY">jigdo-easy</A></DT>
- <DT>7.2. <A HREF="#AEN473">GUI Interface</A></DT>
+ <DT>7.2. <A HREF="#MORE-ABOUT-SCAN">More About Scan Sources</A></DT
+ >
<DT>7.3. <A HREF="#JIGDO-FILE-CACHE">jigdo-file-cache.db</A></DT>
<DT>7.4. <A HREF="#LINKS">Resources</A></DT></DL></DD></DL></DIV>
<DIV>
<DIV>
<H3><A NAME="AUTHORSHIP">1.1. Authorship and Copyright</A></H3>
<P>This document is copyright (c) 2001 Peter Jay Salzman, <CODE
- ><<A HREF="mailto:p@dirac.org"><A HREF="mailto:p@dirac.org"
- TARGET="_top">p@dirac.org</A></A>></CODE>. Permission is granted
- to copy, distribute and/or modify this document under the terms of
- the Open Software License (OSL), version 1.1, except for the
- provisions I list in the next paragraph. I hate HOWTO's that include
- the license; it's a tree killer. You can read the OSL at <A
- HREF="http://opensource.org/licenses/osl-1.1.txt" TARGET="_top"
+ ><<A HREF="mailto:p@dirac.orgZZZ"><A HREF="mailto:p@dirac.orgZZZ"
+ TARGET="_top">p@dirac.orgZZZ</A></A>></CODE>. Permission is
+ granted to copy, distribute and/or modify this document under the
+ terms of the Open Software License (OSL), version 1.1. I hate HOWTO's
+ that include the license; it's a tree killer. You can read the OSL at
+ <A HREF="http://opensource.org/licenses/osl-1.1.txt" TARGET="_top"
>http://opensource.org/licenses/osl-1.1.txt</A>.</P>
<P>If you want to create a derivative work or publish this HOWTO for
- commercial purposes, I would appreciate it if you contact me first.
- This will give me a chance to give you the most recent version. I'd
- also appreciate either a copy of whatever it is you're doing or a
- spinach, garlic, mushroom, feta cheese and artichoke heart pizza.</P
- ></DIV>
+ commercial purposes, I'd appreciate it if you contact me first. This
+ will give me a chance to give you the most recent version. I'd also
+ appreciate either a copy of whatever it is you're doing or a spinach,
+ garlic, mushroom, feta cheese and artichoke heart pizza.</P></DIV>
<DIV><HR>
<H3><A NAME="ACKNOWLEDGEMENTS">1.2. Acknowledgements</A></H3>
- <P>Originally, I was going to thank the author of jigdo, <A
+ <P>I would like to thank the author of jigdo, <A
HREF="mailto:atterer@debian.org" TARGET="_top">Richard Atterer</A>,
simply for writing jigdo. Anyone who has obtained Debian ISOs by
- other means will know why. However, my thanks needs to go further.
- This HOWTO started out as some webpages I wrote about my experience
- with jigdo. Richard took the time to email me extensive corrections,
- clarifications and answers to questions I had about jigdo. Since
- then, he has read my work many times. Richard is a developer who not
- only cares about his work, but also about the people who use it.
- Sadly, this is becoming less common in this busy world we live in.
- Thanks, Richard!</P>
- <P>I'd also like to thank <A HREF="mailto:cnw@conradwood.net"
- TARGET="_top">Conrad Wood</A>, <A HREF="mailto:mello@ajato.com.br"
- TARGET="_top">Elcio Mello</A>, <A
- HREF="mailto:mramos@montevideo.com.uy" TARGET="_top">Marcelo Ramos</A
- >, <A HREF="mailto:ipzh@163.net" TARGET="_top">Yufeng Wang</A>, and
- <A HREF="mailto:tyamagch@bd.mbn.or.jp" TARGET="_top">Tsukasa
- Yamaguchi</A> for translating this mini-HOWTO. I feel totally honored
- that they have found my words worthy of their time and effort.
- Thanks, guys!</P>
- <P>Lastly, I'd like to thank <A HREF="mailto:mark@panic.et.tudelft.nl"
- TARGET="_top">Mark van Lent</A> for his kind words and much needed
- corrections.</P></DIV>
+ other means will know why. This HOWTO started out as some webpages I
+ wrote about my experience with jigdo. Richard took the time to email
+ me extensive corrections, clarifications and answers to questions I
+ had about jigdo. Since then, he has read my work many times. Richard
+ is a developer who not only cares about his work, but also about the
+ people who use it. Sadly, this is becoming less common in this busy
+ world we live in. Thanks, Richard!</P>
+ <P>I'd also like to thank <A HREF="mailto:cnw@conradwood.netZZZ"
+ TARGET="_top">Conrad Wood</A>, Elcio Mello, <A
+ HREF="mailto:mramos@montevideo.com.uyZZZ" TARGET="_top">Marcelo
+ Ramos</A>, Yufeng Wang, Tsukasa Yamaguchi, <A
+ HREF="mailto:kozlov.y@gmail.comZZZ" TARGET="_top">Yuri Kozlov</A>,
+ and <A HREF="mailto:oguzy@comu.edu.trZZZ" TARGET="_top">Oguz
+ Yarimtepe</A> for translating this mini-HOWTO into languages other
+ than English. I feel totally honored that they have found my words
+ worthy of their time and effort. Thanks, guys!</P>
+ <P>Lastly, I'd like to thank <A
+ HREF="mailto:mark@panic.et.tudelft.nlZZZ" TARGET="_top">Mark van
+ Lent</A>, Gordon Huff, David Anselmi, <A
+ HREF="mailto:thierry.cabuzel@skynet.beZZZ" TARGET="_top">Thierry
+ Cabuzel</A>, <A HREF="mailto:rlharris@hal-pc.orgZZZ" TARGET="_top"
+ >Russell L. Harris</A>, and <A HREF="mailto:tux-master@web.deZZZ"
+ TARGET="_top">Jens Seidel</A> for kind words and corrections.</P
+ ></DIV>
<DIV><HR>
- <H3><A NAME="AEN46">1.3. Comments and Corrections</A></H3>
+ <H3><A NAME="AEN48">1.3. Comments and Corrections</A></H3>
<P>I care a great deal about the people who use this document. Even
mini-HOWTOs take a long time to write, and I wouldn't have invested
so much effort into something people don't understand. If you have
style, don't hesitate to email me. As long as I'm not totally swamped
by my PhD dissertation and the book I'm writing on debugging code
with GDB/DDD for No Starch Press, I'll do my best to respond to each
- email I receive about this mini-HOWTO.</P></DIV>
+ email I receive about this mini-HOWTO. News flash: I've completed my
+ Ph.D.; now I'm swamped with job hunting. Does anyone need to hire a
+ theoretical physicist?</P></DIV>
<DIV><HR>
<H3><A NAME="VERSION">1.4. Latest Version And Translations</A></H3>
<P></P>
<DL>
<DT>German:</DT>
<DD>
- <P>Conrad Wood <CODE><<A HREF="mailto:cnw@conradwood.net"
- >cnw@conradwood.net</A>></CODE>.</P></DD>
+ <P>Conrad Wood <CODE><<A HREF="mailto:cnw@conradwood.netZZZ"
+ >cnw@conradwood.netZZZ</A>></CODE>.</P></DD>
<DT>Portuguese</DT>
<DD>
- <P>Elcio Mello <CODE><<A HREF="mailto:mello@ajato.com.br"
- >mello@ajato.com.br</A>></CODE>.</P></DD>
+ <P>Elcio Mello.</P></DD>
<DT>Spanish</DT>
<DD>
<P>Marcelo Ramos <CODE><<A
- HREF="mailto:mramos@montevideo.com.uy"
- >mramos@montevideo.com.uy</A>></CODE>.</P></DD>
+ HREF="mailto:mramos@montevideo.com.uyZZZ"
+ >mramos@montevideo.com.uyZZZ</A>></CODE>.</P></DD>
<DT>Chinese</DT>
<DD>
- <P>Yufeng Wang <CODE><<A HREF="mailto:ipzh@163.net"
- >ipzh@163.net</A>></CODE>. Available at <A
- HREF="http://www.wangyf.com/linux/debian-jigdo-mini-howto.html"
- TARGET="_top"
- >http://www.wangyf.com/linux/debian-jigdo-mini-howto.html</A>.</P
- ></DD>
+ <P>Yufeng Wang</P></DD>
<DT>Japanese</DT>
<DD>
- <P>Tsukasa Yamaguchi <CODE><<A
- HREF="mailto:tyamagch@bd.mbn.or.jp">tyamagch@bd.mbn.or.jp</A
- >></CODE>. Available at <A
+ <P>Tsukasa Yamaguchi. Available at <A
HREF="http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo" TARGET="_top"
- >http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo</A>.</P></DD></DL
- ></DIV>
- <P>The English version and all its translations are available at my
- website: <A HREF="http://www.dirac.org/linux/debian/jigdo"
- TARGET="_top">http://www.dirac.org/linux/debian/jigdo</A>. If you'd
- like to translate this mini-HOWTO to another language, please contact
- me at <CODE><<A HREF="mailto:p@dirac.org"><A
- HREF="mailto:p@dirac.org" TARGET="_top">p@dirac.org</A></A
+ >http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo</A>.</P></DD>
+ <DT>Russian</DT>
+ <DD>
+ <P>Yuri Kozlov <CODE><<A HREF="mailto:kozlov.y@gmail.comZZZ"
+ >kozlov.y@gmail.comZZZ</A>></CODE>. Available at <A
+ HREF="http://alioth.debian.org/project/showfiles.php?group_id=30279"
+ TARGET="_top"
+ >http://alioth.debian.org/project/showfiles.php?group_id=30279</A
+ >.</P></DD>
+ <DT>Turkish</DT>
+ <DD>
+ <P>Oguz Yarimtepe <CODE><<A HREF="mailto:oguzy@comu.edu.trZZZ"
+ >oguzy@comu.edu.trZZZ</A>></CODE>. Available at <A
+ HREF="http://docs.comu.edu.tr/howto/debian-jidgo.html"
+ TARGET="_top">http://docs.comu.edu.tr/howto/debian-jigdo.html</A
+ >.</P></DD></DL></DIV>
+ <P>In addition to the URLs given above, all the translations (as well
+ as the English version) are available at my website: <A
+ HREF="http://www.dirac.org/linux/debian/jigdo" TARGET="_top"
+ >http://www.dirac.org/linux/debian/jigdo</A>. If you'd like to
+ translate this mini-HOWTO to another language, please contact me at
+ <CODE><<A HREF="mailto:p@dirac.orgZZZ"><A
+ HREF="mailto:p@dirac.orgZZZ" TARGET="_top">p@dirac.orgZZZ</A></A
>></CODE>.</P>
- <P>The stable English version can be found at The Linux Documentation
- Project: <A HREF="http://tldp.org/docs.html" TARGET="_top"
- >http://tldp.org/docs.html</A> in the mini-HOWTO section. If you want
- to see the work in progress, you can get the "bleeding edge" version
- from <A HREF="http://www.dirac.org/linux/debian/jigdo" TARGET="_top"
- >http://www.dirac.org/linux/debian/jigdo</A>.</P></DIV></DIV>
+ <P>The English version of this HOWTO can also be found at The Linux
+ Documentation Project: <A HREF="http://tldp.org/docs.html"
+ TARGET="_top">http://tldp.org/docs.html</A>.</P></DIV></DIV>
<DIV><HR>
<H2><A NAME="WHYJIGDO">2. Why jigdo?</A></H2>
<DIV>
- <H3><A NAME="AEN88">2.1. How Does One Get A Debian ISO Image Set?</A
+ <H3><A NAME="AEN97">2.1. How Does One Get A Debian ISO Image Set?</A
></H3>
- <P>If you want your own set of Debian CDs there are many ways of
- getting them. One way is to buy them from <A
+ <P>If you want a set of Debian CDs there are many ways of getting
+ them. One way is to buy them from <A
HREF="http://www.debian.org/CD/vendors/" TARGET="_top">vendors</A>
who sell Debian CDs. This definitely has merit since some of the
vendors donate money back to the Debian project. Your donations help
method of downloading ISO images.</P>
<P>A common misconception is that jigdo creates ISO images; it
doesn't. Let's discuss the overall process of how jigdo allows you to
- obtain an ISO image. Let Adam be the person offering the ISO image
- (perhaps he's the Debian release manager). Let Betty be the person
- who wants to download the ISO image (perhaps she's a Debian user).
- <P></P><OL TYPE="1"><LI>
- <P>The first step is that Adam creates an ISO image suitable for
- burning a CD. He might use a utility like <SPAN>mkisofs</SPAN> or
- <SPAN>debian-cd</SPAN> to create the ISO image. He also creates two
- files associated with his newly created ISO image: a <TT>.jigdo</TT
- > file and a <TT>.template</TT> file. He makes these two files
- available for download to anyone who wants to obtain his ISO
- image.</P></LI><LI>
- <P>The second step is that Betty downloads the <TT>.jigdo</TT> and
- <TT>.template</TT> files. She then uses jigdo-lite along with these
- two files to download Adam's ISO image.</P></LI></OL> </P>
- <P>The jigdo tool comes with two utilities: jigdo-file and jigdo-lite.
- Jigdo-file is used by Adam to create the .template and .jigdo files
- from the ISO image he wants to offer. Jigdo-lite is used by Betty to
- download the image using the <TT>.jigdo</TT> and <TT>.template</TT>
- files. If all you want to do is download Debian ISOs, you'll only be
- using jigdo-lite. You can forget that jigdo-file even exists.
- :-)</P>
+ obtain an ISO image. Let Adam (a Debian release manager) be the
+ person offering the ISO image. Let Betty (a Debian user) be the
+ person who wants to download the ISO image.</P>
+ <P></P><OL TYPE="1"><LI>
+ <P>Adam first creates an ISO image suitable for burning a CD. He might
+ use a utility like <SPAN>mkisofs</SPAN> or <SPAN>debian-cd</SPAN> to
+ create the ISO image. He also creates two small files associated with
+ his newly created image: a <TT>.jigdo</TT> file and a <TT
+ >.template</TT> file. He makes these two files available for download
+ to anyone who wants to obtain his ISO image.</P></LI><LI>
+ <P>Betty then downloads the <TT>.jigdo</TT> and <TT>.template</TT>
+ files. She uses <SPAN>jigdo-lite</SPAN> along with these two files to
+ download Adam's ISO image.</P></LI><LI>
+ <P>When Debian gets updated, Adam creates a new version of the ISO and
+ generates new <TT>.jigdo</TT> and <TT>.template</TT> files.</P></LI
+ ><LI>
+ <P>When Betty wants to update her CDs, she downloads the new <TT
+ >.jigdo</TT> and <TT>.template</TT> files and uses them with <SPAN
+ >jigdo-light</SPAN> to update her copy of the ISO images. The
+ important thing here is that she only downloads the differences
+ between her old ISO and Adam's new ISO. She does not have to
+ re-download the parts that are unchanged.</P></LI></OL>
+ <P>Jigdo comes with two utilities: <SPAN>jigdo-file</SPAN> (used by
+ Adam) which creates the <TT>.jigdo</TT> and <TT>.template</TT> files,
+ and <SPAN>jigdo-lite</SPAN> (used by Betty) which uses these two
+ files to download or update the ISO. If all you want to do is
+ obtain/update Debian ISOs, you'll only use <SPAN>jigdo-lite</SPAN>.
+ You can forget that jigdo-file even exists. :-)</P>
<P>Jigdo addresses all the problems with the other methods of
obtaining Debian ISO images:</P>
<P></P><UL><LI>
images.</P></DIV></DIV>
<DIV><HR>
<H2><A NAME="HOWJIGDOWORKS">3. How Jigdo Works (optional)</A></H2>
- <P>You don't need to know this material to use jigdo, but it may help
- demystify what jigdo does. If you're not interested in the details,
- simply fast forward to <A HREF="#DOWNLOADINGYOURFIRSTIMAGE">Section
- 4</A>, "How Do I Use Jigdo".</P>
+ <P>You don't need to know this material to download Debian ISOs, but it
+ may help demystify how jigdo works. If you're not interested in the
+ details, simply fast forward to <A HREF="#DOWNLOADINGYOURFIRSTIMAGE"
+ >Section 4</A>, "How Do I Use Jigdo".</P>
<DIV><HR>
<H3><A NAME="PREPARINGTHEISOFORDOWNLOAD">3.1. Preparing The ISO For
Download</A></H3>
</PRE>
<P>The "x" areas of the image contain things like directory
information, zero padding, disk name, boot block, etc.</P>
- <P>jigdo-file takes two things as input: the complete CD image (so the
- ISO already needs to have been made) and a set of files which may or
- may not be in the image. Here's a visualization of jigdo-file's
- input:</P><PRE> --------------------------------------------------------
+ <P><SPAN>jigdo-file</SPAN> takes two things as input: the complete CD
+ image (so the ISO already needs to have been made) and a set of files
+ which may or may not be in the image. Here's a visualization of
+ jigdo-file's input:</P><PRE> --------------------------------------------------------
ISO Image: |xxxx| file-0 |xx| file-1 |xxx| file-2 |x| file-3 |xxxx|
--------------------------------------------------------
<H3><A NAME="THE.TEMPLATEFILE">3.2. The .template File</A></H3>
<P>Given an input of an ISO image and a set of files which may or may
not be in the ISO image, jigdo-file outputs a .template file for that
- ISO image. Here's what the .template file looks like:</P><PRE> --------------------------------------------------------
+ ISO image. Here's what the <TT>.template</TT> file looks like:</P><PRE> --------------------------------------------------------
.template: |xxxx| md5-0 |xx| md5-1 |xxx|cccccccc|x| md5-3 |xxxx|
--------------------------------------------------------
</PRE>
loose files (like <TT>file-2</TT>) are also compressed and written to
the .template file. This is shown as "<TT>c</TT>" data in the
.template file visualization.</P>
- <P>Loose files which were supplied to jigdo-file that aren't found in
- the ISO image (like <TT>file-4</TT>) are ignored.</P></DIV>
+ <P>Loose files which were supplied to <SPAN>jigdo-file</SPAN> that
+ aren't found in the ISO image (like <TT>file-4</TT>) are ignored.</P
+ ></DIV>
<DIV><HR>
<H3><A NAME="THE.JIGDOFILE">3.3. The .jigdo File</A></H3>
<P>Given an input of an ISO image and a set of loose files which may
</PRE>
<P>The .jigdo file simply provides a mapping between the md5sum of a
file within the ISO image and the download URL of that file. There
- are some other things within the .jigdo file, and if you look through
- it, you'll see the .jigdo file has the same format as a ".ini" file.
- It should be self explanatory, but if you want the nitty-gritty
- details, see the jigdo documentation.</P>
+ are some other things within the <TT>.jigdo</TT> file, and if you
+ look through it, you'll see the <TT>.jigdo</TT> file has the same
+ format as a ".ini" file. It should be self explanatory, but if you
+ want the nitty-gritty details, see the jigdo documentation.</P>
<P>The format shown above is not quite what you'd see in a typical
.jigdo file, but it's very similar. If you look at the [Servers]
section at the bottom of the .jigdo file, you'll see exactly what the
- difference is between what I showed above and an actual .jigdo
- file.</P></DIV>
+ difference is between what I showed above and an actual <TT
+ >.jigdo</TT> file.</P></DIV>
<DIV><HR>
<H3><A NAME="DOWNLOADINGTHEIMAGE">3.4. Downloading The Image</A></H3>
- <P>Once you use jigdo-file to generate a .jigdo and .template file for
- an ISO image, anyone can use jigdo-lite to download that image.
- jigdo-lite downloads all the files of a Debian ISO using wget,
- assembles them and forms a copy of the original ISO image on the
- fly.</P></DIV></DIV>
+ <P>Once you use <SPAN>jigdo-file</SPAN> to generate a <TT>.jigdo</TT>
+ and .<TT>template</TT> file for an ISO image, anyone can use <SPAN
+ >jigdo-lite</SPAN> to download that image. jigdo-lite downloads all
+ the files of a Debian ISO using <SPAN>wget</SPAN>, assembles them and
+ forms a copy of the original ISO image on the fly.</P></DIV></DIV>
<DIV><HR>
<H2><A NAME="DOWNLOADINGYOURFIRSTIMAGE">4. Downloading Your First Image
(In 5 Easy Steps)</A></H2>
jigdo-lite later to update them. We'll cover updating your ISOs in the
next section.</P>
<DIV><HR>
- <H3><A NAME="AEN175">4.1. Install Jigdo</A></H3>
+ <H3><A NAME="AEN208">4.1. Install Jigdo</A></H3>
<P>First install the jigdo-file package:</P><PRE> # apt-get install jigdo-file
- </PRE>
+ </PRE>
<P>Jigdo is under aggressive development. Bug fixes and enhancements
are constant, so if you're using stable or testing, download
jigdo-file from unstable at <A
HREF="http://packages.debian.org/unstable/utils/jigdo-file.html"
TARGET="_top"
>http://packages.debian.org/unstable/utils/jigdo-file.html</A>. As of
- 08 Feb 2003 it's at >version 0.6.9. This is the version used for
- the examples of this HOWTO.</P>
- <P>Note to Woody users: The version of jigdo-lite which comes with
- Woody (rev 1) is not capable of downloading Sarge or Sid. See <A
- HREF="#NEEDTOUPGRADE">Section 6.13</A>. A bugfixed version of jigdo
- 0.6.5 was submitted for the future release of r2.</P></DIV>
+ 28 Nov 2005 it's at version 0.7.2-2.</P></DIV>
<DIV><HR>
<H3><A NAME="DOWNLOADTHE.TEMPLATEAND.JIGDOFILES">4.2. Download The
.template And .jigdo Files</A></H3>
>sarge-i386-1.template</TT> respectively.</P></DIV>
<DIV><HR>
<H3><A NAME="RUNJIGDO-LITE">4.3. Run jigdo-lite</A></H3>
- <P>Run jigdo-lite and give it the .jigdo file of the image you want to
- download. Using Woody as an example:</P><PRE> lucifer$ ls
+ <P>Run <SPAN>jigdo-lite</SPAN> and give it the <TT>.jigdo</TT> file of
+ the image you want to download. Using Sarge as an example:</P><PRE> lucifer$ ls
sarge-i386-1.jigdo sarge-i386-1.template
lucifer$ jigdo-lite sarge-i386-1.jigdo
(e.g. `/mnt/cdrom').
Alternatively, just press enter if you want to start downloading
the remaining files.
- Files to scan:
- </PRE>
- <P>If you suspended jigdo-lite with cntrl-z (don't do this; I'll tell
- you what you'd see) and looked at the output of <B>ls</B>, you'd find
- a new file in the directory named <TT
- >sarge-i386-1.jigdo.unpacked</TT>. It turns out that .jigdo files are
- gzip'ed. This file is simply a gunzip'ed version of the .jigdo
- file.</P>
- <P>Right now, jigdo-lite is telling us that if we have an outdated
- version of first CD of sarge, we should give the pathname to the CD.
- This is how you update your ISO images (or complete your incomplete
- downloads). Since we're assuming that you're starting from scratch
- and have no Debian ISOs yet, we have nothing to scan. We'll cover
- this in <A HREF="#UPDATINGYOURIMAGE">Section 5</A>, so just press <B
- >ENTER</B>.</P></DIV>
+ Files to scan:
+ </PRE>
+ <P>If you suspended <SPAN>jigdo-lite</SPAN> with <B>control</B>+<B
+ >z</B> (don't do this; I'll tell you what you'd see) and looked at
+ the output of <B>ls</B>, you'd find a new file in the directory named
+ <TT>sarge-i386-1.jigdo.unpacked</TT>. It turns out that .jigdo files
+ are gzip'ed. This file is simply a gunzip'ed version of the <TT
+ >.jigdo</TT> file.</P>
+ <P>Right now, <SPAN>jigdo-lite</SPAN> is telling us that if we have an
+ outdated version of first CD of sarge, we should give the pathname to
+ the CD. This is how you update your ISO images (or complete your
+ incomplete downloads). Since we're assuming that you're starting from
+ scratch and have no Debian ISOs yet, we have nothing to scan. We'll
+ cover this in <A HREF="#UPDATINGYOURIMAGE">Section 5</A>, so just
+ press <B>ENTER</B>.</P>
+ <P>See also <A HREF="#MORE-ABOUT-SCAN">Section 7.2</A>, "More About
+ Scan Sources".</P></DIV>
<DIV><HR>
<H3><A NAME="SPECIFYAMIRROR">4.4. Specify A Mirror</A></H3>
<P>You'll see:</P><PRE> -----------------------------------------------------------------
States', or a server name like `sunsite'.
Debian mirror [http://linux.csua.berkeley.edu/debian/]:
</PRE>
- <P>jigdo-lite is smart enough to use the mirror that you use for your
- Debian updates (you may have noticed that jigdo-lite was peeking at
- <TT>/etc/apt/sources.list</TT> in the last screen capture) by pulling
- it from <TT>/etc/apt/sources.list</TT>. If you wanted to use a
- different mirror, you would specify a different mirror here by
- following the instructions. If this is the mirror you want to use,
- press <B>ENTER</B>. Jigdo-lite will then write a <TT
- >~/.jigdo-lite</TT> file in your home directory.</P>
- <P>Next, if the .jigdo file you're using references a package which
- needs to be downloaded from a Non-US server, jigdo-lite will prompt
- you for a Debian Non-US mirror. The message displayed (and your
- response) will be very similar to the mirror dialog in the previous
- paragraph (for the non-non-US mirror. (-: ).</P><PRE> -----------------------------------------------------------------
+ <P>By default, <SPAN>jigdo-lite</SPAN> pulls the mirror from your <TT
+ >/etc/apt/sources.list</TT>. If you want to use a different mirror,
+ you would specify a different mirror here. If this is the mirror you
+ want to use, press <B>ENTER</B>. Jigdo-lite will then write a <TT
+ >.jigdo-lite</TT> file in your home directory.</P>
+ <P>Next, if the <TT>.jigdo</TT> file you're using references a package
+ which needs to be downloaded from a Non-US server, <SPAN
+ >jigdo-lite</SPAN> will prompt you for a Debian Non-US mirror. The
+ message displayed (and your response) will be very similar to the
+ mirror dialog in the previous paragraph.</P><PRE> -----------------------------------------------------------------
The jigdo file also refers to the Non-US section of the Debian
archive. Please repeat the mirror selection for Non-US. Do not
simply copy the URL you entered above; this does not work because
However, if the image you're about to download doesn't contain Non-US
software you won't see this dialog.</P>
<P>If you want to change the default mirrors you use with jigdo at any
- time in the future, you can modify these two lines:</P><PRE> debianMirror='http://some-mirror-to-use/debian/'
+ time in the future, you can modify these two lines in <TT
+ >~/.jigdo-lite</TT>:</P><PRE> debianMirror='http://some-mirror-to-use/debian/'
nonusMirror='http://some-other-mirror/debian-non-US/'
- </PRE>
- <P>in <TT>~/.jigdo-lite</TT>.</P></DIV>
+ </PRE></DIV>
<DIV><HR>
<H3><A NAME="DOWNLOADINGOFTHEISO">4.5. Downloading Of The ISO</A></H3
>
- <P>After you specify the mirror(s), jigdo-lite will begin downloading
- files to assemble the ISO image:</P><PRE> Not downloading .template file - `sarge-i386-1.template' already present
+ <P>After you specify the mirror(s), <SPAN>jigdo-lite</SPAN> will begin
+ downloading files to assemble the ISO image:</P><PRE> Not downloading .template file - `sarge-i386-1.template' already present
-----------------------------------------------------------------
Merging parts from `file:' URIs, if any...
19% [======> ] 378,304 149.87K/s ETA 00:09
</PRE>
<P>There'll be a lot of messages flying across your screen; if this is
- confusing to you, see <A HREF="#WGETOPTIONS">Section 6.15</A>. While
+ confusing to you, see <A HREF="#WGETOPTIONS">Section 6.13</A>. While
jigdo-lite is downloading the packages, switch to another console (or
open another xterm) and do an <B>ls</B> in the directory you're
running jigdo-lite in. Now there should be 6 files in the
<P><TT>sarge-i386-1.jigdo.unpacked</TT></P></LI><LI>
<P><TT>sarge-i386-1.template</TT></P></LI></UL>
<P>The <TT>sarge-i386-1.iso.tmpdir/</TT> directory contains all the
- Debian packages that jigdo downloads. Every so often, the directory
- gets flushed and the files get written to <TT
+ Debian packages that <SPAN>jigdo-lite</SPAN> downloads. Every so
+ often, the directory gets flushed and the files get written to <TT
>sarge-i386-1.iso.tmp</TT>, which is an temporarily incomplete
version of the ISO image you want. Note that <TT
>sarge-i386-1.iso.tmp</TT> won't appear until the first time <TT
put it in your CD drive and mount it:</P><PRE> $ mount /cdrom
</PRE>
<P>On the other hand, if you have an ISO file you'd like to update,
- mount it as a loop device (you may need to be root to do this). I'll
- be updating my Woody image, since I noticed that Woody just got a few
- security updates:</P><PRE> # mount -o loop woody-i386-1.iso /mnt
+ mount it as a loop device (you may need to be root to do this). Using
+ Woody as an example:</P><PRE> # mount -o loop woody-i386-1.iso /mnt
</PRE>
- <P>Now run jigdo-lite with the .jigdo file as an argument.</P><PRE> $ jigdo-lite woody-i386-1.jigdo
+ <P>Now run <SPAN>jigdo-lite</SPAN> with the <TT>.jigdo</TT> file as an
+ argument.</P><PRE> $ jigdo-lite woody-i386-1.jigdo
-----------------------------------------------------------------
Jigsaw Download "lite"
using the ISO file). I'm using an ISO file loop mounted on <TT
>/mnt</TT>, so I'll enter <TT>/mnt</TT>. If you're updating a CD,
enter the mount directory of your CD, which is most likely <TT
- >/cdrom</TT>. In either case, jigdo-lite will scan the directory of
- your mounted media, determine which files need updating and re-use the
- files which don't need updating. You may see something like:</P><PRE> Files to scan: /mnt/other
+ >/cdrom</TT>. In either case, <SPAN>jigdo-lite</SPAN> will scan the
+ directory of your mounted media, determine which files need updating
+ and re-use the files which don't need updating. See also <A
+ HREF="#MORE-ABOUT-SCAN">Section 7.2</A>, "More About Scan Sources".</P
+ >
+ <P>You may see something like:</P><PRE> Files to scan: /mnt/other
Not downloading .template file - `woody-i386-1.template' already present
jigdo-file: Output file `debian-30r0-i386-binary-1.iso' already exists - delete
outdated image). Jigdo-lite doesn't want to destroy that file, so it
bails and lets me know that I can either delete that file or use <TT
>--force</TT> to overwrite the file. You could also rename or move the
- file too, but I guess jigdo-lite assumes we already know this.
- :-)</P>
+ file too, but I guess <SPAN>jigdo-lite</SPAN> assumes we already know
+ this. :-)</P>
<P>Don't be timid about moving or renaming the image file just because
it's loop mounted. The filesystem uses inodes under the hood, and even
if you move or rename the file, the inode stays the same. You won't
></SPAN> umount the loop device. All you people who are updating the
CD don't have to worry about any of this. :-)</P>
<P>I'll rename the ISO file to <TT>woody-i386-1.iso.old</TT> and run
- jigdo-lite again. Let's try again:</P><PRE> $ jigdo-lite woody-i386-1.jigdo
+ <SPAN>jigdo-lite</SPAN> again. Let's try again:</P><PRE> $ jigdo-lite woody-i386-1.jigdo
-----------------------------------------------------------------
Jigsaw Download "lite"
the directory again.</P>
<P>The ellipsis represent some text that changes rapidly. The first
ellipsis is a dynamic list of what files jigdo-lite is scanning. The
- second ellipses deonotes progress in writing <TT
+ second ellipses denotes progress in writing <TT
>woody-i386-1.iso.tmp</TT>. Once jigdo-lite finishes scanning the
files and writing the temporary ISO file, it prints:</P><PRE> Copied input files to temporary file `woody-i386-1.iso.tmp'
- repeat command and supply more files to continue
Files to scan:
</PRE>
<P>Since you normally don't have another source of files to scan other
- than your loop mounted ISO file (or your CD), press <ENTER>.
+ than your loop mounted ISO file (or your CD), press <B>ENTER</B>.
Jigdo-lite will then ask you about which mirrors you want to use, just
like it did when you downloaded your ISO for the first time. You've
already answered these questions before, but if you truly don't
remember, you might want to re-read <A HREF="#SPECIFYAMIRROR">Section
4.4</A>.</P>
- <P>At this point, you'll see jigdo-lite working its magic. Now wasn't
- that easy?</P></DIV>
+ <P>At this point, you'll see <SPAN>jigdo-lite</SPAN> working its magic.
+ Now wasn't that easy?</P></DIV>
<DIV><HR>
<H2><A NAME="FAQ">6. Frequently Asked Questions</A></H2>
<P>Questions prepended with a date indicate a time sensitive question
(a question that relates to a temporary situation). If you see one of
these questions and know that the temporary situation has changed,
- please <A HREF="mailto:p@dirac.org" TARGET="_top">contact me</A> and
- let me know so I can remove the question from the mini-HOWTO.</P>
+ please <A HREF="mailto:p@dirac.orgZZZ" TARGET="_top">contact me</A>
+ and let me know so I can remove the question from the mini-HOWTO.</P>
<DIV><HR>
- <H3><A NAME="JIGDOASKSTWICE">6.1. Why does jidgo ask <SPAN><I
- >twice</I></SPAN> for scanning for existing files? Is it enough to
- say yes once ?</A></H3>
+ <H3><A NAME="AEN351">6.1. Why does jidgo ask <SPAN><I>twice</I></SPAN
+ > for scanning for existing files? Is it enough to say yes once ?</A
+ ></H3>
<P>It keeps asking this as long as you enter a path to scan. The idea
is that you may want to scan several old CDs, so you can insert one
after the other into the drive and keep supplying the path "<TT
- >D:\</TT>" (or whatever). </P></DIV>
+ >D:\</TT>" (or whatever). See also <A HREF="#MORE-ABOUT-SCAN"
+ >Section 7.2</A>, "More About Scan Sources".</P></DIV>
<DIV><HR>
- <H3><A NAME="PROBLEMFILES">6.2. Jigdo Seems To Have Problems
- Downloading Certain Filenames.</A></H3>
+ <H3><A NAME="AEN357">6.2. Jigdo Has Problems Downloading Certain
+ Filenames.</A></H3>
<P>When downloading Debian images under Windows, jigdo-lite may appear
to have trouble downloading one or more of the following files:</P><PRE> libbusiness-onlinepayment-bankofamerica-perl_xxx_all.deb
libbusiness-onlinepayment-authorizenet-perl_xxx_all.deb
<DIV><HR>
<H3><A NAME="USEPROXY">6.3. How do I make jigdo use my proxy?</A></H3
>
- <P>Load the file <TT>~/.jigdo-lite</TT> (or <TT
- >jigdo-lite-settings.txt</TT> for the Microsoft Windows version) into
- a text editor and find the line that starts with "<TT>wgetOpts</TT
- >". The following switches can be added to the line:</P><PRE> -e ftp_proxy=http://LOCAL-PROXY:PORT/
+ <P>Edit <TT>~/.jigdo-lite</TT> (or <TT>jigdo-lite-settings.txt</TT>
+ for the Microsoft Windows version) into a text editor and find the
+ line that starts with "<TT>wgetOpts</TT>". The following switches can
+ be added to that line:</P><PRE> -e ftp_proxy=http://LOCAL-PROXY:PORT/
-e http_proxy=http://LOCAL-PROXY:PORT/
--proxy-user=USER
--proxy-passwd=PASSWORD
for example in the file <TT>/etc/environment</TT> or <TT
>~/.bashrc</TT>.</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN330">6.4. Jigdo-lite fails with an error - have I
+ <H3><A NAME="AEN384">6.4. Jigdo-lite fails with an error - have I
downloaded all those MBs in vain?</A></H3>
- <P>Of course this Should Not Happen(tm), but for various reasons you
- may end up in a state where a large "<TT>.iso.tmp</TT>" file has
- already been generated and jigdo-lite appears to have problems,
- telling you repeatedly to try restarting the download. There are
- several possible things to try in this case:</P>
+ <P>If <SPAN>jigdo-file</SPAN> aborts after downloading a considerable
+ chunk of the ISO contents, you'll have a large "<TT>.iso.tmp</TT>"
+ file. There are several things to try to salvage your download:</P>
<P></P><UL><LI>
- <P>Simply restart the download by pressing <B>Return</B>. Maybe some
- of the files could not be downloaded because of timeouts or other
- transient errors -- another attempt will be made to download any
- missing files.</P></LI><LI>
+ <P>Restart the download by pressing <B>RETURN</B>. Maybe some of the
+ files could not be downloaded because of timeouts or other transient
+ errors. Try to download the missing files again.</P></LI><LI>
<P>Try a different mirror. Some Debian mirrors are slightly out of
sync -- maybe a different mirror still holds files that were deleted
from the one you specified, or it has already been updated with files
- that are not yet present on your mirror.</P></LI><LI>
+ that are not yet present on your mirror. This has happened quite a
+ few times with me.</P></LI><LI>
<P>Retrieve the missing parts of the image using <A
HREF="http://rsync.samba.org" TARGET="_top">rsync</A>. First, you
need to find out the correct rsync URL of the image you are
may want to use rsync's <TT>--verbose</TT> and <TT>--progress</TT>
switches to get status messages, and <TT>--block-size=8192</TT> to
increase its speed.</P></LI><LI>
- <P>If all else fails, your downloaded data is still not lost. Under
- Linux, you can loop-mount the <TT>.tmp</TT> file to access the
- packages that were already downloaded, and reuse them for generating
- an image from a newer jigdo file (such as the latest daily testing
- snapshot if your failed download was also a testing snapshot). To do
- this, first issue the following commands as root in the directory
- with the broken download: <B>mkdir mnt; mount -t iso9660 -o loop
- *.tmp mnt</B>. Next, start a new download in a different directory,
- and enter the path of the mnt directory at the "Files to scan"
- prompt.</P></LI></UL></DIV>
+ <P>Under Linux, you can loop-mount the <TT>.tmp</TT> file to access
+ the packages that were already downloaded, and reuse them for
+ generating an image from a newer .jigdo file. To do this, first issue
+ the following commands as root in the directory with the broken
+ download: <B>mkdir mnt; mount -t iso9660 -o loop *.tmp mnt</B>. Next,
+ start a new download in a different directory, and enter the path of
+ the mnt directory at the "Files to scan" prompt.</P>
+ <P>Under Microsoft Windows you can do the same thing by loop mounting
+ the temporary ISO image using "virtual drive" software. <SPAN><A
+ HREF="http://www.daemon-tools.cc" TARGET="_top">Daemon tools</A
+ ></SPAN> and <SPAN>Nero Image Drive</SPAN> are both very popular. See
+ also <A HREF="http://tinyurl.com/c39zr" TARGET="_top"
+ >http://tinyurl.com/c39zr</A> for more options.</P></LI></UL></DIV>
<DIV><HR>
<H3><A NAME="DISACKNOWLEDGEMENTS">6.5. [11 Aug 2002]: Why aren't the
translations of this HOWTO on LDP?</A></H3>
responsible about accepting translated documents. For the time being,
you can download these translations from my personal website, <A
HREF="http://www.dirac.org/linux/debian/jigdo" TARGET="_top"
- >http://www.dirac.org/linux/debian/jigdo</A>.</P></DIV>
- <DIV><HR>
- <H3><A NAME="AEN365">6.6. jigdo takes a bit long to download the files
- because wget keeps disconnecting and then reconnecting to the FTP
- server for each file. Is there a way to make it faster?</A></H3>
- <P>The download speed can be increased by using an HTTP instead of an
- FTP server - FTP is not a very efficient protocol for downloading
- lots of small files. Additionally, you may want to upgrade to the
- latest version of wget, because that version supports persistent HTTP
- connections, which results in another slight speed increase.</P>
- <P>Unfortunately, even with persistent HTTP connections, the download
- speed will not be as high as that of a single-file ISO download. Such
- speeds can only be achieved with HTTP pipelining - the jigdo GUI
- application will support pipelining.</P></DIV>
+ >http://www.dirac.org/linux/debian/jigdo</A>.</P>
+ <P>Shame on you, Marco Budde <CODE><<A
+ HREF="mailto:Budde@tu-harburg.de">Budde@tu-harburg.de</A>></CODE
+ >.</P>
+ <P>Shame on you, Alfredo Carvalho <CODE><<A
+ HREF="mailto:ajpc@poli.org">ajpc@poli.org</A>></CODE>.</P></DIV>
<DIV><HR>
- <H3><A NAME="INTERRUPTED">6.7. What do I do if my jigdo download gets
+ <H3><A NAME="INTERRUPTED">6.6. What do I do if my jigdo download gets
interrupted?</A></H3>
<P>If your download gets interrupted, all you need to do is restart
- jigdo-lite and hit <ENTER> at all the question prompts.
+ jigdo-lite and hit <B>ENTER</B> at all the question prompts.
Jigdo-lite will pick up where it left off.</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN372">6.8. My jigdo download won't complete because the
+ <H3><A NAME="AEN433">6.7. My jigdo download won't complete because the
.jigdo file is broken. When I download a new, fixed .jigdo file, do I
need to download all the data over again?</A></H3>
<P>You may find that the .jigdo file you downloaded is broken. It's
- very uncommon, but it does happen from time to time with moving
- targets like Debian testing or unstable.</P>
- <P>If you find that your .jigdo file is broken, you'll need to
- download a new .jigdo file (when a fixed one becomes available), but
- you <SPAN><I>won't</I></SPAN> need to download all the ISO data
- again.</P>
+ uncommon, but it does happen from time to time with moving targets
+ like Debian testing or unstable.</P>
+ <P>If you find that <TT>.jigdo</TT> is broken, you'll need to download
+ a new .jigdo file (when a fixed one becomes available), but you <SPAN
+ ><I>won't</I></SPAN> need to download all the ISO data again.</P>
<P>You can use the same loop mounting trick we use when updating an
ISO image. The difference is that there's no finished .iso file to
start with, but the .iso.tmp file is an ISO image too and can be used
to finish the download without having to re-download all the data
- that was downloaded before the broken .jigdo file caused jigdo-file
+ that was downloaded before the broken .jigdo file caused jigdo-lite
to halt. Simply loop mount the .iso.tmp file on <TT>/mnt</TT> and
when you re-run jigdo-lite with the fixed .jigdo file, tell
jigdo-lite to scan <TT>/mnt</TT>. Don't forget to rename or move the
.iso.tmp file so it doesn't interfere with jigdo-lite which will want
to create a new .iso.tmp file.</P></DIV>
<DIV><HR>
- <H3><A NAME="DVDSIZEDIMAGES">6.9. Can I use jigdo to download images
+ <H3><A NAME="DVDSIZEDIMAGES">6.8. Can I use jigdo to download images
for DVD?</A></H3>
<P>Absolutely; the process is identical to downloading CD images. The
only thing you need to do differently is to download the .jigdo and
used to create the MS Windows executables. The bug got fixed on this
date, and <TT>jigdo-win-0.7.1a</TT> was released.</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN388">6.10. Can I burn the <TT>.iso.tmp</TT> file to
+ <H3><A NAME="AEN450">6.9. Can I burn the <TT>.iso.tmp</TT> file to
CD?</A></H3>
<P>Thanks to Gordon Huff and David Anselmi, we now know the answer is
"yes you can". But more importantly, Gordon gave a good reason why
you'd want to do this in the first place. Paraphrasing Gordon:</P><A
- NAME="AEN392"></A><BLOCKQUOTE>
+ NAME="AEN454"></A><BLOCKQUOTE>
<P>My friend's Win98 has a *nice* cable connection. I arrive in the
morning, start jigdo (more than one, actually) and then we go to the
store, tie back the kiwi plant, put up the Christmas lights and
get home, I use the iso's that didn't finish to update my jigdo setup
at home which is a dial-up.</P></BLOCKQUOTE></DIV>
<DIV><HR>
- <H3><A NAME="AEN395">6.11. Why doesn't jigdo work? It downloads some
- packages and deletes them. I know it doesn't write them to the <TT
+ <H3><A NAME="AEN457">6.10. Jigdo-lite is broken! It downloads packages
+ and deletes them. I know it doesn't write them to the <TT
>iso.tmp</TT> file because the file size doesn't change!</A></H3>
- <P>Jigdo works just fine - the .iso.tmp file is created at the
- beginning with its final size, but filled with zero bytes. Later,
+ <P>Jigdo works just fine -- the <TT>.iso.tmp</TT> file is created at
+ the beginning with its final size, but filled with zero bytes. Later,
parts of it are overwritten with the downloaded data.</P>
<P>You can tell that jigdo is making progress by looking at the
messages "<TT>Found X of the Y files required by the template</TT>"
should increase. When <TT>X</TT> equals <TT>Y</TT>, the download is
finished.</P></DIV>
<DIV><HR>
- <H3><A NAME="TROUBLEWITHJIGDOEASY">6.12. I'm having trouble getting
+ <H3><A NAME="TROUBLEWITHJIGDOEASY">6.11. I'm having trouble getting
jigdo-easy to work.</A></H3>
<P>See <A HREF="#JIGDO-EASY">Section 7.1</A>.</P></DIV>
<DIV><HR>
- <H3><A NAME="NEEDTOUPGRADE">6.13. [10 Feb 2003]: I'm having trouble
- getting jigdo to download Sarge or Sid.</A></H3>
- <P>If you're using Potato or Woody: because of a change in jigdo, the
- version of jigdo-lite that comes with Potato and Woody (r0 and r1)
- cannot download Sarge and Sid images. The jigdo-file packages from
- Sarge (0.7.0-2) and Sid (0.7.0-2) can download Sarge and Sid images.
- Also, a bugfixed version of jigdo-file (0.6.5) was submitted for
- inclusion for Woody r2 and will hopefully be available when r2 comes
- out. However, because of bug fixes and enhancements, you're urged to
- use jigdo-file from Sarge or Sid.</P>
- <P>If you're using Sarge or Sid, then you may need some help. Search
- the archives of the debian-cd mailing list, and if that doesn't solve
- your problem, you should send them a request for help (<A
- HREF="#LINKS">Section 7.4</A>).</P></DIV>
- <DIV><HR>
- <H3><A NAME="SCANMULTIPLEIMAGES">6.14. For image updates, I want
+ <H3><A NAME="SCANMULTIPLEIMAGES">6.12. For image updates, I want
jigdo-lite to scan 14 loop-mounted images in one go. How can I do
this?</A></H3>
<P>When updating CD images, it's tiresome to keep loop-mounting and
directory is inconvenient, you can also create a directory and fill
it with symlinks to the mount points.</P></DIV>
<DIV><HR>
- <H3><A NAME="WGETOPTIONS">6.15. Jigdo-lite is too verbose. How can I
+ <H3><A NAME="WGETOPTIONS">6.13. Jigdo-lite is too verbose. How can I
supress some or all of its messages?</A></H3>
<P>Jigdo-lite uses wget, and wget's output can be quite verbose. If
this is unsettling, you can make wget more quiet by adding <TT
>~/.jigdo-lite</TT> file. If you want wget to print no messages at
all, use <TT>--quiet</TT> in the <TT>wgetOpts</TT> switch.</P></DIV>
<DIV><HR>
- <H3><A NAME="OTHERPLATFORMS">6.16. Can I use jigdo on platforms other
+ <H3><A NAME="OTHERPLATFORMS">6.14. Can I use jigdo on platforms other
than Linux?</A></H3>
<P>Certainly. If you're interested in Potato or Woody under Microsoft
Windows, old SunOS, HP-UX and IRIX you can use jigdo-easy. See <A
downloaded from the main jigdo site (<A HREF="#LINKS">Section 7.4</A
>).</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN442">6.17. On MS Windows, why do I get a "<TT>No such
+ <H3><A NAME="AEN500">6.15. On MS Windows, why do I get a "<TT>No such
file or directory</TT>" error message?</A></H3>
<P>You might find that under MS Windows, jigdo-lite will download some
files but then fail to read their contents, which will produce a "<TT
half-finished download up in the directory hierarchy, closer to the
top-level directory of the drive.</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN448">6.18. On MS Windows, why won't my image grow
+ <H3><A NAME="AEN506">6.16. On MS Windows, why won't my image grow
larger than 2GB?</A></H3>
<P>You're using an old version of jigdo. Please upgrade to <TT
>jigdo-win-0.7.1a </TT> or newer. See <A HREF="#DVDSIZEDIMAGES"
- >Section 6.9</A>.</P></DIV>
+ >Section 6.8</A>.</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN453">6.19. On MS Windows, <TT>jigdo-lite.bat</TT>
+ <H3><A NAME="AEN511">6.17. On MS Windows, <TT>jigdo-lite.bat</TT>
fails with an error message saying "sh" was not found.</A></H3>
<P>This means that the <TT>PATH</TT> command in the <TT>.bat</TT> file
failed. For some reason, this is the case if you unpacked jigdo on a
like "<TT>Z:</TT>", then double-click on the <TT>.bat</TT> file
inside "<TT>Z:\jigdo</TT>". Alternatively, a workaround is to move
everything in the <TT>jigdo-bin</TT> subdirectory up to where the <TT
- >.bat</TT> file is.</P></DIV></DIV>
+ >.bat</TT> file is.</P></DIV>
+ <DIV><HR>
+ <H3><A NAME="AEN524">6.18. Can I run multiple instances of jigdo-lite
+ to download images in parallel?</A></H3>
+ <P>Absolutely. However, to avoid filename clashing, you should run
+ each <SPAN>jigdo-lite</SPAN> instance in its own separate directory.
+ You can start as many instances as you want, go to bed, and when you
+ wake up, all the ISO images will be waiting for you on your hard
+ drive. Be aware that <SPAN>jigdo-lite</SPAN> is bandwidth and CPU
+ intensive, so you won't want to use your computer with multiple
+ instances running in tandem.</P></DIV>
+ <DIV><HR>
+ <H3><A NAME="AEN529">6.19. Is there a GUI interface available?</A
+ ></H3>
+ <P>A GTK+ interface to jigdo is being worked on. Both Linux and
+ Microsoft Windows GUI clients are planned. Unfortunately, it's been
+ 80% done for over 1.5 years, so don't hold your breath for its
+ release.</P></DIV></DIV>
<DIV><HR>
<H2><A NAME="ERRATA">7. Errata</A></H2>
<DIV>
<H3><A NAME="JIGDO-EASY">7.1. jigdo-easy</A></H3>
- <P>Jigdo-easy, by Anne Bezemer, is a fork from jigdo-lite which is
- portable to a wider range of systems, including Microsoft Windows,
- old SunOS, HP-UX and IRIX). It's also easier to use than jigdo-lite
- but because of changes made to Jigdo, will only work with Potato and
- Woody. Jigdo-easy will not be able to download Sarge and Sid. See <A
- HREF="#LINKS">Section 7.4</A> and <A HREF="#OTHERPLATFORMS">Section
- 6.16</A>.</P></DIV>
+ <P>Jigdo-easy, by Anne Bezemer, is a fork of <SPAN>jigdo-lite</SPAN>
+ which is portable to a wider range of systems, including Microsoft
+ Windows, old SunOS, HP-UX and IRIX). It's also easier to use than
+ jigdo-lite but because of changes made to Jigdo, will only work with
+ Potato and Woody. Jigdo-easy will not be able to download Sarge and
+ Sid. See <A HREF="#LINKS">Section 7.4</A> and <A
+ HREF="#OTHERPLATFORMS">Section 6.14</A>.</P></DIV>
<DIV><HR>
- <H3><A NAME="AEN473">7.2. GUI Interface</A></H3>
- <P>A GTK+ interface to jigdo is currently being worked on. It's not
- fully functional yet, but will be available at some point. There will
- be a Linux as well as a Windows GUI client.</P></DIV>
+ <H3><A NAME="MORE-ABOUT-SCAN">7.2. More About Scan Sources</A></H3>
+ <P>By now you know that when <SPAN>jigdo-lite</SPAN> asks for files to
+ scan, you can use 3 sources:
+ <P></P><UL><LI STYLE="list-style-type: disc">
+ <P>A mounted copy of an outdated CD or DVD that you wish to
+ update.</P></LI><LI STYLE="list-style-type: disc">
+ <P>A loop-mounted copy of an outdated ISO image file on your hard
+ drive.</P></LI><LI STYLE="list-style-type: disc">
+ <P>A loop-mounted copy of the temporary <TT>.iso.tmp</TT> file, when
+ a previous <SPAN>jigdo-lite</SPAN> run aborted.</P></LI></UL> </P>
+ <P>As Jens Seidel points out, there is another, rather crafty, source
+ you should use for a scanning source: your apt cache. Apt uses the
+ directory <TT>/var/cache/apt/archives</TT> for cache. There will be
+ many Debian packages sitting in this directory, and they can be used
+ for a scan source for <SPAN>jigdo-lite</SPAN>! So when you're asked
+ for a directory to scan, by all means, use this directory too.</P>
+ <P>If you're editing the <TT>~/.jigdo-lite</TT> file by hand, be aware
+ that multiple scan directories are space separated, for example:</P><PRE> scanMenu='/var/cache/apt/archives/ /cdrom/'
+ </PRE></DIV>
<DIV><HR>
<H3><A NAME="JIGDO-FILE-CACHE">7.3. jigdo-file-cache.db</A></H3>
<P>The cache contains the md5sums of files read when you supply a
TARGET="_top"
>http://packages.debian.org/testing/utils/jigdo-file.html</A></DT>
<DD>
- <P>If you're using Potato or Woody, please upgrade jigdo-file to
- version <TT>0.7.0-2</TT>, which comes with testing or unstable (<A
- HREF="#NEEDTOUPGRADE">Section 6.13</A>).</P></DD>
+ <P>The official webpage for the Debian jigdo-file package.</P></DD
+ >
<DT><A HREF="http://lists.debian.org/search.html" TARGET="_top"
>http://lists.debian.org/search.html</A></DT>
<DD>
TARGET="_top">http://www.debian.org/MailingLists/subscribe</A></DT
>
<DD>
- <P>The subscription page for the debian-cd mailing list.</P></DD
- ></DL></DIV></DIV></DIV></DIV>
+ <P>The subscription page for the debian-cd mailing list.</P></DD>
+ <DT><A HREF="https://lists.berlios.de/mailman/listinfo/jigdo-user"
+ TARGET="_top"
+ >https://lists.berlios.de/mailman/listinfo/jigdo-user</A></DT>
+ <DD>
+ <P>The subscription page for the official Jigdo mailing list.</P
+ ></DD></DL></DIV></DIV></DIV></DIV>
</BODY>
</HTML>
<othername role='middle'>Jay</othername>
<surname>Salzman</surname>
<affiliation>
- <address><email>p@dirac.org</email></address>
+ <address><email>p@dirac.orgZZZ</email></address>
</affiliation>
</author>
<!-- year-month-day -->
- <pubdate>2005-06-13 ver 1.5a</pubdate>
+ <pubdate>2005-12-05 ver 1.8</pubdate>
<copyright>
<year>2001</year>
</copyright>
<legalnotice>
- <para><email>p@dirac.org</email> / <systemitem role="url">www.dirac.org/p</systemitem>.</para>
+ <para><email>p@dirac.orgZZZ</email> / <systemitem role="url">www.dirac.org/p</systemitem>.</para>
<para>Distributed subject to the Open Software License, version 1.1.</para>
</legalnotice>
<abstract><title>Abstract</title>
<para>Getting Debian ISOs has always been a painful, slow and supremely inefficient process.
- Jigdo is a new tool for obtaining Debian ISOs in an easy, fast and very efficient manner. This
- HOWTO describes why you should use jigdo, a little bit about how it works and how you use it to
- get and update Debian ISOs.</para>
+ Jigdo is a tool for distributing and obtaining Debian ISOs in an easy, fast and very efficient
+ manner. This HOWTO describes why you should use jigdo, a little bit about how it works and how
+ you use it to get and update Debian ISOs.</para>
<para>Jigdo is a very general tool, and isn't tied specifically to Debian ISOs. The jigdo tools
can be used to make any ISO available for download in the same easy, fast and efficient manner
<sect2 id="authorship"><title>Authorship and Copyright</title>
<para>This document is copyright (c) 2001 Peter Jay Salzman, <email><ulink
- url="mailto:p@dirac.org">p@dirac.org</ulink></email>. Permission is granted to copy,
+ url="mailto:p@dirac.orgZZZ">p@dirac.orgZZZ</ulink></email>. Permission is granted to copy,
distribute and/or modify this document under the terms of the Open Software License (OSL),
- version 1.1, except for the provisions I list in the next paragraph. I hate HOWTO's that
- include the license; it's a tree killer. You can read the OSL at <ulink
- url="http://opensource.org/licenses/osl-1.1.txt">http://opensource.org/licenses/osl-1.1.txt</ulink>.</para>
+ version 1.1. I hate HOWTO's that include the license; it's a tree killer. You can read the
+ OSL at <ulink url="http://opensource.org/licenses/osl-1.1.txt"
+ >http://opensource.org/licenses/osl-1.1.txt</ulink>.</para>
- <para>If you want to create a derivative work or publish this HOWTO for commercial purposes, I
- would appreciate it if you contact me first. This will give me a chance to give you the most
+ <para>If you want to create a derivative work or publish this HOWTO for commercial purposes,
+ I'd appreciate it if you contact me first. This will give me a chance to give you the most
recent version. I'd also appreciate either a copy of whatever it is you're doing or a
spinach, garlic, mushroom, feta cheese and artichoke heart pizza.</para>
-
<sect2 id="acknowledgements"><title>Acknowledgements</title>
- <para>Originally, I was going to thank the author of jigdo, <ulink
+ <para>I would like to thank the author of jigdo, <ulink
url="mailto:atterer@debian.org">Richard Atterer</ulink>, simply for writing jigdo. Anyone who
- has obtained Debian ISOs by other means will know why. However, my thanks needs to go
- further. This HOWTO started out as some webpages I wrote about my experience with jigdo.
- Richard took the time to email me extensive corrections, clarifications and answers to
- questions I had about jigdo. Since then, he has read my work many times. Richard is a
- developer who not only cares about his work, but also about the people who use it. Sadly,
- this is becoming less common in this busy world we live in. Thanks, Richard!</para>
-
- <para>I'd also like to thank
- <ulink url="mailto:cnw@conradwood.net">Conrad Wood</ulink>,
- <ulink url="mailto:mello@ajato.com.br">Elcio Mello</ulink>,
- <ulink url="mailto:mramos@montevideo.com.uy">Marcelo Ramos</ulink>,
- <ulink url="mailto:ipzh@163.net">Yufeng Wang</ulink>, and
- <ulink url="mailto:tyamagch@bd.mbn.or.jp">Tsukasa Yamaguchi</ulink>
- for translating this mini-HOWTO. I feel totally honored that they have found my words worthy
- of their time and effort. Thanks, guys!</para>
-
- <para>Lastly, I'd like to thank <ulink url="mailto:mark@panic.et.tudelft.nl">Mark van
- Lent</ulink> for his kind words and much needed corrections.</para>
+ has obtained Debian ISOs by other means will know why. This HOWTO started out as some
+ webpages I wrote about my experience with jigdo. Richard took the time to email me extensive
+ corrections, clarifications and answers to questions I had about jigdo. Since then, he has
+ read my work many times. Richard is a developer who not only cares about his work, but also
+ about the people who use it. Sadly, this is becoming less common in this busy world we live
+ in. Thanks, Richard!</para>
+
+ <para>I'd also like to thank
+ <ulink url="mailto:cnw@conradwood.netZZZ">Conrad Wood</ulink>,
+ Elcio Mello,
+ <ulink url="mailto:mramos@montevideo.com.uyZZZ">Marcelo Ramos</ulink>,
+ Yufeng Wang,
+ Tsukasa Yamaguchi,
+ <ulink url="mailto:kozlov.y@gmail.comZZZ">Yuri Kozlov</ulink>, and
+ <ulink url="mailto:oguzy@comu.edu.trZZZ">Oguz Yarimtepe</ulink>
+ for translating this mini-HOWTO into languages other than English. I feel totally honored
+ that they have found my words worthy of their time and effort. Thanks, guys!</para>
+
+ <para>Lastly, I'd like to thank
+ <ulink url="mailto:mark@panic.et.tudelft.nlZZZ">Mark van Lent</ulink>,
+ Gordon Huff,
+ David Anselmi,
+ <ulink url="mailto:thierry.cabuzel@skynet.beZZZ">Thierry Cabuzel</ulink>,
+ <ulink url="mailto:rlharris@hal-pc.orgZZZ">Russell L. Harris</ulink>, and
+ <ulink url="mailto:tux-master@web.deZZZ">Jens Seidel</ulink>
+ for kind words and corrections.</para>
</sect2>
<para>I care a great deal about the people who use this document. Even mini-HOWTOs take a
long time to write, and I wouldn't have invested so much effort into something people don't
understand. If you have comments, corrections or suggestions, even in matters like writing
- style, don't hesitate to email me. As long as I'm not totally swamped by my PhD dissertation
- and the book I'm writing on debugging code with GDB/DDD for No Starch Press, I'll do my best
- to respond to each email I receive about this mini-HOWTO.</para>
+ style, don't hesitate to email me. As long as I'm not totally swamped by my PhD
+ dissertation and the book I'm writing on debugging code with GDB/DDD for No Starch Press, I'll
+ do my best to respond to each email I receive about this mini-HOWTO. News flash: I've
+ completed my Ph.D.; now I'm swamped with job hunting. Does anyone need to hire a theoretical
+ physicist?</para>
</sect2>
<varlistentry>
<term>German:</term>
- <listitem><para>Conrad Wood <email>cnw@conradwood.net</email>.</para></listitem>
+ <listitem><para>Conrad Wood <email>cnw@conradwood.netZZZ</email>.</para></listitem>
</varlistentry>
<varlistentry>
<term>Portuguese</term>
- <listitem><para>Elcio Mello <email>mello@ajato.com.br</email>.</para></listitem>
+ <listitem><para>Elcio Mello.</para></listitem>
</varlistentry>
-
<varlistentry>
<term>Spanish</term>
- <listitem><para>Marcelo Ramos <email>mramos@montevideo.com.uy</email>.</para></listitem>
+ <listitem><para>Marcelo Ramos <email>mramos@montevideo.com.uyZZZ</email>.</para></listitem>
</varlistentry>
-
<varlistentry>
<term>Chinese</term>
- <listitem><para>Yufeng Wang <email>ipzh@163.net</email>. Available at <ulink
- url="http://www.wangyf.com/linux/debian-jigdo-mini-howto.html"
- >http://www.wangyf.com/linux/debian-jigdo-mini-howto.html</ulink>.</para></listitem>
+ <listitem><para>Yufeng Wang</para></listitem>
</varlistentry>
-
<varlistentry>
<term>Japanese</term>
<listitem>
- <para>Tsukasa Yamaguchi <email>tyamagch@bd.mbn.or.jp</email>. Available at <ulink
- url="http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo"
+ <para>Tsukasa Yamaguchi. Available at <ulink url="http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo"
>http://www.linux.or.jp/JF/JFdocs/Debian-Jigdo</ulink>.</para></listitem>
</varlistentry>
+ <varlistentry>
+ <term>Russian</term>
+ <listitem>
+ <para>Yuri Kozlov <email>kozlov.y@gmail.comZZZ</email>. Available at <ulink
+ url="http://alioth.debian.org/project/showfiles.php?group_id=30279"
+ >http://alioth.debian.org/project/showfiles.php?group_id=30279</ulink>.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Turkish</term>
+ <listitem>
+ <para>Oguz Yarimtepe <email>oguzy@comu.edu.trZZZ</email>. Available at <ulink
+ url="http://docs.comu.edu.tr/howto/debian-jidgo.html"
+ >http://docs.comu.edu.tr/howto/debian-jigdo.html</ulink>.</para></listitem>
+ </varlistentry>
+
</variablelist>
- <para>The English version and all its translations are available at my website: <ulink
+ <para>In addition to the URLs given above, all the translations (as well as the English
+ version) are available at my website: <ulink
url="http://www.dirac.org/linux/debian/jigdo">http://www.dirac.org/linux/debian/jigdo</ulink>.
If you'd like to translate this mini-HOWTO to another language, please contact me at
- <email><ulink url="mailto:p@dirac.org">p@dirac.org</ulink></email>.</para>
+ <email><ulink url="mailto:p@dirac.orgZZZ">p@dirac.orgZZZ</ulink></email>.</para>
- <para>The stable English version can be found at The Linux Documentation Project: <ulink
- url="http://tldp.org/docs.html">http://tldp.org/docs.html</ulink> in the mini-HOWTO section.
- If you want to see the work in progress, you can get the "bleeding edge" version from <ulink
- url="http://www.dirac.org/linux/debian/jigdo">http://www.dirac.org/linux/debian/jigdo</ulink>.</para>
+ <para>The English version of this HOWTO can also be found at The Linux Documentation Project:
+ <ulink url="http://tldp.org/docs.html">http://tldp.org/docs.html</ulink>.</para>
</sect2>
<sect2><title>How Does One Get A Debian ISO Image Set?</title>
- <para>If you want your own set of Debian CDs there are many ways of getting them. One way is
- to buy them from <ulink url="http://www.debian.org/CD/vendors/">vendors</ulink> who sell
- Debian CDs. This definitely has merit since some of the vendors donate money back to the
- Debian project. Your donations help make sure that Debian is around for a long time.</para>
+ <para>If you want a set of Debian CDs there are many ways of getting them. One way is to buy
+ them from <ulink url="http://www.debian.org/CD/vendors/">vendors</ulink> who sell Debian CDs.
+ This definitely has merit since some of the vendors donate money back to the Debian project.
+ Your donations help make sure that Debian is around for a long time.</para>
<para>Another way of getting a set of Debian CDs is to burn your own set. This first entails
obtaining an ISO image and then burning that ISO image to a blank CD. Before jigdo, there
-
<sect2 id="whynotdownloadthewholeisoimage"><title>Why Not Download The Whole ISO Image?</title>
<para>There are mirrors which offer http and ftp downloads of Debian ISOs. The problem is
- <sect2 id="whatisjigdo"><title>What Is Jigdo?</title>
+ <sect2 id="whatisjigdo"><title>What Is Jigdo?</title>
<para>Jigdo (which stands for "Jigsaw Download") was written by <ulink
url="mailto:atterer@debian.org">Richard Atterer</ulink> and is released under the GNU GPL.
downloading ISO images.</para>
<para>A common misconception is that jigdo creates ISO images; it doesn't. Let's discuss the
- overall process of how jigdo allows you to obtain an ISO image. Let Adam be the person
- offering the ISO image (perhaps he's the Debian release manager). Let Betty be the person who
- wants to download the ISO image (perhaps she's a Debian user).
+ overall process of how jigdo allows you to obtain an ISO image. Let Adam (a Debian release
+ manager) be the person offering the ISO image. Let Betty (a Debian user) be the person who
+ wants to download the ISO image.</para>
+
<orderedlist>
<listitem>
+ <para>Adam first creates an ISO image suitable for burning a CD. He might use a utility
+ like <application>mkisofs</application> or <application>debian-cd</application> to create
+ the ISO image. He also creates two small files associated with his newly created image: a
+ <filename>.jigdo</filename> file and a <filename>.template</filename> file. He makes these
+ two files available for download to anyone who wants to obtain his ISO image.</para>
+ </listitem>
- <para>The first step is that Adam creates an ISO image suitable for burning a CD. He might
- use a utility like <application>mkisofs</application> or
- <application>debian-cd</application> to create the ISO image. He also creates two files
- associated with his newly created ISO image: a <filename>.jigdo</filename> file and a
- <filename>.template</filename> file. He makes these two files available for download to
- anyone who wants to obtain his ISO image.</para>
+ <listitem>
+ <para>Betty then downloads the <filename>.jigdo</filename> and
+ <filename>.template</filename> files. She uses <application>jigdo-lite</application> along
+ with these two files to download Adam's ISO image.</para>
+ </listitem>
+ <listitem>
+ <para>When Debian gets updated, Adam creates a new version of the ISO and generates new
+ <filename>.jigdo</filename> and <filename>.template</filename> files.</para>
</listitem>
<listitem>
-
- <para>The second step is that Betty downloads the <filename>.jigdo</filename> and
- <filename>.template</filename> files. She then uses jigdo-lite along with these two files
- to download Adam's ISO image.</para>
-
- </listitem>
-
- </orderedlist>
-
- <para>The jigdo tool comes with two utilities: jigdo-file and jigdo-lite. Jigdo-file is used
- by Adam to create the .template and .jigdo files from the ISO image he wants to offer.
- Jigdo-lite is used by Betty to download the image using the <filename>.jigdo</filename> and
- <filename>.template</filename> files. If all you want to do is download Debian ISOs, you'll
- only be using jigdo-lite. You can forget that jigdo-file even exists. :-)</para>
-
+ <para>When Betty wants to update her CDs, she downloads the new <filename>.jigdo</filename>
+ and <filename>.template</filename> files and uses them with
+ <application>jigdo-light</application> to update her copy of the ISO images. The important
+ thing here is that she only downloads the differences between her old ISO and Adam's new
+ ISO. She does not have to re-download the parts that are unchanged.</para>
+ </listitem>
+
+ </orderedlist>
+
+
+ <para>Jigdo comes with two utilities: <application>jigdo-file</application> (used by Adam)
+ which creates the <filename>.jigdo</filename> and <filename>.template</filename> files, and
+ <application>jigdo-lite</application> (used by Betty) which uses these two files to download
+ or update the ISO. If all you want to do is obtain/update Debian ISOs, you'll only use
+ <application>jigdo-lite</application>. You can forget that jigdo-file even exists.
+ :-)</para>
<para>Jigdo addresses all the problems with the other methods of obtaining Debian ISO
images:</para>
+
<itemizedlist>
<listitem><para>It's much faster than downloading the entire ISO image.</para></listitem>
</itemizedlist>
+
<para>Clearly, jigdo is the best method of obtaining Debian ISO images.</para>
</sect2>
<sect1 id="howjigdoworks"><title>How Jigdo Works (optional)</title>
- <para>You don't need to know this material to use jigdo, but it may help demystify what jigdo
- does. If you're not interested in the details, simply fast forward to <xref
+ <para>You don't need to know this material to download Debian ISOs, but it may help demystify how
+ jigdo works. If you're not interested in the details, simply fast forward to <xref
linkend="downloadingyourfirstimage">, "How Do I Use Jigdo".</para>
<para>The "x" areas of the image contain things like directory information, zero padding, disk
name, boot block, etc.</para>
- <para>jigdo-file takes two things as input: the complete CD image (so the ISO already needs to
- have been made) and a set of files which may or may not be in the image. Here's a
- visualization of jigdo-file's input:</para>
+ <para><application>jigdo-file</application> takes two things as input: the complete CD image
+ (so the ISO already needs to have been made) and a set of files which may or may not be in the
+ image. Here's a visualization of jigdo-file's input:</para>
<screen>
--------------------------------------------------------
<sect2 id="the.templatefile"><title>The .template File</title>
<para>Given an input of an ISO image and a set of files which may or may not be in the ISO
- image, jigdo-file outputs a .template file for that ISO image. Here's what the .template file
- looks like:</para>
+ image, jigdo-file outputs a .template file for that ISO image. Here's what the
+ <filename>.template</filename> file looks like:</para>
<screen>
--------------------------------------------------------
are also compressed and written to the .template file. This is shown as "<literal
remap="bf">c</literal>" data in the .template file visualization.</para>
- <para>Loose files which were supplied to jigdo-file that aren't found in the ISO image (like
- <filename>file-4</filename>) are ignored.</para>
+ <para>Loose files which were supplied to <application>jigdo-file</application> that aren't
+ found in the ISO image (like <filename>file-4</filename>) are ignored.</para>
</sect2>
</screen>
<para>The .jigdo file simply provides a mapping between the md5sum of a file within the ISO
- image and the download URL of that file. There are some other things within the .jigdo file,
- and if you look through it, you'll see the .jigdo file has the same format as a ".ini" file.
- It should be self explanatory, but if you want the nitty-gritty details, see the jigdo
- documentation.</para>
+ image and the download URL of that file. There are some other things within the
+ <filename>.jigdo</filename> file,
+ and if you look through it, you'll see the <filename>.jigdo</filename> file has the same
+ format as a ".ini" file. It should be self explanatory, but if you want the nitty-gritty
+ details, see the jigdo documentation.</para>
<para>The format shown above is not quite what you'd see in a typical .jigdo file, but it's
very similar. If you look at the [Servers] section at the bottom of the .jigdo file, you'll
- see exactly what the difference is between what I showed above and an actual .jigdo
- file.</para>
+ see exactly what the difference is between what I showed above and an actual
+ <filename>.jigdo</filename> file.</para>
</sect2>
<sect2 id="downloadingtheimage"><title>Downloading The Image</title>
- <para>Once you use jigdo-file to generate a .jigdo and .template file for an ISO image, anyone
- can use jigdo-lite to download that image. jigdo-lite downloads all the files of a Debian ISO
- using wget, assembles them and forms a copy of the original ISO image on the fly.</para>
+ <para>Once you use <application>jigdo-file</application> to generate a
+ <filename>.jigdo</filename> and .<filename>template</filename> file for an ISO image, anyone
+ can use <application>jigdo-lite</application> to download that image. jigdo-lite downloads
+ all the files of a Debian ISO using <application>wget</application>, assembles them and forms
+ a copy of the original ISO image on the fly.</para>
</sect2>
<screen>
# apt-get install jigdo-file
- </screen>
+ </screen>
<para>Jigdo is under aggressive development. Bug fixes and enhancements are constant, so if
you're using stable or testing, download jigdo-file from unstable at <ulink url=
"http://packages.debian.org/unstable/utils/jigdo-file.html"
- >http://packages.debian.org/unstable/utils/jigdo-file.html</ulink>. As of 08 Feb 2003 it's at
- >version 0.6.9. This is
- the version used for the examples of this HOWTO.</para>
-
- <para>Note to Woody users: The version of jigdo-lite which comes with Woody (rev 1) is not
- capable of downloading Sarge or Sid. See <xref linkend="needtoupgrade">. A bugfixed version
- of jigdo 0.6.5 was submitted for the future release of r2.</para>
+ >http://packages.debian.org/unstable/utils/jigdo-file.html</ulink>. As of 28 Nov 2005 it's at
+ version 0.7.2-2.</para>
</sect2>
<sect2 id="runjigdo-lite"><title>Run jigdo-lite</title>
- <para>Run jigdo-lite and give it the .jigdo file of the image you want to download. Using
- Woody as an example:</para>
+ <para>Run <application>jigdo-lite</application> and give it the <filename>.jigdo</filename>
+ file of the image you want to download. Using Sarge as an example:</para>
<screen>
lucifer$ ls
(e.g. `/mnt/cdrom').
Alternatively, just press enter if you want to start downloading
the remaining files.
- Files to scan:
- </screen>
+ Files to scan:
+ </screen>
- <para>If you suspended jigdo-lite with cntrl-z (don't do this; I'll tell you what you'd see)
- and looked at the output of <command>ls</command>, you'd find a new file in the directory
- named <filename>sarge-i386-1.jigdo.unpacked</filename>. It turns out that .jigdo files are
- gzip'ed. This file is simply a gunzip'ed version of the .jigdo file.</para>
+ <para>If you suspended <application>jigdo-lite</application> with <keycombo
+ action='simul'><keycap>control</keycap><keycap>z</keycap></keycombo>
+ (don't do this; I'll tell you what you'd see) and looked at the output of
+ <command>ls</command>, you'd find a new file in the directory named
+ <filename>sarge-i386-1.jigdo.unpacked</filename>. It turns out that .jigdo files are gzip'ed.
+ This file is simply a gunzip'ed version of the <filename>.jigdo</filename> file.</para>
- <para>Right now, jigdo-lite is telling us that if we have an outdated version of first CD of
- sarge, we should give the pathname to the CD. This is how you update your ISO images (or
- complete your incomplete downloads). Since we're assuming that you're starting from scratch
- and have no Debian ISOs yet, we have nothing to scan. We'll cover this in <xref
- linkend="updatingyourimage">, so just press <keycap>ENTER</keycap>.</para>
+ <para>Right now, <application>jigdo-lite</application> is telling us that if we have an
+ outdated version of first CD of sarge, we should give the pathname to the CD. This is how you
+ update your ISO images (or complete your incomplete downloads). Since we're assuming that
+ you're starting from scratch and have no Debian ISOs yet, we have nothing to scan. We'll
+ cover this in <xref linkend="updatingyourimage">, so just press <keycap>ENTER</keycap>.</para>
- </sect2>
+ <para>See also <xref linkend="more-about-scan">, "More About Scan Sources".</para>
+
+ </sect2>
Debian mirror [http://linux.csua.berkeley.edu/debian/]:
</screen>
- <para>jigdo-lite is smart enough to use the mirror that you use for your Debian updates (you
- may have noticed that jigdo-lite was peeking at <filename>/etc/apt/sources.list</filename> in
- the last screen capture) by pulling it from <filename>/etc/apt/sources.list</filename>. If
- you wanted to use a different mirror, you would specify a different mirror here by following
- the instructions. If this is the mirror you want to use, press <keycap>ENTER</keycap>.
- Jigdo-lite will then write a <filename>~/.jigdo-lite</filename> file in your home
- directory.</para>
+ <para>By default, <application>jigdo-lite</application> pulls the mirror from your
+ <filename>/etc/apt/sources.list</filename>. If you want to use a different mirror, you would
+ specify a different mirror here. If this is the mirror you want to use, press
+ <keycap>ENTER</keycap>. Jigdo-lite will then write a <filename>.jigdo-lite</filename> file in
+ your home directory.</para>
- <para>Next, if the .jigdo file you're using references a package which needs to be downloaded
- from a Non-US server, jigdo-lite will prompt you for a Debian Non-US mirror. The message
- displayed (and your response) will be very similar to the mirror dialog in the previous
- paragraph (for the non-non-US mirror. (-: ).</para>
+ <para>Next, if the <filename>.jigdo</filename> file you're using references a package which
+ needs to be downloaded from a Non-US server, <application>jigdo-lite</application> will prompt
+ you for a Debian Non-US mirror. The message displayed (and your response) will be very
+ similar to the mirror dialog in the previous paragraph.</para>
<screen>
-----------------------------------------------------------------
dialog.</para>
<para>If you want to change the default mirrors you use with jigdo at any time in the future,
- you can modify these two lines:</para>
+ you can modify these two lines in <filename>~/.jigdo-lite</filename>:</para>
<screen>
debianMirror='http://some-mirror-to-use/debian/'
nonusMirror='http://some-other-mirror/debian-non-US/'
</screen>
- <para>in <filename>~/.jigdo-lite</filename>.</para>
-
</sect2>
<sect2 id="downloadingoftheiso"><title>Downloading Of The ISO</title>
- <para>After you specify the mirror(s), jigdo-lite will begin downloading files to assemble the
- ISO image:</para>
+ <para>After you specify the mirror(s), <application>jigdo-lite</application> will begin
+ downloading files to assemble the ISO image:</para>
<screen>
Not downloading .template file - `sarge-i386-1.template' already present
</itemizedlist>
<para>The <filename role="directory">sarge-i386-1.iso.tmpdir/</filename> directory contains
- all the Debian packages that jigdo downloads. Every so often, the directory gets flushed and
- the files get written to <filename>sarge-i386-1.iso.tmp</filename>, which is an temporarily
- incomplete version of the ISO image you want. Note that
- <filename>sarge-i386-1.iso.tmp</filename> won't appear until the first time <filename
- role="directory">sarge-i386-1.iso.tmpdir/</filename> gets flushed.</para>
+ all the Debian packages that <application>jigdo-lite</application> downloads. Every so often,
+ the directory gets flushed and the files get written to
+ <filename>sarge-i386-1.iso.tmp</filename>, which is an temporarily incomplete version of the
+ ISO image you want. Note that <filename>sarge-i386-1.iso.tmp</filename> won't appear until
+ the first time <filename role="directory">sarge-i386-1.iso.tmpdir/</filename> gets
+ flushed.</para>
<para><filename>jigdo-file-cache.db</filename> is a Berekeley DB file containing md5sums of
any files read in when you specify a directory at the <literal>Files to scan:</literal>
</sect1>
-<!-- hello dolly -->
-
-
-
</screen>
<para>On the other hand, if you have an ISO file you'd like to update, mount it as a loop device
- (you may need to be root to do this). I'll be updating my Woody image, since I noticed that Woody
- just got a few security updates:</para>
+ (you may need to be root to do this). Using Woody as an example:</para>
<screen>
# mount -o loop woody-i386-1.iso /mnt
</screen>
- <para>Now run jigdo-lite with the .jigdo file as an argument.</para>
+ <para>Now run <application>jigdo-lite</application> with the <filename>.jigdo</filename> file as
+ an argument.</para>
<!-- good for 0.6.8-1 -->
<screen>
<para>jigdo-lite is asking us to give it the location of your mounted CD (if you're updating a CD)
or your loop mounted ISO file (if you're using the ISO file). I'm using an ISO file loop mounted
- on <filename role="directory">/mnt</filename>, so I'll enter <literal>/mnt</literal>. If you're
- updating a CD, enter the mount directory of your CD, which is most likely
- <literal>/cdrom</literal>. In either case, jigdo-lite will scan the directory of your mounted
- media, determine which files need updating and re-use the files which don't need updating. You
- may see something like:</para>
+ on <filename role="directory">/mnt</filename>, so I'll enter <filename
+ role="directory">/mnt</filename>. If you're updating a CD, enter the mount directory of your CD,
+ which is most likely <literal>/cdrom</literal>. In either case,
+ <application>jigdo-lite</application> will scan the directory of your mounted media, determine
+ which files need updating and re-use the files which don't need updating. See also <xref
+ linkend="more-about-scan">, "More About Scan Sources".</para>
+
+ <para>You may see something like:</para>
<!-- good for 0.6.8-1 -->
already a file by that name in the current directory (the outdated image). Jigdo-lite doesn't
want to destroy that file, so it bails and lets me know that I can either delete that file or use
<literal>--force</literal> to overwrite the file. You could also rename or move the file too,
- but I guess jigdo-lite assumes we already know this. :-)</para>
+ but I guess <application>jigdo-lite</application> assumes we already know this. :-)</para>
<para>Don't be timid about moving or renaming the image file just because it's loop mounted. The
filesystem uses inodes under the hood, and even if you move or rename the file, the inode stays
<emphasis>and</emphasis> umount the loop device. All you people who are updating the CD don't
have to worry about any of this. :-)</para>
- <para>I'll rename the ISO file to <filename>woody-i386-1.iso.old</filename> and run jigdo-lite
- again. Let's try again:</para>
+ <para>I'll rename the ISO file to <filename>woody-i386-1.iso.old</filename> and run
+ <application>jigdo-lite</application> again. Let's try again:</para>
<screen>
$ jigdo-lite woody-i386-1.jigdo
again. Since I'm a perverse person, I type the name of the directory again.</para>
<para>The ellipsis represent some text that changes rapidly. The first ellipsis is a dynamic list
- of what files jigdo-lite is scanning. The second ellipses deonotes progress in writing
+ of what files jigdo-lite is scanning. The second ellipses denotes progress in writing
<filename>woody-i386-1.iso.tmp</filename>. Once jigdo-lite finishes scanning the files and
writing the temporary ISO file, it prints:</para>
</screen>
<para>Since you normally don't have another source of files to scan other than your loop mounted
- ISO file (or your CD), press <ENTER>. Jigdo-lite will then ask you about which mirrors you
- want to use, just like it did when you downloaded your ISO for the first time. You've already
- answered these questions before, but if you truly don't remember, you might want to re-read <xref
- linkend="specifyamirror">.</para>
+ ISO file (or your CD), press <keycap>ENTER</keycap>. Jigdo-lite will then ask you about which
+ mirrors you want to use, just like it did when you downloaded your ISO for the first time. You've
+ already answered these questions before, but if you truly don't remember, you might want to
+ re-read <xref linkend="specifyamirror">.</para>
- <para>At this point, you'll see jigdo-lite working its magic. Now wasn't that easy?</para>
+ <para>At this point, you'll see <application>jigdo-lite</application> working its magic. Now
+ wasn't that easy?</para>
</sect1>
<para>Questions prepended with a date indicate a time sensitive question (a question that relates
to a temporary situation). If you see one of these questions and know that the temporary
- situation has changed, please <ulink url="mailto:p@dirac.org">contact me</ulink> and let me know
+ situation has changed, please <ulink url="mailto:p@dirac.orgZZZ">contact me</ulink> and let me know
so I can remove the question from the mini-HOWTO.</para>
- <sect2 id="jigdoaskstwice"><title>Why does jidgo ask <emphasis>twice</emphasis> for scanning
- for existing files? Is it enough to say yes once ?</title>
+ <sect2><title>Why does jidgo ask <emphasis>twice</emphasis> for scanning for existing files? Is
+ it enough to say yes once ?</title>
<para>It keeps asking this as long as you enter a path to scan. The idea is that you may want
to scan several old CDs, so you can insert one after the other into the drive and keep
- supplying the path "<literal>D:\</literal>" (or whatever).
+ supplying the path "<literal>D:\</literal>" (or whatever). See also <xref
+ linkend="more-about-scan">, "More About Scan Sources".</para>
</sect2>
- <sect2 id="problemfiles"><title>Jigdo Seems To Have Problems Downloading Certain Filenames.</title>
+ <sect2><title>Jigdo Has Problems Downloading Certain Filenames.</title>
<para>When downloading Debian images under Windows, jigdo-lite may appear to have trouble
downloading one or more of the following files:</para>
<sect2 id="useproxy"><title>How do I make jigdo use my proxy?</title>
- <para>Load the file <filename>~/.jigdo-lite</filename> (or
- <filename>jigdo-lite-settings.txt</filename> for the Microsoft Windows version) into a text
- editor and find the line that starts with "<literal>wgetOpts</literal>". The following
- switches can be added to the line:</para>
+ <para>Edit <filename>~/.jigdo-lite</filename> (or <filename>jigdo-lite-settings.txt</filename>
+ for the Microsoft Windows version) into a text editor and find the line that starts with
+ "<literal>wgetOpts</literal>". The following switches can be added to that line:</para>
<screen>
-e ftp_proxy=http://LOCAL-PROXY:PORT/
<sect2><title>Jigdo-lite fails with an error - have I downloaded all those MBs in vain?</title>
- <para>Of course this Should Not Happen(tm), but for various reasons you may end up in a state
- where a large "<literal>.iso.tmp</literal>" file has already been generated and jigdo-lite
- appears to have problems, telling you repeatedly to try restarting the download. There are
- several possible things to try in this case:</para>
+ <para>If <application>jigdo-file</application> aborts after downloading a considerable chunk
+ of the ISO contents, you'll have a large "<literal>.iso.tmp</literal>" file. There are
+ several things to try to salvage your download:</para>
<itemizedlist>
- <listitem><para>Simply restart the download by pressing <keycap>Return</keycap>. Maybe some
- of the files could not be downloaded because of timeouts or other transient errors -- another
- attempt will be made to download any missing files.</para></listitem>
+ <listitem><para>Restart the download by pressing <keycap>RETURN</keycap>. Maybe some of the
+ files could not be downloaded because of timeouts or other transient errors. Try to download
+ the missing files again.</para></listitem>
<listitem><para>Try a different mirror. Some Debian mirrors are slightly out of sync -- maybe
a different mirror still holds files that were deleted from the one you specified, or it has
- already been updated with files that are not yet present on your mirror.</para></listitem>
+ already been updated with files that are not yet present on your mirror. This has happened
+ quite a few times with me.</para></listitem>
<listitem><para>Retrieve the missing parts of the image using <ulink
url="http://rsync.samba.org">rsync</ulink>. First, you need to find out the correct rsync URL
status messages, and <literal>--block-size=8192</literal> to increase its
speed.</para></listitem>
- <listitem><para>If all else fails, your downloaded data is still not lost. Under Linux, you
- can loop-mount the <literal>.tmp</literal> file to access the packages that were already
- downloaded, and reuse them for generating an image from a newer jigdo file (such as the latest
- daily testing snapshot if your failed download was also a testing snapshot). To do this,
- first issue the following commands as root in the directory with the broken download:
- <command>mkdir mnt; mount -t iso9660 -o loop *.tmp mnt</command>. Next, start a new download
- in a different directory, and enter the path of the mnt directory at the "Files to scan"
- prompt.</para></listitem>
+ <listitem><para>Under Linux, you can loop-mount the <literal>.tmp</literal> file to access the
+ packages that were already downloaded, and reuse them for generating an image from a newer
+ .jigdo file. To do this, first issue the following commands as root in the directory
+ with the broken download: <command>mkdir mnt; mount -t iso9660 -o loop *.tmp mnt</command>.
+ Next, start a new download in a different directory, and enter the path of the mnt directory
+ at the "Files to scan" prompt.</para>
+
+ <para>Under Microsoft Windows you can do the same thing by loop mounting the temporary ISO
+ image using "virtual drive" software. <application><ulink
+ url="http://www.daemon-tools.cc">Daemon tools</ulink></application> and <application>Nero
+ Image Drive</application> are both very popular. See also <ulink
+ url="http://tinyurl.com/c39zr">http://tinyurl.com/c39zr</ulink> for more options.</para>
+
</itemizedlist>
- <sect2 id="disacknowledgements"><title>[11 Aug 2002]: Why aren't the translations of this HOWTO on LDP?</title>
+ <sect2 id="disacknowledgements">
+
+ <title>[11 Aug 2002]: Why aren't the translations of this HOWTO on LDP?</title>
<para>I've been having trouble getting the translations of this HOWTO submitted to the
non-English LDP editors.</para>
url="http://www.dirac.org/linux/debian/jigdo"
>http://www.dirac.org/linux/debian/jigdo</ulink>.</para>
- </sect2>
-
+ <para>Shame on you, Marco Budde <email>Budde@tu-harburg.de</email>.</para>
-
- <sect2><title>jigdo takes a bit long to download the files because wget keeps disconnecting and then reconnecting to the FTP
- server for each file. Is there a way to make it faster?</title>
-
- <para>The download speed can be increased by using an HTTP instead of an FTP server - FTP is
- not a very efficient protocol for downloading lots of small files. Additionally, you may want
- to upgrade to the latest version of wget, because that version supports persistent HTTP
- connections, which results in another slight speed increase.</para>
-
- <para>Unfortunately, even with persistent HTTP connections, the download speed will not be as
- high as that of a single-file ISO download. Such speeds can only be achieved with HTTP
- pipelining - the jigdo GUI application will support pipelining.</para>
+ <para>Shame on you, Alfredo Carvalho <email>ajpc@poli.org</email>.</para>
</sect2>
<sect2 id="interrupted"><title>What do I do if my jigdo download gets interrupted?</title>
<para>If your download gets interrupted, all you need to do is restart jigdo-lite and hit
- <ENTER> at all the question prompts. Jigdo-lite will pick up where it left off.</para>
+ <keycap>ENTER</keycap> at all the question prompts. Jigdo-lite will pick up where it left
+ off.</para>
</sect2>
- <sect2><title>My jigdo download won't complete because the .jigdo file is broken. When I download a new, fixed .jigdo file,
- do I need to download all the data over again?</title>
+ <sect2><title>My jigdo download won't complete because the .jigdo file is broken. When I
+ download a new, fixed .jigdo file, do I need to download all the data over again?</title>
- <para>You may find that the .jigdo file you downloaded is broken. It's very uncommon, but it
- does happen from time to time with moving targets like Debian testing or unstable.</para>
-
- <para>If you find that your .jigdo file is broken, you'll need to download a new .jigdo file
- (when a fixed one becomes available), but you <emphasis>won't</emphasis> need to download all
- the ISO data again.</para>
+ <para>You may find that the .jigdo file you downloaded is broken. It's uncommon, but it does
+ happen from time to time with moving targets like Debian testing or unstable.</para>
+
+ <para>If you find that <filename>.jigdo</filename> is broken, you'll need to download a new
+ .jigdo file (when a fixed one becomes available), but you <emphasis>won't</emphasis> need to
+ download all the ISO data again.</para>
<para>You can use the same loop mounting trick we use when updating an ISO image. The
difference is that there's no finished .iso file to start with, but the .iso.tmp file is an
ISO image too and can be used to finish the download without having to re-download all the
- data that was downloaded before the broken .jigdo file caused jigdo-file to halt. Simply loop
+ data that was downloaded before the broken .jigdo file caused jigdo-lite to halt. Simply loop
mount the .iso.tmp file on <filename role="directory">/mnt</filename> and when you re-run
jigdo-lite with the fixed .jigdo file, tell jigdo-lite to scan <filename
role="directory">/mnt</filename>. Don't forget to rename or move the .iso.tmp file so it
- <sect2><title>Why doesn't jigdo work? It downloads some packages and deletes them. I know it doesn't write them to the
+ <sect2><title>Jigdo-lite is broken! It downloads packages and deletes them. I know it doesn't write them to the
<filename>iso.tmp</filename> file because the file size doesn't change!</title>
- <para>Jigdo works just fine - the .iso.tmp file is created at the beginning with its final
- size, but filled with zero bytes. Later, parts of it are overwritten with the downloaded
- data.</para>
+ <para>Jigdo works just fine -- the <filename>.iso.tmp</filename> file is created at the
+ beginning with its final size, but filled with zero bytes. Later, parts of it are overwritten
+ with the downloaded data.</para>
<para>You can tell that jigdo is making progress by looking at the messages "<literal>Found X
of the Y files required by the template</literal>" that are printed from time to time. The
- <sect2 id="needtoupgrade"><title>[10 Feb 2003]: I'm having trouble getting jigdo to download Sarge or Sid.</title>
-
- <para>If you're using Potato or Woody: because of a change in jigdo, the version of jigdo-lite
- that comes with Potato and Woody (r0 and r1) cannot download Sarge and Sid images. The
- jigdo-file packages from Sarge (0.7.0-2) and Sid (0.7.0-2) can download Sarge and Sid images.
- Also, a bugfixed version of jigdo-file (0.6.5) was submitted for inclusion for Woody r2 and
- will hopefully be available when r2 comes out. However, because of bug fixes and
- enhancements, you're urged to use jigdo-file from Sarge or Sid.</para>
-
- <para>If you're using Sarge or Sid, then you may need some help. Search the archives of the
- debian-cd mailing list, and if that doesn't solve your problem, you should send them a request
- for help (<xref linkend="links">).</para>
-
- </sect2>
-
-
-
<sect2 id="scanmultipleimages"><title>For image updates, I want jigdo-lite to scan 14
loop-mounted images in one go. How can I do this?</title>
</sect2>
+ <sect2><title>Can I run multiple instances of jigdo-lite to download images in parallel?</title>
+ <para>Absolutely. However, to avoid filename clashing, you should run each
+ <application>jigdo-lite</application> instance in its own separate directory. You can start
+ as many instances as you want, go to bed, and when you wake up, all the ISO images will be
+ waiting for you on your hard drive. Be aware that <application>jigdo-lite</application> is
+ bandwidth and CPU intensive, so you won't want to use your computer with multiple instances
+ running in tandem.</para>
+ </sect2>
+
+
+
+ <sect2><title>Is there a GUI interface available?</title>
+
+ <para>A GTK+ interface to jigdo is being worked on. Both Linux and Microsoft Windows GUI
+ clients are planned. Unfortunately, it's been 80% done for over 1.5 years, so don't hold your
+ breath for its release.</para>
+
+ </sect2>
+
</sect1>
<sect1 id="errata"><title>Errata</title>
+
+
<sect2 id="jigdo-easy"><title>jigdo-easy</title>
- <para>Jigdo-easy, by Anne Bezemer, is a fork from jigdo-lite which is portable to a wider
- range of systems, including Microsoft Windows, old SunOS, HP-UX and IRIX). It's also easier
- to use than jigdo-lite but because of changes made to Jigdo, will only work with Potato and
- Woody. Jigdo-easy will not be able to download Sarge and Sid. See <xref linkend="links"> and
- <xref linkend="otherplatforms">.</para>
+ <para>Jigdo-easy, by Anne Bezemer, is a fork of <application>jigdo-lite</application> which is
+ portable to a wider range of systems, including Microsoft Windows, old SunOS, HP-UX and IRIX).
+ It's also easier to use than jigdo-lite but because of changes made to Jigdo, will only work
+ with Potato and Woody. Jigdo-easy will not be able to download Sarge and Sid. See <xref
+ linkend="links"> and <xref linkend="otherplatforms">.</para>
</sect2>
+ <sect2 id="more-about-scan"><title>More About Scan Sources</title>
- <sect2><title>GUI Interface</title>
+ <para>By now you know that when <application>jigdo-lite</application> asks for files to scan,
+ you can use 3 sources:
- <para>A GTK+ interface to jigdo is currently being worked on. It's not fully functional yet,
- but will be available at some point. There will be a Linux as well as a Windows GUI
- client.</para>
- </sect2>
+ <itemizedlist mark='bullet'>
+
+ <listitem><para>A mounted copy of an outdated CD or DVD that you wish to
+ update.</para></listitem>
+
+ <listitem><para>A loop-mounted copy of an outdated ISO image file on your hard
+ drive.</para></listitem>
+
+ <listitem><para>A loop-mounted copy of the temporary <filename>.iso.tmp</filename> file,
+ when a previous <application>jigdo-lite</application> run aborted.</para></listitem>
+
+ </itemizedlist>
+ <para>As Jens Seidel points out, there is another, rather crafty, source you should use for a
+ scanning source: your apt cache. Apt uses the directory <filename
+ role="directory">/var/cache/apt/archives</filename> for cache. There will be many Debian
+ packages sitting in this directory, and they can be used for a scan source for
+ <application>jigdo-lite</application>! So when you're asked for a directory to scan, by all
+ means, use this directory too.</para>
+
+ <para>If you're editing the <filename>~/.jigdo-lite</filename> file by hand, be aware that
+ multiple scan directories are space separated, for example:</para>
+
+ <screen>
+ scanMenu='/var/cache/apt/archives/ /cdrom/'
+ </screen>
+
+ </sect2>
>http://packages.debian.org/testing/utils/jigdo-file.html</ulink>
</term>
<listitem>
- <para>If you're using Potato or Woody, please upgrade jigdo-file to version <literal>0.7.0-2</literal>,
- which comes with testing or unstable (<xref linkend="needtoupgrade">).</para>
+ <para>The official webpage for the Debian jigdo-file package.</para>
</listitem>
- </varlistentry>
+ </varlistentry>
<varlistentry>
- <term><ulink url="http://lists.debian.org/search.html">http://lists.debian.org/search.html</ulink>
+ <term><ulink url="http://lists.debian.org/search.html"
+ >http://lists.debian.org/search.html</ulink>
</term>
<listitem>
<para>You can use this page to search the debian-cd mailing list archives.</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>
+ <ulink url="https://lists.berlios.de/mailman/listinfo/jigdo-user"
+ >https://lists.berlios.de/mailman/listinfo/jigdo-user</ulink>
+ </term>
+ <listitem>
+ <para>The subscription page for the official Jigdo mailing list.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
</sect2>
<!--
vim: tw=100:expandtab
-->
-
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "JIGDO-FILE" "1" "10 July 2005" "" ""
+.TH "JIGDO-FILE" "1" "19 May 2006" "" ""
.SH NAME
jigdo-file \- Prepare files for Jigsaw Download (distribution of huge files, e.g. CD images).
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "JIGDO-LITE" "1" "10 July 2005" "" ""
+.TH "JIGDO-LITE" "1" "19 May 2006" "" ""
.SH NAME
jigdo-lite \- Download jigdo files using wget
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "JIGDO-MIRROR" "1" "10 July 2005" "" ""
+.TH "JIGDO-MIRROR" "1" "19 May 2006" "" ""
.SH NAME
jigdo-mirror \- Maintain a mirror of images offered with jigdo
.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng <steve@ggi-project.org>.
-.TH "JIGDO" "1" "10 July 2005" "" ""
+.TH "JIGDO" "1" "19 May 2006" "" ""
.SH NAME
jigdo \- GTK+ download manager.
-%define version 0.7.2
+%define version 0.7.3
%define release 0
%define buildfordefault Red Hat Linux
msgstr ""
"Project-Id-Version: jigdo\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-05 14:48+0200\n"
+"POT-Creation-Date: 2006-05-19 18:21+0200\n"
"PO-Revision-Date: 2005-07-05 14:48+0200\n"
"Last-Translator: RA -*- coding: utf-8; -*-\n"
"Language-Team: de\n"
msgid "%1 hours and %2 minutes"
msgstr "%1 Stunden und %2 Minuten"
-#: jigdo-file-cmd.cc:345
+#: jigdo-file-cmd.cc:347
msgid "%1 list-template: %2"
msgstr "%1 list-template: %2"
-#: jigdo-file-cmd.cc:319
+#: jigdo-file-cmd.cc:321
msgid "%1 list-template: --template not specified.\n"
msgstr "%1 list-template: --template muss angegeben werden.\n"
-#: jigdo-file-cmd.cc:324
+#: jigdo-file-cmd.cc:326
msgid "%1 list-template: Sorry, cannot read from standard input.\n"
msgstr "%1 list-template: Sorry, kann nicht von stdin lesen.\n"
-#: jigdo-file-cmd.cc:283
+#: jigdo-file-cmd.cc:285
msgid ""
"%1 make-image: Not both --image and --template specified.\n"
"(Attempt to deduce missing names failed.)\n"
"%1 make-image: Es wurde nicht sowohl --image als auch --template\n"
"angegeben. (Versuch, die Dateinamen zu raten, schlug fehl.)\n"
-#: jigdo-file-cmd.cc:229
+#: jigdo-file-cmd.cc:231
msgid "%1 make-template: Could not read `%2' (%3)"
msgstr "%1 make-template: Konnte »%2« nicht lesen (%3)"
-#: jigdo-file-cmd.cc:270
+#: jigdo-file-cmd.cc:272
msgid "%1 make-template: Could not write `%2' (%3)"
msgstr "%1 make-template: Konnte »%2« nicht schreiben (%3)"
-#: jigdo-file-cmd.cc:202 jigdo-file-cmd.cc:442
+#: jigdo-file-cmd.cc:204 jigdo-file-cmd.cc:444
msgid ""
"%1 make-template: Not all of --image, --jigdo, --template specified.\n"
"(Attempt to deduce missing names failed.)\n"
msgid "%1 minutes"
msgstr "%1 Minuten"
-#: jigdo-file-cmd.cc:479
+#: jigdo-file-cmd.cc:481
msgid "%1 print-missing: %2"
msgstr "%1 print-missing: %2"
-#: jigdo-file-cmd.cc:557
+#: jigdo-file-cmd.cc:559
msgid "%1 scan: Please specify a --cache file.\n"
msgstr "%1 scan: Bitte geben Sie eine Datei für --cache an.\n"
-#: jigdo-file-cmd.cc:383
+#: jigdo-file-cmd.cc:385
msgid "%1 verify: %2"
msgstr "%1 verify: %2"
-#: jigdo-file-cmd.cc:389
+#: jigdo-file-cmd.cc:391
msgid "%1 verify: Invalid template data - corrupted file?"
msgstr "%1 verify: Ungültige template-Daten - kaputte Datei?"
-#: jigdo-file-cmd.cc:362
+#: jigdo-file-cmd.cc:364
msgid ""
"%1 verify: Not both --image and --template specified.\n"
"(Attempt to deduce missing names failed.)\n"
"%1 verify: Es wurde nicht sowohl --image als auch --template\n"
"angegeben. (Versuch, die Dateinamen zu raten, schlug fehl.)\n"
-#: jigdo-file-cmd.cc:351 jigdo-file-cmd.cc:395
+#: jigdo-file-cmd.cc:353 jigdo-file-cmd.cc:397
msgid "%1: %2"
msgstr "%1: %2"
-#: jigdo-file-cmd.cc:44 jigdo-file-cmd.cc:65
+#: jigdo-file-cmd.cc:45 jigdo-file-cmd.cc:67
msgid "%1: Could not open `%2' for input: %3"
msgstr "%1: Fehler beim Öffnen von »%2« zur Eingabe: %3"
-#: jigdo-file-cmd.cc:96 jigdo-file-cmd.cc:111
+#: jigdo-file-cmd.cc:98 jigdo-file-cmd.cc:113
msgid "%1: Could not open `%2' for output: %3"
msgstr "%1: Fehler beim Öffnen von »%2« zur Ausgabe: %3"
-#: jigdo-file-cmd.cc:154
+#: jigdo-file-cmd.cc:156
msgid "%1: Invalid argument to --label: `%2'"
msgstr "%1: Ungültiges Argument für --label: »%2«"
-#: jigdo-file.cc:575
+#: jigdo-file.cc:583
msgid ""
"%1: Invalid argument to --report (allowed: default noprogress quiet grep)"
msgstr ""
"%1: Ungültiges Argument für --report (Erlaubt: default noprogress quiet grep)"
-#: jigdo-file-cmd.cc:136
+#: jigdo-file-cmd.cc:138
msgid "%1: Invalid argument to --uri: `%2'"
msgstr "%1: Ungültiges Argument für --uri: »%2«"
-#: jigdo-file.cc:681
+#: jigdo-file.cc:689
msgid ""
"%1: Invalid command `%2'\n"
"(Must be one of:%3)"
msgid "%1: Invalid time specifier `%2'"
msgstr "%1: Ungültige Zeitspanne »%2«"
-#: jigdo-file.cc:728
+#: jigdo-file.cc:481
msgid "%1: Out of memory - aborted."
msgstr "%1: Nicht genug Speicher - Abbruch."
-#: jigdo-file-cmd.cc:82
+#: jigdo-file-cmd.cc:84
msgid "%1: Output file `%2' already exists - delete it or use --force"
msgstr ""
"%1: Ausgabedatei »%2« existiert bereits - löschen Sie sie oder benutzen Sie "
"--force"
-#: jigdo-file.cc:638
+#: jigdo-file.cc:646
msgid "%1: Please specify a command"
msgstr "%1: Bitte geben Sie ein Kommando an"
"wenn ein »~« vor dem Subsystem-Namen steht, dann wird sie abgeschaltet.\n"
"Registrierte Subsysteme:"
-#: job/makeimagedl.cc:230 job/makeimagedl.cc:242
+#: job/makeimagedl.cc:229 job/makeimagedl.cc:241
msgid "Cache entry %1"
msgstr "Cache-Eintrag %1"
msgid "Cancel"
msgstr "Schließen"
-#: mkimage.cc:862
+#: mkimage.cc:868
msgid "Cannot create image because of missing files"
msgstr "Es fehlen noch Dateien zur Erzeugung der Image-Datei"
msgid "Command supplied with --match-exec failed"
msgstr "Kommando von --match-exec gab Fehlerstatus zurück"
-#: mkimage.cc:658
+#: mkimage.cc:664
msgid ""
"Copied input files to temporary file `%1' - repeat command and supply more "
"files to continue"
msgid "Corrupted input data"
msgstr "Eingabedaten sind verfälscht"
-#: job/makeimagedl.cc:128
+#: job/makeimagedl.cc:127
msgid "Could not create temporary directory: %L1"
msgstr "Temporäres Verzeichnis konnte nicht erzeugt werden: %L1"
-#: mkimage.cc:667
+#: mkimage.cc:673
msgid "Could not move finished image from `%1' to `%2' (%3)"
msgstr "Fertiges Image konnte nicht von »%1« nach »%2« verschoben werden (%3)"
msgid "Could not open `%1' for input: %2"
msgstr "Fehler beim Öffnen von »%1« zur Eingabe: %2"
-#: mkimage.cc:905
+#: mkimage.cc:911
msgid "Could not open `%1' for output: %2"
msgstr "Fehler beim Öffnen von »%1« zur Ausgabe: %2"
msgid "Could not open `%L1' for input: %L2"
msgstr "Fehler beim Öffnen von »%L1« zur Eingabe: %L2"
-#: job/makeimagedl.cc:268
+#: job/makeimagedl.cc:267
msgid "Could not open `%L1' for output: %L2"
msgstr "Fehler beim Öffnen von »%L1« zur Ausgabe: %L2"
msgid "Could not read from `%L1': %L2"
msgstr "Von »%L1« konnte nicht gelesen werden: %L2"
-#: job/makeimagedl.cc:407
+#: job/makeimagedl.cc:406
msgid "Could not rename `%L1' to `%L2': %L3"
msgstr "Datei »%L1« konnte nicht in »%L2« umbenannt werden: %L3"
msgid "Could not set up environment for --match-exec command"
msgstr "Setzen der Umgebungsvariablen für --match-exec fehlgeschlagen"
-#: mkimage.cc:639
+#: mkimage.cc:645
msgid "Could not truncate `%1' (%2)"
msgstr "Datei »%1« konnte nicht verkürzt werden (%2)"
-#: mktemplate.cc:932 zstream.cc:85 zstream.cc:96
+#: mktemplate.cc:934 zstream.cc:85 zstream.cc:96
msgid "Could not write template data"
msgstr "Schreiben der template-Daten schlug fehl"
msgid "Default servers"
msgstr "Haupt-Server"
-#: mkimage.cc:765
+#: mkimage.cc:771
msgid "Delete/rename the file or use --force"
msgstr "Löschen Sie die Datei, benennen Sie sie um oder benutzen Sie --force"
msgid "Download was stopped manually"
msgstr "Herunterladen wurde gestoppt"
-#: jigdo-file-cmd.cc:411
+#: jigdo-file-cmd.cc:413
msgid "ERROR: Checksums do not match, image might be corrupted!"
msgstr "FEHLER: Prüfsummen nicht gleich, Image könnte Fehler enthalten!"
msgid "Error"
msgstr "Fehler"
-#: mkimage.cc:615
+#: mkimage.cc:621
msgid "Error - could not access temporary file"
msgstr "Fehler - Zugriff auf temporäre Datei schlug fehl"
-#: mkimage.cc:543
+#: mkimage.cc:549
msgid "Error - template data's DESC section invalid"
msgstr "Fehler - DESC-Abschnitt in template-Daten ungültig"
-#: scan.cc:265 scan.hh:432
+#: scan.cc:265 scan.hh:433
msgid "Error accessing cache: %1"
msgstr "Fehler beim Cache-Zugriff: %1"
"Fehler beim Entfernen alter Cache-Einträge: %1. Die Cache-Datei könnte "
"unbrauchbar geworden sein, eventuell sollten Sie sie löschen."
-#: mktemplate.cc:922
+#: mktemplate.cc:924
msgid "Error during compression: %1"
msgstr "Fehler bei der Komprimierung: %1"
msgid "Error reading compressed data - %1"
msgstr "Fehler beim Lesen der komprimierten Daten - %1"
-#: recursedir.cc:92
+#: recursedir.cc:94
msgid "Error reading filenames from `%1' (%2)"
msgstr "Fehler beim Lesen der Dateinamen von »%1« (%2)"
-#: recursedir.cc:89
+#: recursedir.cc:91
msgid "Error reading filenames from standard input (%1)"
msgstr "Fehler beim Lesen der Dateinamen von stdin (%2)"
-#: mkimage.cc:389 mktemplate.cc:323
+#: mkimage.cc:395 mktemplate.cc:323
msgid "Error reading from `%1' (%2)"
msgstr "Fehler beim Lesen von »%1« (%2)"
msgid "Error reading from directory `%1' (%2)"
msgstr "Fehler beim Lesen aus Verzeichnis »%1« (%2)"
-#: mkimage.cc:218
+#: mkimage.cc:224
msgid "Error reading template data (%1)"
msgstr "Fehler beim Lesen der Template-Daten - %1"
msgid "Error while reading `%1' - file will be ignored (%2)"
msgstr "Fehler beim Lesen von »%1« - ignoriere Datei (%2)"
-#: mkimage.cc:552
+#: mkimage.cc:558
msgid "Error while writing to `%1' (%2)"
msgstr "Fehler beim Schreiben in »%1« (%2)"
-#: mkimage.cc:401
+#: mkimage.cc:407
msgid "Error: `%1' does not match checksum in template data"
msgstr "Fehler: »%1« hat nicht die Prüfsumme, die in der Template-Datei steht"
msgid "FTP proxy"
msgstr "FTP-Proxy"
-#: job/makeimagedl.cc:456
+#: job/makeimagedl.cc:455
msgid "Failed – see error of child download"
msgstr "Fehlgeschlagen – siehe Fehlermeldung des Teil-Downloads"
msgid "Finished - image size is %1 bytes."
msgstr "Fertig - Image-Größe ist %1 Bytes."
-#: mkimage.cc:833
+#: mkimage.cc:839
msgid "Found %1 of the %2 files required by the template"
msgstr "%1 der %2 vom Template benötigten Dateien gefunden"
"Verzeichnisname stehen. Für das Herunterladen einzelner Dateien kann es auch "
"ein Dateiname sein."
-#: mkimage.cc:957
+#: mkimage.cc:963
msgid "Ignoring existing temporary file `%1' - %2"
msgstr "Ignoriere bestehende temporäre Datei »%1« - %2"
msgid "Invalid Template-MD5Sum argument"
msgstr "Argument von Template-MD5Sum ungültig"
-#: job/url-mapping.cc:237
+#: job/url-mapping.cc:239
msgid "Invalid argument to --try-first"
msgstr "Ungültiges Argument für --try-first"
-#: job/url-mapping.cc:246
+#: job/url-mapping.cc:248
msgid "Invalid argument to --try-last"
msgstr "Ungültiges Argument für --try-last"
-#: job/makeimagedl.cc:292 job/makeimagedl.cc:330 job/makeimagedl.cc:353
+#: job/makeimagedl.cc:291 job/makeimagedl.cc:329 job/makeimagedl.cc:352
msgid "Invalid cache entry: `%L1' is not a file"
msgstr "Ungültiger Cache-Eintrag: »%L1« ist keine Datei"
msgid "Invalid image name"
msgstr "Ungültiger Image-Name"
-#: mkimage.cc:83 mkimage.cc:102 mkimage.cc:120 mkimage.cc:212 mkimage.cc:224
-#: mkimage.cc:228
+#: mkimage.cc:85 mkimage.cc:108 mkimage.cc:126 mkimage.cc:218 mkimage.cc:230
+#: mkimage.cc:234
msgid "Invalid template data - corrupted file?"
msgstr "Ungültige Template-Daten - Dateiinhalt zerstört?"
msgid "Jigsaw Download"
msgstr "Jigsaw Download"
-#: job/makeimagedl.cc:145
+#: job/makeimagedl.cc:144
msgid ""
"Jigsaw Download - half-finished download\n"
"\n"
msgid "OK"
msgstr "OK"
-#: jigdo-file-cmd.cc:406
+#: jigdo-file-cmd.cc:408
msgid "OK: Checksums match, image is good!"
msgstr "OK: Prüfsummen stimmen überein, Image-Datei ist in Ordnung!"
"Verzeichnis angeben, unter dem die CD eingebunden (gemountet) ist, NICHT den "
"Namen einer .iso-Datei."
-#: mkimage.cc:479
+#: mkimage.cc:485
msgid "Premature end of template data"
msgstr "Vorzeitiges Ende der Template-Daten"
-#: job/url-mapping.cc:189
+#: job/url-mapping.cc:191
msgid "Recursive label definition"
msgstr "Rekursive Label-Definition"
msgid "Resuming... %1kB"
msgstr "Wieder aufnehmen... %1kB"
-#: job/makeimagedl.cc:532
+#: job/makeimagedl.cc:531
msgid "Retrieving .jigdo"
msgstr "Lade .jigdo herunter"
-#: job/makeimagedl.cc:571
+#: job/makeimagedl.cc:570
msgid "Retrieving .template"
msgstr "Lade .template herunter"
"Es wurden bereits Daten heruntergeladen. Sind Sie sicher, dass sie diese "
"löschen und das Herunterladen neu starten wollen?"
-#: mkimage.cc:920
+#: mkimage.cc:926
msgid ""
"Sorry, at the moment the Windows port of jigdo cannot create files bigger "
"than 2 GB. Use the Linux version."
msgid "Status"
msgstr "Status"
-#: mkimage.cc:878 mkimage.cc:935
+#: mkimage.cc:884 mkimage.cc:941
msgid "Successfully created `%1'"
msgstr "»%1« wurde erfolgreich erzeugt"
msgid "Waiting..."
msgstr "Warte..."
-#: jigdo-file-cmd.cc:209
+#: jigdo-file-cmd.cc:211
msgid ""
"Warning - no files specified. The template will contain the complete image "
"contents!"
"Achtung - es wurden keine Dateien angegeben. Das Template wird die "
"kompletten Image-Daten enthalten!"
-#: jigdo-file-cmd.cc:337 jigdo-file-cmd.cc:378
+#: jigdo-file-cmd.cc:339 jigdo-file-cmd.cc:380
msgid "Warning: This does not seem to be a template file"
msgstr "Achtung: Dies scheint keine Template-Datei zu sein"
"LE1« %2 Bytes, aber jetzt sind es %3 Bytes. Wollen Sie den Download wirklich "
"wieder (von Byte %3 an) aufnehmen?"
-#: mkimage.cc:854
+#: mkimage.cc:860
msgid ""
"Will not create image or temporary file - try again with different input "
"files"
"Es wird keine Image-Datei oder temporäre Datei erzeugt - versuchen Sie es "
"mit anderen Eingabedateien"
-#: mkimage.cc:760
+#: mkimage.cc:766
msgid "Will not reuse existing temporary file `%1' - %2"
msgstr "Existierende temporäre Datei »%1« wird nicht verwendet - %2"
msgid "_Start scan"
msgstr "_Scan starten"
-#: mkimage.cc:682
+#: mkimage.cc:688
msgid "`%1' is not a template file"
msgstr "»%1« ist keine Template-Datei"
msgid "`%1=...' line missing in [Image] section"
msgstr "Zeile »%1=...« fehlt im [Image]-Abschnitt"
-#: mkimage.cc:388
+#: mkimage.cc:394
msgid "file is too short"
msgstr "Datei ist zu klein"
-#: mkimage.cc:708
+#: mkimage.cc:714
msgid "it corresponds to a different image/template."
msgstr "sie gehört zu einem anderen Image/Template."
-#: mkimage.cc:705
+#: mkimage.cc:711
msgid "it was not created by jigdo-file, or is corrupted."
msgstr "sie wurde nicht von jigdo-file erzeugt oder ist zerstört."
msgid "scanning image"
msgstr "Scanne Image"
-#: mkimage.cc:710 mkimage.cc:714
+#: mkimage.cc:716 mkimage.cc:720
msgid "since its creation, the template was regenerated."
msgstr "seit seiner Erzeugung wurde das Template neu erzeugt."
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-07-05 14:48+0200\n"
+"POT-Creation-Date: 2006-05-19 18:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "%1 hours and %2 minutes"
msgstr ""
-#: jigdo-file-cmd.cc:345
+#: jigdo-file-cmd.cc:347
msgid "%1 list-template: %2"
msgstr ""
-#: jigdo-file-cmd.cc:319
+#: jigdo-file-cmd.cc:321
msgid "%1 list-template: --template not specified.\n"
msgstr ""
-#: jigdo-file-cmd.cc:324
+#: jigdo-file-cmd.cc:326
msgid "%1 list-template: Sorry, cannot read from standard input.\n"
msgstr ""
-#: jigdo-file-cmd.cc:283
+#: jigdo-file-cmd.cc:285
msgid ""
"%1 make-image: Not both --image and --template specified.\n"
"(Attempt to deduce missing names failed.)\n"
msgstr ""
-#: jigdo-file-cmd.cc:229
+#: jigdo-file-cmd.cc:231
msgid "%1 make-template: Could not read `%2' (%3)"
msgstr ""
-#: jigdo-file-cmd.cc:270
+#: jigdo-file-cmd.cc:272
msgid "%1 make-template: Could not write `%2' (%3)"
msgstr ""
-#: jigdo-file-cmd.cc:202 jigdo-file-cmd.cc:442
+#: jigdo-file-cmd.cc:204 jigdo-file-cmd.cc:444
msgid ""
"%1 make-template: Not all of --image, --jigdo, --template specified.\n"
"(Attempt to deduce missing names failed.)\n"
msgid "%1 minutes"
msgstr ""
-#: jigdo-file-cmd.cc:479
+#: jigdo-file-cmd.cc:481
msgid "%1 print-missing: %2"
msgstr ""
-#: jigdo-file-cmd.cc:557
+#: jigdo-file-cmd.cc:559
msgid "%1 scan: Please specify a --cache file.\n"
msgstr ""
-#: jigdo-file-cmd.cc:383
+#: jigdo-file-cmd.cc:385
msgid "%1 verify: %2"
msgstr ""
-#: jigdo-file-cmd.cc:389
+#: jigdo-file-cmd.cc:391
msgid "%1 verify: Invalid template data - corrupted file?"
msgstr ""
-#: jigdo-file-cmd.cc:362
+#: jigdo-file-cmd.cc:364
msgid ""
"%1 verify: Not both --image and --template specified.\n"
"(Attempt to deduce missing names failed.)\n"
msgstr ""
-#: jigdo-file-cmd.cc:351 jigdo-file-cmd.cc:395
+#: jigdo-file-cmd.cc:353 jigdo-file-cmd.cc:397
msgid "%1: %2"
msgstr ""
-#: jigdo-file-cmd.cc:44 jigdo-file-cmd.cc:65
+#: jigdo-file-cmd.cc:45 jigdo-file-cmd.cc:67
msgid "%1: Could not open `%2' for input: %3"
msgstr ""
-#: jigdo-file-cmd.cc:96 jigdo-file-cmd.cc:111
+#: jigdo-file-cmd.cc:98 jigdo-file-cmd.cc:113
msgid "%1: Could not open `%2' for output: %3"
msgstr ""
-#: jigdo-file-cmd.cc:154
+#: jigdo-file-cmd.cc:156
msgid "%1: Invalid argument to --label: `%2'"
msgstr ""
-#: jigdo-file.cc:575
+#: jigdo-file.cc:583
msgid ""
"%1: Invalid argument to --report (allowed: default noprogress quiet grep)"
msgstr ""
-#: jigdo-file-cmd.cc:136
+#: jigdo-file-cmd.cc:138
msgid "%1: Invalid argument to --uri: `%2'"
msgstr ""
-#: jigdo-file.cc:681
+#: jigdo-file.cc:689
msgid ""
"%1: Invalid command `%2'\n"
"(Must be one of:%3)"
msgid "%1: Invalid time specifier `%2'"
msgstr ""
-#: jigdo-file.cc:728
+#: jigdo-file.cc:481
msgid "%1: Out of memory - aborted."
msgstr ""
-#: jigdo-file-cmd.cc:82
+#: jigdo-file-cmd.cc:84
msgid "%1: Output file `%2' already exists - delete it or use --force"
msgstr ""
-#: jigdo-file.cc:638
+#: jigdo-file.cc:646
msgid "%1: Please specify a command"
msgstr ""
"Registered units:"
msgstr ""
-#: job/makeimagedl.cc:230 job/makeimagedl.cc:242
+#: job/makeimagedl.cc:229 job/makeimagedl.cc:241
msgid "Cache entry %1"
msgstr ""
msgid "Cancel"
msgstr ""
-#: mkimage.cc:862
+#: mkimage.cc:868
msgid "Cannot create image because of missing files"
msgstr ""
msgid "Command supplied with --match-exec failed"
msgstr ""
-#: mkimage.cc:658
+#: mkimage.cc:664
msgid ""
"Copied input files to temporary file `%1' - repeat command and supply more "
"files to continue"
msgid "Corrupted input data"
msgstr ""
-#: job/makeimagedl.cc:128
+#: job/makeimagedl.cc:127
msgid "Could not create temporary directory: %L1"
msgstr ""
-#: mkimage.cc:667
+#: mkimage.cc:673
msgid "Could not move finished image from `%1' to `%2' (%3)"
msgstr ""
msgid "Could not open `%1' for input: %2"
msgstr ""
-#: mkimage.cc:905
+#: mkimage.cc:911
msgid "Could not open `%1' for output: %2"
msgstr ""
msgid "Could not open `%L1' for input: %L2"
msgstr ""
-#: job/makeimagedl.cc:268
+#: job/makeimagedl.cc:267
msgid "Could not open `%L1' for output: %L2"
msgstr ""
msgid "Could not read from `%L1': %L2"
msgstr ""
-#: job/makeimagedl.cc:407
+#: job/makeimagedl.cc:406
msgid "Could not rename `%L1' to `%L2': %L3"
msgstr ""
msgid "Could not set up environment for --match-exec command"
msgstr ""
-#: mkimage.cc:639
+#: mkimage.cc:645
msgid "Could not truncate `%1' (%2)"
msgstr ""
-#: mktemplate.cc:932 zstream.cc:85 zstream.cc:96
+#: mktemplate.cc:934 zstream.cc:85 zstream.cc:96
msgid "Could not write template data"
msgstr ""
msgid "Default servers"
msgstr ""
-#: mkimage.cc:765
+#: mkimage.cc:771
msgid "Delete/rename the file or use --force"
msgstr ""
msgid "Download was stopped manually"
msgstr ""
-#: jigdo-file-cmd.cc:411
+#: jigdo-file-cmd.cc:413
msgid "ERROR: Checksums do not match, image might be corrupted!"
msgstr ""
msgid "Error"
msgstr ""
-#: mkimage.cc:615
+#: mkimage.cc:621
msgid "Error - could not access temporary file"
msgstr ""
-#: mkimage.cc:543
+#: mkimage.cc:549
msgid "Error - template data's DESC section invalid"
msgstr ""
-#: scan.cc:265 scan.hh:432
+#: scan.cc:265 scan.hh:433
msgid "Error accessing cache: %1"
msgstr ""
"deleting it."
msgstr ""
-#: mktemplate.cc:922
+#: mktemplate.cc:924
msgid "Error during compression: %1"
msgstr ""
msgid "Error reading compressed data - %1"
msgstr ""
-#: recursedir.cc:92
+#: recursedir.cc:94
msgid "Error reading filenames from `%1' (%2)"
msgstr ""
-#: recursedir.cc:89
+#: recursedir.cc:91
msgid "Error reading filenames from standard input (%1)"
msgstr ""
-#: mkimage.cc:389 mktemplate.cc:323
+#: mkimage.cc:395 mktemplate.cc:323
msgid "Error reading from `%1' (%2)"
msgstr ""
msgid "Error reading from directory `%1' (%2)"
msgstr ""
-#: mkimage.cc:218
+#: mkimage.cc:224
msgid "Error reading template data (%1)"
msgstr ""
msgid "Error while reading `%1' - file will be ignored (%2)"
msgstr ""
-#: mkimage.cc:552
+#: mkimage.cc:558
msgid "Error while writing to `%1' (%2)"
msgstr ""
-#: mkimage.cc:401
+#: mkimage.cc:407
msgid "Error: `%1' does not match checksum in template data"
msgstr ""
msgid "FTP proxy"
msgstr ""
-#: job/makeimagedl.cc:456
+#: job/makeimagedl.cc:455
msgid "Failed – see error of child download"
msgstr ""
msgid "Finished - image size is %1 bytes."
msgstr ""
-#: mkimage.cc:833
+#: mkimage.cc:839
msgid "Found %1 of the %2 files required by the template"
msgstr ""
"file downloads, it can also be a filename."
msgstr ""
-#: mkimage.cc:957
+#: mkimage.cc:963
msgid "Ignoring existing temporary file `%1' - %2"
msgstr ""
msgid "Invalid Template-MD5Sum argument"
msgstr ""
-#: job/url-mapping.cc:237
+#: job/url-mapping.cc:239
msgid "Invalid argument to --try-first"
msgstr ""
-#: job/url-mapping.cc:246
+#: job/url-mapping.cc:248
msgid "Invalid argument to --try-last"
msgstr ""
-#: job/makeimagedl.cc:292 job/makeimagedl.cc:330 job/makeimagedl.cc:353
+#: job/makeimagedl.cc:291 job/makeimagedl.cc:329 job/makeimagedl.cc:352
msgid "Invalid cache entry: `%L1' is not a file"
msgstr ""
msgid "Invalid image name"
msgstr ""
-#: mkimage.cc:83 mkimage.cc:102 mkimage.cc:120 mkimage.cc:212 mkimage.cc:224
-#: mkimage.cc:228
+#: mkimage.cc:85 mkimage.cc:108 mkimage.cc:126 mkimage.cc:218 mkimage.cc:230
+#: mkimage.cc:234
msgid "Invalid template data - corrupted file?"
msgstr ""
msgid "Jigsaw Download"
msgstr ""
-#: job/makeimagedl.cc:145
+#: job/makeimagedl.cc:144
msgid ""
"Jigsaw Download - half-finished download\n"
"\n"
msgid "OK"
msgstr ""
-#: jigdo-file-cmd.cc:406
+#: jigdo-file-cmd.cc:408
msgid "OK: Checksums match, image is good!"
msgstr ""
"directory where the CD is mounted, NOT the name of an .iso file."
msgstr ""
-#: mkimage.cc:479
+#: mkimage.cc:485
msgid "Premature end of template data"
msgstr ""
-#: job/url-mapping.cc:189
+#: job/url-mapping.cc:191
msgid "Recursive label definition"
msgstr ""
msgid "Resuming... %1kB"
msgstr ""
-#: job/makeimagedl.cc:532
+#: job/makeimagedl.cc:531
msgid "Retrieving .jigdo"
msgstr ""
-#: job/makeimagedl.cc:571
+#: job/makeimagedl.cc:570
msgid "Retrieving .template"
msgstr ""
"data and restart the download?"
msgstr ""
-#: mkimage.cc:920
+#: mkimage.cc:926
msgid ""
"Sorry, at the moment the Windows port of jigdo cannot create files bigger "
"than 2 GB. Use the Linux version."
msgid "Status"
msgstr ""
-#: mkimage.cc:878 mkimage.cc:935
+#: mkimage.cc:884 mkimage.cc:941
msgid "Successfully created `%1'"
msgstr ""
msgid "Waiting..."
msgstr ""
-#: jigdo-file-cmd.cc:209
+#: jigdo-file-cmd.cc:211
msgid ""
"Warning - no files specified. The template will contain the complete image "
"contents!"
msgstr ""
-#: jigdo-file-cmd.cc:337 jigdo-file-cmd.cc:378
+#: jigdo-file-cmd.cc:339 jigdo-file-cmd.cc:380
msgid "Warning: This does not seem to be a template file"
msgstr ""
"(from byte %3)?"
msgstr ""
-#: mkimage.cc:854
+#: mkimage.cc:860
msgid ""
"Will not create image or temporary file - try again with different input "
"files"
msgstr ""
-#: mkimage.cc:760
+#: mkimage.cc:766
msgid "Will not reuse existing temporary file `%1' - %2"
msgstr ""
msgid "_Start scan"
msgstr ""
-#: mkimage.cc:682
+#: mkimage.cc:688
msgid "`%1' is not a template file"
msgstr ""
msgid "`%1=...' line missing in [Image] section"
msgstr ""
-#: mkimage.cc:388
+#: mkimage.cc:394
msgid "file is too short"
msgstr ""
-#: mkimage.cc:708
+#: mkimage.cc:714
msgid "it corresponds to a different image/template."
msgstr ""
-#: mkimage.cc:705
+#: mkimage.cc:711
msgid "it was not created by jigdo-file, or is corrupted."
msgstr ""
msgid "scanning image"
msgstr ""
-#: mkimage.cc:710 mkimage.cc:714
+#: mkimage.cc:716 mkimage.cc:720
msgid "since its creation, the template was regenerated."
msgstr ""
cd "$inst"
get() {
- cmd wget -nc --directory-prefix="$dl" "$@"
+ file="$dl/`basename $1`"
+ if test -f "$file"; then
+ echo "$file"
+ else
+ cmd wget -nc --directory-prefix="$dl" "$1"
+ fi
}
buntar() {
# http://www.gimp.org/~tml/gimp/win32/downloads.html
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/glib-2.6.5.zip
-unzip $dl/glib-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/glib-dev-2.6.5.zip
-unzip $dl/glib-dev-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/gtk+-2.6.8.zip
-unzip $dl/gtk+-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/gtk+-dev-2.6.8.zip
-unzip $dl/gtk+-dev-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/pango-1.8.0.zip
-unzip $dl/pango-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/pango-dev-1.8.0.zip
-unzip $dl/pango-dev-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/atk-1.9.0.zip
-unzip $dl/atk-[0-9]*.zip
+unzip "$file"
get ftp://ftp.gtk.org/pub/gtk/v2.6/win32/atk-dev-1.9.0.zip
-unzip $dl/atk-dev-[0-9]*.zip
+unzip "$file"
#______________________________________________________________________
# http://www.gimp.org/~tml/gimp/win32/downloads.html
get http://$sf/sourceforge/gnuwin32/libpng-1.2.8-lib.zip
-unzip $dl/libpng-[0-9]*-lib.zip
+unzip "$file"
get http://$sf/sourceforge/gnuwin32/libpng-1.2.8-bin.zip
-unzip $dl/libpng-[0-9]*-bin.zip
+unzip "$file"
get http://www.zlib.net/zlib122-dll.zip
-unzip $dl/zlib[0-9]*-dll.zip
-mv zlib1.dll bin/
+unzip "$file"
+cmd mv zlib1.dll bin/
cp lib/zdll.lib lib/libz.a # allows -lz to be used for linking
get http://$sf/sourceforge/gnuwin32/bzip2-1.0.3-lib.zip
-unzip $dl/bzip2-[0-9.]*-lib.zip
+unzip "$file"
get http://$sf/sourceforge/gnuwin32/bzip2-1.0.3-bin.zip
-unzip $dl/bzip2-[0-9.]*-bin.zip
+unzip "$file"
get http://www.gimp.org/~tml/gimp/win32/pkgconfig-0.15.zip
-unzip $dl/pkgconfig-[0-9.]*.zip
+unzip "$file"
get http://www.gimp.org/~tml/gimp/win32/libiconv-1.9.1.bin.woe32.zip
-unzip $dl/libiconv-[0-9.]*.bin*.zip
+unzip "$file"
get http://www.gimp.org/~tml/gimp/win32/gettext-runtime-0.13.1.zip
-unzip $dl/gettext-runtime-[0-9.]*.zip
+unzip "$file"
#______________________________________________________________________
# Still missing, but not strictly needed ATM:
# - libdb
# http://curl.haxx.se/download.html
-get http://curl.haxx.se/download/curl-7.13.0-win32-ssl-devel-mingw32.zip
-unzip $dl/curl-[0-9.]*mingw32.zip
-cmd mv libcurl.a libcurldll.a lib/
-cmd mv curl.exe libcurl.dll bin/
+#get http://curl.haxx.se/download/curl-7.13.0-win32-ssl-devel-mingw32.zip
+#unzip "$file"
+#cmd mv libcurl.a libcurldll.a lib/
+#cmd mv curl.exe libcurl.dll bin/
+#unzip ~/samba/curl-7.14.0-win32-ssl-devel-mingw32msbitfields-ra050711.zip
+
+# Needs zlibwapi.dll
#get http://curl.haxx.se/download/libcurl-7.14.0-win32-msvc.zip
-#unzip $dl/libcurl-[0-9.]*-win32-msvc.zip
-#mv libcurl.lib lib/
-#mv libcurl.dll bin/
+#unzip "$file"
+#cmd mv libcurl.lib lib/
+#cmd mv libcurl.dll bin/
# OpenSSL for curl
# http://curl.haxx.se/download.html
# This one only has the DLL:
#get http://curl.haxx.se/download/openssl-0.9.7e-win32-bin.zip
-#unzip $dl/openssl-[0-9.]*.zip
-#mv libeay32.dll libssl32.dll openssl.exe bin/
+#unzip "$file"
+#cmd mv libeay32.dll libssl32.dll openssl.exe bin/
# This one also has the developer libs, headers etc.
get http://$sf/sourceforge/gnuwin32/openssl-0.9.7c-lib.zip
-unzip $dl/openssl-[0-9.]*-lib.zip
+unzip "$file"
get http://$sf/sourceforge/gnuwin32/openssl-0.9.7c-bin.zip
-unzip $dl/openssl-[0-9.]*-bin.zip
+unzip "$file"
+
+# Cross-compile:
+# sh go --with-libcurl='-lcurl -lssl -lcrypto -lzdll -lwinmm'
+# make X=-DCURL_STATICLIB
jigdoconfig-test$(EXE): jigdoconfig-test.o $(TEST-DEFAULTOBJS) jigdoconfig.o util/configfile.o
$(LD) -o jigdoconfig-test$(EXE) jigdoconfig-test.o $(TEST-DEFAULTOBJS) jigdoconfig.o util/configfile.o $(TEST-LDFLAGS)
-gtk/interface.o: gtk/interface.cc util/unistd-jigdo.h config.h dirent.hh gtk/interface.hh gtk/gui.hh
-gtk/treeiter.o: gtk/treeiter.cc config.h dirent.hh gtk/treeiter.hh
-gtk/gtk-makeimage.o: gtk/gtk-makeimage.cc config.h dirent.hh job/makeimagedl.hh util/smartptr.hh job/url-mapping.fh gtk/interface.hh job/datasource.hh util/md5sum.fh util/unistd-jigdo.h util/bstream-counted.hh job/url-mapping.hh gtk/gui.hh job/jigdo-io.fh gtk/jobline.fh util/string.hh util/string-utf.hh util/log.hh util/md5sum.hh util/debug.hh util/configfile.hh util/ilist.hh gtk/joblist.hh job/single-url.hh job/job.hh util/nocopy.hh jigdoconfig.hh job/makeimagedl.fh gtk/jobline.hh util/status.hh util/progress.fh net/uri.hh job/makeimage.hh util/progress.hh util/bstream.hh net/download.hh gtk/gtk-makeimage.hh gtk/messagebox.hh gtk/gtk-single-url.hh
-gtk/gtk-single-url.o: gtk/gtk-single-url.cc config.h dirent.hh util/autoptr.hh gtk/jobline.hh util/debug.hh gtk/messagebox.hh util/bstream.hh util/progress.hh util/smartptr.hh util/bstream-counted.hh net/download.hh gtk/interface.hh gtk/gui.hh util/ilist.hh gtk/jobline.fh job/job.hh util/string.hh job/makeimagedl.fh util/string-utf.hh util/progress.fh util/log.hh job/datasource.hh gtk/joblist.hh job/single-url.hh util/nocopy.hh util/unistd-jigdo.h gtk/gtk-single-url.hh
-gtk/gui.o: gtk/gui.cc config.h dirent.hh gtk/jobline.hh util/debug.hh gtk/messagebox.hh util/bstream.hh util/progress.hh util/smartptr.hh util/bstream-counted.hh net/download.hh gtk/interface.hh gtk/gui.hh util/ilist.hh gtk/jobline.fh job/job.hh util/string.hh job/makeimagedl.fh util/string-utf.hh util/progress.fh util/log.hh job/datasource.hh gtk/joblist.hh job/single-url.hh util/nocopy.hh util/unistd-jigdo.h gtk/gtk-single-url.hh job/makeimagedl.hh job/url-mapping.fh util/md5sum.fh job/url-mapping.hh job/jigdo-io.fh util/md5sum.hh util/configfile.hh jigdoconfig.hh util/status.hh net/uri.hh job/makeimage.hh gtk/gtk-makeimage.hh
-gtk/messagebox.o: gtk/messagebox.cc config.h dirent.hh util/debug.hh gtk/interface.hh util/unistd-jigdo.h gtk/gui.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh gtk/messagebox.hh gtk/support.hh
-gtk/jigdo.o: gtk/jigdo.cc config.h dirent.hh util/unistd-jigdo.h util/debug.hh net/download.hh util/glibc-getopt.h net/glibwww.hh gtk/interface.hh gtk/gui.hh gtk/jobline.fh util/string.hh util/string-utf.hh util/log.hh gtk/joblist.hh util/nocopy.hh gtk/jobline.hh net/proxyguess.hh gtk/support.hh
-gtk/support.o: gtk/support.cc config.h dirent.hh util/unistd-jigdo.h gtk/support.hh
-gtk/jobline.o: gtk/jobline.cc config.h dirent.hh job/makeimagedl.hh util/smartptr.hh job/url-mapping.fh gtk/interface.hh job/datasource.hh util/md5sum.fh util/unistd-jigdo.h util/bstream-counted.hh job/url-mapping.hh gtk/gui.hh job/jigdo-io.fh gtk/jobline.fh util/string.hh util/string-utf.hh util/log.hh util/md5sum.hh util/debug.hh util/configfile.hh util/ilist.hh gtk/joblist.hh job/single-url.hh job/job.hh util/nocopy.hh jigdoconfig.hh job/makeimagedl.fh gtk/jobline.hh util/status.hh util/progress.fh net/uri.hh job/makeimage.hh util/progress.hh util/bstream.hh net/download.hh gtk/gtk-makeimage.hh gtk/messagebox.hh gtk/gtk-single-url.hh
-gtk/joblist.o: gtk/joblist.cc config.h dirent.hh util/unistd-jigdo.h net/download.hh gtk/interface.hh gtk/gui.hh gtk/jobline.fh util/string.hh util/string-utf.hh util/log.hh util/debug.hh gtk/joblist.hh util/nocopy.hh gtk/jobline.hh gtk/support.hh gtk/treeiter.hh
-job/makeimagedl-info.o: job/makeimagedl-info.cc config.h dirent.hh util/unistd-jigdo.h compat.hh util/configfile.hh util/debug.hh jigdoconfig.hh net/uri.hh util/bstream.hh util/string-utf.hh job/url-mapping.fh util/md5sum.fh util/log.hh job/url-mapping.hh util/md5sum.hh util/ilist.hh job/job.hh job/makeimagedl.fh util/progress.fh util/progress.hh util/nocopy.hh util/smartptr.hh job/datasource.hh util/bstream-counted.hh job/jigdo-io.fh net/download.hh job/single-url.hh util/status.hh job/makeimage.hh util/string.hh job/makeimagedl.hh
-job/jigdodownload.o: job/jigdodownload.cc config.h dirent.hh util/status.hh util/nocopy.hh util/bstream.hh job/makeimage.hh util/smartptr.hh util/string-utf.hh util/string.hh job/datasource.hh job/url-mapping.fh job/makeimagedl.hh util/md5sum.fh util/log.hh job/url-mapping.hh util/md5sum.hh util/bstream-counted.hh util/ilist.hh job/jigdo-io.fh util/debug.hh net/download.hh job/job.hh util/configfile.hh job/makeimagedl.fh job/single-url.hh util/progress.fh jigdoconfig.hh util/progress.hh net/uri.hh job/jigdodownload.hh
-job/jigdo-io.o: job/jigdo-io.cc config.h dirent.hh util/debug.hh util/configfile.hh job/single-url.hh job/url-mapping.fh util/string-utf.hh jigdoconfig.hh util/md5sum.fh util/log.hh util/status.hh job/url-mapping.hh util/ilist.hh job/makeimage.hh job/job.hh job/makeimagedl.fh util/progress.fh util/md5sum.hh util/nocopy.hh job/makeimagedl.hh util/progress.hh job/datasource.hh util/smartptr.hh util/gunzip.hh util/bstream-counted.hh job/jigdo-io.fh net/download.hh net/uri.hh util/bstream.hh util/string.hh job/jigdo-io.hh util/mimestream.hh
-job/makeimage.o: job/makeimage.cc config.h dirent.hh util/configfile.hh jigdoconfig.hh util/nocopy.hh util/debug.hh job/makeimage.hh
-job/url-mapping.o: job/url-mapping.cc config.h dirent.hh util/unistd-jigdo.h compat.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh net/uri.hh util/bstream.hh util/md5sum.fh util/md5sum.hh util/smartptr.hh util/status.hh job/url-mapping.fh job/url-mapping.hh
-job/url-mapping-test.o: job/url-mapping-test.cc config.h dirent.hh util/debug.hh util/configfile.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh net/uri.hh util/bstream.hh util/md5sum.fh util/md5sum.hh util/smartptr.hh util/status.hh job/url-mapping.fh job/url-mapping.hh
-job/makeimagedl-info-test.o: job/makeimagedl-info-test.cc config.h dirent.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh net/uri.hh util/bstream.hh job/url-mapping.fh util/md5sum.fh job/url-mapping.hh util/md5sum.hh util/ilist.hh job/job.hh job/makeimagedl.fh util/progress.fh util/progress.hh util/smartptr.hh job/datasource.hh util/bstream-counted.hh job/jigdo-io.fh net/download.hh util/configfile.hh job/single-url.hh jigdoconfig.hh util/status.hh job/makeimage.hh job/makeimagedl.hh
-job/datasource.o: job/datasource.cc util/string.hh util/string-utf.hh util/log.hh util/ilist.hh util/debug.hh job/job.hh job/makeimagedl.fh util/progress.fh config.h dirent.hh util/nocopy.hh job/datasource.hh
-job/makeimagedl.o: job/makeimagedl.cc config.h dirent.hh util/unistd-jigdo.h util/bstream.hh util/string.hh util/string-utf.hh util/log.hh util/ilist.hh job/job.hh job/makeimagedl.fh util/progress.fh util/nocopy.hh job/datasource.hh util/progress.hh util/debug.hh job/cached-url.hh compat.hh job/single-url.hh job/url-mapping.fh jigdoconfig.hh util/md5sum.fh util/status.hh job/url-mapping.hh job/makeimage.hh util/md5sum.hh job/makeimagedl.hh util/smartptr.hh util/gunzip.hh util/bstream-counted.hh job/jigdo-io.fh net/download.hh net/uri.hh util/configfile.hh job/jigdo-io.hh util/mimestream.hh
-job/cached-url.o: job/cached-url.cc config.h dirent.hh util/unistd-jigdo.h util/autoptr.hh util/bstream.hh util/string.hh util/string-utf.hh util/log.hh util/ilist.hh job/job.hh job/makeimagedl.fh util/progress.fh util/nocopy.hh job/datasource.hh util/progress.hh util/debug.hh job/cached-url.hh
-job/jigdo-io-test.o: job/jigdo-io-test.cc config.h dirent.hh net/uri.hh util/bstream.hh util/string-utf.hh job/url-mapping.fh util/md5sum.fh util/log.hh job/url-mapping.hh util/md5sum.hh util/ilist.hh util/debug.hh job/job.hh job/makeimagedl.fh util/progress.fh util/progress.hh util/nocopy.hh util/smartptr.hh job/datasource.hh util/bstream-counted.hh job/jigdo-io.fh net/download.hh util/configfile.hh job/single-url.hh jigdoconfig.hh util/status.hh job/makeimage.hh util/string.hh job/makeimagedl.hh util/gunzip.hh job/jigdo-io.hh util/mimestream.hh job/jigdo-io.cc
-job/single-url.o: job/single-url.cc config.h dirent.hh util/autoptr.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/progress.hh util/smartptr.hh util/bstream-counted.hh util/ilist.hh job/job.hh job/makeimagedl.fh util/progress.fh job/datasource.hh util/bstream.hh net/download.hh job/single-url.hh
+gtk/interface.o: gtk/interface.cc util/unistd-jigdo.h gtk/interface.hh gtk/gui.hh
+gtk/treeiter.o: gtk/treeiter.cc gtk/treeiter.hh
+gtk/gtk-makeimage.o: gtk/gtk-makeimage.cc jigdoconfig.hh job/makeimagedl.fh util/log.hh util/status.hh util/progress.fh util/debug.hh job/makeimage.hh util/ilist.hh net/download.hh net/uri.hh util/unistd-jigdo.h gtk/joblist.hh util/nocopy.hh gtk/interface.hh job/datasource.hh gtk/gui.hh util/bstream.hh util/smartptr.hh gtk/jobline.hh job/url-mapping.fh job/jigdo-io.fh job/url-mapping.hh util/md5sum.fh util/progress.hh util/md5sum.hh gtk/jobline.fh job/makeimagedl.hh util/configfile.hh job/job.hh util/string-utf.hh job/single-url.hh util/bstream-counted.hh util/string.hh gtk/gtk-makeimage.hh gtk/messagebox.hh gtk/gtk-single-url.hh
+gtk/gtk-single-url.o: gtk/gtk-single-url.cc util/autoptr.hh job/job.hh util/bstream.hh job/makeimagedl.fh util/bstream-counted.hh util/progress.fh gtk/jobline.fh util/string-utf.hh util/string.hh util/log.hh net/download.hh util/ilist.hh gtk/joblist.hh job/datasource.hh util/nocopy.hh util/progress.hh gtk/interface.hh job/single-url.hh gtk/gui.hh util/unistd-jigdo.h gtk/jobline.hh util/smartptr.hh gtk/messagebox.hh util/debug.hh gtk/gtk-single-url.hh
+gtk/gui.o: gtk/gui.cc job/job.hh util/bstream.hh job/makeimagedl.fh util/bstream-counted.hh util/progress.fh gtk/jobline.fh util/string-utf.hh util/string.hh util/log.hh net/download.hh util/ilist.hh gtk/joblist.hh job/datasource.hh util/nocopy.hh util/progress.hh gtk/interface.hh job/single-url.hh gtk/gui.hh util/unistd-jigdo.h gtk/jobline.hh util/smartptr.hh gtk/messagebox.hh util/debug.hh gtk/gtk-single-url.hh jigdoconfig.hh util/status.hh job/makeimage.hh net/uri.hh job/url-mapping.fh job/jigdo-io.fh job/url-mapping.hh util/md5sum.fh util/md5sum.hh job/makeimagedl.hh util/configfile.hh gtk/gtk-makeimage.hh
+gtk/messagebox.o: gtk/messagebox.cc util/debug.hh util/unistd-jigdo.h gtk/interface.hh gtk/gui.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh gtk/messagebox.hh gtk/support.hh
+gtk/jigdo.o: gtk/jigdo.cc util/unistd-jigdo.h util/debug.hh net/download.hh util/glibc-getopt.h net/glibwww.hh gtk/interface.hh gtk/gui.hh gtk/jobline.fh util/string-utf.hh util/string.hh util/log.hh gtk/joblist.hh util/nocopy.hh gtk/jobline.hh net/proxyguess.hh gtk/support.hh
+gtk/support.o: gtk/support.cc util/unistd-jigdo.h gtk/support.hh
+gtk/jobline.o: gtk/jobline.cc jigdoconfig.hh job/makeimagedl.fh util/log.hh util/status.hh util/progress.fh util/debug.hh job/makeimage.hh util/ilist.hh net/download.hh net/uri.hh util/unistd-jigdo.h gtk/joblist.hh util/nocopy.hh gtk/interface.hh job/datasource.hh gtk/gui.hh util/bstream.hh util/smartptr.hh gtk/jobline.hh job/url-mapping.fh job/jigdo-io.fh job/url-mapping.hh util/md5sum.fh util/progress.hh util/md5sum.hh gtk/jobline.fh job/makeimagedl.hh util/configfile.hh job/job.hh util/string-utf.hh job/single-url.hh util/bstream-counted.hh util/string.hh gtk/gtk-makeimage.hh gtk/messagebox.hh gtk/gtk-single-url.hh
+gtk/joblist.o: gtk/joblist.cc util/unistd-jigdo.h gtk/jobline.fh util/string-utf.hh util/string.hh util/log.hh util/debug.hh net/download.hh gtk/joblist.hh util/nocopy.hh gtk/interface.hh gtk/gui.hh gtk/jobline.hh gtk/support.hh gtk/treeiter.hh
+job/makeimagedl-info.o: job/makeimagedl-info.cc util/unistd-jigdo.h compat.hh util/debug.hh util/configfile.hh jigdoconfig.hh job/url-mapping.hh util/md5sum.hh job/job.hh util/bstream-counted.hh job/makeimagedl.fh net/download.hh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh job/datasource.hh util/smartptr.hh job/jigdo-io.fh util/progress.hh job/single-url.hh util/status.hh job/makeimage.hh net/uri.hh util/bstream.hh util/string.hh job/url-mapping.fh util/md5sum.fh util/log.hh job/makeimagedl.hh
+job/jigdodownload.o: job/jigdodownload.cc util/log.hh jigdoconfig.hh util/bstream-counted.hh job/makeimagedl.hh util/status.hh job/makeimagedl.fh job/makeimage.hh net/download.hh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh util/debug.hh job/datasource.hh net/uri.hh util/smartptr.hh util/bstream.hh job/jigdo-io.fh util/string.hh util/progress.hh job/url-mapping.hh job/url-mapping.fh util/configfile.hh util/md5sum.hh util/md5sum.fh job/single-url.hh job/job.hh job/jigdodownload.hh
+job/jigdo-io.o: job/jigdo-io.cc util/debug.hh util/configfile.hh job/url-mapping.fh util/smartptr.hh job/job.hh util/md5sum.fh util/progress.hh job/makeimagedl.fh job/makeimagedl.hh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh job/datasource.hh job/single-url.hh util/gunzip.hh jigdoconfig.hh job/jigdo-io.fh util/status.hh job/url-mapping.hh job/makeimage.hh util/md5sum.hh net/uri.hh util/bstream-counted.hh util/string.hh util/bstream.hh net/download.hh util/log.hh job/jigdo-io.hh util/mimestream.hh
+job/makeimage.o: job/makeimage.cc util/nocopy.hh util/debug.hh util/configfile.hh jigdoconfig.hh job/makeimage.hh
+job/url-mapping.o: job/url-mapping.cc util/unistd-jigdo.h compat.hh util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh net/uri.hh util/md5sum.hh util/smartptr.hh util/status.hh job/url-mapping.fh util/bstream.hh util/md5sum.fh job/url-mapping.hh
+job/url-mapping-test.o: job/url-mapping-test.cc util/debug.hh util/configfile.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh net/uri.hh util/md5sum.hh util/smartptr.hh util/status.hh job/url-mapping.fh util/bstream.hh util/md5sum.fh job/url-mapping.hh
+job/makeimagedl-info-test.o: job/makeimagedl-info-test.cc util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh job/url-mapping.hh util/md5sum.hh job/job.hh util/bstream-counted.hh job/makeimagedl.fh net/download.hh util/progress.fh util/ilist.hh job/datasource.hh util/smartptr.hh job/jigdo-io.fh util/progress.hh util/configfile.hh job/single-url.hh jigdoconfig.hh util/status.hh job/makeimage.hh net/uri.hh util/bstream.hh job/url-mapping.fh util/md5sum.fh job/makeimagedl.hh
+job/datasource.o: job/datasource.cc util/debug.hh util/string.hh util/log.hh job/job.hh job/makeimagedl.fh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh job/datasource.hh
+job/makeimagedl.o: job/makeimagedl.cc util/unistd-jigdo.h util/log.hh job/job.hh job/makeimagedl.fh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh job/datasource.hh util/progress.hh util/debug.hh util/bstream.hh util/string.hh job/cached-url.hh compat.hh job/url-mapping.fh util/smartptr.hh util/md5sum.fh job/makeimagedl.hh util/configfile.hh job/single-url.hh util/gunzip.hh jigdoconfig.hh job/jigdo-io.fh util/status.hh job/url-mapping.hh job/makeimage.hh util/md5sum.hh net/uri.hh util/bstream-counted.hh net/download.hh job/jigdo-io.hh util/mimestream.hh
+job/cached-url.o: job/cached-url.cc util/unistd-jigdo.h util/autoptr.hh util/log.hh job/job.hh job/makeimagedl.fh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh job/datasource.hh util/progress.hh util/debug.hh util/bstream.hh util/string.hh job/cached-url.hh
+job/jigdo-io-test.o: job/jigdo-io-test.cc job/url-mapping.hh util/md5sum.hh job/job.hh util/bstream-counted.hh job/makeimagedl.fh net/download.hh util/progress.fh util/string-utf.hh util/nocopy.hh util/ilist.hh job/datasource.hh util/smartptr.hh job/jigdo-io.fh util/progress.hh util/configfile.hh job/single-url.hh jigdoconfig.hh util/status.hh job/makeimage.hh util/debug.hh net/uri.hh util/bstream.hh util/string.hh job/url-mapping.fh util/md5sum.fh util/log.hh job/makeimagedl.hh util/gunzip.hh job/jigdo-io.hh util/mimestream.hh job/jigdo-io.cc
+job/single-url.o: job/single-url.cc util/autoptr.hh util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/bstream-counted.hh job/job.hh job/makeimagedl.fh util/progress.fh util/ilist.hh job/datasource.hh net/download.hh util/smartptr.hh util/progress.hh util/bstream.hh job/single-url.hh
net/download-test.o: net/download-test.cc
net/libwww-HTFTP.o: net/libwww-HTFTP.c
net/libwww-HTHost.o: net/libwww-HTHost.c
-net/glibwww-init.o: net/glibwww-init.cc config.h dirent.hh net/glibwww.hh
-net/glibwww-callbacks.o: net/glibwww-callbacks.cc config.h dirent.hh net/glibwww.hh
-net/glibwww-trans.o: net/glibwww-trans.cc config.h dirent.hh net/glibwww.hh
-net/proxyguess-test.o: net/proxyguess-test.cc config.h dirent.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh glibcurl/glibcurl.h net/proxyguess.hh util/unistd-jigdo.h net/proxyguess.cc
-net/uri.o: net/uri.cc config.h dirent.hh net/uri.hh util/unistd-jigdo.h compat.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-net/proxyguess.o: net/proxyguess.cc config.h dirent.hh util/unistd-jigdo.h glibcurl/glibcurl.h util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh net/proxyguess.hh
-net/download.o: net/download.cc config.h dirent.hh util/debug.hh net/download.hh glibcurl/glibcurl.h util/configfile.hh jigdoconfig.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-net/uri-test.o: net/uri-test.cc config.h dirent.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh net/uri.hh
-util/string-utf-test.o: util/string-utf-test.cc config.h dirent.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh
-util/rsyncsum.o: util/rsyncsum.cc config.h dirent.hh util/debug.hh serialize.hh util/bstream.hh util/rsyncsum.hh util/mimestream.hh util/rsyncsum.ih
-util/gunzip-test.o: util/gunzip-test.cc config.h dirent.hh util/debug.hh util/bstream.hh util/gunzip.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-util/string.o: util/string.cc config.h dirent.hh util/debug.hh util/string.hh
-util/mimestream-test.o: util/mimestream-test.cc config.h dirent.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/mimestream.hh
-util/configfile.o: util/configfile.cc config.h dirent.hh util/debug.hh util/configfile.hh util/string.hh
-util/md5sum.o: util/md5sum.cc config.h dirent.hh util/glibc-md5.hh util/bstream.hh util/md5sum.fh util/debug.hh util/md5sum.hh util/mimestream.hh util/md5sum.ih
-util/glibc-getopt1.o: util/glibc-getopt1.c config.h dirent.hh util/glibc-getopt.h
-util/string-utf.o: util/string-utf.cc config.h dirent.hh util/debug.hh util/string.hh util/string-utf.hh
-util/progress.o: util/progress.cc config.h dirent.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/progress.fh util/progress.hh
-util/autonullptr-test.o: util/autonullptr-test.cc util/log.hh config.h dirent.hh util/debug.hh util/ilist.hh util/nocopy.hh util/string.hh util/string-utf.hh util/autonullptr.hh
-util/gunzip.o: util/gunzip.cc config.h dirent.hh util/debug.hh util/gunzip.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-util/random.o: util/random.cc config.h dirent.hh util/bstream.hh util/md5sum.fh util/debug.hh util/md5sum.hh
-util/log-test.o: util/log-test.cc config.h dirent.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh
-util/debug.o: util/debug.cc util/unistd-jigdo.h config.h dirent.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-util/log.o: util/log.cc util/nocopy.hh util/string.hh util/string-utf.hh config.h dirent.hh util/debug.hh util/log.hh
-util/md5sum-test.o: util/md5sum-test.cc config.h dirent.hh util/debug.hh util/bstream.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh
-util/rsyncsum-test.o: util/rsyncsum-test.cc config.h dirent.hh util/debug.hh util/bstream.hh serialize.hh util/rsyncsum.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-util/glibc-getopt.o: util/glibc-getopt.c config.h dirent.hh util/glibc-getopt.h util/unistd-jigdo.h
-util/configfile-test.o: util/configfile-test.cc config.h dirent.hh util/debug.hh util/configfile.hh
-util/glibc-md5.o: util/glibc-md5.cc config.h dirent.hh util/bstream.hh util/md5sum.fh util/debug.hh util/md5sum.hh util/glibc-md5.hh
-util/checkpoint.o: util/checkpoint.cc config.h dirent.hh util/checkpoint.hh
-util/bstream.o: util/bstream.cc config.h dirent.hh util/debug.hh util/bstream.hh
-compat.o: compat.cc config.h dirent.hh util/unistd-jigdo.h compat.hh util/debug.hh
-scan.o: scan.cc config.h dirent.hh util/unistd-jigdo.h util/debug.hh util/bstream.hh compat.hh util/configfile.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh cachefile.hh util/md5sum.fh util/md5sum.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh scan.hh
+net/glibwww-init.o: net/glibwww-init.cc net/glibwww.hh
+net/glibwww-callbacks.o: net/glibwww-callbacks.cc net/glibwww.hh
+net/glibwww-trans.o: net/glibwww-trans.cc net/glibwww.hh
+net/proxyguess-test.o: net/proxyguess-test.cc util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh glibcurl/glibcurl.h net/proxyguess.hh util/unistd-jigdo.h net/proxyguess.cc
+net/uri.o: net/uri.cc net/uri.hh util/unistd-jigdo.h compat.hh util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+net/proxyguess.o: net/proxyguess.cc util/unistd-jigdo.h glibcurl/glibcurl.h util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh net/proxyguess.hh
+net/download.o: net/download.cc util/debug.hh net/download.hh glibcurl/glibcurl.h util/configfile.hh jigdoconfig.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+net/uri-test.o: net/uri-test.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh net/uri.hh
+util/string-utf-test.o: util/string-utf-test.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh
+util/rsyncsum.o: util/rsyncsum.cc util/debug.hh util/bstream.hh serialize.hh util/rsyncsum.hh util/mimestream.hh util/rsyncsum.ih
+util/gunzip-test.o: util/gunzip-test.cc util/debug.hh util/bstream.hh util/gunzip.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+util/string.o: util/string.cc util/debug.hh util/string.hh
+util/mimestream-test.o: util/mimestream-test.cc util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/mimestream.hh
+util/configfile.o: util/configfile.cc util/debug.hh util/configfile.hh util/string.hh
+util/md5sum.o: util/md5sum.cc util/glibc-md5.hh util/debug.hh util/bstream.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh util/md5sum.ih
+util/glibc-getopt1.o: util/glibc-getopt1.c util/glibc-getopt.h
+util/string-utf.o: util/string-utf.cc util/debug.hh util/string.hh util/string-utf.hh
+util/progress.o: util/progress.cc util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/progress.fh util/progress.hh
+util/autonullptr-test.o: util/autonullptr-test.cc util/string-utf.hh util/nocopy.hh util/ilist.hh util/string.hh util/log.hh util/debug.hh util/autonullptr.hh
+util/gunzip.o: util/gunzip.cc util/debug.hh util/gunzip.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+util/random.o: util/random.cc util/debug.hh util/bstream.hh util/md5sum.fh util/md5sum.hh
+util/log-test.o: util/log-test.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh
+util/debug.o: util/debug.cc util/unistd-jigdo.h util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+util/log.o: util/log.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh
+util/md5sum-test.o: util/md5sum-test.cc util/debug.hh util/bstream.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh
+util/rsyncsum-test.o: util/rsyncsum-test.cc util/debug.hh util/bstream.hh serialize.hh util/rsyncsum.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+util/glibc-getopt.o: util/glibc-getopt.c util/glibc-getopt.h util/unistd-jigdo.h
+util/configfile-test.o: util/configfile-test.cc util/debug.hh util/configfile.hh
+util/glibc-md5.o: util/glibc-md5.cc util/debug.hh util/bstream.hh util/md5sum.fh util/md5sum.hh util/glibc-md5.hh
+util/checkpoint.o: util/checkpoint.cc util/checkpoint.hh
+util/bstream.o: util/bstream.cc util/debug.hh util/bstream.hh
+compat.o: compat.cc util/unistd-jigdo.h compat.hh util/debug.hh
+scan.o: scan.cc util/unistd-jigdo.h util/debug.hh util/bstream.hh compat.hh util/configfile.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/md5sum.fh util/md5sum.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh cachefile.hh scan.hh
glibcurl/glibcurl.o: glibcurl/glibcurl.c glibcurl/glibcurl.h
glibcurl/glibcurl-example.o: glibcurl/glibcurl-example.c glibcurl/glibcurl.h
-zstream-bz.o: zstream-bz.cc config.h dirent.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh serialize.hh zstream.fh zstream.hh zstream-bz.hh
-zstream-gz.o: zstream-gz.cc config.h dirent.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh serialize.hh zstream.fh zstream.hh zstream-gz.hh
-torture.o: torture.cc config.h dirent.hh util/unistd-jigdo.h util/debug.hh util/bstream.hh util/configfile.hh jigdoconfig.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh cachefile.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh scan.hh mkimage.hh zstream.fh partialmatch.hh compat.hh jigdoconfig.fh mktemplate.hh recursedir.hh
-jigdoconfig-test.o: jigdoconfig-test.cc util/configfile.hh config.h dirent.hh util/debug.hh jigdoconfig.hh
-partialmatch.o: partialmatch.cc config.h dirent.hh scan.fh util/bstream.hh zstream.fh util/unistd-jigdo.h partialmatch.hh compat.hh util/configfile.hh jigdoconfig.fh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/md5sum.fh util/md5sum.hh serialize.hh util/rsyncsum.hh util/debug.hh mktemplate.hh cachefile.hh recursedir.fh util/status.hh scan.hh partialmatch.ih
-jigdoconfig.o: jigdoconfig.cc config.h dirent.hh util/configfile.hh util/debug.hh jigdoconfig.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh
-recursedir-test.o: recursedir-test.cc config.h dirent.hh util/debug.hh recursedir.fh util/unistd-jigdo.h recursedir.hh util/string.hh recursedir.cc util/nocopy.hh util/string-utf.hh util/log.hh util/debug.cc
-mkimage.o: mkimage.cc config.h dirent.hh util/unistd-jigdo.h compat.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh cachefile.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh scan.hh mkimage.hh zstream.fh zstream.hh zstream-gz.hh
-recursedir.o: recursedir.cc config.h dirent.hh util/debug.hh recursedir.fh util/unistd-jigdo.h recursedir.hh util/string.hh
-mkjigdo.o: mkjigdo.cc config.h dirent.hh util/configfile.hh util/debug.hh jigdoconfig.hh util/bstream.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh scan.fh zstream.fh util/unistd-jigdo.h partialmatch.hh compat.hh jigdoconfig.fh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh serialize.hh util/rsyncsum.hh mktemplate.hh cachefile.hh recursedir.fh util/status.hh scan.hh
-cachefile.o: cachefile.cc config.h dirent.hh util/status.hh util/debug.hh cachefile.hh util/unistd-jigdo.h compat.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/bstream.hh serialize.hh
-mktemplate.o: mktemplate.cc config.h dirent.hh util/autoptr.hh util/unistd-jigdo.h compat.hh util/debug.hh util/nocopy.hh util/string.hh util/string-utf.hh util/log.hh util/mimestream.hh util/bstream.hh util/md5sum.fh util/md5sum.hh cachefile.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh scan.hh mkimage.hh zstream.fh partialmatch.hh util/configfile.hh jigdoconfig.fh mktemplate.hh zstream.hh zstream-gz.hh zstream-bz.hh
-jigdo-file-cmd.o: jigdo-file-cmd.cc config.h dirent.hh util/unistd-jigdo.h compat.hh util/debug.hh mktemplate.hh mkimage.hh zstream.fh jigdoconfig.hh cachefile.hh util/bstream.hh util/md5sum.fh util/md5sum.hh recursedir.fh partialmatch.hh serialize.hh util/rsyncsum.hh jigdoconfig.fh scan.fh util/nocopy.hh util/string.hh util/string-utf.hh util/status.hh util/log.hh scan.hh util/configfile.hh jigdo-file-cmd.hh util/mimestream.hh recursedir.hh
-jigdo-file.o: jigdo-file.cc config.h dirent.hh util/glibc-getopt.h util/unistd-jigdo.h compat.hh util/debug.hh util/configfile.hh mktemplate.hh mkimage.hh zstream.fh jigdoconfig.hh cachefile.hh util/bstream.hh util/md5sum.fh util/md5sum.hh recursedir.fh partialmatch.hh serialize.hh util/rsyncsum.hh jigdoconfig.fh scan.fh util/nocopy.hh util/string.hh util/string-utf.hh util/status.hh util/log.hh scan.hh jigdo-file-cmd.hh recursedir.hh
-zstream.o: zstream.cc config.h dirent.hh util/nocopy.hh util/string.hh util/string-utf.hh util/debug.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh serialize.hh zstream.fh zstream.hh zstream-gz.hh zstream-bz.hh
+zstream-bz.o: zstream-bz.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh serialize.hh zstream.fh zstream.hh zstream-bz.hh
+zstream-gz.o: zstream-gz.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh serialize.hh zstream.fh zstream.hh zstream-gz.hh
+torture.o: torture.cc util/unistd-jigdo.h util/debug.hh util/bstream.hh util/configfile.hh jigdoconfig.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh cachefile.hh scan.hh mkimage.hh partialmatch.hh compat.hh jigdoconfig.fh zstream.fh mktemplate.hh dirent.hh recursedir.hh
+jigdoconfig-test.o: jigdoconfig-test.cc util/debug.hh util/configfile.hh jigdoconfig.hh
+partialmatch.o: partialmatch.cc partialmatch.hh compat.hh util/configfile.hh jigdoconfig.fh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/md5sum.fh util/md5sum.hh serialize.hh util/rsyncsum.hh util/debug.hh scan.fh util/bstream.hh zstream.fh util/unistd-jigdo.h mktemplate.hh recursedir.fh util/status.hh cachefile.hh scan.hh partialmatch.ih
+jigdoconfig.o: jigdoconfig.cc util/debug.hh util/configfile.hh jigdoconfig.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh
+recursedir-test.o: recursedir-test.cc util/debug.hh recursedir.hh util/string.hh recursedir.fh dirent.hh util/unistd-jigdo.h recursedir.cc util/nocopy.hh util/log.hh util/string-utf.hh util/debug.cc
+mkimage.o: mkimage.cc util/unistd-jigdo.h compat.hh util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh util/md5sum.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh cachefile.hh scan.hh util/bstream.hh util/md5sum.fh mkimage.hh zstream.fh zstream.hh zstream-gz.hh
+recursedir.o: recursedir.cc recursedir.fh dirent.hh util/unistd-jigdo.h util/debug.hh recursedir.hh util/string.hh
+mkjigdo.o: mkjigdo.cc util/debug.hh util/configfile.hh jigdoconfig.hh util/bstream.hh util/md5sum.fh util/md5sum.hh util/mimestream.hh partialmatch.hh compat.hh jigdoconfig.fh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh serialize.hh util/rsyncsum.hh scan.fh zstream.fh util/unistd-jigdo.h mktemplate.hh recursedir.fh util/status.hh cachefile.hh scan.hh
+cachefile.o: cachefile.cc util/debug.hh util/status.hh cachefile.hh util/unistd-jigdo.h compat.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/bstream.hh serialize.hh
+mktemplate.o: mktemplate.cc util/autoptr.hh util/unistd-jigdo.h compat.hh util/debug.hh util/string-utf.hh util/nocopy.hh util/string.hh util/log.hh util/mimestream.hh util/md5sum.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/status.hh cachefile.hh scan.hh util/bstream.hh util/md5sum.fh mkimage.hh partialmatch.hh util/configfile.hh jigdoconfig.fh zstream.fh mktemplate.hh zstream.hh zstream-gz.hh zstream-bz.hh
+jigdo-file-cmd.o: jigdo-file-cmd.cc util/unistd-jigdo.h compat.hh util/debug.hh util/bstream.hh jigdoconfig.fh util/md5sum.fh util/string-utf.hh util/md5sum.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/nocopy.hh util/string.hh util/log.hh util/status.hh zstream.fh cachefile.hh scan.hh mktemplate.hh mkimage.hh util/configfile.hh partialmatch.hh jigdoconfig.hh jigdo-file-cmd.hh util/mimestream.hh dirent.hh recursedir.hh
+jigdo-file.o: jigdo-file.cc util/glibc-getopt.h util/unistd-jigdo.h compat.hh util/debug.hh util/configfile.hh util/bstream.hh jigdoconfig.fh util/md5sum.fh util/string-utf.hh util/md5sum.hh recursedir.fh serialize.hh util/rsyncsum.hh scan.fh util/nocopy.hh util/string.hh util/log.hh util/status.hh zstream.fh cachefile.hh scan.hh mktemplate.hh mkimage.hh partialmatch.hh jigdoconfig.hh jigdo-file-cmd.hh dirent.hh recursedir.hh
+zstream.o: zstream.cc util/string-utf.hh util/debug.hh util/nocopy.hh util/string.hh util/log.hh util/bstream.hh util/md5sum.fh util/md5sum.hh serialize.hh zstream.fh zstream.hh zstream-gz.hh zstream-bz.hh
-/* $Id: cachefile.cc,v 1.7 2005/07/02 22:05:03 atterer Exp $ -*- C++ -*-
+/* $Id: cachefile.cc,v 1.8 2005/07/21 11:31:43 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2003 | richard@
| \/¯| Richard Atterer | atterer.net
//________________________________________
Status CacheFile::findName(const byte*& resultData, size_t& resultSize,
- const string& fileName, long long int& resultFileSize,
+ const string& fileName, off_t& resultFileSize,
time_t& resultMtime) {
DBT key; memset(&key, 0, sizeof(DBT));
key.data = const_cast<char*>(fileName.c_str());
-/* $Id: cachefile.hh,v 1.3 2005/07/02 22:05:03 atterer Exp $ -*- C++ -*-
+/* $Id: cachefile.hh,v 1.4 2005/07/21 11:31:43 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2002 | richard@
| \/¯| Richard Atterer | atterer.net
only valid until the next database operation. */
Status findName(const byte*& resultData, size_t& resultSize,
const string& fileName,
- long long int& resultFileSize, time_t& resultMtime);
+ off_t& resultFileSize, time_t& resultMtime);
/** Insert/overwrite entry for the given file (name must be
absolute, file must have the supplied mtime and size). The data
-/* $Id: compat.cc,v 1.4 2005/07/09 19:14:46 atterer Exp $ -*- C++ -*-
+/* $Id: compat.cc,v 1.6 2006/05/19 16:05:40 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2003 | richard@
| \/¯| Richard Atterer | atterer.net
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (handle == INVALID_HANDLE_VALUE) return -1;
- LARGE_INTEGER targetFileLen;
- targetFileLen.QuadPart = length;
- LARGE_INTEGER newFileLen;
- if (SetFilePointerEx(handle, targetFileLen, &newFileLen, FILE_BEGIN) == 0
- || SetEndOfFile(handle) == 0U) {
+ LONG lengthHi = length >> 32;
+ DWORD setPointerRet = SetFilePointer(handle, length, &lengthHi, FILE_BEGIN);
+ if ((setPointerRet == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR)
+ || SetEndOfFile(handle) == 0) {
CloseHandle(handle);
return -1;
}
- Assert(static_cast<uint64>(newFileLen.QuadPart) == length);
if (CloseHandle(handle) == 0) return -1;
return 0;
}
//====================================================================
#if !WINDOWS && HAVE_IOCTL_WINSZ && HAVE_FILENO
+// Solaris 10 includes:
+#include <termio.h>
+#include <unistd.h>
+// Linux includes:
#include <sys/ioctl.h>
#include <errno.h>
int ttyWidth() {
-/* $Id: gtk-single-url.cc,v 1.19 2005/04/10 16:36:31 atterer Exp $ -*- C++ -*-
+/* $Id: gtk-single-url.cc,v 1.20 2005/10/15 21:27:39 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2003 | richard@
| \/¯| Richard Atterer | atterer.net
void GtkSingleUrl::resumeResponse(GtkDialog*, int r, gpointer data) {
GtkSingleUrl* self = static_cast<GtkSingleUrl*>(data);
- if (r == GTK_RESPONSE_CANCEL) {
+ if (r == GTK_RESPONSE_CANCEL || r == GTK_RESPONSE_DELETE_EVENT) {
delete self;
return;
}
GtkSingleUrl* self = static_cast<GtkSingleUrl*>(data);
self->messageBox.set(0);
- if (r == GTK_RESPONSE_CANCEL) return;
+ if (r == GTK_RESPONSE_CANCEL || r == GTK_RESPONSE_DELETE_EVENT) return;
self->openOutputAndResume();
self->updateWindow();
gtk_label_set_text(GTK_LABEL(GUI::window.download_buttonInfo), "");
void GtkSingleUrl::afterCloseButtonClickedResponse(GtkDialog*, int r,
gpointer data) {
- if (r == GTK_RESPONSE_CANCEL) return;
+ if (r == GTK_RESPONSE_CANCEL || r == GTK_RESPONSE_DELETE_EVENT) return;
GtkSingleUrl* self = static_cast<GtkSingleUrl*>(data);
debug("afterCloseButtonClickedResponse: deleting %1", self);
delete self;
void GtkSingleUrl::afterRestartButtonClickedResponse(GtkDialog*, int r,
gpointer data) {
- if (r == GTK_RESPONSE_CANCEL) return;
+ if (r == GTK_RESPONSE_CANCEL || r == GTK_RESPONSE_DELETE_EVENT) return;
GtkSingleUrl* self = static_cast<GtkSingleUrl*>(data);
self->restart();
}
-/* $Id: gui.cc,v 1.15 2005/07/02 14:53:59 atterer Exp $ -*- C++ -*-
+/* $Id: gui.cc,v 1.16 2005/07/10 20:24:17 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2003 | richard@
| \/¯| Richard Atterer | atterer.net
//"ftp://localhost/image"
//"http://localhost:8000/~richard/ironmaiden/part32"
# if WINDOWS
- "http://192.168.0.5:8000/~richard/ironmaiden/image.jigdo"
+ "http://192.168.1.5:8000/~richard/ironmaiden/image.jigdo"
# else
"http://127.0.0.1:8000/~richard/ironmaiden/image.jigdo"
# endif
-/* $Id: messagebox.hh,v 1.3 2005/04/09 23:09:52 atterer Exp $ -*- C++ -*-
+/* $Id: messagebox.hh,v 1.4 2005/10/15 21:27:39 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2002 | richard@
| \/¯| Richard Atterer | atterer.net
inline GtkWidget* addStockButton(const char* buttonType,
GtkResponseType response);
+ /** implResponseHandler(GtkDialog* diag, int response, gpointer data)
+ @param diag
+ @param response Code of response. Either one of the responses you
+ registered, or GTK_RESPONSE_DELETE_EVENT if the user clicked on the
+ window's close icon. If the user presses the Escape key, either any
+ GTK_RESPONSE_CANCEL (if present) is simulated as pressed, or the only
+ button of the dialog is simulated as pressed (if there is only one), or
+ nothing happens (i.e. >1 buttons and none of them is
+ GTK_RESPONSE_CANCEL).
+ @param data The pointer passed to onResponse(). */
typedef void (*ResponseHandler)(GtkDialog*, int, gpointer);
/** You must take care yourself to be delivered signals when the user
clicks on a button. The MessageBox object is deleted when the dialog is
-/* $Id: jigdo-file.cc,v 1.19 2005/07/05 12:47:17 atterer Exp $ -*- C++ -*-
+/* $Id: jigdo-file.cc,v 1.20 2006/05/14 18:23:31 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2000-2002 | richard@
| \/¯| Richard Atterer | atterer.net
}
//______________________________________________________________________
+void outOfMemory() {
+ cerr << subst(_("%1: Out of memory - aborted."), binName()) << endl;
+ exit(3);
+}
+//______________________________________________________________________
+
+} // local namespace
+
enum {
LONGOPT_BUFSIZE = 0x100, LONGOPT_NOFORCE, LONGOPT_MINSIZE,
LONGOPT_MD5SIZE, LONGOPT_MKIMAGECHECK, LONGOPT_NOMKIMAGECHECK,
}
//______________________________________________________________________
-void outOfMemory() {
- cerr << subst(_("%1: Out of memory - aborted."), binName()) << endl;
- exit(3);
-}
-//______________________________________________________________________
-
-} // local namespace
-
void exit_tryHelp() {
cerr << subst(_("%1: Try `%1 -h' or `man jigdo-file' for more "
"information"), binName()) << endl;
-/* $Id: makeimagedl.hh,v 1.25 2005/04/10 17:04:04 atterer Exp $ -*- C++ -*-
+/* $Id: makeimagedl.hh,v 1.27 2005/10/15 21:34:28 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2003 | richard@
| \/¯| Richard Atterer | atterer.net
<, > & */
void imageInfo(string* output, bool escapedText,
const char* subst[13]) const;
- /** Helper enum for the offsets above */
+ /** Helper enum for the offsets above. E.g. TT is <tt>, TT_ is </tt> */
enum { B, B_, I, I_, TT, TT_, U, U_, BIG, BIG_, SMALL, SMALL_, BR };
/** Return ImageInfo as it appears in the .jigdo file. The value has *not*
-/* $Id: mktemplate.hh,v 1.9 2005/07/05 12:26:20 atterer Exp $ -*- C++ -*-
+/* $Id: mktemplate.hh,v 1.10 2006/05/14 18:23:31 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2000-2002 | richard@
| \/¯| Richard Atterer | atterer.net
void prepareJigdo();
void finalizeJigdo(const string& imageLeafName,
const string& templLeafName, const MD5Sum& templMd5Sum);
- INLINE bool MkTemplate::scanFiles(size_t blockLength, uint32 blockMask,
+ INLINE bool scanFiles(size_t blockLength, uint32 blockMask,
size_t md5BlockLength);
INLINE bool scanImage(byte* buf, size_t bufferLength, size_t blockLength,
uint32 blockMask, size_t md5BlockLength, MD5Sum&);
-/* $Id: download.hh,v 1.16 2005/04/09 23:09:52 atterer Exp $ -*- C++ -*-
+/* $Id: download.hh,v 1.17 2006/05/14 18:23:31 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2003 | richard@
| \/¯| Richard Atterer | atterer.net
static size_t curlWriter(void* data, size_t size, size_t nmemb,
void* selfPtr);
// Called by glibcurl after curl_multi_perform()
- static void Download::glibcurlCallback(void*);
+ static void glibcurlCallback(void*);
// Unregister request from glibwww event loop
// void pauseNow();
-/* $Id: recursedir.cc,v 1.9 2005/07/02 22:05:04 atterer Exp $ -*- C++ -*-
+/* $Id: recursedir.cc,v 1.10 2006/05/14 18:23:31 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2002 | richard@
| \/¯| Richard Atterer | atterer.net
throw RecurseError(err);
}
- //______________________________________________________________________
-
- /* Assign the next object name to result. Returns FAILURE if no more
- names available. Note: An object name is immediately removed from
- the start of "objects" when it is copied to "result". The name of
- a file from which filenames are read, in contrast, stays at the
- head of "objectsFrom" until the file is closed, to allow for
- proper error messages to be generated. */
- bool RecurseDir::getNextObjectName(string& result) throw(RecurseError) {
- while (true) {
-
- // Try to assign the name of an object (name or dir) to result
- if (!objects.empty()) {
- // Out of single list of object names
- result = objects.front();
- //cerr << "getNextObjectName: single " << result << endl;
- objects.pop();
- return SUCCESS;
- //________________________________________
+} // local namespace
- } else if (listStream != 0) {
- // Read line from open file or stdin
- if (listStream->eof()) {
- if (listStream != &cin) fileList.close();
- objectsFrom.pop();
- listStream = 0;
- continue;
- }
- if (!listStream->good()) {
- string err;
- if (listStream == &cin) {
- err = subst(
- _("Error reading filenames from standard input (%1)"),
- strerror(errno));
- } else {
- err = subst(_("Error reading filenames from `%1' (%2)"),
- objectsFrom.front(), strerror(errno));
- fileList.close();
- }
- objectsFrom.pop();
- listStream = 0;
- throw RecurseError(err);
- }
- Paranoid(listStream == &cin || fileList.is_open());
- getline(*listStream, result);
- /* An empty line terminates the list of files - this allows both
- the list and the image data to be fed to stdin with jigdo */
- if (result.empty()) {
- if (listStream != &cin) fileList.close();
- objectsFrom.pop();
- listStream = 0;
- continue;
- }
- return SUCCESS;
- //________________________________________
+//______________________________________________________________________
- } else if (!objectsFrom.empty()) {
- // Open new file to read lines from
- //cerr << "getNextObjectName: opening list of filenames"<< endl;
- Paranoid(listStream == 0);
- //cerr<<"getNextObjectName: open new " << objectsFrom.front()<< endl;
- if (objectsFrom.front().size() == 0) {
- listStream = &cin;
- continue;
+/* Assign the next object name to result. Returns FAILURE if no more
+ names available. Note: An object name is immediately removed from
+ the start of "objects" when it is copied to "result". The name of
+ a file from which filenames are read, in contrast, stays at the
+ head of "objectsFrom" until the file is closed, to allow for
+ proper error messages to be generated. */
+bool RecurseDir::getNextObjectName(string& result) throw(RecurseError) {
+ while (true) {
+
+ // Try to assign the name of an object (name or dir) to result
+ if (!objects.empty()) {
+ // Out of single list of object names
+ result = objects.front();
+ //cerr << "getNextObjectName: single " << result << endl;
+ objects.pop();
+ return SUCCESS;
+ //________________________________________
+
+ } else if (listStream != 0) {
+ // Read line from open file or stdin
+ if (listStream->eof()) {
+ if (listStream != &cin) fileList.close();
+ objectsFrom.pop();
+ listStream = 0;
+ continue;
+ }
+ if (!listStream->good()) {
+ string err;
+ if (listStream == &cin) {
+ err = subst(
+ _("Error reading filenames from standard input (%1)"),
+ strerror(errno));
+ } else {
+ err = subst(_("Error reading filenames from `%1' (%2)"),
+ objectsFrom.front(), strerror(errno));
+ fileList.close();
}
- fileList.open(objectsFrom.front().c_str(), ios::binary);
- listStream = &fileList;
+ objectsFrom.pop();
+ listStream = 0;
+ throw RecurseError(err);
+ }
+ Paranoid(listStream == &cin || fileList.is_open());
+ getline(*listStream, result);
+ /* An empty line terminates the list of files - this allows both
+ the list and the image data to be fed to stdin with jigdo */
+ if (result.empty()) {
+ if (listStream != &cin) fileList.close();
+ objectsFrom.pop();
+ listStream = 0;
+ continue;
+ }
+ return SUCCESS;
+ //________________________________________
+
+ } else if (!objectsFrom.empty()) {
+ // Open new file to read lines from
+ //cerr << "getNextObjectName: opening list of filenames"<< endl;
+ Paranoid(listStream == 0);
+ //cerr<<"getNextObjectName: open new " << objectsFrom.front()<< endl;
+ if (objectsFrom.front().size() == 0) {
+ listStream = &cin;
continue;
- //________________________________________
-
- } else {
- // Out of luck - no more filenames left to supply to caller
- return FAILURE;
}
+ fileList.open(objectsFrom.front().c_str(), ios::binary);
+ listStream = &fileList;
+ continue;
+ //________________________________________
+
+ } else {
+ // Out of luck - no more filenames left to supply to caller
+ return FAILURE;
}
}
-
-} // local namespace
+}
//________________________________________
bool RecurseDir::getName(string& result, struct stat* fileInfo,
-/* $Id: recursedir.hh,v 1.6 2005/07/04 10:25:10 atterer Exp $ -*- C++ -*-
+/* $Id: recursedir.hh,v 1.7 2006/05/14 18:23:31 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2002 | richard@
| \/¯| Richard Atterer | atterer.net
string curDir;
stack<Level> recurseStack;
- inline bool RecurseDir::getNextObjectName(string& result)
+ inline bool getNextObjectName(string& result)
throw(RecurseError);
queue<string> objects; // Queue of filenames to output/dirs to recurse into
queue<string> objectsFrom; // Files containing filenames
-/* $Id: scan.hh,v 1.5 2005/07/02 22:05:04 atterer Exp $ -*- C++ -*-
+/* $Id: scan.hh,v 1.6 2006/05/19 14:46:25 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2001-2002 | richard@
| \/¯| Richard Atterer | atterer.net
while (true) {
bool status = rd.getName(name, &fileInfo, checkFiles); // Might throw error
if (status == FAILURE) return; // No more names
+ off_t stSize = fileInfo.st_size;
# if HAVE_LIBDB
if (!checkFiles) {
const byte* data;
size_t dataSize;
try {
- if (cacheFile->findName(data, dataSize, name, fileInfo.st_size,
+ if (cacheFile->findName(data, dataSize, name, stSize,
fileInfo.st_mtime).failed())
continue;
} catch (DbError e) {
}
}
# endif
- if (fileInfo.st_size == 0) continue; // Skip zero-length files
+ if (stSize == 0) continue; // Skip zero-length files
addFile(name);
}
}
-/* $Id: gunzip.cc,v 1.5 2003/08/15 11:38:30 atterer Exp $ -*- C++ -*-
+/* $Id: gunzip.cc,v 1.6 2006/05/14 18:23:31 atterer Exp $ -*- C++ -*-
__ _
|_) /| Copyright (C) 2003 | richard@
| \/¯| Richard Atterer | atterer.net
// Found .gz ID bytes \x1f\x8b, compression method byte follows
debug("HEADER_CM: Need byte 8, got %1", unsigned(*z.next_in));
if (*z.next_in != 8) {
- outputByte('\x1f');
- outputByte('\x8b');
+ outputByte(0x1f);
+ outputByte(0x8b);
state = TRANSPARENT;
break;
}