{
if (_config->FindB("Debug::pkgAcquire::Auth", false))
{
- std::cerr << std::endl << RealURI << ": Computed MD5: " << MD5;
- std::cerr << " Expected MD5: " << ExpectedMD5 << std::endl;
- }
-
- if (MD5.empty())
- {
- MD5Summation sum;
- FileFd Fd(DestFile, FileFd::ReadOnly);
- sum.AddFD(Fd.Fd(), Fd.Size());
- Fd.Close();
- MD5 = (string)sum.Result();
+ std::cerr << std::endl << RealURI << ": Computed Hash: " << Hash;
+ std::cerr << " Expected Hash: " << ExpectedHash.toStr() << std::endl;
}
- if (!ExpectedMD5.empty() && MD5 != ExpectedMD5)
+ if (!ExpectedHash.empty() && ExpectedHash.toStr() != Hash)
{
Status = StatAuthError;
- ErrorText = _("MD5Sum mismatch");
+ ErrorText = _("Hash Sum mismatch");
Rename(DestFile,DestFile + ".FAILED");
+ ReportMirrorFailure("HashChecksumFailure");
return;
}
// Done, move it into position
// Queue Packages file (either diff or full packages files, depending
// on the users option)
- if(_config->FindB("Acquire::PDiffs",true) == true)
+ if(_config->FindB("Acquire::PDiffs",false) == true)
new pkgAcqDiffIndex(Owner, (*Target)->URI, (*Target)->Description,
- (*Target)->ShortDesc, ExpectedIndexMD5);
+ (*Target)->ShortDesc, ExpectedIndexHash);
else
new pkgAcqIndex(Owner, (*Target)->URI, (*Target)->Description,
- (*Target)->ShortDesc, ExpectedIndexMD5);
+ (*Target)->ShortDesc, ExpectedIndexHash);
}
}
* (".bz2" is used if bzip2 is installed, ".gz" otherwise).
*/
pkgAcqIndex(pkgAcquire *Owner,string URI,string URIDesc,
- string ShortDesct, string ExpectedMD5, string compressExt="");
- string ShortDesc, HashString ExpectedHash, string compressExt="");
++ string ShortDesc, HashString ExpectedHash,
++ string compressExt="");
};
/** \brief An acquire item that is responsible for fetching a
TimeRFC1123(Res.LastModified).c_str());
if (Res.MD5Sum.empty() == false)
+ {
End += snprintf(End,sizeof(S)-50 - (End - S),"MD5-Hash: %s\n",Res.MD5Sum.c_str());
+ End += snprintf(End,sizeof(S)-50 - (End - S),"MD5Sum-Hash: %s\n",Res.MD5Sum.c_str());
+ }
if (Res.SHA1Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"SHA1-Hash: %s\n",Res.SHA1Sum.c_str());
+ if (Res.SHA256Sum.empty() == false)
+ End += snprintf(End,sizeof(S)-50 - (End - S),"SHA256-Hash: %s\n",Res.SHA256Sum.c_str());
+ if (UsedMirror.empty() == false)
+ End += snprintf(End,sizeof(S)-50 - (End - S),"UsedMirror: %s\n",UsedMirror.c_str());
if (Res.GPGVOutput.size() > 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"GPGVOutput:\n");
for (vector<string>::iterator I = Res.GPGVOutput.begin();
return true;
}
+
+ /*}}}*/
+ // DPkgPM::DoStdin - Read stdin and pass to slave pty /*{{{*/
+ // ---------------------------------------------------------------------
+ /*
+ */
+ void pkgDPkgPM::DoStdin(int master)
+ {
+ char input_buf[256] = {0,};
+ int len = read(0, input_buf, sizeof(input_buf));
+ write(master, input_buf, len);
+ }
/*}}}*/
+ // DPkgPM::DoTerminalPty - Read the terminal pty and write log /*{{{*/
+ // ---------------------------------------------------------------------
+ /*
+ * read the terminal pty and write log
+ */
+ void pkgDPkgPM::DoTerminalPty(int master, FILE *term_out)
+ {
+ char term_buf[1024] = {0,};
+
+ int len=read(master, term_buf, sizeof(term_buf));
+ if(len <= 0)
+ return;
+ write(1, term_buf, len);
+ if(term_out)
+ fwrite(term_buf, len, sizeof(char), term_out);
+ }
+ /*}}}*/
+ // DPkgPM::ProcessDpkgStatusBuf /*{{{*/
+ // ---------------------------------------------------------------------
+ /*
+ */
+ void pkgDPkgPM::ProcessDpkgStatusLine(int OutStatusFd, char *line)
+ {
+ // the status we output
+ ostringstream status;
+
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "got from dpkg '" << line << "'" << std::endl;
+
+
+ /* dpkg sends strings like this:
+ 'status: <pkg>: <pkg qstate>'
+ errors look like this:
+ 'status: /var/cache/apt/archives/krecipes_0.8.1-0ubuntu1_i386.deb : error : trying to overwrite `/usr/share/doc/kde/HTML/en/krecipes/krectip.png', which is also in package krecipes-data
+ and conffile-prompt like this
+ 'status: conffile-prompt: conffile : 'current-conffile' 'new-conffile' useredited distedited
+
+ */
+ char* list[5];
+ // dpkg sends multiline error messages sometimes (see
+ // #374195 for a example. we should support this by
+ // either patching dpkg to not send multiline over the
+ // statusfd or by rewriting the code here to deal with
+ // it. for now we just ignore it and not crash
+ TokSplitString(':', line, list, sizeof(list)/sizeof(list[0]));
+ char *pkg = list[1];
+ char *action = _strstrip(list[2]);
+ if( pkg == NULL || action == NULL)
+ {
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "ignoring line: not enough ':'" << std::endl;
+ return;
+ }
+
+ if(strncmp(action,"error",strlen("error")) == 0)
+ {
+ status << "pmerror:" << list[1]
+ << ":" << (PackagesDone/float(PackagesTotal)*100.0)
+ << ":" << list[3]
+ << endl;
+ if(OutStatusFd > 0)
+ write(OutStatusFd, status.str().c_str(), status.str().size());
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "send: '" << status.str() << "'" << endl;
++ pkgFailures++;
++ WriteApportReport(list[1], list[3]);
+ return;
+ }
+ if(strncmp(action,"conffile",strlen("conffile")) == 0)
+ {
+ status << "pmconffile:" << list[1]
+ << ":" << (PackagesDone/float(PackagesTotal)*100.0)
+ << ":" << list[3]
+ << endl;
+ if(OutStatusFd > 0)
+ write(OutStatusFd, status.str().c_str(), status.str().size());
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "send: '" << status.str() << "'" << endl;
+ return;
+ }
+
+ vector<struct DpkgState> &states = PackageOps[pkg];
+ const char *next_action = NULL;
+ if(PackageOpsDone[pkg] < states.size())
+ next_action = states[PackageOpsDone[pkg]].state;
+ // check if the package moved to the next dpkg state
+ if(next_action && (strcmp(action, next_action) == 0))
+ {
+ // only read the translation if there is actually a next
+ // action
+ const char *translation = _(states[PackageOpsDone[pkg]].str);
+ char s[200];
+ snprintf(s, sizeof(s), translation, pkg);
+
+ // we moved from one dpkg state to a new one, report that
+ PackageOpsDone[pkg]++;
+ PackagesDone++;
+ // build the status str
+ status << "pmstatus:" << pkg
+ << ":" << (PackagesDone/float(PackagesTotal)*100.0)
+ << ":" << s
+ << endl;
+ if(OutStatusFd > 0)
+ write(OutStatusFd, status.str().c_str(), status.str().size());
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "send: '" << status.str() << "'" << endl;
+ }
+ if (_config->FindB("Debug::pkgDPkgProgressReporting",false) == true)
+ std::clog << "(parsed from dpkg) pkg: " << pkg
+ << " action: " << action << endl;
+ }
+
+ // DPkgPM::DoDpkgStatusFd /*{{{*/
+ // ---------------------------------------------------------------------
+ /*
+ */
+ void pkgDPkgPM::DoDpkgStatusFd(int statusfd, int OutStatusFd)
+ {
+ char *p, *q;
+ int len;
+
+ len=read(statusfd, &dpkgbuf[dpkgbuf_pos], sizeof(dpkgbuf)-dpkgbuf_pos);
+ dpkgbuf_pos += len;
+ if(len <= 0)
+ return;
+
+ // process line by line if we have a buffer
+ p = q = dpkgbuf;
+ while((q=(char*)memchr(p, '\n', dpkgbuf+dpkgbuf_pos-p)) != NULL)
+ {
+ *q = 0;
+ ProcessDpkgStatusLine(OutStatusFd, p);
+ p=q+1; // continue with next line
+ }
+
+ // now move the unprocessed bits (after the final \n that is now a 0x0)
+ // to the start and update dpkgbuf_pos
+ p = (char*)memrchr(dpkgbuf, 0, dpkgbuf_pos);
+ if(p == NULL)
+ return;
+
+ // we are interessted in the first char *after* 0x0
+ p++;
+
+ // move the unprocessed tail to the start and update pos
+ memmove(dpkgbuf, p, p-dpkgbuf);
+ dpkgbuf_pos = dpkgbuf+dpkgbuf_pos-p;
+ }
+ /*}}}*/
+
+
// DPkgPM::Go - Run the sequence /*{{{*/
// ---------------------------------------------------------------------
/* This globs the operations and calls dpkg
class pkgDPkgPM : public pkgPackageManager
{
+ private:
+
+ // the buffer we use for the dpkg status-fd reading
+ char dpkgbuf[1024];
+ int dpkgbuf_pos;
+
protected:
+ int pkgFailures;
- // used for progress reporting
+ // progress reporting
struct DpkgState
{
const char *state; // the dpkg state (e.g. "unpack")
bool RunScriptsWithPkgs(const char *Cnf);
bool SendV2Pkgs(FILE *F);
+ // apport integration
+ void WriteApportReport(const char *pkgpath, const char *errormsg);
+
+ // input processing
+ void DoStdin(int master);
+ void DoTerminalPty(int master, FILE *out);
+ void DoDpkgStatusFd(int statusfd, int OutStatusFd);
+ void ProcessDpkgStatusLine(int OutStatusFd, char *line);
+
// The Actuall installation implementation
virtual bool Install(PkgIterator Pkg,string File);
virtual bool Configure(PkgIterator Pkg);
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
dnl -- SET THIS TO THE RELEASE VERSION --
- AC_DEFINE_UNQUOTED(VERSION,"0.7.4ubuntu1")
-AC_DEFINE_UNQUOTED(VERSION,"0.7.5")
++AC_DEFINE_UNQUOTED(VERSION,"0.7.6ubuntu1")
PACKAGE="apt"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_SUBST(PACKAGE)
etc/apt
etc/apt/apt.conf.d
etc/apt/sources.list.d
+ etc/logrotate.d
var/cache/apt/archives/partial
var/lib/apt/lists/partial
+var/lib/apt/mirrors/partial
var/lib/apt/periodic
+ var/log/apt
usr/share/bug/apt
- apt (0.7.4ubuntu1) gutsy; urgency=low
-apt (0.7.7) UNRELEASED; urgency=low
++apt (0.7.6ubuntu1) gutsy; urgency=low
+
+ * apt-inst/contrib/extracttar.cc:
+ - fix fd leak for zero size files (thanks to Bill Broadley for
+ reporting this bug)
+ * apt-pkg/acquire-item.cc:
+ - remove zero size files on I-M-S hit
+ * methods/https.cc:
+ - only send LastModified if we actually have one
+ - send range request with if-range
+ - delete failed downloads
+ * apt-pkg/deb/dpkgpm.{cc,h}:
+ - merged dpkg-log branch, this lets you specify a
+ Dir::Log::Terminal file to log dpkg output to
+ (ABI break)
+ * merged apt--sha256 branch to fully support the new
+ sha256 checksums in the Packages and Release files
+ (ABI break)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 02 Aug 2007 11:55:54 +0200
+
+ apt (0.7.6) unstable; urgency=low
+
+ * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
+ directory downloading on non-linux architectures (closes: #435597)
+
+ -- Otavio Salvador <otavio@debian.org> Wed, 01 Aug 2007 19:49:51 -0300
+
+ apt (0.7.5) unstable; urgency=low
[ Otavio Salvador ]
- * Applied patch from Guillem Jover <guillem.jover@nokia.com> to use
+ * Applied patch from Guillem Jover <guillem@debian.org> to use
dpkg-architecture to get the host architecture (closes: #407187)
+ * Applied patch from Guillem Jover <guillem@debian.org> to add
+ support to add lzma support (closes: #408201)
[ Michael Vogt ]
* apt-pkg/depcache.cc:
- support a list of sections for:
APT::Install-Recommends-Sections
APT::Never-MarkAuto-Sections
+ * methods/makefile:
+ - install lzma symlink method (for full lzma support)
+ * debian/control:
+ - suggest "lzma"
+
+ -- Otavio Salvador <otavio@ossystems.com.br> Wed, 25 Jul 2007 20:16:46 -0300
+
++apt (0.7.4ubuntu1) gutsy; urgency=low
++
+ * debian/apt.conf.ubuntu, apt.conf.autoremove:
+ - Change metapackages to {restricted,universe,multiverse}/metapackages
+ in Install-Recommends-Sections and Never-MarkAuto-Sections
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 26 Jul 2007 10:42:29 +0200
+
apt (0.7.4) unstable; urgency=low
[ Michael Vogt ]
-- Otavio Salvador <otavio@debian.org> Tue, 24 Jul 2007 09:55:50 -0300
+ apt (0.7.3) unstable; urgency=low
+
+ * fixed compile errors with g++ 4.3 (thanks to
+ Daniel Burrows, closes: #429378)
+ * fixes in the auto-mark code (thanks to Daniel
+ Burrows)
+ * fix FTFBFS by changing build-depends to
+ libcurl4-gnutls-dev (closes: #428363)
+ * cmdline/apt-get.cc:
+ - fix InstallTask code when a pkgRecord ends
+ with a single '\n' (thanks to Soren Hansen for reporting)
+ * merged from Christian Perrier:
+ * vi.po: completed to 532t, again. Closes: #429899
+ * gl.po: completed to 532t. Closes: #429506
+ * vi.po: completed to 532t. Closes: #428672
+ * Update all PO and the POT. Gives 514t14f4u for formerly
+ complete translations
+ * fr.po: completed to 532t
+ * ku.po, uk.po, LINGUAS: reintegrate those translations
+ which disappeared from the BZR repositories
+
+ -- Michael Vogt <mvo@debian.org> Sun, 01 Jul 2007 12:31:29 +0200
++
+apt (0.7.2ubuntu7) gutsy; urgency=low
+
+ * fix build-dependencies
+ * fixes in the auto-mark code (thanks to Daniel
+ Burrows)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 9 Jul 2007 19:02:54 +0200
+
+apt (0.7.2ubuntu6) gutsy; urgency=low
+
+ [ Michael Vogt]
+ * cmdline/apt-get.cc:
+ - make the XS-Vcs-$foo warning more copy'n'paste
+ friendly (thanks to Matt Zimmerman)
+ - ignore the Vcs-Browser tag (Fixes LP: #121770)
+ * debian/apt.conf.autoremove:
+ - added "linux-ubuntu-modules" to APT::NeverAutoRemove
+
+ [ Sarah Hobbs ]
+ * Change metapackages to *metapackages in Install-Recommends-Section
+ and Never-MarkAuto-Section of debian/apt.conf.autoremove, so that
+ the Recommends of metapackages in universe and multiverse will get
+ installed.
+ * Also make this change in doc/examples/configure-index.
+ * Added a Build Dependancies of automake, docbook-xsl, xsltproc, xmlto,
+ docbook to fix FTBFS.
+ * Added in previous changelog entries, as those who uploaded did not
+ actually commit to Bzr.
+
+ -- Sarah Hobbs <hobbsee@ubuntu.com> Mon, 09 Jul 2007 01:15:57 +1000
+
+apt (0.7.2ubuntu5) gutsy; urgency=low
+
+ * Rerun autoconf to fix the FTBFS.
+
+ -- Michael Bienia <geser@ubuntu.com> Fri, 06 Jul 2007 19:17:33 +0200
+
+apt (0.7.2ubuntu4) gutsy; urgency=low
+
+ * Rebuild for the libcurl4 -> libcurl3 transition mess.
+
+ -- Steve Kowalik <stevenk@ubuntu.com> Fri, 6 Jul 2007 12:44:05 +1000
+
+apt (0.7.2ubuntu3) gutsy; urgency=low
+
+ * cmdline/apt-get.cc:
+ - fix InstallTask code when a pkgRecord ends
+ with a single '\n' (thanks to Soren Hansen for reporting)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 27 Jun 2007 13:33:38 +0200
+
+apt (0.7.2ubuntu2) gutsy; urgency=low
+
+ * fixed compile errors with g++ 4.3 (thanks to
+ Daniel Burrows, closes: #429378)
+ * fix FTFBFS by changing build-depends to
+ libcurl4-gnutls-dev (closes: #428363)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 19 Jun 2007 13:47:03 +0200
+
+apt (0.7.2ubuntu1) gutsy; urgency=low
+
+ * apt-pkg/deb/dpkgpm.cc:
+ - apport integration added, this means that a apport
+ report is written on dpkg failures
+ * cmdline/apt-get.cc:
+ - merged http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/
+ this will warn when Vcs- headers are found on apt-get source
+ (Fixes LP:#115959)
+ * merged from debian/unstable, remaining changes:
+ - maintainer field changed
+ - merged the apt--mirror branch
+ http://people.ubuntu.com/~mvo/bzr/apt/apt--mirror/
+ - apport reporting on package install/upgrade/remove failure
+ - support for "Originial-Maintainer" field
+ - merged apt--xs-vcs-bzr branch
+ (http://people.ubuntu.com/~mvo/bzr/apt/xs-vcs-bzr/)
+ - use ubuntu archive keyring by default
+ - debian/apt.conf.autoremove
+ + install recommands for section "metapackages"
+ + do not mark direct dependencies of "metapackages" as autoremoved
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 14 Jun 2007 10:38:36 +0200
apt (0.7.2-0.1) unstable; urgency=low
* apt-pkg/policy.cc:
- allow multiple packages (thanks to David Foerster)
- -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 17 Apr 2007 15:53:37 +0200
+ -- Michael Vogt <mvo@debian.org> Wed, 2 May 2007 13:43:44 +0200
+apt (0.6.46.4ubuntu10) feisty; urgency=low
+
+ * apt-pkg/depcache.cc:
+ - added "APT::Never-MarkAuto-Section" and consider dependencies
+ of packages in this section manual (LP#59893)
+ - ensure proper permissions in the extended_state file (LP#67037)
+ * debian/apt.conf.ubuntu:
+ - added APT::Never-MarkAuto-Section "metapackages" (LP#59893)
+ * cmdline/apt-get.cc:
+ - "apt-get install foo" on a already installed package foo will
+ clean the automatic installed flag (LP#72007)
+ - do not show packages already marked for removal as auto-installed
+ (LP#64493)
+ - applied patch to (optionally) hide the auto-remove information
+ (thanks to Frode M. Døving) (LP#69148)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 14 Mar 2007 13:32:32 +0100
+
+apt (0.6.46.4ubuntu9) feisty; urgency=low
+
+ * debian/control:
+ - set XS-Vcs-Bzr header
+ - Set Ubuntu maintainer address
+ * apt-pkg/cdrom.cc:
+ - only unmount if APT::CDROM::NoMount is false
+ - only umount if it was mounted by the method before
+ * cmdline/apt-get.cc:
+ - fix version output in autoremove list (LP#68941)
+ * apt-pkg/packagemanager.cc:
+ - do not spin 100% cpu in FixMissing() (LP#84476)
+ * apt-pkg/indexfile.cc:
+ - fix problem overwriting APT::Acquire::Translation
+ * doc/examples/configure-index:
+ - document APT::Acquire::Translation
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 13 Mar 2007 15:24:39 +0100
+
+apt (0.6.46.4ubuntu8) feisty; urgency=low
+
+ * fix segfault in the pkgRecords destructor
+ * Bump ABI version
+ * debian/control:
+ - make the libcurl3-gnutls-dev versionized (LP#86614)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 26 Feb 2007 14:26:33 +0100
+
+apt (0.6.46.4ubuntu7) feisty; urgency=low
+
+ * Merged the apt--mirror branch. This means that a new 'mirror'
+ method is available that will allow dynamic mirror updates.
+ The sources.list entry looks something like this:
+ "deb mirror://mirrors.lp.net/get_mirror feisty main restricted"
+
+ It also supports error reporting to a configurable url for mirror
+ problems/failures.
+ * Bump ABI version
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 6 Feb 2007 11:38:06 +0100
+
+apt (0.6.46.4ubuntu6) feisty; urgency=low
+
+ * methods/http.cc:
+ - send apt version in User-Agent
+ * apt-pkg/deb/debrecords.cc:
+ - fix SHA1Hash() return value
+ * apt-pkg/algorithms.cc:
+ - fix resolver bug on removal triggered by weak-dependencies
+ with or-groups
+ - fix segfault (lp: #76530)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 20 Dec 2006 11:04:36 +0100
+
+apt (0.6.46.4ubuntu5) feisty; urgency=low
+
+ * added apt-transport-https package to provide a optional
+ https transport (apt-https spec)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 19 Dec 2006 16:23:43 +0100
+
+apt (0.6.46.4ubuntu4) feisty; urgency=low
+
+ * apt-pkg/algorithms.cc:
+ - only increase the score of installed applications if they
+ are not obsolete
+
+ -- Michael Vogt <michael.vogt@ubuntu.com> Mon, 18 Dec 2006 19:39:05 +0100
+
apt (0.7.0) experimental; urgency=low
* Package that contains tall the new features
Priority: important
Replaces: libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<< 0.3.7)
Provides: ${libapt-pkg:provides}
-Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, lzma
+Recommends: ubuntu-keyring
- Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, gnupg
++Suggests: aptitude | synaptic | gnome-apt | wajig, dpkg-dev, apt-doc, bzip2, gnupg, lzma
Section: admin
Description: Advanced front-end for dpkg
This is Debian's next generation front-end for the dpkg package manager.
cp -r $(BLD)/locale debian/$@/usr/share/
cp debian/bugscript debian/$@/usr/share/bug/apt/script
+ cp debian/apt.logrotate debian/$@/etc/logrotate.d/apt
- cp share/debian-archive.gpg debian/$@/usr/share/$@
+ cp share/ubuntu-archive.gpg debian/$@/usr/share/$@
cp debian/apt.conf.autoremove debian/$@/etc/apt/apt.conf.d/01autoremove
+ cp debian/apt.conf.ubuntu debian/$@/etc/apt/apt.conf.d/01ubuntu
# head -n 500 ChangeLog > debian/ChangeLog
# make rosetta happy and remove pot files in po/ (but leave stuff
SOURCE = rsh.cc
include $(PROGRAM_H)
-# SSH and bzip2 method symlink
+# The mirror method
+PROGRAM=mirror
+SLIBS = -lapt-pkg $(SOCKETLIBS)
+LIB_MAKES = apt-pkg/makefile
+SOURCE = mirror.cc http.cc rfc2553emu.cc connect.cc
+include $(PROGRAM_H)
+
- # SSH and vzip2 method symlink
- binary: $(BIN)/ssh $(BIN)/bzip2
- veryclean: clean-$(BIN)/ssh clean-$(BIN)/bzip2
++# SSH and bzip2,lzma method symlinks
+ binary: $(BIN)/ssh $(BIN)/bzip2 $(BIN)/lzma
+ veryclean: clean-$(BIN)/ssh clean-$(BIN)/bzip2 clean-$(BIN)/lzma
$(BIN)/ssh:
echo "Installing ssh method link"
ln -fs rsh $(BIN)/ssh