0.5.15lorg2-alt3

- Resolved a few issues introduced after cnc6.
This commit is contained in:
Дмитрий Левин 2006-04-02 12:15:03 +00:00
parent b7ffdc5104
commit e97a90dec9
117 changed files with 32504 additions and 16540 deletions

View File

@ -6,7 +6,7 @@ diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/deb/debsystem.cc apt-0.5.15cnc5/apt-
{ {
signed Score = 0; signed Score = 0;
+ if (Cnf.FindB("APT::Ignore-dpkg",true) == true) + if (Cnf.FindB("APT::Ignore-dpkg",true) == true)
+ return Score; + return Score;
if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == true) if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == true)
Score += 10; Score += 10;
if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","/usr/bin/dpkg")) == true) if (FileExists(Cnf.FindFile("Dir::Bin::dpkg","/usr/bin/dpkg")) == true)

View File

@ -1,13 +0,0 @@
diff -uprk.orig apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmindexfile.cc apt-0.5.15cnc5/apt-pkg/rpm/rpmindexfile.cc
--- apt-0.5.15cnc5.orig/apt-pkg/rpm/rpmindexfile.cc 2003-12-23 23:19:55 +0300
+++ apt-0.5.15cnc5/apt-pkg/rpm/rpmindexfile.cc 2004-01-19 16:13:47 +0300
@@ -638,7 +638,8 @@ class rpmSLTypeGen : public pkgSourceLis
{
// The registered object has no vendor, but the new one does
// so, we make the previous one have the vendor too.
- if ((*iter)->Vendor == NULL && Vendor != NULL)
+ if (Vendor != NULL
+ && ((*iter)->Vendor == NULL || (*iter)->Vendor != Vendor))
(*iter)->Vendor = Vendor;
return *iter;
}

View File

@ -1,39 +0,0 @@
diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/Makefile.am apt-0.5.15cnc5/cmdline/Makefile.am
--- apt-0.5.15cnc5.orig/cmdline/Makefile.am 2003-12-23 23:31:00 +0300
+++ apt-0.5.15cnc5/cmdline/Makefile.am 2004-01-16 15:10:00 +0300
@@ -12,6 +12,6 @@ LDADD = ../apt-pkg/libapt-pkg.la $(RPMLI
apt_cache_SOURCES = apt-cache.cc
apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h
apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h
-apt_shell_LDADD = $(LDADD) -lreadline -lncurses
+apt_shell_LDADD = $(LDADD) -lreadline -ltinfo
apt_config_SOURCES = apt-config.cc
apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h
diff -uprk.orig apt-0.5.15cnc5.orig/cmdline/Makefile.in apt-0.5.15cnc5/cmdline/Makefile.in
--- apt-0.5.15cnc5.orig/cmdline/Makefile.in 2003-12-23 23:30:26 +0300
+++ apt-0.5.15cnc5/cmdline/Makefile.in 2004-01-16 15:10:00 +0300
@@ -181,7 +181,7 @@ LDADD = ../apt-pkg/libapt-pkg.la $(RPMLI
apt_cache_SOURCES = apt-cache.cc
apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h
apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h
-apt_shell_LDADD = $(LDADD) -lreadline -lncurses
+apt_shell_LDADD = $(LDADD) -lreadline -ltinfo
apt_config_SOURCES = apt-config.cc
apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h
subdir = cmdline
diff -uprk.orig apt-0.5.15cnc5.orig/configure.in apt-0.5.15cnc5/configure.in
--- apt-0.5.15cnc5.orig/configure.in 2003-12-23 23:15:40 +0300
+++ apt-0.5.15cnc5/configure.in 2004-01-16 15:10:00 +0300
@@ -121,10 +121,10 @@ fi
AM_CONDITIONAL(WITH_LUA, test "$enable_scripts" != "no")
dnl Check for apt-shell dependencies
-AC_CHECK_LIB(ncurses,tputs,
+AC_CHECK_LIB(tinfo,tputs,
[AC_CHECK_HEADER(readline/readline.h,
[AC_CHECK_LIB(readline,rl_completion_matches,
- [compile_aptshell=yes],,[-lncurses])])])
+ [compile_aptshell=yes],,[-ltinfo])])])
AM_CONDITIONAL(COMPILE_APTSHELL, test "$compile_aptshell" = "yes")
dnl Converts the ARCH to be something singular for this general CPU family

View File

@ -1,79 +0,0 @@
Quoting 'info '(automake)Extending aclocal'':
Starting with Automake 1.8, `aclocal' will warn about all
underquoted calls to `AC_DEFUN'. We realize this will annoy a lot of
people, because `aclocal' was not so strict in the past and many third
party macros are underquoted; and we have to apologize for this
temporary inconvenience.
--- apt-0.5.15cnc6.orig/buildlib/tools.m4 2003-03-26 10:45:36 +1200
+++ apt-0.5.15cnc6/buildlib/tools.m4 2004-05-14 22:00:16 +1300
@@ -1,4 +1,4 @@
-AC_DEFUN(ah_HAVE_GETCONF,
+AC_DEFUN([ah_HAVE_GETCONF],
[AC_ARG_WITH(getconf,
[ --with-getconf Enable automagical buildtime configuration],
[if test "$withval" = "yes"; then
@@ -14,7 +14,7 @@ AC_DEFUN(ah_HAVE_GETCONF,
])
dnl ah_GET_CONF(variable, value ..., [default])
-AC_DEFUN(ah_GET_GETCONF,
+AC_DEFUN([ah_GET_GETCONF],
[AC_REQUIRE([ah_HAVE_GETCONF])
if test ! -z "$GETCONF";then
old_args="[$]@"
@@ -28,7 +28,7 @@ AC_DEFUN(ah_GET_GETCONF,
eval $1="$3"
fi
])
-AC_DEFUN(ah_NUM_CPUS,
+AC_DEFUN([ah_NUM_CPUS],
[AC_MSG_CHECKING([number of cpus])
AC_ARG_WITH(cpus,
[ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)],
@@ -56,7 +56,7 @@ AC_DEFUN(ah_NUM_CPUS,
AC_MSG_RESULT([$ah_NUM_CPUS_msg])
AC_SUBST(NUM_CPUS)
])
-AC_DEFUN(ah_PROC_MULTIPLY,
+AC_DEFUN([ah_PROC_MULTIPLY],
[AC_REQUIRE([ah_NUM_CPUS])
AC_MSG_CHECKING([processor multiplier])
AC_ARG_WITH(proc-multiply,
@@ -72,7 +72,7 @@ AC_DEFUN(ah_PROC_MULTIPLY,
AC_SUBST(PROC_MULTIPLY)
])
-AC_DEFUN(ah_NUM_PROCS,
+AC_DEFUN([ah_NUM_PROCS],
[AC_REQUIRE([ah_PROC_MULTIPLY])
AC_REQUIRE([ah_NUM_CPUS])
AC_MSG_CHECKING([number of processes to run during make])
@@ -89,7 +89,7 @@ AC_DEFUN(ah_NUM_PROCS,
AC_SUBST(NUM_PROCS)
])
-AC_DEFUN(rc_GLIBC_VER,
+AC_DEFUN([rc_GLIBC_VER],
[AC_MSG_CHECKING([glibc version])
dummy=if$$
cat <<_GLIBC_>$dummy.c
@@ -111,7 +111,7 @@ _GLIBC_
AC_SUBST(GLIBC_VER)
])
-AC_DEFUN(rc_LIBSTDCPP_VER,
+AC_DEFUN([rc_LIBSTDCPP_VER],
[AC_MSG_CHECKING([libstdc++ version])
dummy=if$$
cat <<_LIBSTDCPP_>$dummy.cc
@@ -138,7 +138,7 @@ _LIBSTDCPP_
AC_SUBST(LIBSTDCPP_VER)
])
-AC_DEFUN(ah_GCC3DEP,[
+AC_DEFUN([ah_GCC3DEP],[
AC_MSG_CHECKING(if $CXX -MD works)
touch gcc3dep.cc
${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc

View File

@ -594,7 +594,7 @@
@@ -16,6 +16,9 @@ @@ -16,6 +16,9 @@
apt_cache_SOURCES = apt-cache.cc apt_cache_SOURCES = apt-cache.cc
apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h
apt_shell_LDADD = $(LDADD) -lreadline -ltinfo apt_shell_LDADD = $(LDADD) -lreadline
+apt_pipe_SOURCES = $(apt_shell_SOURCES) apt-pipe.c +apt_pipe_SOURCES = $(apt_shell_SOURCES) apt-pipe.c
+apt_pipe_CPPFLAGS = -DAPT_PIPE +apt_pipe_CPPFLAGS = -DAPT_PIPE
+apt_pipe_LDADD = $(LDADD) -lsetproctitle +apt_pipe_LDADD = $(LDADD) -lsetproctitle

View File

@ -1,5 +1,5 @@
--- apt-0.5.15cnc6/cmdline/apt-shell.cc.orig 2004-06-07 18:53:30 +0400 --- apt-0.5.15lorg2/cmdline/apt-shell.cc.orig 2006-03-17 17:56:01 +0300
+++ apt-0.5.15cnc6/cmdline/apt-shell.cc 2004-06-07 19:13:44 +0400 +++ apt-0.5.15lorg2/cmdline/apt-shell.cc 2006-03-17 17:56:02 +0300
@@ -1285,10 +1285,24 @@ @@ -1285,10 +1285,24 @@
if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0) if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0)
{ {
@ -36,25 +36,7 @@
continue; continue;
} }
pkgCache::VerIterator PrvPkgCandVer = pkgCache::VerIterator PrvPkgCandVer =
@@ -1324,13 +1340,15 @@ @@ -4536,8 +4552,8 @@
{
// Yes, it is. This is a good solution.
GoodSolutions.push_back(PrvPkg);
+ if (instVirtual)
+ break;
continue;
}
}
vector<string> GoodSolutionNames;
- for (unsigned int i = 0; i != GoodSolutionNames.size(); i++)
+ for (unsigned int i = 0; i != GoodSolutions.size(); i++)
{
- pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[0]);
+ pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]);
GoodSolutionNames.push_back(GoodPkg.Name());
}
#ifdef WITH_LUA
@@ -4511,8 +4514,8 @@
largv[largc] = 0; largv[largc] = 0;
// Make our own copy of the configuration. // Make our own copy of the configuration.

View File

@ -6,14 +6,14 @@ diff -upk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpackagedata.cc apt-0.5.15cnc6/
{ {
// Populate priorities // Populate priorities
- string FileName = _config->FindFile("Dir::Etc::rpmpriorities"); - string FileName = _config->FindFile("Dir::Etc::rpmpriorities");
+ string FileName = _config->FindFile("Dir::Etc") + "pkgpriorities"; + string FileName = _config->FindFile("Dir::Etc::pkgpriorities");
FileFd F(FileName, FileFd::ReadOnly); FileFd F(FileName, FileFd::ReadOnly);
if (_error->PendingError()) if (_error->PendingError())
{ {
diff -upk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc diff -upk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc 2005-05-18 16:01:23 +0000 --- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc 2005-05-18 16:01:23 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc 2005-05-18 16:07:32 +0000 +++ apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc 2005-05-18 16:07:32 +0000
@@ -129,13 +129,13 @@ pkgPackageManager *rpmSystem::CreatePM(p @@ -136,13 +136,13 @@
bool rpmSystem::Initialize(Configuration &Cnf) bool rpmSystem::Initialize(Configuration &Cnf)
{ {
Cnf.CndSet("Dir::Bin::rpm","/bin/rpm"); Cnf.CndSet("Dir::Bin::rpm","/bin/rpm");
@ -29,15 +29,15 @@ diff -upk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc6/apt-p
Cnf.CndSet("Acquire::CDROM::Copy-All", "true"); Cnf.CndSet("Acquire::CDROM::Copy-All", "true");
// Compatibility with obsoleted options // Compatibility with obsoleted options
@@ -530,7 +530,7 @@ unsigned long rpmSystem::OptionsHash() c @@ -577,7 +577,7 @@
HashOption(Hash, "RPM::Architecture");
HashOptionTree(Hash, "RPM::Allow-Duplicated"); HashOptionTree(Hash, "RPM::Allow-Duplicated");
HashOptionTree(Hash, "RPM::MultiArch");
HashOptionTree(Hash, "RPM::Ignore"); HashOptionTree(Hash, "RPM::Ignore");
- HashOptionFile(Hash, "Dir::Etc::rpmpriorities"); - HashOptionFile(Hash, "Dir::Etc::rpmpriorities");
+ HashOptionFile(Hash, "Dir::Etc::pkgpriorities"); + HashOptionFile(Hash, "Dir::Etc::pkgpriorities");
return Hash; HashEnv(Hash, "LANG");
} HashEnv(Hash, "LC_ALL");
/*}}}*/ HashEnv(Hash, "LC_MESSAGES");
diff -upk.orig apt-0.5.15cnc6.orig/buildlib/archtable apt-0.5.15cnc6/buildlib/archtable diff -upk.orig apt-0.5.15cnc6.orig/buildlib/archtable apt-0.5.15cnc6/buildlib/archtable
--- apt-0.5.15cnc6.orig/buildlib/archtable 2003-04-14 17:15:31 +0000 --- apt-0.5.15cnc6.orig/buildlib/archtable 2003-04-14 17:15:31 +0000
+++ apt-0.5.15cnc6/buildlib/archtable 2005-05-18 16:07:03 +0000 +++ apt-0.5.15cnc6/buildlib/archtable 2005-05-18 16:07:03 +0000
@ -54,3 +54,27 @@ diff -upk.orig apt-0.5.15cnc6.orig/buildlib/archtable apt-0.5.15cnc6/buildlib/ar
sparc sparc sparc sparc
sparc64 sparc sparc64 sparc
alpha.* alpha alpha.* alpha
diff -upk.orig apt-0.5.15lorg2.orig/cmdline/apt-get.cc apt-0.5.15lorg2/cmdline/apt-get.cc
--- apt-0.5.15lorg2.orig/cmdline/apt-get.cc 2006-01-17 18:41:29 +0000
+++ apt-0.5.15lorg2/cmdline/apt-get.cc 2006-04-01 16:26:19 +0000
@@ -1752,7 +1752,7 @@ bool DoUpdate(CommandLine &CmdL)
#endif
// CNC:2004-04-19
- if (Failed == false && _config->FindB("APT::Get::Archive-Cleanup",true) == true)
+ if (Failed == false && _config->FindB("APT::Get::Archive-Cleanup",false) == true)
{
UpdateLogCleaner Cleaner;
Cleaner.Go(_config->FindDir("Dir::Cache::archives"), *Cache);
diff -upk.orig apt-0.5.15lorg2.orig/cmdline/apt-shell.cc apt-0.5.15lorg2/cmdline/apt-shell.cc
--- apt-0.5.15lorg2.orig/cmdline/apt-shell.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15lorg2/cmdline/apt-shell.cc 2006-04-01 16:26:29 +0000
@@ -1812,7 +1812,7 @@ bool DoUpdate(CommandLine &CmdL)
#endif
// CNC:2004-04-19
- if (Failed == false && _config->FindB("APT::Get::Archive-Cleanup",true) == true)
+ if (Failed == false && _config->FindB("APT::Get::Archive-Cleanup",false) == true)
{
UpdateLogCleaner Cleaner;
Cleaner.Go(_config->FindDir("Dir::Cache::archives"), *GCache);

View File

@ -5,7 +5,7 @@ diff -uNr apt-0.5.15cnc6-orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/apt-sh
bool ShowVersion = _config->FindB("APT::Cache::ShowVersion", false); bool ShowVersion = _config->FindB("APT::Cache::ShowVersion", false);
bool ShowSummary = _config->FindB("APT::Cache::ShowSummary", false); bool ShowSummary = _config->FindB("APT::Cache::ShowSummary", false);
+ const char *MatchSection = _config->Find("APT::Cache::MatchGroup","").c_str(); + std::string MatchSection = _config->Find("APT::Cache::MatchGroup","");
+ bool ShowGroup = _config->FindB("APT::Cache::ShowGroup", false); + bool ShowGroup = _config->FindB("APT::Cache::ShowGroup", false);
const char *PkgName; const char *PkgName;
@ -22,7 +22,7 @@ diff -uNr apt-0.5.15cnc6-orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/apt-sh
(Pkg->CurrentVer == 0 || Cache[Pkg].Upgradable() == false)) (Pkg->CurrentVer == 0 || Cache[Pkg].Upgradable() == false))
continue; continue;
+ PkgSection = Pkg.Section(); + PkgSection = Pkg.Section();
+ if (strlen(MatchSection) > 0 && strcmp(MatchSection,PkgSection) != 0) + if (!MatchSection.empty() && MatchSection != std::string(PkgSection))
+ continue; + continue;
+ +
PkgName = Pkg.Name(); PkgName = Pkg.Name();
@ -68,7 +68,7 @@ diff -uNr apt-0.5.15cnc6-orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/apt-sh
+ else + else
+ { + {
+ c2out << Str; + c2out << Str;
+ if (strlen(MatchSection) > 0) + if (!MatchSection.empty())
+ cout << "\t" << status; + cout << "\t" << status;
+ cout << endl; + cout << endl;
+ } + }

View File

@ -1,44 +1,60 @@
diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc apt-0.5.15cnc6/apt-pkg/acquire-item.cc diff -ur apt-0.5.15lorg2.orig/apt-pkg/acquire-item.cc apt-0.5.15lorg2.vendor/apt-pkg/acquire-item.cc
--- apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc 2005-07-08 15:02:30 +0400 --- apt-0.5.15lorg2.orig/apt-pkg/acquire-item.cc 2006-03-20 20:30:36 +0300
+++ apt-0.5.15cnc6/apt-pkg/acquire-item.cc 2005-07-08 16:14:04 +0400 +++ apt-0.5.15lorg2.vendor/apt-pkg/acquire-item.cc 2006-03-20 20:31:00 +0300
@@ -476,14 +476,29 @@ void pkgAcqIndexRel::Done(string Message @@ -476,14 +476,29 @@
return; return;
} }
- // Match fingerprint of Release file - // Match fingerprint of Release file
- if (Repository->Vendor->FingerPrint != FingerPrint) - if (Repository->FingerPrint != FingerPrint)
+ bool found = false; - {
+ for (vector<string>::const_iterator I = Repository->Vendor->FingerPrint.begin(); - Status = StatError;
+ I != Repository->Vendor->FingerPrint.end(); I++)
+ {
+ // Match fingerprint of Release file
+ if ((*I) == FingerPrint)
+ {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found)
{
Status = StatError;
- ErrorText = _("Signature fingerprint of Release file does not match (expected ") - ErrorText = _("Signature fingerprint of Release file does not match (expected ")
- +Repository->Vendor->FingerPrint+_(", got ")+FingerPrint+")"; - +Repository->FingerPrint+_(", got ")+FingerPrint+")";
+ ErrorText = _("Signature fingerprint of Release file does not match (expected "); - return;
+ for (vector<string>::const_iterator I = Repository->Vendor->FingerPrint.begin(); - }
+ I != Repository->Vendor->FingerPrint.end(); I++) + bool found = false;
+ ErrorText += "\n"+(*I); + for (vector<string>::const_iterator I = Repository->FingerPrint.begin();
+ ErrorText += _(", got ")+FingerPrint+")"; + I != Repository->FingerPrint.end(); I++)
return; + {
} + // Match fingerprint of Release file
+ if ((*I) == FingerPrint)
+ {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found)
+ {
+ Status = StatError;
+ ErrorText = _("Signature fingerprint of Release file does not match (expected ");
+ for (vector<string>::const_iterator I = Repository->FingerPrint.begin();
+ I != Repository->FingerPrint.end(); I++)
+ ErrorText += "\n"+(*I);
+ ErrorText += _(", got ")+FingerPrint+")";
+ return;
+ }
+ +
} }
// Done, move it into position // Done, move it into position
diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sourcelist.cc diff -ur apt-0.5.15lorg2.orig/apt-pkg/repository.h apt-0.5.15lorg2.vendor/apt-pkg/repository.h
--- apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc 2003-12-10 14:56:28 +0300 --- apt-0.5.15lorg2.orig/apt-pkg/repository.h 2006-01-17 02:10:47 +0300
+++ apt-0.5.15cnc6/apt-pkg/sourcelist.cc 2005-07-08 17:20:32 +0400 +++ apt-0.5.15lorg2.vendor/apt-pkg/repository.h 2006-03-20 20:32:17 +0300
@@ -145,7 +145,7 @@ pkgSourceList::~pkgSourceList() @@ -33,7 +33,7 @@
string URI;
string Dist;
- string FingerPrint;
+ vector<string> FingerPrint;
string RootURI;
bool Acquire;
diff -ur apt-0.5.15lorg2.orig/apt-pkg/sourcelist.cc apt-0.5.15lorg2.vendor/apt-pkg/sourcelist.cc
--- apt-0.5.15lorg2.orig/apt-pkg/sourcelist.cc 2006-02-06 22:11:06 +0300
+++ apt-0.5.15lorg2.vendor/apt-pkg/sourcelist.cc 2006-03-20 20:31:00 +0300
@@ -150,7 +150,7 @@
{ {
for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++) for (const_iterator I = SrcList.begin(); I != SrcList.end(); I++)
delete *I; delete *I;
@ -47,7 +63,7 @@ diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sou
I != VendorList.end(); I++) I != VendorList.end(); I++)
delete *I; delete *I;
} }
@@ -169,38 +169,54 @@ bool pkgSourceList::ReadVendors() @@ -174,38 +174,54 @@
if (ReadConfigFile(Cnf,CnfFile,true) == false) if (ReadConfigFile(Cnf,CnfFile,true) == false)
return false; return false;
@ -89,7 +105,7 @@ diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sou
+ Vendor = new pkgSourceList::Vendor; + Vendor = new pkgSourceList::Vendor;
+ +
+ Vendor->Description = Block.Find("Name"); + Vendor->Description = Block.Find("Name");
+ Vendor->VendorID = Top->Tag; + Vendor->VendorID = Top->Tag;
+ } + }
+ string FingerPrint = Block.Find("Fingerprint"); + string FingerPrint = Block.Find("Fingerprint");
@ -115,7 +131,7 @@ diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sou
Vendor->Description.empty() == true) Vendor->Description.empty() == true)
{ {
_error->Error(_("Vendor block %s is invalid"), Vendor->VendorID.c_str()); _error->Error(_("Vendor block %s is invalid"), Vendor->VendorID.c_str());
@@ -208,7 +225,8 @@ bool pkgSourceList::ReadVendors() @@ -213,7 +229,8 @@
continue; continue;
} }
@ -125,7 +141,7 @@ diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sou
} }
/* XXX Process 'group-key' type sections /* XXX Process 'group-key' type sections
@@ -350,7 +368,7 @@ bool pkgSourceList::ReadAppend(string Fi @@ -355,7 +372,7 @@
return _error->Error(_("Malformed line %u in source list %s (vendor id)"),CurLine,File.c_str()); return _error->Error(_("Malformed line %u in source list %s (vendor id)"),CurLine,File.c_str());
VendorID = string(VendorID,1,VendorID.size()-2); VendorID = string(VendorID,1,VendorID.size()-2);
@ -134,10 +150,10 @@ diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sou
iter != VendorList.end(); iter++) iter != VendorList.end(); iter++)
{ {
if ((*iter)->VendorID == VendorID) if ((*iter)->VendorID == VendorID)
diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.h apt-0.5.15cnc6/apt-pkg/sourcelist.h diff -ur apt-0.5.15lorg2.orig/apt-pkg/sourcelist.h apt-0.5.15lorg2.vendor/apt-pkg/sourcelist.h
--- apt-0.5.15cnc6.orig/apt-pkg/sourcelist.h 2003-03-03 23:15:04 +0300 --- apt-0.5.15lorg2.orig/apt-pkg/sourcelist.h 2006-01-17 02:10:47 +0300
+++ apt-0.5.15cnc6/apt-pkg/sourcelist.h 2005-07-08 17:07:17 +0400 +++ apt-0.5.15lorg2.vendor/apt-pkg/sourcelist.h 2006-03-20 20:31:00 +0300
@@ -48,8 +48,8 @@ class pkgSourceList @@ -48,7 +48,7 @@
struct Vendor struct Vendor
{ {
string VendorID; string VendorID;
@ -146,8 +162,7 @@ diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.h apt-0.5.15cnc6/apt-pkg/sour
string Description; string Description;
/* Lets revisit these.. /* Lets revisit these..
bool MatchFingerPrint(string FingerPrint); @@ -87,8 +87,8 @@
@@ -87,8 +88,8 @@ class pkgSourceList
protected: protected:
vector<pkgIndexFile *> SrcList; vector<pkgIndexFile *> SrcList;

View File

@ -107,9 +107,9 @@ diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-get.cc apt-0.5.15cnc6/cmdline/ap
+ { + {
+ bool instVirtual = _config->FindB("APT::Install::Virtual", false); + bool instVirtual = _config->FindB("APT::Install::Virtual", false);
+ pkgCache::PkgIterator PrvPkg = pkgCache::PkgIterator(*Pkg.Cache(), PList[p]); + pkgCache::PkgIterator PrvPkg = pkgCache::PkgIterator(*Pkg.Cache(), PList[p]);
+ pkgCache::PrvIterator Prv = Pkg.ProvidesList(); + pkgCache::PrvIterator Prv = Pkg.ProvidesList();
+ for (; Prv.end() == false && Prv.OwnerPkg() != PrvPkg; Prv++) + for (; Prv.end() == false && Prv.OwnerPkg() != PrvPkg; Prv++)
+ ; + ;
// Check if it's a different version of a package already // Check if it's a different version of a package already
// considered as a good solution. // considered as a good solution.
bool AlreadySeen = false; bool AlreadySeen = false;

View File

@ -0,0 +1,23 @@
--- apt-0.5.15lorg2/cmdline/apt-shell.cc.orig 2006-03-30 12:21:31 +0400
+++ apt-0.5.15lorg2/cmdline/apt-shell.cc 2006-03-30 12:22:24 +0400
@@ -4644,6 +4644,7 @@
// Make a copy of the configuration. Each command will modify its
// own copy of the whole configuration.
Configuration GlobalConfig(*_config);
+ Configuration _Config(*_config);
ReadLineInit();
c1out << _("Welcome to the APT shell. Type \"help\" for more information.") << endl;
@@ -4758,6 +4759,12 @@
CmdL.DispatchArg(Cmds);
free(line);
+ if (!_config->FindB("quit"))
+ {
+ // restore saved config
+ delete _config;
+ _config = new Configuration(_Config);
+ }
}
ReadLineFinish();

View File

@ -0,0 +1,22 @@
--- apt-0.5.15lorg2/buildlib/tools.m4.orig 2006-01-16 23:18:56 +0000
+++ apt-0.5.15lorg2/buildlib/tools.m4 2006-04-01 21:44:55 +0000
@@ -115,16 +115,13 @@ AC_DEFUN([rc_LIBSTDCPP_VER],
[AC_MSG_CHECKING([libstdc++ version])
dummy=if$$
cat <<_LIBSTDCPP_>$dummy.cc
-#include <features.h>
-#include <stdio.h>
-#include <stdlib.h>
-int main(int argc, char **argv) { exit(0); }
+#include <iostream>
+int main(void) { std::cout << std::endl; return 0; }
_LIBSTDCPP_
${CXX-c++} $dummy.cc -o $dummy > /dev/null 2>&1
if test "$?" = 0; then
- soname=`objdump -p ./$dummy |grep NEEDED|grep libstd`
- LIBSTDCPP_VER=`echo $soname | sed -e 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/'`
+ LIBSTDCPP_VER=`objdump -p ./$dummy | sed -ne 's/.*NEEDED.*libstdc++\(-libc.*\(-.*\)\)\?.so.\(.*\)/\3\2/p'`
fi
rm -f $dummy $dummy.cc

View File

@ -1,6 +1,15 @@
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc apt-0.5.15cnc6/apt-pkg/acquire-item.cc diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/acquire-item.cc apt-0.5.15lorg2/apt-pkg/acquire-item.cc
--- apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc 2004-03-05 12:02:14 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/acquire-item.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15cnc6/apt-pkg/acquire-item.cc 2004-05-16 17:12:43 +0000 +++ apt-0.5.15lorg2/apt-pkg/acquire-item.cc 2006-04-01 17:25:00 +0000
@@ -48,7 +48,7 @@ using std::string;
// ---------------------------------------------------------------------
/* Returns false only if the checksums fail (the file not existing is not
a checksum mismatch) */
-bool VerifyChecksums(string File,unsigned long Size,string MD5)
+static bool VerifyChecksums(string File, unsigned long Size, string MD5)
{
struct stat Buf;
@@ -283,7 +283,7 @@ void pkgAcqIndex::Done(string Message,un @@ -283,7 +283,7 @@ void pkgAcqIndex::Done(string Message,un
ErrorText = _("Size mismatch"); ErrorText = _("Size mismatch");
Rename(DestFile,DestFile + ".FAILED"); Rename(DestFile,DestFile + ".FAILED");
@ -19,9 +28,9 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc apt-0.5.15cnc6/apt-p
RealURI.c_str(), Size, FSize); RealURI.c_str(), Size, FSize);
return; return;
} }
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/luaiface.h apt-0.5.15cnc6/apt-pkg/luaiface.h diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/luaiface.h apt-0.5.15lorg2/apt-pkg/luaiface.h
--- apt-0.5.15cnc6.orig/apt-pkg/luaiface.h 2004-03-19 14:56:52 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/luaiface.h 2006-01-16 23:10:47 +0000
+++ apt-0.5.15cnc6/apt-pkg/luaiface.h 2004-05-16 17:12:45 +0000 +++ apt-0.5.15lorg2/apt-pkg/luaiface.h 2006-04-01 17:19:39 +0000
@@ -54,8 +54,9 @@ class Lua { @@ -54,8 +54,9 @@ class Lua {
void RunInteractive(const string &PlaceHint) void RunInteractive(const string &PlaceHint)
{ RunInteractive(PlaceHint.c_str()); }; { RunInteractive(PlaceHint.c_str()); };
@ -29,26 +38,26 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/luaiface.h apt-0.5.15cnc6/apt-pkg/lu
+ //or all of this RunScript should be void? + //or all of this RunScript should be void?
bool RunScript(const string &Script, const string &ChunkCacheKey="") bool RunScript(const string &Script, const string &ChunkCacheKey="")
- { RunScript(Script.c_str(), (ChunkCacheKey.length() == 0) ? - { RunScript(Script.c_str(), (ChunkCacheKey.length() == 0) ?
+ { return RunScript(Script.c_str(), (ChunkCacheKey.length() == 0) ? + { return RunScript(Script.c_str(), ChunkCacheKey.empty() ?
NULL : ChunkCacheKey.c_str()); }; NULL : ChunkCacheKey.c_str()); };
bool RunScript(const char *Script, const char *ChunkCacheKey=NULL); bool RunScript(const char *Script, const char *ChunkCacheKey=NULL);
bool RunScripts(const char *ConfListKey, bool CacheChunks=false); bool RunScripts(const char *ConfListKey, bool CacheChunks=false);
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/pkgrecords.cc apt-0.5.15cnc6/apt-pkg/pkgrecords.cc diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/pkgrecords.cc apt-0.5.15lorg2/apt-pkg/pkgrecords.cc
--- apt-0.5.15cnc6.orig/apt-pkg/pkgrecords.cc 2003-11-03 21:25:47 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/pkgrecords.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15cnc6/apt-pkg/pkgrecords.cc 2004-05-16 17:12:43 +0000 +++ apt-0.5.15lorg2/apt-pkg/pkgrecords.cc 2006-04-01 17:19:39 +0000
@@ -56,7 +56,8 @@ pkgRecords::~pkgRecords() @@ -56,7 +56,8 @@ pkgRecords::~pkgRecords()
{ {
// CNC:2002-11-28 // CNC:2002-11-28
// See comments above. // See comments above.
- for (unsigned I = 0; I != PackageFileCount; I++) - for (unsigned I = 0; I != PackageFileCount; I++)
+ // PackageFileCount is int in apt-pkg/pkgrecords.h + // PackageFileCount is int according to apt-pkg/pkgrecords.h
+ for (int I = 0; I != PackageFileCount; I++) + for (int I = 0; I != PackageFileCount; I++)
delete Files[I]; delete Files[I];
delete [] Files; delete [] Files;
} }
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/pkgsystem.h apt-0.5.15cnc6/apt-pkg/pkgsystem.h diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/pkgsystem.h apt-0.5.15lorg2/apt-pkg/pkgsystem.h
--- apt-0.5.15cnc6.orig/apt-pkg/pkgsystem.h 2003-11-24 16:55:37 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/pkgsystem.h 2006-02-06 19:11:06 +0000
+++ apt-0.5.15cnc6/apt-pkg/pkgsystem.h 2004-05-16 17:12:41 +0000 +++ apt-0.5.15lorg2/apt-pkg/pkgsystem.h 2006-04-01 17:19:39 +0000
@@ -90,7 +90,7 @@ class pkgSystem @@ -90,7 +90,7 @@ class pkgSystem
// Return a list of system index files.. // Return a list of system index files..
virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) = 0; virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) = 0;
@ -58,9 +67,9 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/pkgsystem.h apt-0.5.15cnc6/apt-pkg/p
virtual bool FindIndex(pkgCache::PkgFileIterator File, virtual bool FindIndex(pkgCache::PkgFileIterator File,
pkgIndexFile *&Found) const = 0; pkgIndexFile *&Found) const = 0;
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmhandler.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmhandler.cc diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmhandler.cc apt-0.5.15lorg2/apt-pkg/rpm/rpmhandler.cc
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmhandler.cc 2004-03-05 11:29:09 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmhandler.cc 2006-02-06 19:11:06 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmhandler.cc 2004-05-16 17:12:45 +0000 +++ apt-0.5.15lorg2/apt-pkg/rpm/rpmhandler.cc 2006-04-01 17:19:39 +0000
@@ -87,7 +87,7 @@ bool RPMFileHandler::Jump(unsigned Offse @@ -87,7 +87,7 @@ bool RPMFileHandler::Jump(unsigned Offse
{ {
if (FD == NULL) if (FD == NULL)
@ -70,7 +79,7 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmhandler.cc apt-0.5.15cnc6/apt
return false; return false;
return Skip(); return Skip();
} }
@@ -343,7 +343,7 @@ string RPMDirHandler::MD5Sum() @@ -347,7 +347,7 @@ string RPMDirHandler::MD5Sum()
RPMDBHandler::RPMDBHandler(bool WriteLock) RPMDBHandler::RPMDBHandler(bool WriteLock)
@ -79,10 +88,21 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmhandler.cc apt-0.5.15cnc6/apt
{ {
#if RPM_VERSION >= 0x040000 #if RPM_VERSION >= 0x040000
RpmIter = NULL; RpmIter = NULL;
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmpm.cc diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmpackagedata.cc apt-0.5.15lorg2/apt-pkg/rpm/rpmpackagedata.cc
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc 2004-03-15 22:10:41 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmpackagedata.cc 2006-02-06 17:21:43 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmpm.cc 2004-05-16 17:12:41 +0000 +++ apt-0.5.15lorg2/apt-pkg/rpm/rpmpackagedata.cc 2006-04-01 17:22:48 +0000
@@ -393,7 +393,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o @@ -296,7 +296,6 @@ int RPMPackageData::RpmArchScore(const c
bool RPMPackageData::IsCompatArch(string Arch)
{
- bool compat = false;
for (vector<string>::iterator I = CompatArch[BaseArch].begin();
I != CompatArch[BaseArch].end(); I++) {
if (Arch == *I)
diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15lorg2/apt-pkg/rpm/rpmpm.cc
--- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmpm.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15lorg2/apt-pkg/rpm/rpmpm.cc 2006-04-01 17:19:39 +0000
@@ -398,7 +398,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o
Args[n++] = _config->Find("Dir::Bin::rpm","rpm").c_str(); Args[n++] = _config->Find("Dir::Bin::rpm","rpm").c_str();
@ -91,7 +111,7 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc6/apt-pkg/
switch (op) switch (op)
{ {
@@ -416,6 +416,8 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o @@ -421,6 +421,8 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o
operation = "-e"; operation = "-e";
nodeps = true; nodeps = true;
break; break;
@ -100,7 +120,7 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc6/apt-pkg/
} }
Args[n++] = operation; Args[n++] = operation;
@@ -657,8 +659,7 @@ pkgRPMLibPM::~pkgRPMLibPM() @@ -662,8 +664,7 @@ pkgRPMLibPM::~pkgRPMLibPM()
bool pkgRPMLibPM::AddToTransaction(Item::RPMOps op, vector<const char*> &files) bool pkgRPMLibPM::AddToTransaction(Item::RPMOps op, vector<const char*> &files)
{ {
@ -110,7 +130,7 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc6/apt-pkg/
FD_t fd; FD_t fd;
rpmHeader hdr; rpmHeader hdr;
@@ -739,7 +740,6 @@ bool pkgRPMLibPM::Process(vector<const c @@ -744,7 +745,6 @@ bool pkgRPMLibPM::Process(vector<const c
int rc = 0; int rc = 0;
bool Success = false; bool Success = false;
bool Interactive = _config->FindB("RPM::Interactive",true); bool Interactive = _config->FindB("RPM::Interactive",true);
@ -118,9 +138,9 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc6/apt-pkg/
string Dir = _config->Find("RPM::RootDir"); string Dir = _config->Find("RPM::RootDir");
rpmReadConfigFiles(NULL, NULL); rpmReadConfigFiles(NULL, NULL);
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmrecords.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmrecords.cc diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmrecords.cc apt-0.5.15lorg2/apt-pkg/rpm/rpmrecords.cc
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmrecords.cc 2004-03-13 18:21:45 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmrecords.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmrecords.cc 2004-05-16 17:12:43 +0000 +++ apt-0.5.15lorg2/apt-pkg/rpm/rpmrecords.cc 2006-04-01 17:19:39 +0000
@@ -407,7 +407,7 @@ void rpmRecordParser::GetRec(const char @@ -407,7 +407,7 @@ void rpmRecordParser::GetRec(const char
headerGetEntry(HeaderP, RPMTAG_ARCH, &type, (void **)&str, &count); headerGetEntry(HeaderP, RPMTAG_ARCH, &type, (void **)&str, &count);
BufCatTag("\nArchitecture: ", str); BufCatTag("\nArchitecture: ", str);
@ -130,10 +150,10 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmrecords.cc apt-0.5.15cnc6/apt
BufCatTag("\nSize: ", buf); BufCatTag("\nSize: ", buf);
BufCatTag("\nMD5Sum: ", Handler->MD5Sum().c_str()); BufCatTag("\nMD5Sum: ", Handler->MD5Sum().c_str());
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.cc
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc 2004-03-22 16:51:38 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmsystem.cc 2006-04-01 16:14:46 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc 2004-05-16 17:12:41 +0000 +++ apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.cc 2006-04-01 17:19:39 +0000
@@ -251,7 +251,7 @@ bool rpmSystem::AddStatusFiles(vector<pk @@ -313,7 +313,7 @@ bool rpmSystem::AddStatusFiles(vector<pk
// System::AddSourceFiles - Register aditional source files /*{{{*/ // System::AddSourceFiles - Register aditional source files /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
/* */ /* */
@ -142,7 +162,7 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc6/apt-
{ {
const Configuration::Item *Top; const Configuration::Item *Top;
Top = _config->Tree("APT::Arguments"); Top = _config->Tree("APT::Arguments");
@@ -268,7 +268,6 @@ bool rpmSystem::AddSourceFiles(vector<pk @@ -330,7 +330,6 @@ bool rpmSystem::AddSourceFiles(vector<pk
} }
} }
} }
@ -150,21 +170,21 @@ diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15cnc6/apt-
} }
/*}}}*/ /*}}}*/
#ifdef OLD_FILEDEPS #ifdef OLD_FILEDEPS
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.h apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.h diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmsystem.h apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.h
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.h 2003-11-24 16:55:37 +0000 --- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmsystem.h 2006-02-06 19:11:06 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.h 2004-05-16 17:12:41 +0000 +++ apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.h 2006-04-01 17:19:39 +0000
@@ -60,7 +60,7 @@ class rpmSystem : public pkgSystem @@ -61,7 +61,7 @@ class rpmSystem : public pkgSystem
virtual bool ArchiveSupported(const char *Type);
virtual signed Score(Configuration const &Cnf); virtual signed Score(Configuration const &Cnf);
virtual string DistroVer(Configuration const &Cnf);
virtual bool AddStatusFiles(vector<pkgIndexFile *> &List); virtual bool AddStatusFiles(vector<pkgIndexFile *> &List);
- virtual bool AddSourceFiles(vector<pkgIndexFile *> &List); - virtual bool AddSourceFiles(vector<pkgIndexFile *> &List);
+ virtual void AddSourceFiles(vector<pkgIndexFile *> &List); + virtual void AddSourceFiles(vector<pkgIndexFile *> &List);
virtual bool FindIndex(pkgCache::PkgFileIterator File, virtual bool FindIndex(pkgCache::PkgFileIterator File,
pkgIndexFile *&Found) const; pkgIndexFile *&Found) const;
virtual bool ProcessCache(pkgDepCache &Cache,pkgProblemResolver &Fix); virtual bool ProcessCache(pkgDepCache &Cache,pkgProblemResolver &Fix);
diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-get.cc apt-0.5.15cnc6/cmdline/apt-get.cc diff -upk.orig apt-0.5.15lorg2.orig/cmdline/apt-get.cc apt-0.5.15lorg2/cmdline/apt-get.cc
--- apt-0.5.15cnc6.orig/cmdline/apt-get.cc 2004-03-22 20:40:03 +0000 --- apt-0.5.15lorg2.orig/cmdline/apt-get.cc 2006-01-17 18:41:29 +0000
+++ apt-0.5.15cnc6/cmdline/apt-get.cc 2004-05-16 17:12:43 +0000 +++ apt-0.5.15lorg2/cmdline/apt-get.cc 2006-04-01 17:19:39 +0000
@@ -1223,7 +1223,7 @@ bool TryToInstall(pkgCache::PkgIterator @@ -1223,7 +1223,7 @@ bool TryToInstall(pkgCache::PkgIterator
// Check if it's a different version of a package already // Check if it's a different version of a package already
// considered as a good solution. // considered as a good solution.
@ -192,9 +212,9 @@ diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-get.cc apt-0.5.15cnc6/cmdline/ap
{ {
pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]); pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]);
if (GoodPkg.CurrentVer().end() == false) if (GoodPkg.CurrentVer().end() == false)
diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/apt-shell.cc diff -upk.orig apt-0.5.15lorg2.orig/cmdline/apt-shell.cc apt-0.5.15lorg2/cmdline/apt-shell.cc
--- apt-0.5.15cnc6.orig/cmdline/apt-shell.cc 2004-03-15 22:10:41 +0000 --- apt-0.5.15lorg2.orig/cmdline/apt-shell.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15cnc6/cmdline/apt-shell.cc 2004-05-16 17:12:43 +0000 +++ apt-0.5.15lorg2/cmdline/apt-shell.cc 2006-04-01 17:19:39 +0000
@@ -1292,7 +1292,7 @@ bool TryToInstall(pkgCache::PkgIterator @@ -1292,7 +1292,7 @@ bool TryToInstall(pkgCache::PkgIterator
// Check if it's a different version of a package already // Check if it's a different version of a package already
// considered as a good solution. // considered as a good solution.
@ -208,12 +228,12 @@ diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/
} }
} }
vector<string> GoodSolutionNames; vector<string> GoodSolutionNames;
- for (int i = 0; i != GoodSolutionNames.size(); i++) - for (int i = 0; i != GoodSolutions.size(); i++)
+ for (unsigned int i = 0; i != GoodSolutionNames.size(); i++) + for (unsigned int i = 0; i != GoodSolutions.size(); i++)
{ {
pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[0]); pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]);
GoodSolutionNames.push_back(GoodPkg.Name()); GoodSolutionNames.push_back(GoodPkg.Name());
@@ -1376,7 +1376,7 @@ bool TryToInstall(pkgCache::PkgIterator @@ -1377,7 +1377,7 @@ bool TryToInstall(pkgCache::PkgIterator
{ {
ioprintf(c1out,_("Package %s is a virtual package provided by:\n"), ioprintf(c1out,_("Package %s is a virtual package provided by:\n"),
Pkg.Name()); Pkg.Name());
@ -222,7 +242,7 @@ diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/
{ {
pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]); pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]);
if (GoodPkg.CurrentVer().end() == false) if (GoodPkg.CurrentVer().end() == false)
@@ -4439,7 +4439,7 @@ int main(int argc,const char *argv[]) @@ -4464,7 +4464,7 @@ int main(int argc,const char *argv[])
_lua->HasScripts("Scripts::AptCache::Command")); _lua->HasScripts("Scripts::AptCache::Command"));
#endif #endif
@ -231,3 +251,16 @@ diff -uprk.orig apt-0.5.15cnc6.orig/cmdline/apt-shell.cc apt-0.5.15cnc6/cmdline/
const char *largv[1024]; const char *largv[1024];
char *line, *p, *q; char *line, *p, *q;
largv[0] = ""; largv[0] = "";
diff -upk.orig apt-0.5.15lorg2.orig/methods/gpg.cc apt-0.5.15lorg2/methods/gpg.cc
--- apt-0.5.15lorg2.orig/methods/gpg.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15lorg2/methods/gpg.cc 2006-04-01 17:27:16 +0000
@@ -255,7 +255,8 @@ char *getFileSigner(const char *file, co
{
char *sig;
ptr = sig = ptr1 + sizeof(SIGPACK);
- while (isxdigit(*ptr) && (ptr-sig) < sizeof(keyid)) ptr++;
+ while (ptr < sig + sizeof(keyid) && isxdigit(*ptr))
+ ptr++;
*ptr = 0;
strcpy(keyid, sig);
}

View File

@ -0,0 +1,29 @@
--- apt-0.5.15lorg2/apt-pkg/init.cc.orig 2006-04-02 12:00:56 +0000
+++ apt-0.5.15lorg2/apt-pkg/init.cc 2006-04-02 12:01:38 +0000
@@ -15,6 +15,7 @@
#include <apti18n.h>
#include <config.h>
#include <sys/stat.h>
+#include <sys/utsname.h>
// CNC:2003-03-17
#include <apt-pkg/luaiface.h>
@@ -37,9 +38,16 @@ const char *pkgOS = COMMON_OS;
is prepended, this allows a fair degree of flexability. */
bool pkgInitConfig(Configuration &Cnf)
{
+ const char *cpu = NULL;
+ struct utsname name;
+ if (uname(&name) == 0)
+ cpu = strdup(name.machine);
+ if (cpu == NULL)
+ cpu = COMMON_CPU;
+
// General APT things
if (strcmp(COMMON_OS,"linux") == 0 ||
strcmp(COMMON_OS,"unknown") == 0)
- Cnf.CndSet("APT::Architecture",COMMON_CPU);
+ Cnf.CndSet("APT::Architecture",cpu);
else
Cnf.CndSet("APT::Architecture",COMMON_OS "-" COMMON_CPU);
Cnf.CndSet("APT::Architecture",COMMON_OS "-" cpu);

View File

@ -0,0 +1,41 @@
diff -upk.orig apt-0.5.15lorg2.orig/cmdline/Makefile.am apt-0.5.15lorg2/cmdline/Makefile.am
--- apt-0.5.15lorg2.orig/cmdline/Makefile.am 2006-01-16 23:10:47 +0000
+++ apt-0.5.15lorg2/cmdline/Makefile.am 2006-04-01 15:03:29 +0000
@@ -15,7 +15,7 @@ LDADD = ../apt-pkg/libapt-pkg.la $(RPMLI
apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h
apt_cache_SOURCES = apt-cache.cc
apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h
-apt_shell_LDADD = $(LDADD) -lreadline -lncurses
+apt_shell_LDADD = $(LDADD) -lreadline
apt_config_SOURCES = apt-config.cc
apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h
diff -upk.orig apt-0.5.15lorg2.orig/cmdline/Makefile.in apt-0.5.15lorg2/cmdline/Makefile.in
--- apt-0.5.15lorg2.orig/cmdline/Makefile.in 2006-01-17 00:01:33 +0000
+++ apt-0.5.15lorg2/cmdline/Makefile.in 2006-04-01 15:03:29 +0000
@@ -289,7 +289,7 @@ LDADD = ../apt-pkg/libapt-pkg.la $(RPMLI
apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h
apt_cache_SOURCES = apt-cache.cc
apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h
-apt_shell_LDADD = $(LDADD) -lreadline -lncurses
+apt_shell_LDADD = $(LDADD) -lreadline
apt_config_SOURCES = apt-config.cc
apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h
apt_get_static_SOURCES = $(apt_get_SOURCES)
diff -upk.orig apt-0.5.15lorg2.orig/configure.in apt-0.5.15lorg2/configure.in
--- apt-0.5.15lorg2.orig/configure.in 2006-02-06 19:12:19 +0000
+++ apt-0.5.15lorg2/configure.in 2006-04-01 15:05:18 +0000
@@ -134,10 +134,9 @@ else
fi
dnl Check for apt-shell dependencies
-AC_CHECK_LIB(ncurses,tputs,
- [AC_CHECK_HEADER(readline/readline.h,
- [AC_CHECK_LIB(readline,rl_completion_matches,
- [compile_aptshell=yes],,[-lncurses])])])
+AC_CHECK_HEADER(readline/readline.h,
+ [AC_CHECK_LIB(readline,rl_completion_matches,
+ [compile_aptshell=yes])])
AM_CONDITIONAL(COMPILE_APTSHELL, test "$compile_aptshell" = "yes")
dnl Converts the ARCH to be something singular for this general CPU family

View File

@ -0,0 +1,74 @@
diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmsystem.cc apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.cc
--- apt-0.5.15lorg2.orig/apt-pkg/rpm/rpmsystem.cc 2006-02-06 19:11:06 +0000
+++ apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.cc 2006-04-01 16:14:46 +0000
@@ -248,31 +248,50 @@ signed rpmSystem::Score(Configuration co
string rpmSystem::DistroVer(Configuration const &Cnf)
{
string DistroVerPkg = _config->Find("Apt::DistroVerPkg");
- string DistroVersion = "";
+ string DistroVersion;
+ if (DistroVerPkg.empty())
+ return DistroVersion;
- if (! DistroVerPkg.empty()) {
- rpmts ts;
- char *version;
- int type, count, rc;
- rpmdbMatchIterator iter;
-
- ts = rpmtsCreate();
- rpmtsSetVSFlags(ts, (rpmVSFlags_e)-1);
- rpmtsSetRootDir(ts, NULL);
- rc = rpmtsOpenDB(ts, O_RDWR);
-
- Header hdr;
- iter = rpmtsInitIterator(ts, (rpmTag)RPMDBI_LABEL, DistroVerPkg.c_str(), 0);
- while ((hdr = rpmdbNextIterator(iter)) != NULL) {
- headerGetEntry(hdr, RPMTAG_VERSION, &type, (void **)&version, &count);
- DistroVersion = version;
+#if RPM_VERSION >= 0x040100
+ rpmts ts;
+ ts = rpmtsCreate();
+ rpmtsSetVSFlags(ts, (rpmVSFlags_e)-1);
+ rpmtsSetRootDir(ts, NULL);
+ if (rpmtsOpenDB(ts, O_RDONLY))
+ return DistroVersion;
+#else
+ rpmdb DB;
+ string RootDir = _config->Find("RPM::RootDir");
+ const char *RootDirStr = RootDir.empty() ? NULL : RootDir.c_str();
+ if (rpmdbOpen(RootDirStr, &DB, O_RDONLY, 0644))
+ return DistroVersion;
+#endif
+
+ rpmdbMatchIterator iter;
+#if RPM_VERSION >= 0x040100
+ iter = rpmtsInitIterator(ts, (rpmTag)RPMDBI_LABEL, DistroVerPkg.c_str(), 0);
+#else
+ iter = rpmdbInitIterator(DB, RPMDBI_LABEL, DistroVerPkg.c_str(), 0);
+#endif
+ Header hdr;
+ while ((hdr = rpmdbNextIterator(iter)) != NULL) {
+ void *version;
+ int type, count;
+
+ if (headerGetEntry(hdr, RPMTAG_VERSION, &type, &version, &count)) {
+ DistroVersion = (char *)version;
+ headerFreeData(&version, (rpmTagType)type);
break;
}
- rpmdbFreeIterator(iter);
- rpmtsFree(ts);
}
-
+ rpmdbFreeIterator(iter);
+#if RPM_VERSION >= 0x040100
+ rpmtsFree(ts);
+#else
+ rpmdbClose(DB);
+#endif
+
return DistroVersion;
}

View File

@ -41,27 +41,16 @@ Index: apt-rpm.rsync/apt-pkg/acquire-method.cc
=================================================================== ===================================================================
--- apt-rpm.rsync/apt-pkg/acquire-method.cc (revision 137) --- apt-rpm.rsync/apt-pkg/acquire-method.cc (revision 137)
+++ apt-rpm.rsync/apt-pkg/acquire-method.cc (working copy) +++ apt-rpm.rsync/apt-pkg/acquire-method.cc (working copy)
@@ -135,7 +135,7 @@ @@ -152,6 +152,9 @@
if (Queue == 0) if (Res.ResumePoint != 0)
abort(); s << "Resume-Point: " << Res.ResumePoint << "\n";
- char S[1024] = ""; + if (Res.TmpFilename.size() != 0)
+ char S[2048] = ""; + s << "Tmp-Filename: " << Res.TmpFilename << "\n";
char *End = S; +
s << "\n";
End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str()); string S = s.str();
@@ -150,6 +150,10 @@ if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n",
Res.ResumePoint);
+ if (!Res.TmpFilename.empty())
+ End += snprintf(End,sizeof(S)-4 - (End - S),"Tmp-Filename: %s\n",
+ Res.TmpFilename.c_str());
+
strcat(End,"\n");
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
exit(100);
Index: apt-rpm.rsync/apt-pkg/acquire-method.h
=================================================================== ===================================================================
--- apt-rpm.rsync/apt-pkg/acquire-method.h (revision 137) --- apt-rpm.rsync/apt-pkg/acquire-method.h (revision 137)
+++ apt-rpm.rsync/apt-pkg/acquire-method.h (working copy) +++ apt-rpm.rsync/apt-pkg/acquire-method.h (working copy)

102
apt.spec
View File

@ -1,8 +1,8 @@
# $Id: apt,v 1.22 2005/07/15 17:25:46 me Exp $ # $Id: apt,v 1.22 2005/07/15 17:25:46 me Exp $
Name: apt Name: apt
Version: 0.5.15cnc6 Version: 0.5.15lorg2
Release: alt18 Release: alt3
Summary: Debian's Advanced Packaging Tool with RPM support Summary: Debian's Advanced Packaging Tool with RPM support
Summary(ru_RU.KOI8-R): Debian APT - õÓÏ×ÅÒÛÅÎÓÔ×Ï×ÁÎÎÏÅ ÓÒÅÄÓÔ×Ï ÕÐÒÁ×ÌÅÎÉÑ ÐÁËÅÔÁÍÉ Ó ÐÏÄÄÅÒÖËÏÊ RPM Summary(ru_RU.KOI8-R): Debian APT - õÓÏ×ÅÒÛÅÎÓÔ×Ï×ÁÎÎÏÅ ÓÒÅÄÓÔ×Ï ÕÐÒÁ×ÌÅÎÉÑ ÐÁËÅÔÁÍÉ Ó ÐÏÄÄÅÒÖËÏÊ RPM
@ -19,27 +19,27 @@ Source4: apt.ru.po
Source5: apt.be.po Source5: apt.be.po
Source6: ChangeLog-rpm.old Source6: ChangeLog-rpm.old
Patch9: apt-0.5.15cnc6-alt-aclocal-warnings.patch Patch9: apt-0.5.15lorg2-alt-buildlib.patch
Patch10: apt-0.5.15cnc5-alt-libtool.patch Patch10: apt-0.5.15lorg2-alt-rpmSystem-DistroVer.patch
Patch11: apt-0.5.15cnc6-alt-fixes.patch Patch11: apt-0.5.15lorg2-alt-fixes.patch
Patch12: apt-0.5.15cnc5-alt-tinfo.patch Patch12: apt-0.5.15cnc5-alt-libtool.patch
Patch13: apt-0.5.15cnc5-alt-rpm-build.patch Patch13: apt-0.5.15lorg2-alt-readline.patch
Patch14: apt-0.5.15cnc5-alt-distro.patch Patch14: apt-0.5.15cnc5-alt-rpm-build.patch
Patch15: apt-0.5.15cnc5-alt-debsystem.patch Patch15: apt-0.5.15cnc5-alt-distro.patch
Patch16: apt-0.5.15cnc6-alt-defaults.patch Patch16: apt-0.5.15cnc5-alt-debsystem.patch
Patch17: apt-0.5.5cnc5-alt-rsync.patch Patch17: apt-0.5.15cnc6-alt-defaults.patch
Patch18: apt-0.5.15cnc5-alt-getsrc.patch Patch18: apt-0.5.5cnc5-alt-rsync.patch
Patch19: apt-0.5.15cnc6-alt-parseargs.patch Patch19: apt-0.5.15cnc5-alt-getsrc.patch
Patch20: apt-0.5.15cnc5-alt-rpm_cmd.patch Patch20: apt-0.5.15cnc6-alt-parseargs.patch
Patch21: apt-0.5.15cnc6-alt-rpm-fancypercent.patch Patch21: apt-0.5.15cnc5-alt-execrpm-cmd.patch
Patch22: apt-0.5.15cnc5-alt-methods_gpg_homedir.patch Patch22: apt-0.5.15cnc6-alt-rpm-fancypercent.patch
Patch23: apt-0.5.15cnc5-alt-md5hash-debug.patch Patch23: apt-0.5.15cnc5-alt-gpg-homedir.patch
Patch24: apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch Patch24: apt-0.5.15cnc5-alt-md5hash-debug.patch
Patch25: apt-0.5.5cnc4.1-alt-fixpriorsort.patch Patch25: apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch
Patch26: apt-0.5.4cnc9-alt-pkgorderlist_score.patch Patch26: apt-0.5.5cnc4.1-alt-PrioComp.patch
Patch27: apt-0.5.15cnc6-alt-virtual_scores.patch Patch27: apt-0.5.4cnc9-alt-pkgorderlist-score.patch
Patch28: apt-0.5.15cnc5-alt-system-lua5.patch Patch28: apt-0.5.15cnc6-alt-virtual-scores.patch
Patch29: apt-0.5.15cnc5-alt-findrepos.patch Patch29: apt-0.5.15cnc5-alt-system-lua5.patch
Patch30: apt-0.5.15cnc5-alt-gettext.patch Patch30: apt-0.5.15cnc5-alt-gettext.patch
Patch31: apt-0.5.15cnc6-alt-rpm-order.patch Patch31: apt-0.5.15cnc6-alt-rpm-order.patch
Patch32: apt-0.5.15cnc6-alt-pkgcachegen.patch Patch32: apt-0.5.15cnc6-alt-pkgcachegen.patch
@ -54,6 +54,8 @@ Patch40: apt-0.5.15cnc6-alt-vendor.patch
Patch41: apt-0.5.15cnc6-alt-apt-pipe.patch Patch41: apt-0.5.15cnc6-alt-apt-pipe.patch
Patch42: apt-0.5.15cnc6-alt-PrintLocalFile.patch Patch42: apt-0.5.15cnc6-alt-PrintLocalFile.patch
Patch43: apt-0.5.15cnc6-apt-utils-locale.patch Patch43: apt-0.5.15cnc6-apt-utils-locale.patch
Patch44: apt-0.5.15lorg2-alt-apt-shell-resetconfig.patch
Patch45: apt-0.5.15lorg2-alt-pkgInitConfig-cpu.patch
# Normally not applied, but useful. # Normally not applied, but useful.
Patch101: apt-0.5.4cnc9-alt-getsrc-debug.patch Patch101: apt-0.5.4cnc9-alt-getsrc-debug.patch
@ -72,14 +74,17 @@ BuildPreReq: docbook-utils
# lua5. # lua5.
BuildPreReq: liblua5-devel BuildPreReq: liblua5-devel
# autopoint # for autopoint.
BuildPreReq: cvs BuildPreReq: cvs
# for apt-pipe.
BuildPreReq: setproctitle-devel
%def_disable static %def_disable static
%{?_enable_static:BuildPreReq: glibc-devel-static} %{?_enable_static:BuildPreReq: glibc-devel-static}
# all the rest. # all the rest.
BuildPreReq: gcc-c++ libreadline-devel libstdc++-devel libtinfo-devel setproctitle-devel BuildPreReq: gcc-c++ libreadline-devel
%package -n libapt %package -n libapt
Summary: APT's core libraries Summary: APT's core libraries
@ -249,58 +254,62 @@ This package contains method 'rsync' for APT.
%patch41 -p1 %patch41 -p1
%patch42 -p1 %patch42 -p1
%patch43 -p1 %patch43 -p1
%patch44 -p1
%patch45 -p1
find -type f -name \*.orig -delete -print find -type f -name \*.orig -delete -print
# Use system-wide lua5 # Use system-wide lua5
pushd lua pushd lua
# keep only local/ and lua/ # keep only local/ and lua/
%__rm -rfv include lib luac *.[ch] rm -rfv include lib luac *.[ch]
popd popd
# Turn it on only if you want to see the debugging messages: # Turn it on only if you want to see the debugging messages:
#%patch101 -p1 -b .getsrc-debug #%patch101 -p1 -b .getsrc-debug
%__install -p -m644 %SOURCE3 %SOURCE6 . install -p -m644 %SOURCE3 %SOURCE6 .
%__install -p -m644 %SOURCE4 po/ru.po install -p -m644 %SOURCE4 po/ru.po
%__install -p -m644 %SOURCE5 po/be.po install -p -m644 %SOURCE5 po/be.po
%__subst 's|^\(.\+\)$|\1 be|' po/LINGUAS %__subst 's|^\(.\+\)$|\1 be|' po/LINGUAS
%build %build
# Fix url. # Fix url.
%__subst -p 's,/usr/share/common-licenses/GPL,/usr/share/license/GPL,' COPYING %__subst -p 's,/usr/share/common-licenses/GPL,/usr/share/license/GPL,' COPYING
# Unhide potential cc/c++ errors.
%__subst 's, > /dev/null 2>&1,,' buildlib/tools.m4
autoreconf -fisv autoreconf -fisv
# --disable-dependency-tracking Speeds up one-time builds
%configure --includedir=%_includedir/apt-pkg %{subst_enable static} %configure --includedir=%_includedir/apt-pkg %{subst_enable static}
# Probably this obsolete now? # Probably this obsolete now?
find -type f -print0 | find -type f -print0 |
xargs -r0 %__grep -EZl '/var(/lib)?/state/apt' -- | xargs -r0 grep -EZl '/var(/lib)?/state/apt' -- |
xargs -r0 %__subst -p 's,/var\(/lib\)\?/state/apt,%_localstatedir/%name,g' -- xargs -r0 %__subst -p 's,/var\(/lib\)\?/state/apt,%_localstatedir/%name,g' --
%make_build %make_build
%install %install
%__mkdir_p %buildroot%_sysconfdir/%name/{%name.conf,sources.list,vendors.list}.d mkdir -p %buildroot%_sysconfdir/%name/{%name.conf,sources.list,vendors.list}.d
%__mkdir_p %buildroot%_libdir/%name/scripts mkdir -p %buildroot%_libdir/%name/scripts
%__mkdir_p %buildroot%_localstatedir/%name/{lists/partial,prefetch} mkdir -p %buildroot%_localstatedir/%name/{lists/partial,prefetch}
%__mkdir_p %buildroot%_cachedir/%name/{archives/partial,gen{pkg,src}list} mkdir -p %buildroot%_cachedir/%name/{archives/partial,gen{pkg,src}list}
%makeinstall includedir=%buildroot%_includedir/apt-pkg %makeinstall includedir=%buildroot%_includedir/apt-pkg
%__install -p -m755 %SOURCE2 %buildroot%_bindir/ install -p -m755 %SOURCE2 %buildroot%_bindir/
%__install -p -m644 %SOURCE1 %buildroot%_sysconfdir/%name/ install -p -m644 %SOURCE1 %buildroot%_sysconfdir/%name/
# This is still needed. # This is still needed.
%__ln_s -f rsh %buildroot%_libdir/%name/methods/ssh ln -sf rsh %buildroot%_libdir/%name/methods/ssh
%__ln_s -f gzip %buildroot%_libdir/%name/methods/bzip2 ln -sf gzip %buildroot%_libdir/%name/methods/bzip2
# Cleanup # Cleanup
find %buildroot%_includedir -type f -name rpmshowprogress.h -print -delete find %buildroot%_includedir -type f -name rpmshowprogress.h -delete -print
%__rm -f %buildroot%_libdir/*.la rm -f %buildroot%_libdir/*.la
%__bzip2 -9fk ChangeLog-rpm.old bzip2 -9fk ChangeLog-rpm.old
%find_lang %name %find_lang %name
@ -364,6 +373,15 @@ fi
# Probably %%doc with README.rsync? # Probably %%doc with README.rsync?
%changelog %changelog
* Sat Apr 01 2006 Dmitry V. Levin <ldv@altlinux.org> 0.5.15lorg2-alt3
- Resolved a few issues introduced after cnc6.
* Wed Mar 29 2006 Anton Farygin <rider@altlinux.ru> 0.5.15lorg2-alt2
- apt-shell: use string for MatchSection.
* Tue Mar 21 2006 Anton Farygin <rider@altlinux.ru> 0.5.15lorg2-alt1
- Updated to 0.5.15lorg2.
* Tue Feb 21 2006 Dmitry V. Levin <ldv@altlinux.org> 0.5.15cnc6-alt18 * Tue Feb 21 2006 Dmitry V. Levin <ldv@altlinux.org> 0.5.15cnc6-alt18
- apt-get: Fixed APT::Get::PrintLocalFile for local files (#8902). - apt-get: Fixed APT::Get::PrintLocalFile for local files (#8902).

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = . top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +33,59 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
subdir = .
DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/buildlib/config.h.in \
$(top_srcdir)/configure $(top_srcdir)/intl/Makefile.in \
ABOUT-NLS AUTHORS COPYING TODO
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/buildlib/tools.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES = intl/Makefile
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -59,6 +104,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
@ -72,6 +118,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@ GLIBC_VER = @GLIBC_VER@
@ -134,8 +182,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@ WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@ WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +195,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -165,6 +217,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -172,11 +225,8 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
SUBDIRS = buildlib intl lua apt-pkg methods cmdline tools doc m4 po SUBDIRS = buildlib intl lua apt-pkg methods cmdline tools doc m4 po
ACLOCAL_AMFLAGS = -I m4 -I buildlib ACLOCAL_AMFLAGS = -I m4 -I buildlib
EXTRA_DIST = \ EXTRA_DIST = \
AUTHORS.RPM \ AUTHORS.RPM \
COPYING.GPL \ COPYING.GPL \
@ -213,40 +263,41 @@ EXTRA_DIST = \
contrib/proxypasswd/README \ contrib/proxypasswd/README \
contrib/proxypasswd/proxypasswd.lua contrib/proxypasswd/proxypasswd.lua
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES = intl/Makefile
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \
ps-recursive install-info-recursive uninstall-info-recursive \
all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive \
check-recursive installcheck-recursive
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/configure \
./buildlib/config.h.in ABOUT-NLS AUTHORS COPYING Makefile.am \
TODO aclocal.m4 configure configure.in
DIST_SUBDIRS = $(SUBDIRS)
all: all-recursive all: all-recursive
.SUFFIXES: .SUFFIXES:
am--refresh:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ @:
configure.lineno $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) @for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
cd $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile $(AUTOMAKE) --foreign Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in m4/codeset.m4 m4/gettext.m4 m4/glibc21.m4 m4/iconv.m4 m4/intdiv0.m4 m4/inttypes-pri.m4 m4/inttypes.m4 m4/inttypes_h.m4 m4/isc-posix.m4 m4/lcmessage.m4 m4/lib-ld.m4 m4/lib-link.m4 m4/lib-prefix.m4 m4/progtest.m4 m4/stdint_h.m4 m4/uintmax_t.m4 m4/ulonglong.m4 buildlib/tools.m4 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
include/config.h: include/stamp-h1 include/config.h: include/stamp-h1
@ -255,13 +306,13 @@ include/config.h: include/stamp-h1
$(MAKE) include/stamp-h1; \ $(MAKE) include/stamp-h1; \
else :; fi else :; fi
include/stamp-h1: $(srcdir)/./buildlib/config.h.in $(top_builddir)/config.status include/stamp-h1: $(top_srcdir)/buildlib/config.h.in $(top_builddir)/config.status
@rm -f include/stamp-h1 @rm -f include/stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status include/config.h cd $(top_builddir) && $(SHELL) ./config.status include/config.h
$(top_srcdir)/buildlib/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(srcdir)/./buildlib/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/./buildlib/config.h.in rm -f include/stamp-h1
touch $@
distclean-hdr: distclean-hdr:
-rm -f include/config.h include/stamp-h1 -rm -f include/config.h include/stamp-h1
@ -285,7 +336,13 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(RECURSIVE_TARGETS):
@set fnord $$MAKEFLAGS; amf=$$2; \ @failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \ dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
@ -297,7 +354,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ || eval $$failcom; \
done; \ done; \
if test "$$dot_seen" = "no"; then \ if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@ -305,7 +362,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive: maintainer-clean-recursive:
@set fnord $$MAKEFLAGS; amf=$$2; \ @failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \ dot_seen=no; \
case "$@" in \ case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -326,7 +389,7 @@ maintainer-clean-recursive:
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ || eval $$failcom; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
@ -337,14 +400,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -353,19 +408,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if (etags --etags-include --version) >/dev/null 2>&1; then \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \ include_option=--etags-include; \
empty_fix=.; \
else \ else \
include_option=--include; \ include_option=--include; \
empty_fix=; \
fi; \ fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \ test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
@ -375,10 +433,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -401,24 +460,11 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES) distdir: $(DISTFILES)
$(am__remove_distdir) $(am__remove_distdir)
mkdir $(distdir) mkdir $(distdir)
$(mkinstalldirs) $(distdir)/./buildlib $(distdir)/contrib/apt-files $(distdir)/contrib/apt-groupinstall $(distdir)/contrib/apt-rpm $(distdir)/contrib/install-devel $(distdir)/contrib/proxypasswd $(distdir)/intl $(distdir)/po $(distdir)/python $(distdir)/test $(mkdir_p) $(distdir)/buildlib $(distdir)/contrib/apt-files $(distdir)/contrib/apt-groupinstall $(distdir)/contrib/apt-rpm $(distdir)/contrib/install-devel $(distdir)/contrib/proxypasswd $(distdir)/intl $(distdir)/m4 $(distdir)/po $(distdir)/python $(distdir)/test
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \ list='$(DISTFILES)'; for file in $$list; do \
@ -430,7 +476,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -445,15 +491,17 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \ test -d "$(distdir)/$$subdir" \
|| mkdir $(distdir)/$$subdir \ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \ top_distdir="$$top_distdir" \
distdir=../$(distdir)/$$subdir \ distdir="$$distdir/$$subdir" \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -464,24 +512,46 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist-gzip: distdir dist-gzip: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir) $(am__remove_distdir)
dist-bzip2: distdir dist-tarZ: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir) $(am__remove_distdir)
dist dist-all: distdir dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir) $(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then # This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another # it guarantees that the distribution is self-contained by making another
# tarfile. # tarfile.
distcheck: dist distcheck: dist
$(am__remove_distdir) case '$(DIST_ARCHIVES)' in \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - *.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir) chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build mkdir $(distdir)/_build
mkdir $(distdir)/_inst mkdir $(distdir)/_inst
@ -502,19 +572,20 @@ distcheck: dist
distuninstallcheck \ distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \ && chmod -R a-w "$$dc_install_base" \
&& ({ \ && ({ \
(cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \ } || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \ && rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ && $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -f $(distdir).tar.gz \ && rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir) $(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \ @(echo "$(distdir) archives ready for distribution: "; \
sed 'h;s/./=/g;p;x;p;x' list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck: distuninstallcheck:
@cd $(distuninstallcheck_dir) \ @cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@ -538,7 +609,6 @@ check: check-recursive
all-am: Makefile all-am: Makefile
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data: install-data-recursive install-data: install-data-recursive
@ -558,7 +628,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -570,13 +640,15 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile -rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ distclean-am: clean-am distclean-generic distclean-hdr \
distclean-tags distclean-libtool distclean-tags
dvi: dvi-recursive dvi: dvi-recursive
dvi-am: dvi-am:
html: html-recursive
info: info-recursive info: info-recursive
info-am: info-am:
@ -613,23 +685,20 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
clean-generic clean-libtool clean-recursive ctags \ check-am clean clean-generic clean-libtool clean-recursive \
ctags-recursive dist dist-all dist-bzip2 dist-gzip distcheck \ ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
distclean distclean-generic distclean-hdr distclean-libtool \ dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-recursive distclean-tags distcleancheck distdir \ distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am dvi-recursive info info-am \ distuninstallcheck dvi dvi-am html html-am info info-am \
info-recursive install install-am install-data install-data-am \ install install-am install-data install-data-am install-exec \
install-data-recursive install-exec install-exec-am \ install-exec-am install-info install-info-am install-man \
install-exec-recursive install-info install-info-am \
install-info-recursive install-man install-recursive \
install-strip installcheck installcheck-am installdirs \ install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \ installdirs-am maintainer-clean maintainer-clean-generic \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \ maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ tags tags-recursive uninstall uninstall-am uninstall-info-am
tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
contrib/guess/README \ contrib/guess/README \
contrib/guess/guess.lua \ contrib/guess/guess.lua \

11366
apt/aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
lib_LTLIBRARIES = libapt-pkg.la lib_LTLIBRARIES = libapt-pkg.la
libapt_pkg_la_LIBADD = @RPMLIBS@ libapt_pkg_la_LIBADD = @RPMLIBS@
libapt_pkg_la_LDFLAGS = -version-info 1:1:1 -release @GLIBC_VER@-@LIBSTDCPP_VER@ libapt_pkg_la_LDFLAGS = -version-info 2:0:0 -release @GLIBC_VER@-@LIBSTDCPP_VER@
AM_CPPFLAGS = -DLIBDIR=\"$(libdir)\" AM_CPPFLAGS = -DLIBDIR=\"$(libdir)\"

File diff suppressed because it is too large Load Diff

View File

@ -477,11 +477,11 @@ void pkgAcqIndexRel::Done(string Message,unsigned long Size,string MD5,
} }
// Match fingerprint of Release file // Match fingerprint of Release file
if (Repository->Vendor->FingerPrint != FingerPrint) if (Repository->FingerPrint != FingerPrint)
{ {
Status = StatError; Status = StatError;
ErrorText = _("Signature fingerprint of Release file does not match (expected ") ErrorText = _("Signature fingerprint of Release file does not match (expected ")
+Repository->Vendor->FingerPrint+_(", got ")+FingerPrint+")"; +Repository->FingerPrint+_(", got ")+FingerPrint+")";
return; return;
} }
} }

View File

@ -26,6 +26,7 @@
#include <apt-pkg/hashes.h> #include <apt-pkg/hashes.h>
#include <iostream> #include <iostream>
#include <sstream>
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
@ -61,6 +62,10 @@ pkgAcqMethod::pkgAcqMethod(const char *Ver,unsigned long Flags)
if ((Flags & Removable) == Removable) if ((Flags & Removable) == Removable)
strcat(End,"Removable: true\n"); strcat(End,"Removable: true\n");
// CNC:2004-04-27
if ((Flags & HasPreferredURI) == HasPreferredURI)
strcat(End,"Has-Preferred-URI: true\n");
strcat(End,"\n"); strcat(End,"\n");
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
@ -134,24 +139,22 @@ void pkgAcqMethod::URIStart(FetchResult &Res)
{ {
if (Queue == 0) if (Queue == 0)
abort(); abort();
char S[1024] = ""; ostringstream s;
char *End = S;
s << "200 URI Start\nURI: " << Queue->Uri << "\n";
End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str());
if (Res.Size != 0) if (Res.Size != 0)
End += snprintf(End,sizeof(S)-4 - (End - S),"Size: %lu\n",Res.Size); s << "Size: " << Res.Size << "\n";
if (Res.LastModified != 0) if (Res.LastModified != 0)
End += snprintf(End,sizeof(S)-4 - (End - S),"Last-Modified: %s\n", s << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n";
TimeRFC1123(Res.LastModified).c_str());
if (Res.ResumePoint != 0) if (Res.ResumePoint != 0)
End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n", s << "Resume-Point: " << Res.ResumePoint << "\n";
Res.ResumePoint);
s << "\n";
strcat(End,"\n"); string S = s.str();
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
exit(100); exit(100);
} }
/*}}}*/ /*}}}*/
@ -163,63 +166,57 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
if (Queue == 0) if (Queue == 0)
abort(); abort();
char S[1024] = ""; ostringstream s;
char *End = S;
End += snprintf(S,sizeof(S),"201 URI Done\nURI: %s\n",Queue->Uri.c_str());
s << "201 URI Done\nURI: " << Queue->Uri << "\n";
if (Res.Filename.empty() == false) if (Res.Filename.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Filename: %s\n",Res.Filename.c_str()); s << "Filename: " << Res.Filename << "\n";
if (Res.Size != 0) if (Res.Size != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Size: %lu\n",Res.Size); s << "Size: " << Res.Size << "\n";
if (Res.LastModified != 0) if (Res.LastModified != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Last-Modified: %s\n", s << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n";
TimeRFC1123(Res.LastModified).c_str());
if (Res.MD5Sum.empty() == false) if (Res.MD5Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"MD5-Hash: %s\n",Res.MD5Sum.c_str()); s << "MD5-Hash: " << Res.MD5Sum << "\n";
if (Res.SHA1Sum.empty() == false) if (Res.SHA1Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"SHA1-Hash: %s\n",Res.SHA1Sum.c_str()); s << "SHA1-Hash: " << Res.SHA1Sum << "\n";
// CNC:2002-07-04 // CNC:2002-07-04
if (Res.SignatureFP.empty() == false) if (Res.SignatureFP.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Signature-Fingerprint: %s\n",Res.SignatureFP.c_str()); s << "Signature-Fingerprint: " << Res.SignatureFP << "\n";
if (Res.ResumePoint != 0) if (Res.ResumePoint != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Resume-Point: %lu\n", s << "Resume-Point: " << Res.ResumePoint << "\n";
Res.ResumePoint);
if (Res.IMSHit == true) if (Res.IMSHit == true)
strcat(End,"IMS-Hit: true\n"); s << "IMS-Hit: true\n";
End = S + strlen(S);
if (Alt != 0) if (Alt != 0)
{ {
if (Alt->Filename.empty() == false) if (Alt->Filename.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Filename: %s\n",Alt->Filename.c_str()); s << "Alt-Filename: " << Alt->Filename << "\n";
if (Alt->Size != 0) if (Alt->Size != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Size: %lu\n",Alt->Size); s << "Alt-Size: " << Alt->Size << "\n";
if (Alt->LastModified != 0) if (Alt->LastModified != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Last-Modified: %s\n", s << "Alt-Last-Modified: " << TimeRFC1123(Alt->LastModified) << "\n";
TimeRFC1123(Alt->LastModified).c_str());
if (Alt->MD5Sum.empty() == false) if (Alt->MD5Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-MD5-Hash: %s\n", s << "Alt-MD5-Hash: " << Alt->MD5Sum << "\n";
Alt->MD5Sum.c_str());
if (Alt->SHA1Sum.empty() == false) if (Alt->SHA1Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-SHA1-Hash: %s\n", s << "Alt-SHA1-Hash: " << Alt->SHA1Sum << "\n";
Alt->SHA1Sum.c_str());
if (Alt->IMSHit == true) if (Alt->IMSHit == true)
strcat(End,"Alt-IMS-Hit: true\n"); s << "Alt-IMS-Hit: true\n";
} }
strcat(End,"\n"); s << "\n";
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
exit(100); exit(100);
// Dequeue // Dequeue
@ -279,6 +276,66 @@ bool pkgAcqMethod::MediaFail(string Required,string Drive)
return !StringToBool(LookupTag(Message,"Fail"),false); return !StringToBool(LookupTag(Message,"Fail"),false);
} }
Messages.push_back(Message);
}
}
/*}}}*/
// AcqMethod::NeedAuth - Request authentication /*{{{*/
// ---------------------------------------------------------------------
/* This sends a 404 Authenticate message to the APT and waits for it
to be ackd */
bool pkgAcqMethod::NeedAuth(string Description,string &User,string &Pass)
{
char S[1024];
snprintf(S,sizeof(S),"404 Authenticate\nDescription: %s\n\n",
Description.c_str());
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
exit(100);
vector<string> MyMessages;
/* Here we read messages until we find a 604, each non 604 message is
appended to the main message list for later processing */
while (1)
{
if (WaitFd(STDIN_FILENO) == false)
return false;
if (ReadMessages(STDIN_FILENO,MyMessages) == false)
return false;
string Message = MyMessages.front();
MyMessages.erase(MyMessages.begin());
// Fetch the message number
char *End;
int Number = strtol(Message.c_str(),&End,10);
if (End == Message.c_str())
{
cerr << "Malformed message!" << endl;
exit(100);
}
// Change ack
if (Number == 604)
{
while (MyMessages.empty() == false)
{
Messages.push_back(MyMessages.front());
MyMessages.erase(MyMessages.begin());
}
if (StringToBool(LookupTag(Message,"Fail"),false) == false)
{
User = LookupTag(Message,"User");
Pass = LookupTag(Message,"Password");
return true;
}
else
return false;
}
Messages.push_back(Message); Messages.push_back(Message);
} }
} }
@ -390,6 +447,18 @@ int pkgAcqMethod::Run(bool Single)
break; break;
} }
// CNC:2004-04-27
case 679:
{
char S[1024];
snprintf(S,sizeof(S),"179 Preferred URI\nPreferredURI: %s\n\n",
PreferredURI().c_str());
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
exit(100);
break;
}
} }
} }
@ -433,18 +502,51 @@ void pkgAcqMethod::Status(const char *Format,...)
va_list args; va_list args;
va_start(args,Format); va_start(args,Format);
// sprintf the description ostringstream s;
char S[1024]; s << "102 Status\nURI: " << CurrentURI << "\nMessage: ";
unsigned int Len = snprintf(S,sizeof(S)-4,"102 Status\nURI: %s\n"
"Message: ",CurrentURI.c_str());
vsnprintf(S+Len,sizeof(S)-4-Len,Format,args); // sprintf the description
strcat(S,"\n\n"); char Buf[1024];
vsnprintf(Buf,sizeof(Buf)-4,Format,args);
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S)) s << Buf << "\n\n";
string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
exit(100); exit(100);
} }
/*}}}*/ /*}}}*/
// AcqMethod::Redirect - Send a redirect message /*{{{*/
// ---------------------------------------------------------------------
/* This method sends the redirect message and also manipulates the queue
to keep the pipeline synchronized. */
void pkgAcqMethod::Redirect(const string &NewURI)
{
string CurrentURI = "<UNKNOWN>";
if (Queue != 0)
CurrentURI = Queue->Uri;
ostringstream s;
s << "103 Redirect\nURI: " << CurrentURI << "\nNew-URI: " << NewURI
<< "\n\n";
string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
exit(100);
// Change the URI for the request.
Queue->Uri = NewURI;
/* To keep the pipeline synchronized, move the current request to
the end of the queue, past the end of the current pipeline. */
FetchItem *I;
for (I = Queue; I->Next != 0; I = I->Next) ;
I->Next = Queue;
Queue = Queue->Next;
I->Next->Next = 0;
if (QueueBack == 0)
QueueBack = I->Next;
}
/*}}}*/
// AcqMethod::FetchResult::FetchResult - Constructor /*{{{*/ // AcqMethod::FetchResult::FetchResult - Constructor /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------

View File

@ -71,18 +71,23 @@ class pkgAcqMethod
void URIStart(FetchResult &Res); void URIStart(FetchResult &Res);
void URIDone(FetchResult &Res,FetchResult *Alt = 0); void URIDone(FetchResult &Res,FetchResult *Alt = 0);
bool MediaFail(string Required,string Drive); bool MediaFail(string Required,string Drive);
bool NeedAuth(string Description,string &User,string &Pass);
virtual void Exit() {}; virtual void Exit() {};
// CNC:2004-04-27
virtual string PreferredURI() { return ""; };
public: public:
enum CnfFlags {SingleInstance = (1<<0), enum CnfFlags {SingleInstance = (1<<0),
Pipeline = (1<<1), SendConfig = (1<<2), Pipeline = (1<<1), SendConfig = (1<<2),
LocalOnly = (1<<3), NeedsCleanup = (1<<4), LocalOnly = (1<<3), NeedsCleanup = (1<<4),
Removable = (1<<5)}; // CNC:2004-04-27
Removable = (1<<5), HasPreferredURI = (1<<6)};
void Log(const char *Format,...); void Log(const char *Format,...);
void Status(const char *Format,...); void Status(const char *Format,...);
void Redirect(const string &NewURI);
int Run(bool Single = false); int Run(bool Single = false);
inline void SetFailExtraMsg(string Msg) {FailExtra = Msg;}; inline void SetFailExtraMsg(string Msg) {FailExtra = Msg;};
@ -91,3 +96,5 @@ class pkgAcqMethod
}; };
#endif #endif
// vim:sts=3:sw=3

View File

@ -164,6 +164,20 @@ bool pkgAcquire::Worker::Start()
if (OwnerQ != 0) if (OwnerQ != 0)
SendConfiguration(); SendConfiguration();
// CNC:2004-04-27
if (Config->HasPreferredURI == true &&
Config->DonePreferredURI == false &&
Config->PreferredURI.empty() == true) {
SetNonBlock(InFd,false);
SetNonBlock(OutFd,false);
OutQueue += "679 Preferred URI\n\n";
Config->PreferredURI = "<none>";
if (OutFdReady() == true)
while (InFdReady() == true && Config->PreferredURI == "<none>");
SetNonBlock(InFd,true);
SetNonBlock(OutFd,true);
}
return true; return true;
} }
/*}}}*/ /*}}}*/
@ -221,6 +235,26 @@ bool pkgAcquire::Worker::RunMessages()
case 102: case 102:
Status = LookupTag(Message,"Message"); Status = LookupTag(Message,"Message");
break; break;
// CNC:2004-04-27
// 179 Preferred URI
case 179:
Config->PreferredURI = LookupTag(Message, "PreferredURI");
break;
// 103 Redirect
case 103:
{
if (Itm == 0)
{
_error->Error("Method gave invalid 103 Redirect message");
break;
}
string NewURI = LookupTag(Message,"New-URI",URI.c_str());
Itm->URI = NewURI;
break;
}
// 200 URI Start // 200 URI Start
case 200: case 200:
@ -324,6 +358,11 @@ bool pkgAcquire::Worker::RunMessages()
case 403: case 403:
MediaChange(Message); MediaChange(Message);
break; break;
// 404 Authenticate
case 404:
Authenticate(Message);
break;
} }
} }
return true; return true;
@ -345,6 +384,8 @@ bool pkgAcquire::Worker::Capabilities(string Message)
Config->LocalOnly = StringToBool(LookupTag(Message,"Local-Only"),false); Config->LocalOnly = StringToBool(LookupTag(Message,"Local-Only"),false);
Config->NeedsCleanup = StringToBool(LookupTag(Message,"Needs-Cleanup"),false); Config->NeedsCleanup = StringToBool(LookupTag(Message,"Needs-Cleanup"),false);
Config->Removable = StringToBool(LookupTag(Message,"Removable"),false); Config->Removable = StringToBool(LookupTag(Message,"Removable"),false);
// CNC:2004-04-27
Config->HasPreferredURI = StringToBool(LookupTag(Message,"Has-Preferred-URI"),false);
// Some debug text // Some debug text
if (Debug == true) if (Debug == true)
@ -356,7 +397,9 @@ bool pkgAcquire::Worker::Capabilities(string Message)
" SendConfig:" << Config->SendConfig << " SendConfig:" << Config->SendConfig <<
" LocalOnly: " << Config->LocalOnly << " LocalOnly: " << Config->LocalOnly <<
" NeedsCleanup: " << Config->NeedsCleanup << " NeedsCleanup: " << Config->NeedsCleanup <<
" Removable: " << Config->Removable << endl; // CNC:2004-04-27
" Removable: " << Config->Removable <<
" HasPreferredURI: " << Config->HasPreferredURI << endl;
} }
return true; return true;
@ -388,6 +431,34 @@ bool pkgAcquire::Worker::MediaChange(string Message)
return true; return true;
} }
/*}}}*/ /*}}}*/
// Worker::Authenticate - Request authentication /*{{{*/
// ---------------------------------------------------------------------
/* */
bool pkgAcquire::Worker::Authenticate(string Message)
{
string User, Pass;
if (Log == 0 || Log->Authenticate(LookupTag(Message,"Description"),
User,Pass) == false)
{
char S[300];
snprintf(S,sizeof(S),"604 Authenticated\nFailed: true\n\n");
if (Debug == true)
clog << " -> " << Access << ':' << QuoteString(S,"\n") << endl;
OutQueue += S;
OutReady = true;
return true;
}
char S[300];
snprintf(S,sizeof(S),"604 Authenticated\nUser: %s\nPassword: %s\n\n",
User.c_str(), Pass.c_str());
if (Debug == true)
clog << " -> " << Access << ':' << QuoteString(S,"\n") << endl;
OutQueue += S;
OutReady = true;
return true;
}
/*}}}*/
// Worker::SendConfiguration - Send the config to the method /*{{{*/ // Worker::SendConfiguration - Send the config to the method /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
/* */ /* */
@ -546,3 +617,5 @@ void pkgAcquire::Worker::ItemDone()
Status = string(); Status = string();
} }
/*}}}*/ /*}}}*/
// vim:sts=3:sw=3

View File

@ -62,6 +62,7 @@ class pkgAcquire::Worker
bool Capabilities(string Message); bool Capabilities(string Message);
bool SendConfiguration(); bool SendConfiguration();
bool MediaChange(string Message); bool MediaChange(string Message);
bool Authenticate(string Message);
bool MethodFailure(); bool MethodFailure();
void ItemDone(); void ItemDone();
@ -87,3 +88,5 @@ class pkgAcquire::Worker
}; };
#endif #endif
// vim:sts=3:sw=3

View File

@ -506,6 +506,9 @@ pkgAcquire::MethodConfig::MethodConfig()
LocalOnly = false; LocalOnly = false;
Removable = false; Removable = false;
Next = 0; Next = 0;
// CNC:2004-04-27
HasPreferredURI = false;
DonePreferredURI = false;
} }
/*}}}*/ /*}}}*/
@ -684,16 +687,37 @@ bool pkgAcquire::Queue::Cycle()
return _error->Error("Pipedepth failure"); return _error->Error("Pipedepth failure");
// Look for a queable item // Look for a queable item
// CNC:2004-04-27
bool Preferred = (Workers->Config->HasPreferredURI == true &&
Workers->Config->DonePreferredURI == false &&
Workers->Config->PreferredURI.empty() == false);
QItem *I = Items; QItem *I = Items;
while (PipeDepth < (signed)MaxPipeDepth) while (PipeDepth < (signed)MaxPipeDepth)
{ {
for (; I != 0; I = I->Next) // CNC:2004-04-27
if (I->Owner->Status == pkgAcquire::Item::StatIdle) if (Preferred) {
break; for (; I != 0; I = I->Next)
if (I->Owner->Status == pkgAcquire::Item::StatIdle &&
strncmp(I->URI.c_str(), Workers->Config->PreferredURI.c_str(),
Workers->Config->PreferredURI.length()) == 0)
break;
} else {
for (; I != 0; I = I->Next)
if (I->Owner->Status == pkgAcquire::Item::StatIdle)
break;
}
// Nothing to do, queue is idle. // Nothing to do, queue is idle.
if (I == 0) if (I == 0) {
// CNC:2004-04-27
if (Preferred == true) {
Preferred = false;
Workers->Config->DonePreferredURI = true;
I = Items;
continue;
}
return true; return true;
}
I->Worker = Workers; I->Worker = Workers;
I->Owner->Status = pkgAcquire::Item::StatFetching; I->Owner->Status = pkgAcquire::Item::StatFetching;
@ -847,4 +871,17 @@ void pkgAcquireStatus::Fetched(unsigned long Size,unsigned long Resume)
{ {
FetchedBytes += Size - Resume; FetchedBytes += Size - Resume;
} }
/*}}}*/ /*}}}*/
// AcquireStatus::Authenticate - Called to authenticate /*{{{*/
// ---------------------------------------------------------------------
/* This is used to fetch a username and password from the user */
bool pkgAcquireStatus::Authenticate(string Desc,string &User,string &Pass)
{
/* The default behavior for all clients is to refuse to authenticate
interactively; this preserves backwards compatibility. */
return false;
}
/*}}}*/
// vim:sts=3:sw=3

View File

@ -240,6 +240,10 @@ struct pkgAcquire::MethodConfig
bool LocalOnly; bool LocalOnly;
bool NeedsCleanup; bool NeedsCleanup;
bool Removable; bool Removable;
// CNC:2004-04-27
bool HasPreferredURI;
bool DonePreferredURI;
string PreferredURI;
MethodConfig(); MethodConfig();
}; };
@ -269,6 +273,9 @@ class pkgAcquireStatus
// Called to change media // Called to change media
virtual bool MediaChange(string Media,string Drive) = 0; virtual bool MediaChange(string Media,string Drive) = 0;
// Called to authenticate
virtual bool Authenticate(string Desc,string &User,string &Pass);
// Each of these is called by the workers when an event occures // Each of these is called by the workers when an event occures
virtual void IMSHit(pkgAcquire::ItemDesc &/*Itm*/) {}; virtual void IMSHit(pkgAcquire::ItemDesc &/*Itm*/) {};
@ -284,3 +291,5 @@ class pkgAcquireStatus
}; };
#endif #endif
// vim:sts=3:sw=3

View File

@ -82,8 +82,11 @@ bool pkgArchiveCleaner::Go(string Dir,pkgCache &Cache)
continue; continue;
string Arch = DeQuoteString(string(Start,I-Start)); string Arch = DeQuoteString(string(Start,I-Start));
// CNC:2004-04-19
#if 0
if (Arch != "all" && Arch != MyArch) if (Arch != "all" && Arch != MyArch)
continue; continue;
#endif
// Lookup the package // Lookup the package
pkgCache::PkgIterator P = Cache.FindPkg(Pkg); pkgCache::PkgIterator P = Cache.FindPkg(Pkg);

View File

@ -247,6 +247,7 @@ void GlobalError::PushState()
State *New = new State; State *New = new State;
New->List = List; New->List = List;
New->Next = Stack; New->Next = Stack;
New->PendingFlag = PendingFlag;
Stack = New; Stack = New;
List = 0; List = 0;
PendingFlag = false; PendingFlag = false;

View File

@ -158,6 +158,11 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
return _error->Error(_("Unable to determine a suitable system type")); return _error->Error(_("Unable to determine a suitable system type"));
} }
// PM:2006-02-06
if (Cnf.Find("APT::DistroVersion", "").empty()) {
Cnf.Set("APT::DistroVersion", Sys->DistroVer(Cnf));
}
// CNC:2003-03-15 // CNC:2003-03-15
bool Ret = Sys->Initialize(Cnf); bool Ret = Sys->Initialize(Cnf);
#ifdef WITH_LUA #ifdef WITH_LUA

View File

@ -76,7 +76,7 @@ static int AptLua_pkgcomp(lua_State *L);
Lua::Lua() Lua::Lua()
: DepCache(0), Cache(0), CacheControl(0), Fix(0), DontFix(0) : DepCache(0), Cache(0), CacheControl(0), Fix(0), DontFix(0)
{ {
_config->CndSet("Dir::Bin::scripts", "/usr/lib/apt/scripts"); _config->CndSet("Dir::Bin::scripts", "/usr/share/apt/scripts");
const luaL_reg lualibs[] = { const luaL_reg lualibs[] = {
{"base", luaopen_base}, {"base", luaopen_base},
@ -693,9 +693,10 @@ inline int AptAux_PushBool(lua_State *L, bool Value)
return 0; return 0;
} }
#define MARK_KEEP 0 #define MARK_KEEP 0
#define MARK_INSTALL 1 #define MARK_INSTALL 1
#define MARK_REMOVE 2 #define MARK_REINSTALL 2
#define MARK_REMOVE 3
static int AptAux_mark(lua_State *L, int Kind) static int AptAux_mark(lua_State *L, int Kind)
{ {
@ -718,6 +719,9 @@ static int AptAux_mark(lua_State *L, int Kind)
case MARK_INSTALL: case MARK_INSTALL:
DepCache->MarkInstall(PkgI); DepCache->MarkInstall(PkgI);
break; break;
case MARK_REINSTALL:
DepCache->SetReInstall(PkgI, true);
break;
case MARK_REMOVE: case MARK_REMOVE:
Fix->Remove(PkgI); Fix->Remove(PkgI);
DepCache->MarkDelete(PkgI); DepCache->MarkDelete(PkgI);
@ -736,6 +740,32 @@ static int AptAux_mark(lua_State *L, int Kind)
return 0; return 0;
} }
static int AptAux_marksimple(lua_State *L, int Kind)
{
pkgCache::Package *Pkg = AptAux_ToPackage(L, 1);
if (Pkg != NULL) {
pkgDepCache *DepCache = _lua->GetDepCache(L);
if (DepCache == NULL)
return 0;
pkgCache::PkgIterator PkgI(DepCache->GetCache(), Pkg);
pkgDepCache::State state(DepCache);
switch (Kind) {
case MARK_KEEP:
DepCache->MarkKeep(PkgI);
break;
case MARK_INSTALL:
DepCache->MarkInstall(PkgI, false);
break;
case MARK_REMOVE:
DepCache->MarkDelete(PkgI);
break;
}
if (DepCache->BrokenCount() > 0)
state.Restore();
}
return 0;
}
static int AptLua_confget(lua_State *L) static int AptLua_confget(lua_State *L)
{ {
const char *key = luaL_checkstring(L, 1); const char *key = luaL_checkstring(L, 1);
@ -768,7 +798,11 @@ static int AptLua_confset(lua_State *L)
{ {
const char *key = luaL_checkstring(L, 1); const char *key = luaL_checkstring(L, 1);
const char *val = luaL_checkstring(L, 2); const char *val = luaL_checkstring(L, 2);
const int cnd = luaL_optint(L, 3, 0); int cnd = 0;
if (lua_gettop(L) >= 3 && lua_isboolean(L, 3))
cnd = lua_toboolean(L, 3);
else
cnd = luaL_optint(L, 3, 0);
if (key != NULL && val != NULL) { if (key != NULL && val != NULL) {
if (cnd != 0) if (cnd != 0)
_config->CndSet(key, val); _config->CndSet(key, val);
@ -999,6 +1033,9 @@ static int AptLua_verprovlist(lua_State *L)
int i = 1; int i = 1;
for (; PrvI.end() == false; PrvI++) { for (; PrvI.end() == false; PrvI++) {
lua_newtable(L); lua_newtable(L);
lua_pushstring(L, "pkg");
pushudata(pkgCache::Package*, PrvI.ParentPkg());
lua_settable(L, -3);
lua_pushstring(L, "name"); lua_pushstring(L, "name");
lua_pushstring(L, PrvI.Name()); lua_pushstring(L, PrvI.Name());
lua_settable(L, -3); lua_settable(L, -3);
@ -1113,11 +1150,32 @@ static int AptLua_markinstall(lua_State *L)
return AptAux_mark(L, MARK_INSTALL); return AptAux_mark(L, MARK_INSTALL);
} }
static int AptLua_markreinstall(lua_State *L)
{
_config->Set("Apt::Get::ReInstall", true);
return AptAux_mark(L, MARK_REINSTALL);
}
static int AptLua_markremove(lua_State *L) static int AptLua_markremove(lua_State *L)
{ {
return AptAux_mark(L, MARK_REMOVE); return AptAux_mark(L, MARK_REMOVE);
} }
static int AptLua_marksimplekeep(lua_State *L)
{
return AptAux_marksimple(L, MARK_KEEP);
}
static int AptLua_marksimpleinstall(lua_State *L)
{
return AptAux_marksimple(L, MARK_INSTALL);
}
static int AptLua_marksimpleremove(lua_State *L)
{
return AptAux_marksimple(L, MARK_REMOVE);
}
static int AptLua_markdistupgrade(lua_State *L) static int AptLua_markdistupgrade(lua_State *L)
{ {
if (lua_gettop(L) != 0) { if (lua_gettop(L) != 0) {
@ -1152,7 +1210,9 @@ static int AptLua_statkeep(lua_State *L)
SPtr<pkgCache::PkgIterator> PkgI = AptAux_ToPkgIterator(L, 1); SPtr<pkgCache::PkgIterator> PkgI = AptAux_ToPkgIterator(L, 1);
if (PkgI == NULL) if (PkgI == NULL)
return 0; return 0;
return AptAux_PushBool(L, (*DepCache)[*PkgI].Keep()); return AptAux_PushBool(L,
(*DepCache)[*PkgI].Keep() &&
!((*DepCache)[*PkgI].iFlags & pkgDepCache::ReInstall));
} }
static int AptLua_statinstall(lua_State *L) static int AptLua_statinstall(lua_State *L)
@ -1188,6 +1248,19 @@ static int AptLua_statnewinstall(lua_State *L)
return AptAux_PushBool(L, (*DepCache)[*PkgI].NewInstall()); return AptAux_PushBool(L, (*DepCache)[*PkgI].NewInstall());
} }
static int AptLua_statreinstall(lua_State *L)
{
pkgDepCache *DepCache = _lua->GetDepCache(L);
if (DepCache == NULL)
return 0;
SPtr<pkgCache::PkgIterator> PkgI = AptAux_ToPkgIterator(L, 1);
if (PkgI == NULL)
return 0;
return AptAux_PushBool(L,
(*DepCache)[*PkgI].Keep() &&
((*DepCache)[*PkgI].iFlags & pkgDepCache::ReInstall));
}
static int AptLua_statupgrade(lua_State *L) static int AptLua_statupgrade(lua_State *L)
{ {
pkgDepCache *DepCache = _lua->GetDepCache(L); pkgDepCache *DepCache = _lua->GetDepCache(L);
@ -1270,6 +1343,12 @@ static int AptLua_statstr(lua_State *L)
} else { } else {
lua_pushstring(L, "downgrade"); lua_pushstring(L, "downgrade");
} }
} else if (S.Keep() && (S.iFlags & pkgDepCache::ReInstall)) {
if (S.NowBroken()) {
lua_pushstring(L, "reinstall(broken)");
} else {
lua_pushstring(L, "reinstall");
}
} else if (S.Keep()) { } else if (S.Keep()) {
if (S.NowBroken()) { if (S.NowBroken()) {
lua_pushstring(L, "keep(broken)"); lua_pushstring(L, "keep(broken)");
@ -1346,13 +1425,18 @@ static const luaL_reg aptlib[] = {
{"verstrcmp", AptLua_verstrcmp}, {"verstrcmp", AptLua_verstrcmp},
{"markkeep", AptLua_markkeep}, {"markkeep", AptLua_markkeep},
{"markinstall", AptLua_markinstall}, {"markinstall", AptLua_markinstall},
{"markreinstall", AptLua_markreinstall},
{"markremove", AptLua_markremove}, {"markremove", AptLua_markremove},
{"marksimplekeep", AptLua_marksimpleinstall},
{"marksimpleinstall",AptLua_marksimpleinstall},
{"marksimpleremove", AptLua_marksimpleinstall},
{"markdistupgrade", AptLua_markdistupgrade}, {"markdistupgrade", AptLua_markdistupgrade},
{"markupgrade", AptLua_markupgrade}, {"markupgrade", AptLua_markupgrade},
{"statkeep", AptLua_statkeep}, {"statkeep", AptLua_statkeep},
{"statinstall", AptLua_statinstall}, {"statinstall", AptLua_statinstall},
{"statremove", AptLua_statremove}, {"statremove", AptLua_statremove},
{"statnewinstall", AptLua_statnewinstall}, {"statnewinstall", AptLua_statnewinstall},
{"statreinstall", AptLua_statreinstall},
{"statupgrade", AptLua_statupgrade}, {"statupgrade", AptLua_statupgrade},
{"statupgradable", AptLua_statupgradable}, {"statupgradable", AptLua_statupgradable},
{"statdowngrade", AptLua_statdowngrade}, {"statdowngrade", AptLua_statdowngrade},

View File

@ -609,8 +609,14 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
clog << "Sequence completed at " << Pkg.Name() << endl; clog << "Sequence completed at " << Pkg.Name() << endl;
if (DoneSomething == false) if (DoneSomething == false)
{ {
// CNC:2004-04-27 - This has changed due to PreferredURI.
#if 0
_error->Error("Internal Error, ordering was unable to handle the media swap"); _error->Error("Internal Error, ordering was unable to handle the media swap");
return Failed; return Failed;
#else
if (Debug == true)
clog << "Haven't done anything in OrderInstall()" << endl;
#endif
} }
return Incomplete; return Incomplete;
} }

View File

@ -97,6 +97,9 @@ class pkgSystem
/* Evauluate how 'right' we are for this system based on the filesystem /* Evauluate how 'right' we are for this system based on the filesystem
etc.. */ etc.. */
virtual signed Score(Configuration const &/*Cnf*/) {return 0;}; virtual signed Score(Configuration const &/*Cnf*/) {return 0;};
// PM:2006-02-06 Distro version from package system
virtual string DistroVer(Configuration const &/*Cnf*/) {return "";};
// CNC:2002-07-03 // CNC:2002-07-03
// Do environment specific pre-processing over the Index Files // Do environment specific pre-processing over the Index Files

View File

@ -119,8 +119,9 @@ bool pkgPolicy::InitDefaults()
pkgCache::VerIterator pkgPolicy::GetCandidateVer(pkgCache::PkgIterator Pkg) pkgCache::VerIterator pkgPolicy::GetCandidateVer(pkgCache::PkgIterator Pkg)
{ {
// Look for a package pin and evaluate it. // Look for a package pin and evaluate it.
signed Max = GetPriority(Pkg); // CNC:2004-05-29
pkgCache::VerIterator Pref = GetMatch(Pkg); pkgCache::VerIterator Pref = GetMatch(Pkg);
signed Max = GetPriority(Pkg);
/* Falling through to the default version.. Setting Max to zero /* Falling through to the default version.. Setting Max to zero
effectively excludes everything <= 0 which are the non-automatic effectively excludes everything <= 0 which are the non-automatic
@ -219,8 +220,21 @@ pkgCache::VerIterator pkgPolicy::GetMatch(pkgCache::PkgIterator Pkg)
const Pin &PPkg = Pins[Pkg->ID]; const Pin &PPkg = Pins[Pkg->ID];
if (PPkg.Type != pkgVersionMatch::None) if (PPkg.Type != pkgVersionMatch::None)
{ {
pkgVersionMatch Match(PPkg.Data,PPkg.Type); // CNC:2004-05-29 - Make negative pins on individual packages
return Match.Find(Pkg); // behave like package<>version.
pkgCache::VerIterator Ver;
pkgVersionMatch *Match;
if (PPkg.Type == pkgVersionMatch::Version && PPkg.Priority < 0)
{
Match = new pkgVersionMatch(PPkg.Data,PPkg.Type, pkgCache::Dep::NotEquals);
Pins[Pkg->ID].Priority = 0;
}
else
Match = new pkgVersionMatch(PPkg.Data,PPkg.Type);
Ver = Match->Find(Pkg);
delete Match;
return Ver;
} }
return pkgCache::VerIterator(*Pkg.Cache()); return pkgCache::VerIterator(*Pkg.Cache());
} }

View File

@ -33,7 +33,7 @@ class pkgRepository
string URI; string URI;
string Dist; string Dist;
const pkgSourceList::Vendor *Vendor; string FingerPrint;
string RootURI; string RootURI;
bool Acquire; bool Acquire;
@ -41,14 +41,16 @@ class pkgRepository
bool ParseRelease(string File); bool ParseRelease(string File);
bool HasRelease() const { return GotRelease; } bool HasRelease() const { return GotRelease; }
bool IsAuthenticated() const { return Vendor != NULL; }; bool IsAuthenticated() const { return !FingerPrint.empty(); };
bool FindChecksums(string URI,unsigned long &Size, string &MD5); bool FindChecksums(string URI,unsigned long &Size, string &MD5);
pkgRepository(string URI,string Dist, const pkgSourceList::Vendor *Vendor, pkgRepository(string URI,string Dist, const pkgSourceList::Vendor *Vendor,
string RootURI) string RootURI)
: GotRelease(0), URI(URI), Dist(Dist), Vendor(Vendor), RootURI(RootURI), : GotRelease(0), URI(URI), Dist(Dist), RootURI(RootURI),
Acquire(1) Acquire(1)
{}; {
if (Vendor) FingerPrint = Vendor->FingerPrint;
};
}; };

View File

@ -210,6 +210,9 @@ RPMDirHandler::RPMDirHandler(string DirName)
: sDirName(DirName) : sDirName(DirName)
{ {
ID = DirName; ID = DirName;
#if RPM_VERSION >= 0x040100
TS = NULL;
#endif
Dir = opendir(sDirName.c_str()); Dir = opendir(sDirName.c_str());
if (Dir == NULL) if (Dir == NULL)
return; return;
@ -253,7 +256,8 @@ RPMDirHandler::~RPMDirHandler()
if (HeaderP != NULL) if (HeaderP != NULL)
headerFree(HeaderP); headerFree(HeaderP);
#if RPM_VERSION >= 0x040100 #if RPM_VERSION >= 0x040100
rpmtsFree(TS); if (TS != NULL)
rpmtsFree(TS);
#endif #endif
if (Dir != NULL) if (Dir != NULL)
closedir(Dir); closedir(Dir);
@ -367,7 +371,7 @@ RPMDBHandler::RPMDBHandler(bool WriteLock)
Handler = rpmtsCreate(); Handler = rpmtsCreate();
rpmtsSetVSFlags(Handler, (rpmVSFlags_e)-1); rpmtsSetVSFlags(Handler, (rpmVSFlags_e)-1);
rpmtsSetRootDir(Handler, Dir.c_str()); rpmtsSetRootDir(Handler, Dir.c_str());
if (rpmtsOpenDB(Handler, WriteLock?O_RDWR:O_RDONLY) != 0) if (rpmtsOpenDB(Handler, O_RDONLY) != 0)
{ {
_error->Error(_("could not open RPM database")); _error->Error(_("could not open RPM database"));
return; return;
@ -376,7 +380,7 @@ RPMDBHandler::RPMDBHandler(bool WriteLock)
const char *RootDir = NULL; const char *RootDir = NULL;
if (!Dir.empty()) if (!Dir.empty())
RootDir = Dir.c_str(); RootDir = Dir.c_str();
if (rpmdbOpen(RootDir, &Handler, WriteLock?O_RDWR:O_RDONLY, 0644) != 0) if (rpmdbOpen(RootDir, &Handler, O_RDONLY, 0644) != 0)
{ {
_error->Error(_("could not open RPM database")); _error->Error(_("could not open RPM database"));
return; return;
@ -401,8 +405,10 @@ RPMDBHandler::RPMDBHandler(bool WriteLock)
rpmdbFreeIterator(countIt); rpmdbFreeIterator(countIt);
#else #else
iSize = St.st_size; iSize = St.st_size;
#endif #endif
// Restore just after opening the database, and just after closing. // Restore just after opening the database, and just after closing.
if (WriteLock) { if (WriteLock) {
struct utimbuf Ut; struct utimbuf Ut;

View File

@ -644,10 +644,8 @@ class rpmSLTypeGen : public pkgSourceList::Type
{ {
if ((*iter)->URI == URI && (*iter)->Dist == Dist) if ((*iter)->URI == URI && (*iter)->Dist == Dist)
{ {
// The registered object has no vendor, but the new one does if (Vendor != NULL)
// so, we make the previous one have the vendor too. (*iter)->FingerPrint = Vendor->FingerPrint;
if ((*iter)->Vendor == NULL && Vendor != NULL)
(*iter)->Vendor = Vendor;
return *iter; return *iter;
} }
} }

View File

@ -35,6 +35,8 @@
#define WITH_VERSION_CACHING 1 #define WITH_VERSION_CACHING 1
string MultilibArchs[] = {"x86_64", "ia64", "ppc64", "sparc64"};
// ListParser::rpmListParser - Constructor /*{{{*/ // ListParser::rpmListParser - Constructor /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
/* */ /* */
@ -44,13 +46,17 @@ rpmListParser::rpmListParser(RPMHandler *Handler)
Handler->Rewind(); Handler->Rewind();
header = NULL; header = NULL;
if (Handler->IsDatabase() == true) if (Handler->IsDatabase() == true)
{
#ifdef WITH_HASH_MAP #ifdef WITH_HASH_MAP
SeenPackages = new SeenPackagesType(517); SeenPackages = new SeenPackagesType(517);
#else #else
SeenPackages = new SeenPackagesType; SeenPackages = new SeenPackagesType;
#endif #endif
}
else else
{
SeenPackages = NULL; SeenPackages = NULL;
}
RpmData = RPMPackageData::Singleton(); RpmData = RPMPackageData::Singleton();
} }
/*}}}*/ /*}}}*/
@ -85,6 +91,7 @@ unsigned long rpmListParser::UniqFindTagWrite(int Tag)
return WriteUniqString(Start,Stop - Start); return WriteUniqString(Start,Stop - Start);
} }
/*}}}*/ /*}}}*/
// ListParser::Package - Return the package name /*{{{*/ // ListParser::Package - Return the package name /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
@ -114,6 +121,12 @@ string rpmListParser::Package()
bool IsDup = false; bool IsDup = false;
string Name = str; string Name = str;
if (RpmData->IsMultilibSys() && RpmData->IsCompatArch(Architecture())) {
Name += ".32bit";
CurrentName = Name;
}
// If this package can have multiple versions installed at // If this package can have multiple versions installed at
// the same time, then we make it so that the name of the // the same time, then we make it so that the name of the
@ -153,6 +166,7 @@ string rpmListParser::Package()
CurrentName = Name; CurrentName = Name;
return Name; return Name;
} }
/*}}}*/ /*}}}*/
// ListParser::Arch - Return the architecture string /*{{{*/ // ListParser::Arch - Return the architecture string /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
@ -390,13 +404,39 @@ bool rpmListParser::ParseDepends(pkgCache::VerIterator Ver,
if (DepMode == true) { if (DepMode == true) {
if (flagl[i] & RPMSENSE_PREREQ) if (flagl[i] & RPMSENSE_PREREQ)
Type = pkgCache::Dep::PreDepends; Type = pkgCache::Dep::PreDepends;
#if RPM_VERSION >= 0x040403
else if (flagl[i] & RPMSENSE_MISSINGOK)
Type = pkgCache::Dep::Suggests;
#endif
else else
Type = pkgCache::Dep::Depends; Type = pkgCache::Dep::Depends;
} }
if (namel[i][0] == 'r' && strncmp(namel[i], "rpmlib", 6) == 0) #if RPM_VERSION >= 0x040404
if (namel[i][0] == 'g' && strncmp(namel[i], "getconf", 7) == 0)
{ {
#if RPM_VERSION >= 0x040100 rpmds getconfProv = NULL;
rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME,
namel[i], verl?verl[i]:NULL, flagl[i]);
rpmdsGetconf(&getconfProv, NULL);
int res = rpmdsSearch(getconfProv, ds) >= 0;
rpmdsFree(ds);
rpmdsFree(getconfProv);
if (res) continue;
}
#endif
if (namel[i][0] == 'r' && strncmp(namel[i], "rpmlib", 6) == 0)
{
#if RPM_VERSION >= 0x040404
rpmds rpmlibProv = NULL;
rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME,
namel[i], verl?verl[i]:NULL, flagl[i]);
rpmdsRpmlib(&rpmlibProv, NULL);
int res = rpmdsSearch(rpmlibProv, ds) >= 0;
rpmdsFree(ds);
rpmdsFree(rpmlibProv);
#elif RPM_VERSION >= 0x040100
rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME,
namel[i], verl?verl[i]:NULL, flagl[i]); namel[i], verl?verl[i]:NULL, flagl[i]);
int res = rpmCheckRpmlibProvides(ds); int res = rpmCheckRpmlibProvides(ds);
@ -494,6 +534,30 @@ bool rpmListParser::ParseDepends(pkgCache::VerIterator Ver,
res = headerGetEntry(header, RPMTAG_CONFLICTFLAGS, &type, res = headerGetEntry(header, RPMTAG_CONFLICTFLAGS, &type,
(void **)&flagl, &count); (void **)&flagl, &count);
break; break;
#if RPM_VERSION >= 0x040403
case pkgCache::Dep::Suggests:
res = headerGetEntry(header, RPMTAG_SUGGESTSNAME, &type,
(void **)&namel, &count);
if (res != 1)
return true;
res = headerGetEntry(header, RPMTAG_SUGGESTSVERSION, &type,
(void **)&verl, &count);
res = headerGetEntry(header, RPMTAG_SUGGESTSFLAGS, &type,
(void **)&flagl, &count);
break;
#if 0 // Enhances is not even known to apt, sigh...
case pkgCache::Dep::Enhances:
res = headerGetEntry(header, RPMTAG_ENHANCESNAME, &type,
(void **)&namel, &count);
if (res != 1)
return true;
res = headerGetEntry(header, RPMTAG_ENHANCESVERSION, &type,
(void **)&verl, &count);
res = headerGetEntry(header, RPMTAG_ENHANCESFLAGS, &type,
(void **)&flagl, &count);
break;
#endif
#endif
} }
ParseDepends(Ver, namel, verl, flagl, count, Type); ParseDepends(Ver, namel, verl, flagl, count, Type);
@ -624,6 +688,7 @@ bool rpmListParser::Step()
#endif #endif
string RealName = Package(); string RealName = Package();
if (Duplicated == true) if (Duplicated == true)
RealName = RealName.substr(0,RealName.find('#')); RealName = RealName.substr(0,RealName.find('#'));
if (RpmData->IgnorePackage(RealName) == true) if (RpmData->IgnorePackage(RealName) == true)

View File

@ -42,7 +42,7 @@ class rpmListParser : public pkgCacheGenerator::ListParser
typedef map<const char*,bool,cstr_lt_pred> SeenPackagesType; typedef map<const char*,bool,cstr_lt_pred> SeenPackagesType;
#endif #endif
SeenPackagesType *SeenPackages; SeenPackagesType *SeenPackages;
bool Duplicated; bool Duplicated;
unsigned long UniqFindTagWrite(int Tag); unsigned long UniqFindTagWrite(int Tag);
@ -84,6 +84,7 @@ class rpmListParser : public pkgCacheGenerator::ListParser
bool LoadReleaseInfo(pkgCache::PkgFileIterator FileI,FileFd &File); bool LoadReleaseInfo(pkgCache::PkgFileIterator FileI,FileFd &File);
void VirtualizePackage(string Name); void VirtualizePackage(string Name);
void CompatArchPackage(string Name);
rpmListParser(RPMHandler *Handler); rpmListParser(RPMHandler *Handler);
~rpmListParser(); ~rpmListParser();

View File

@ -20,6 +20,24 @@ RPMPackageData::RPMPackageData()
, ArchScores(31), VerMap(517) , ArchScores(31), VerMap(517)
#endif #endif
{ {
BaseArch = _config->Find("APT::Architecture");
if (BaseArch == "x86_64" || BaseArch == "ia64" ||
BaseArch == "ppc64" || BaseArch == "sparc64")
MultilibSys = true;
else
MultilibSys = false;
if (MultilibSys) {
CompatArch["x86_64"].push_back("i386");
CompatArch["x86_64"].push_back("i486");
CompatArch["x86_64"].push_back("i586");
CompatArch["x86_64"].push_back("i686");
CompatArch["x86_64"].push_back("athlon");
CompatArch["ia64"] = CompatArch["x86_64"];
CompatArch["ppc64"].push_back("ppc");
CompatArch["sparc64"].push_back("sparc");
}
// Populate priorities // Populate priorities
string FileName = _config->FindFile("Dir::Etc::rpmpriorities"); string FileName = _config->FindFile("Dir::Etc::rpmpriorities");
FileFd F(FileName, FileFd::ReadOnly); FileFd F(FileName, FileFd::ReadOnly);
@ -276,6 +294,18 @@ int RPMPackageData::RpmArchScore(const char *Arch)
return 0; return 0;
} }
bool RPMPackageData::IsCompatArch(string Arch)
{
bool compat = false;
for (vector<string>::iterator I = CompatArch[BaseArch].begin();
I != CompatArch[BaseArch].end(); I++) {
if (Arch == *I)
return true;
}
return false;
}
bool RPMPackageData::IsDupPackage(const string &Name) bool RPMPackageData::IsDupPackage(const string &Name)
{ {
if (DuplicatedPackages.find(Name) != DuplicatedPackages.end()) if (DuplicatedPackages.find(Name) != DuplicatedPackages.end())

View File

@ -27,6 +27,7 @@ class RPMPackageData
hash_map<string,vector<string>*,hash_string> FakeProvides; hash_map<string,vector<string>*,hash_string> FakeProvides;
hash_map<string,int,hash_string> IgnorePackages; hash_map<string,int,hash_string> IgnorePackages;
hash_map<string,int,hash_string> DuplicatedPackages; hash_map<string,int,hash_string> DuplicatedPackages;
hash_map<string,vector<string>,hash_string> CompatArch;
typedef map<string,pkgCache::VerIterator> VerMapValueType; typedef map<string,pkgCache::VerIterator> VerMapValueType;
typedef hash_map<unsigned long,VerMapValueType> VerMapType; typedef hash_map<unsigned long,VerMapValueType> VerMapType;
typedef hash_map<const char*,int, typedef hash_map<const char*,int,
@ -37,6 +38,7 @@ class RPMPackageData
map<string,vector<string>*> FakeProvides; map<string,vector<string>*> FakeProvides;
map<string,int> IgnorePackages; map<string,int> IgnorePackages;
map<string,int> DuplicatedPackages; map<string,int> DuplicatedPackages;
map<string,vector<string> > CompatArch;
typedef map<string,pkgCache::VerIterator> VerMapValueType; typedef map<string,pkgCache::VerIterator> VerMapValueType;
typedef map<unsigned long,VerMapValueType> VerMapType; typedef map<unsigned long,VerMapValueType> VerMapType;
typedef map<const char*,int,cstr_lt_pred> ArchScoresType; typedef map<const char*,int,cstr_lt_pred> ArchScoresType;
@ -64,6 +66,9 @@ class RPMPackageData
ArchScoresType ArchScores; ArchScoresType ArchScores;
int RpmArchScore(const char *Arch); int RpmArchScore(const char *Arch);
string BaseArch;
bool MultilibSys;
public: public:
inline pkgCache::State::VerPriority VerPriority(const string &Package) inline pkgCache::State::VerPriority VerPriority(const string &Package)
@ -107,6 +112,9 @@ class RPMPackageData
} }
void InitMinArchScore(); void InitMinArchScore();
bool IsCompatArch(string Arch);
bool IsMultilibSys() { return MultilibSys; };
void SetDupPackage(const string &Name) void SetDupPackage(const string &Name)
{DuplicatedPackages[Name] = 1;}; {DuplicatedPackages[Name] = 1;};
bool IsDupPackage(const string &Name); bool IsDupPackage(const string &Name);

View File

@ -239,6 +239,9 @@ bool pkgRPMPM::RunScriptsWithPkgs(const char *Cnf)
/* This globs the operations and calls rpm */ /* This globs the operations and calls rpm */
bool pkgRPMPM::Go() bool pkgRPMPM::Go()
{ {
if (List.empty() == true)
return true;
if (RunScripts("RPM::Pre-Invoke") == false) if (RunScripts("RPM::Pre-Invoke") == false)
return false; return false;
@ -323,6 +326,7 @@ bool pkgRPMPM::Go()
_lua->ResetCaches(); _lua->ResetCaches();
_lua->ResetGlobals(); _lua->ResetGlobals();
if (_error->PendingError() == true) { if (_error->PendingError() == true) {
_error->DumpErrors();
Ret = false; Ret = false;
goto exit; goto exit;
} }
@ -344,6 +348,7 @@ bool pkgRPMPM::Go()
_lua->ResetCaches(); _lua->ResetCaches();
_lua->ResetGlobals(); _lua->ResetGlobals();
if (_error->PendingError() == true) { if (_error->PendingError() == true) {
_error->DumpErrors();
Ret = false; Ret = false;
goto exit; goto exit;
} }
@ -778,6 +783,27 @@ bool pkgRPMLibPM::Process(vector<const char*> &install,
TS = rpmtransCreateSet(DB, Dir.c_str()); TS = rpmtransCreateSet(DB, Dir.c_str());
#endif #endif
#if RPM_VERSION >= 0x040000
if (rpmExpandNumeric("%{?_repackage_all_erasures}"))
tsFlags |= RPMTRANS_FLAG_REPACKAGE;
#endif
#if RPM_VERSION >= 0x040300
/* Initialize security context patterns for SELinux */
if (!(tsFlags & RPMTRANS_FLAG_NOCONTEXTS)) {
rpmsx sx = rpmtsREContext(TS);
if (sx == NULL) {
const char *fn = rpmGetPath("%{?_install_file_context_path}", NULL);
if (fn != NULL && *fn != '\0') {
sx = rpmsxNew(fn);
(void) rpmtsSetREContext(TS, sx);
}
fn = (const char *) _free(fn);
}
sx = rpmsxFree(sx);
}
#endif
if (_config->FindB("RPM::OldPackage", true) || !upgrade.empty()) { if (_config->FindB("RPM::OldPackage", true) || !upgrade.empty()) {
probFilter |= RPMPROB_FILTER_OLDPACKAGE; probFilter |= RPMPROB_FILTER_OLDPACKAGE;
} }
@ -921,6 +947,10 @@ bool pkgRPMLibPM::ParseRpmOpts(const char *Cnf, int *tsFlags, int *probFilter)
Opts->Value == "--excludeconfigs") Opts->Value == "--excludeconfigs")
*tsFlags |= RPMTRANS_FLAG_NOCONFIGS; *tsFlags |= RPMTRANS_FLAG_NOCONFIGS;
#endif #endif
#if RPM_VERSION >= 0x040300
else if (Opts->Value == "--nocontexts")
*tsFlags |= RPMTRANS_FLAG_NOCONTEXTS;
#endif
// Problem filter flags // Problem filter flags
else if (Opts->Value == "--replacefiles") else if (Opts->Value == "--replacefiles")
@ -949,6 +979,16 @@ bool pkgRPMLibPM::ParseRpmOpts(const char *Cnf, int *tsFlags, int *probFilter)
_config->Set("RPM::NoDeps", true); _config->Set("RPM::NoDeps", true);
else if (Opts->Value == "--noorder") else if (Opts->Value == "--noorder")
_config->Set("RPM::Order", false); _config->Set("RPM::Order", false);
else if (Opts->Value == "-v") {
rpmIncreaseVerbosity();
} else if (Opts->Value == "-vv") {
rpmIncreaseVerbosity();
rpmIncreaseVerbosity();
} else if (Opts->Value == "-vvv") {
rpmIncreaseVerbosity();
rpmIncreaseVerbosity();
rpmIncreaseVerbosity();
}
// TODO: --root, --relocate, --prefix, --excludepath etc... // TODO: --root, --relocate, --prefix, --excludepath etc...
} }

View File

@ -296,7 +296,7 @@ void rpmRecordParser::GetRec(const char *&Start,const char *&Stop)
BufCatTag("\nSection: ", str); BufCatTag("\nSection: ", str);
headerGetEntry(HeaderP, RPMTAG_SIZE, &type, (void **)&numv, &count); headerGetEntry(HeaderP, RPMTAG_SIZE, &type, (void **)&numv, &count);
snprintf(buf, sizeof(buf), "%d", numv[0] / 1000); snprintf(buf, sizeof(buf), "%d", numv[0]);
BufCatTag("\nInstalled Size: ", buf); BufCatTag("\nInstalled Size: ", buf);
str = NULL; str = NULL;

View File

@ -120,7 +120,7 @@ void * rpmShowProgress(const Header h,
if (flags & INSTALL_HASH) if (flags & INSTALL_HASH)
fprintf(stdout, "%-28s", _("Preparing...")); fprintf(stdout, "%-28s", _("Preparing..."));
else else
fprintf(stdout, "%s\n", _("Preparing packages for installation...")); fprintf(stdout, "%s\n", _("Preparing..."));
(void) fflush(stdout); (void) fflush(stdout);
break; break;

View File

@ -306,7 +306,7 @@ string rpmSrcRecordParser::AsStr()
BufCatTag("\nSection: ", str); BufCatTag("\nSection: ", str);
headerGetEntry(HeaderP, RPMTAG_SIZE, &type, (void **)&numv, &count); headerGetEntry(HeaderP, RPMTAG_SIZE, &type, (void **)&numv, &count);
snprintf(buf, sizeof(buf), "%d", numv[0] / 1000); snprintf(buf, sizeof(buf), "%d", numv[0]);
BufCatTag("\nInstalled Size: ", buf); BufCatTag("\nInstalled Size: ", buf);
str = NULL; str = NULL;
@ -436,9 +436,31 @@ bool rpmSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec>
for (int i = 0; i < count; i++) for (int i = 0; i < count; i++)
{ {
#if RPM_VERSION >= 0x040404
if (namel[i][0] == 'g' && strncmp(namel[i], "getconf", 7) == 0)
{
rpmds getconfProv = NULL;
rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME,
namel[i], verl?verl[i]:NULL, flagl[i]);
rpmdsGetconf(&getconfProv, NULL);
int res = rpmdsSearch(getconfProv, ds) >= 0;
rpmdsFree(ds);
rpmdsFree(getconfProv);
if (res) continue;
}
#endif
if (strncmp(namel[i], "rpmlib", 6) == 0) if (strncmp(namel[i], "rpmlib", 6) == 0)
{ {
#if RPM_VERSION >= 0x040100 #if RPM_VERSION >= 0x040404
rpmds rpmlibProv = NULL;
rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME,
namel[i], verl?verl[i]:NULL, flagl[i]);
rpmdsRpmlib(&rpmlibProv, NULL);
rpmdsSearch(rpmlibProv, ds);
int res = rpmdsResult(ds);
rpmdsFree(ds);
rpmdsFree(rpmlibProv);
#elif RPM_VERSION >= 0x040100
rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME, rpmds ds = rpmdsSingle(RPMTAG_PROVIDENAME,
namel[i], verl?verl[i]:NULL, flagl[i]); namel[i], verl?verl[i]:NULL, flagl[i]);
int res = rpmCheckRpmlibProvides(ds); int res = rpmCheckRpmlibProvides(ds);

View File

@ -33,10 +33,17 @@
#include <sys/types.h> #include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include <stdlib.h>
#include <dirent.h> #include <dirent.h>
#include <fcntl.h>
#include <rpm/rpmlib.h> #include <rpm/rpmlib.h>
#include <assert.h> #include <assert.h>
/*}}}*/ /*}}}*/
// for distrover
#if RPM_VERSION >= 0x040101
#include <rpmdb.h>
#endif
#if RPM_VERSION >= 0x040201 #if RPM_VERSION >= 0x040201
extern int _rpmds_nopromote; extern int _rpmds_nopromote;
#endif #endif
@ -229,6 +236,7 @@ signed rpmSystem::Score(Configuration const &Cnf)
{ {
signed Score = 0; signed Score = 0;
rpmReadConfigFiles(NULL, NULL);
if (FileExists(RPMDBHandler::DataPath(false))) if (FileExists(RPMDBHandler::DataPath(false)))
Score += 10; Score += 10;
if (FileExists(Cnf.FindFile("Dir::Bin::rpm","/bin/rpm")) == true) if (FileExists(Cnf.FindFile("Dir::Bin::rpm","/bin/rpm")) == true)
@ -236,6 +244,38 @@ signed rpmSystem::Score(Configuration const &Cnf)
return Score; return Score;
} }
string rpmSystem::DistroVer(Configuration const &Cnf)
{
string DistroVerPkg = _config->Find("Apt::DistroVerPkg");
string DistroVersion = "";
if (! DistroVerPkg.empty()) {
rpmts ts;
char *version;
int type, count, rc;
rpmdbMatchIterator iter;
ts = rpmtsCreate();
rpmtsSetVSFlags(ts, (rpmVSFlags_e)-1);
rpmtsSetRootDir(ts, NULL);
rc = rpmtsOpenDB(ts, O_RDWR);
Header hdr;
iter = rpmtsInitIterator(ts, (rpmTag)RPMDBI_LABEL, DistroVerPkg.c_str(), 0);
while ((hdr = rpmdbNextIterator(iter)) != NULL) {
headerGetEntry(hdr, RPMTAG_VERSION, &type, (void **)&version, &count);
DistroVersion = version;
break;
}
rpmdbFreeIterator(iter);
rpmtsFree(ts);
}
return DistroVersion;
}
/*}}}*/ /*}}}*/
// System::AddStatusFiles - Register the status files /*{{{*/ // System::AddStatusFiles - Register the status files /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
@ -261,7 +301,7 @@ bool rpmSystem::AddSourceFiles(vector<pkgIndexFile *> &List)
const string &S = Top->Value; const string &S = Top->Value;
if (FileExists(S) && flExtension(S) == "rpm") if (FileExists(S) && flExtension(S) == "rpm")
{ {
if (S.length() > 8 and string(S, S.length()-8) == ".src.rpm") if (S.length() > 8 && string(S, S.length()-8) == ".src.rpm")
List.push_back(new rpmSingleSrcIndex(S)); List.push_back(new rpmSingleSrcIndex(S));
else else
List.push_back(new rpmSinglePkgIndex(S)); List.push_back(new rpmSinglePkgIndex(S));
@ -505,6 +545,12 @@ static void HashString(unsigned long &Hash, const char *Str)
for (const char *I = Str; *I != 0; I++) for (const char *I = Str; *I != 0; I++)
Hash = 5*Hash + *I; Hash = 5*Hash + *I;
} }
static void HashEnv(unsigned long &Hash, const char *Name)
{
const char *Value = getenv(Name);
if (Value)
HashString(Hash, Value);
}
static void HashOption(unsigned long &Hash, const char *Name) static void HashOption(unsigned long &Hash, const char *Name)
{ {
const Configuration::Item *Top = _config->Tree(Name); const Configuration::Item *Top = _config->Tree(Name);
@ -530,8 +576,12 @@ unsigned long rpmSystem::OptionsHash() const
unsigned long Hash = 0; unsigned long Hash = 0;
HashOption(Hash, "RPM::Architecture"); HashOption(Hash, "RPM::Architecture");
HashOptionTree(Hash, "RPM::Allow-Duplicated"); HashOptionTree(Hash, "RPM::Allow-Duplicated");
HashOptionTree(Hash, "RPM::MultiArch");
HashOptionTree(Hash, "RPM::Ignore"); HashOptionTree(Hash, "RPM::Ignore");
HashOptionFile(Hash, "Dir::Etc::rpmpriorities"); HashOptionFile(Hash, "Dir::Etc::rpmpriorities");
HashEnv(Hash, "LANG");
HashEnv(Hash, "LC_ALL");
HashEnv(Hash, "LC_MESSAGES");
return Hash; return Hash;
} }
/*}}}*/ /*}}}*/

View File

@ -59,6 +59,7 @@ class rpmSystem : public pkgSystem
virtual bool Initialize(Configuration &Cnf); virtual bool Initialize(Configuration &Cnf);
virtual bool ArchiveSupported(const char *Type); virtual bool ArchiveSupported(const char *Type);
virtual signed Score(Configuration const &Cnf); virtual signed Score(Configuration const &Cnf);
virtual string DistroVer(Configuration const &Cnf);
virtual bool AddStatusFiles(vector<pkgIndexFile *> &List); virtual bool AddStatusFiles(vector<pkgIndexFile *> &List);
virtual bool AddSourceFiles(vector<pkgIndexFile *> &List); virtual bool AddSourceFiles(vector<pkgIndexFile *> &List);
virtual bool FindIndex(pkgCache::PkgFileIterator File, virtual bool FindIndex(pkgCache::PkgFileIterator File,

View File

@ -111,6 +111,11 @@ bool pkgSourceList::Type::ParseLine(vector<pkgIndexFile *> &List,
return CreateItem(List,URI,Dist,Section,Vendor); return CreateItem(List,URI,Dist,Section,Vendor);
} }
// CNC:2004-05-18
Dist = SubstVar(Dist,"$(ARCH)",_config->Find("APT::Architecture"));
// PM:2006-02-06
Dist = SubstVar(Dist,"$(VERSION)",_config->Find("APT::DistroVersion"));
// Grab the rest of the dists // Grab the rest of the dists
if (ParseQuoteWord(Buffer,Section) == false) if (ParseQuoteWord(Buffer,Section) == false)
return _error->Error(_("Malformed line %lu in source list %s (dist parse)"),CurLine,File.c_str()); return _error->Error(_("Malformed line %lu in source list %s (dist parse)"),CurLine,File.c_str());

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,15 +33,40 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
@NEED_INTTYPES_H_TRUE@am__append_1 = copy-inttypes @NEED_INTTYPES_H_TRUE@am__append_1 = copy-inttypes
@NEED_STATVFS_H_TRUE@am__append_2 = copy-statvfs @NEED_STATVFS_H_TRUE@am__append_2 = copy-statvfs
@NEED_NETDB_H_TRUE@am__append_3 = copy-netdb @NEED_NETDB_H_TRUE@am__append_3 = copy-netdb
subdir = buildlib
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in compile \
config.guess config.rpath config.sub depcomp install-sh \
ltmain.sh missing mkinstalldirs
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/buildlib/tools.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -62,6 +85,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
@ -75,6 +99,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@ GLIBC_VER = @GLIBC_VER@
@ -137,8 +163,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@ WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@ WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -148,6 +176,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -168,6 +198,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -175,7 +206,6 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
EXTRA_DIST = \ EXTRA_DIST = \
archtable \ archtable \
ostable \ ostable \
@ -186,31 +216,45 @@ EXTRA_DIST = \
netdb.h \ netdb.h \
tools.m4 tools.m4
CLEANFILES = $(top_builddir)/include/apti18n.h \ CLEANFILES = $(top_builddir)/include/apti18n.h \
$(top_builddir)/include/inttypes.h \ $(top_builddir)/include/inttypes.h \
$(top_builddir)/include/sys/statvfs.h \ $(top_builddir)/include/sys/statvfs.h \
$(top_builddir)/include/netdb.h $(top_builddir)/include/netdb.h
COPYHEADERS = copy-apti18n $(am__append_1) $(am__append_2) \
COPYHEADERS = copy-apti18n $(am__append_1) $(am__append_2) $(am__append_3) $(am__append_3)
subdir = buildlib
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am compile config.guess \
config.rpath config.sub depcomp install-sh ltmain.sh missing \
mkinstalldirs
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign buildlib/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --foreign buildlib/Makefile $(AUTOMAKE) --foreign buildlib/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool: mostlyclean-libtool:
-rm -f *.lo -rm -f *.lo
@ -227,10 +271,6 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -244,7 +284,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -262,7 +302,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile all-local all-am: Makefile all-local
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -284,7 +323,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -301,6 +340,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -335,13 +376,13 @@ uninstall-am: uninstall-info-am
.PHONY: all all-am all-local check check-am clean clean-generic \ .PHONY: all all-am all-local check check-am clean clean-generic \
clean-libtool distclean distclean-generic distclean-libtool \ clean-libtool distclean distclean-generic distclean-libtool \
distdir dvi dvi-am info info-am install install-am install-data \ distdir dvi dvi-am html html-am info info-am install \
install-data-am install-exec install-exec-am install-info \ install-am install-data install-data-am install-exec \
install-info-am install-man install-strip installcheck \ install-exec-am install-info install-info-am install-man \
installcheck-am installdirs maintainer-clean \ install-strip installcheck installcheck-am installdirs \
maintainer-clean-generic mostlyclean mostlyclean-generic \ maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall-info-am uninstall uninstall-am uninstall-info-am
all-local: copy-headers all-local: copy-headers

View File

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2003-10-03' timestamp='2003-06-17'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@ -136,6 +136,13 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
## for Red Hat Linux
if test -f /etc/redhat-release ; then
VENDOR=redhat ;
else
VENDOR= ;
fi
# Note: order is significant - the case branches are not exclusive. # Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@ -734,7 +741,7 @@ EOF
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;; exit 0 ;;
*:UNICOS/mp:*:*) *:UNICOS/mp:*:*)
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;; exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@ -763,10 +770,7 @@ EOF
#endif #endif
EOF EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
# GNU/FreeBSD systems have a "k" prefix to indicate we are using echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
# FreeBSD's kernel, but not the complete OS.
case ${LIBC} in gnu) kernel_only='k' ;; esac
echo ${UNAME_MACHINE}-unknown-${kernel_only}freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;; exit 0 ;;
i*:CYGWIN*:*) i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin echo ${UNAME_MACHINE}-pc-cygwin
@ -811,7 +815,7 @@ EOF
echo cris-axis-linux-gnu echo cris-axis-linux-gnu
exit 0 ;; exit 0 ;;
ia64:Linux:*:*) ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
exit 0 ;; exit 0 ;;
m68*:Linux:*:*) m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
@ -855,10 +859,10 @@ EOF
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;; ;;
ppc:Linux:*:*) ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu echo powerpc-${VENDOR:-unknown}-linux-gnu
exit 0 ;; exit 0 ;;
ppc64:Linux:*:*) ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu echo powerpc64-${VENDOR:-unknown}-linux-gnu
exit 0 ;; exit 0 ;;
alpha:Linux:*:*) alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@ -886,7 +890,7 @@ EOF
echo hppa64-unknown-linux-gnu echo hppa64-unknown-linux-gnu
exit 0 ;; exit 0 ;;
s390:Linux:*:* | s390x:Linux:*:*) s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
exit 0 ;; exit 0 ;;
sh64*:Linux:*:*) sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
@ -898,7 +902,7 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;; exit 0 ;;
x86_64:Linux:*:*) x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu echo x86_64-${VENDOR:-unknown}-linux-gnu
exit 0 ;; exit 0 ;;
i*86:Linux:*:*) i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so # The BFD linker knows what the default object file format is, so
@ -948,12 +952,9 @@ EOF
LIBC=gnuaout LIBC=gnuaout
#endif #endif
#endif #endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-${VENDOR:-pc}-linux-${LIBC}" && exit 0
test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
;; ;;
i*86:DYNIX/ptx:4*:*) i*86:DYNIX/ptx:4*:*)
@ -1167,7 +1168,7 @@ EOF
*:QNX:*:4*) *:QNX:*:4*)
echo i386-pc-qnx echo i386-pc-qnx
exit 0 ;; exit 0 ;;
NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*) NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE} echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;; exit 0 ;;
*:NonStop-UX:*:*) *:NonStop-UX:*:*)

View File

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 2000, 2001, 2002, 2003 Free Software Foundation, Inc. # 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
timestamp='2003-08-18' timestamp='2003-06-18'
# This file is (in principle) common to ALL GNU software. # This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software # The presence of a machine in this file suggests that SOME GNU software
@ -118,7 +118,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations. # Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in case $maybe_os in
nto-qnx* | linux-gnu* | linux-dietlibc | kfreebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;; ;;
@ -228,14 +228,13 @@ case $basic_machine in
| a29k \ | a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
| c4x | clipper \ | c4x | clipper \
| d10v | d30v | dlx | dsp16xx \ | d10v | d30v | dlx | dsp16xx \
| fr30 | frv \ | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \ | i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \ | ip2k \
| m32r | m68000 | m68k | m88k | mcore \ | m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \ | mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \ | mips16 \
@ -248,7 +247,6 @@ case $basic_machine in
| mipsisa32 | mipsisa32el \ | mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \ | mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \ | mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \ | mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \ | mipstx39 | mipstx39el \
@ -259,9 +257,10 @@ case $basic_machine in
| pdp10 | pdp11 | pj | pjl \ | pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \ | pyramid \
| s390 | s390x \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \ | sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
| strongarm \ | strongarm \
| tahoe | thumb | tic4x | tic80 | tron \ | tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \ | v850 | v850e \
@ -306,7 +305,7 @@ case $basic_machine in
| h8300-* | h8500-* \ | h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \ | i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \ | ip2k-* \
| m32r-* \ | m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \ | m88110-* | m88k-* | mcore-* \
@ -321,7 +320,6 @@ case $basic_machine in
| mipsisa32-* | mipsisa32el-* \ | mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \ | mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \ | mipstx39-* | mipstx39el-* \
@ -332,10 +330,11 @@ case $basic_machine in
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \ | pyramid-* \
| romp-* | rs6000-* \ | romp-* | rs6000-* \
| s390-* | s390x-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \ | tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \ | tron-* \
@ -834,12 +833,6 @@ case $basic_machine in
rtpc | rtpc-*) rtpc | rtpc-*)
basic_machine=romp-ibm basic_machine=romp-ibm
;; ;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200) sa29200)
basic_machine=a29k-amd basic_machine=a29k-amd
os=-udi os=-udi
@ -1058,7 +1051,7 @@ case $basic_machine in
sh64) sh64)
basic_machine=sh64-unknown basic_machine=sh64-unknown
;; ;;
sparc | sparcv9 | sparcv9b) sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun basic_machine=sparc-sun
;; ;;
cydra) cydra)
@ -1131,7 +1124,7 @@ case $os in
| -aos* \ | -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
@ -1167,9 +1160,6 @@ case $os in
-mac*) -mac*)
os=`echo $os | sed -e 's|mac|macos|'` os=`echo $os | sed -e 's|mac|macos|'`
;; ;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*) -linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'` os=`echo $os | sed -e 's|linux|linux-gnu|'`
;; ;;
@ -1292,9 +1282,9 @@ case $basic_machine in
arm*-semi) arm*-semi)
os=-aout os=-aout
;; ;;
c4x-* | tic4x-*) c4x-* | tic4x-*)
os=-coff os=-coff
;; ;;
# This must come before the *-dec entry. # This must come before the *-dec entry.
pdp10-*) pdp10-*)
os=-tops20 os=-tops20

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
AC_DEFUN(ah_HAVE_GETCONF, AC_DEFUN([ah_HAVE_GETCONF],
[AC_ARG_WITH(getconf, [AC_ARG_WITH(getconf,
[ --with-getconf Enable automagical buildtime configuration], [ --with-getconf Enable automagical buildtime configuration],
[if test "$withval" = "yes"; then [if test "$withval" = "yes"; then
@ -14,7 +14,7 @@ AC_DEFUN(ah_HAVE_GETCONF,
]) ])
dnl ah_GET_CONF(variable, value ..., [default]) dnl ah_GET_CONF(variable, value ..., [default])
AC_DEFUN(ah_GET_GETCONF, AC_DEFUN([ah_GET_GETCONF],
[AC_REQUIRE([ah_HAVE_GETCONF]) [AC_REQUIRE([ah_HAVE_GETCONF])
if test ! -z "$GETCONF";then if test ! -z "$GETCONF";then
old_args="[$]@" old_args="[$]@"
@ -28,7 +28,7 @@ AC_DEFUN(ah_GET_GETCONF,
eval $1="$3" eval $1="$3"
fi fi
]) ])
AC_DEFUN(ah_NUM_CPUS, AC_DEFUN([ah_NUM_CPUS],
[AC_MSG_CHECKING([number of cpus]) [AC_MSG_CHECKING([number of cpus])
AC_ARG_WITH(cpus, AC_ARG_WITH(cpus,
[ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)], [ --with-cpus The number of cpus to be used for building(see --with-procs, default 1)],
@ -56,7 +56,7 @@ AC_DEFUN(ah_NUM_CPUS,
AC_MSG_RESULT([$ah_NUM_CPUS_msg]) AC_MSG_RESULT([$ah_NUM_CPUS_msg])
AC_SUBST(NUM_CPUS) AC_SUBST(NUM_CPUS)
]) ])
AC_DEFUN(ah_PROC_MULTIPLY, AC_DEFUN([ah_PROC_MULTIPLY],
[AC_REQUIRE([ah_NUM_CPUS]) [AC_REQUIRE([ah_NUM_CPUS])
AC_MSG_CHECKING([processor multiplier]) AC_MSG_CHECKING([processor multiplier])
AC_ARG_WITH(proc-multiply, AC_ARG_WITH(proc-multiply,
@ -72,7 +72,7 @@ AC_DEFUN(ah_PROC_MULTIPLY,
AC_SUBST(PROC_MULTIPLY) AC_SUBST(PROC_MULTIPLY)
]) ])
AC_DEFUN(ah_NUM_PROCS, AC_DEFUN([ah_NUM_PROCS],
[AC_REQUIRE([ah_PROC_MULTIPLY]) [AC_REQUIRE([ah_PROC_MULTIPLY])
AC_REQUIRE([ah_NUM_CPUS]) AC_REQUIRE([ah_NUM_CPUS])
AC_MSG_CHECKING([number of processes to run during make]) AC_MSG_CHECKING([number of processes to run during make])
@ -89,7 +89,7 @@ AC_DEFUN(ah_NUM_PROCS,
AC_SUBST(NUM_PROCS) AC_SUBST(NUM_PROCS)
]) ])
AC_DEFUN(rc_GLIBC_VER, AC_DEFUN([rc_GLIBC_VER],
[AC_MSG_CHECKING([glibc version]) [AC_MSG_CHECKING([glibc version])
dummy=if$$ dummy=if$$
cat <<_GLIBC_>$dummy.c cat <<_GLIBC_>$dummy.c
@ -111,7 +111,7 @@ _GLIBC_
AC_SUBST(GLIBC_VER) AC_SUBST(GLIBC_VER)
]) ])
AC_DEFUN(rc_LIBSTDCPP_VER, AC_DEFUN([rc_LIBSTDCPP_VER],
[AC_MSG_CHECKING([libstdc++ version]) [AC_MSG_CHECKING([libstdc++ version])
dummy=if$$ dummy=if$$
cat <<_LIBSTDCPP_>$dummy.cc cat <<_LIBSTDCPP_>$dummy.cc
@ -138,7 +138,7 @@ _LIBSTDCPP_
AC_SUBST(LIBSTDCPP_VER) AC_SUBST(LIBSTDCPP_VER)
]) ])
AC_DEFUN(ah_GCC3DEP,[ AC_DEFUN([ah_GCC3DEP],[
AC_MSG_CHECKING(if $CXX -MD works) AC_MSG_CHECKING(if $CXX -MD works)
touch gcc3dep.cc touch gcc3dep.cc
${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc ${CXX-c++} -MD -o gcc3dep_test.o -c gcc3dep.cc

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(apt_cache_SOURCES) $(apt_cache_static_SOURCES) $(apt_cdrom_SOURCES) $(apt_cdrom_static_SOURCES) $(apt_config_SOURCES) $(apt_get_SOURCES) $(apt_get_static_SOURCES) $(apt_shell_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,14 +36,115 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
bin_PROGRAMS = apt-get$(EXEEXT) apt-cache$(EXEEXT) apt-cdrom$(EXEEXT) \
apt-config$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2)
@COMPILE_APTSHELL_TRUE@am__append_1 = apt-shell @COMPILE_APTSHELL_TRUE@am__append_1 = apt-shell
@COMPILE_STATIC_TRUE@am__append_2 = apt-get-static apt-cache-static apt-cdrom-static @COMPILE_STATIC_TRUE@am__append_2 = apt-get-static apt-cache-static apt-cdrom-static
subdir = cmdline
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/buildlib/tools.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
@COMPILE_APTSHELL_TRUE@am__EXEEXT_1 = apt-shell$(EXEEXT)
@COMPILE_STATIC_TRUE@am__EXEEXT_2 = apt-get-static$(EXEEXT) \
@COMPILE_STATIC_TRUE@ apt-cache-static$(EXEEXT) \
@COMPILE_STATIC_TRUE@ apt-cdrom-static$(EXEEXT)
am__installdirs = "$(DESTDIR)$(bindir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS)
am_apt_cache_OBJECTS = apt-cache.$(OBJEXT)
apt_cache_OBJECTS = $(am_apt_cache_OBJECTS)
apt_cache_LDADD = $(LDADD)
am__DEPENDENCIES_1 =
apt_cache_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
$(am__DEPENDENCIES_1)
am__objects_1 = apt-cache.$(OBJEXT)
am_apt_cache_static_OBJECTS = $(am__objects_1)
apt_cache_static_OBJECTS = $(am_apt_cache_static_OBJECTS)
apt_cache_static_LDADD = $(LDADD)
apt_cache_static_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
$(am__DEPENDENCIES_1)
am_apt_cdrom_OBJECTS = apt-cdrom.$(OBJEXT) rpmindexcopy.$(OBJEXT)
apt_cdrom_OBJECTS = $(am_apt_cdrom_OBJECTS)
apt_cdrom_LDADD = $(LDADD)
apt_cdrom_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
$(am__DEPENDENCIES_1)
am__objects_2 = apt-cdrom.$(OBJEXT) rpmindexcopy.$(OBJEXT)
am_apt_cdrom_static_OBJECTS = $(am__objects_2)
apt_cdrom_static_OBJECTS = $(am_apt_cdrom_static_OBJECTS)
apt_cdrom_static_LDADD = $(LDADD)
apt_cdrom_static_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
$(am__DEPENDENCIES_1)
am_apt_config_OBJECTS = apt-config.$(OBJEXT)
apt_config_OBJECTS = $(am_apt_config_OBJECTS)
apt_config_LDADD = $(LDADD)
apt_config_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
$(am__DEPENDENCIES_1)
am_apt_get_OBJECTS = apt-get.$(OBJEXT) acqprogress.$(OBJEXT)
apt_get_OBJECTS = $(am_apt_get_OBJECTS)
apt_get_LDADD = $(LDADD)
apt_get_DEPENDENCIES = ../apt-pkg/libapt-pkg.la $(am__DEPENDENCIES_1)
am__objects_3 = apt-get.$(OBJEXT) acqprogress.$(OBJEXT)
am_apt_get_static_OBJECTS = $(am__objects_3)
apt_get_static_OBJECTS = $(am_apt_get_static_OBJECTS)
apt_get_static_LDADD = $(LDADD)
apt_get_static_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
$(am__DEPENDENCIES_1)
am_apt_shell_OBJECTS = apt-shell.$(OBJEXT) acqprogress.$(OBJEXT)
apt_shell_OBJECTS = $(am_apt_shell_OBJECTS)
am__DEPENDENCIES_2 = ../apt-pkg/libapt-pkg.la $(am__DEPENDENCIES_1)
apt_shell_DEPENDENCIES = $(am__DEPENDENCIES_2)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/buildlib/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(apt_cache_SOURCES) $(apt_cache_static_SOURCES) \
$(apt_cdrom_SOURCES) $(apt_cdrom_static_SOURCES) \
$(apt_config_SOURCES) $(apt_get_SOURCES) \
$(apt_get_static_SOURCES) $(apt_shell_SOURCES)
DIST_SOURCES = $(apt_cache_SOURCES) $(apt_cache_static_SOURCES) \
$(apt_cdrom_SOURCES) $(apt_cdrom_static_SOURCES) \
$(apt_config_SOURCES) $(apt_get_SOURCES) \
$(apt_get_static_SOURCES) $(apt_shell_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -61,6 +163,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
@ -74,6 +177,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@ GLIBC_VER = @GLIBC_VER@
@ -136,8 +241,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@ WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@ WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -147,6 +254,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -167,6 +276,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -174,152 +284,64 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
EXTRA_DIST = indexcopy.cc indexcopy.h EXTRA_DIST = indexcopy.cc indexcopy.h
bin_PROGRAMS = apt-get apt-cache apt-cdrom apt-config $(am__append_1) $(am__append_2)
LDADD = ../apt-pkg/libapt-pkg.la $(RPMLIBS) LDADD = ../apt-pkg/libapt-pkg.la $(RPMLIBS)
apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h
apt_cache_SOURCES = apt-cache.cc apt_cache_SOURCES = apt-cache.cc
apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h
apt_shell_LDADD = $(LDADD) -lreadline -lncurses apt_shell_LDADD = $(LDADD) -lreadline -lncurses
apt_config_SOURCES = apt-config.cc apt_config_SOURCES = apt-config.cc
apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h
apt_get_static_SOURCES = $(apt_get_SOURCES) apt_get_static_SOURCES = $(apt_get_SOURCES)
apt_get_static_LDFLAGS = -all-static apt_get_static_LDFLAGS = -all-static
apt_cache_static_SOURCES = $(apt_cache_SOURCES) apt_cache_static_SOURCES = $(apt_cache_SOURCES)
apt_cache_static_LDFLAGS = -all-static apt_cache_static_LDFLAGS = -all-static
apt_cdrom_static_SOURCES = $(apt_cdrom_SOURCES) apt_cdrom_static_SOURCES = $(apt_cdrom_SOURCES)
apt_cdrom_static_LDFLAGS = -all-static apt_cdrom_static_LDFLAGS = -all-static
subdir = cmdline
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@bin_PROGRAMS = \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-get$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-cache$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-cdrom$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-config$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-get-static$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-cache-static$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_TRUE@ apt-cdrom-static$(EXEEXT)
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_FALSE@bin_PROGRAMS = \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_FALSE@ apt-get$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_FALSE@ apt-cache$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_FALSE@ apt-cdrom$(EXEEXT) \
@COMPILE_APTSHELL_FALSE@@COMPILE_STATIC_FALSE@ apt-config$(EXEEXT)
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@bin_PROGRAMS = \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-get$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-cache$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-cdrom$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-config$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-shell$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-get-static$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-cache-static$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_TRUE@ apt-cdrom-static$(EXEEXT)
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_FALSE@bin_PROGRAMS = \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_FALSE@ apt-get$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_FALSE@ apt-cache$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_FALSE@ apt-cdrom$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_FALSE@ apt-config$(EXEEXT) \
@COMPILE_APTSHELL_TRUE@@COMPILE_STATIC_FALSE@ apt-shell$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
am_apt_cache_OBJECTS = apt-cache.$(OBJEXT)
apt_cache_OBJECTS = $(am_apt_cache_OBJECTS)
apt_cache_LDADD = $(LDADD)
apt_cache_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
apt_cache_LDFLAGS =
am__objects_1 = apt-cache.$(OBJEXT)
am_apt_cache_static_OBJECTS = $(am__objects_1)
apt_cache_static_OBJECTS = $(am_apt_cache_static_OBJECTS)
apt_cache_static_LDADD = $(LDADD)
apt_cache_static_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_apt_cdrom_OBJECTS = apt-cdrom.$(OBJEXT) rpmindexcopy.$(OBJEXT)
apt_cdrom_OBJECTS = $(am_apt_cdrom_OBJECTS)
apt_cdrom_LDADD = $(LDADD)
apt_cdrom_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
apt_cdrom_LDFLAGS =
am__objects_2 = apt-cdrom.$(OBJEXT) rpmindexcopy.$(OBJEXT)
am_apt_cdrom_static_OBJECTS = $(am__objects_2)
apt_cdrom_static_OBJECTS = $(am_apt_cdrom_static_OBJECTS)
apt_cdrom_static_LDADD = $(LDADD)
apt_cdrom_static_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_apt_config_OBJECTS = apt-config.$(OBJEXT)
apt_config_OBJECTS = $(am_apt_config_OBJECTS)
apt_config_LDADD = $(LDADD)
apt_config_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
apt_config_LDFLAGS =
am_apt_get_OBJECTS = apt-get.$(OBJEXT) acqprogress.$(OBJEXT)
apt_get_OBJECTS = $(am_apt_get_OBJECTS)
apt_get_LDADD = $(LDADD)
apt_get_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
apt_get_LDFLAGS =
am__objects_3 = apt-get.$(OBJEXT) acqprogress.$(OBJEXT)
am_apt_get_static_OBJECTS = $(am__objects_3)
apt_get_static_OBJECTS = $(am_apt_get_static_OBJECTS)
apt_get_static_LDADD = $(LDADD)
apt_get_static_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_apt_shell_OBJECTS = apt-shell.$(OBJEXT) acqprogress.$(OBJEXT)
apt_shell_OBJECTS = $(am_apt_shell_OBJECTS)
apt_shell_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
apt_shell_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/buildlib/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/acqprogress.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/apt-cache.Po ./$(DEPDIR)/apt-cdrom.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/apt-config.Po ./$(DEPDIR)/apt-get.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/apt-shell.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/rpmindexcopy.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(apt_cache_SOURCES) $(apt_cache_static_SOURCES) \
$(apt_cdrom_SOURCES) $(apt_cdrom_static_SOURCES) \
$(apt_config_SOURCES) $(apt_get_SOURCES) \
$(apt_get_static_SOURCES) $(apt_shell_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(apt_cache_SOURCES) $(apt_cache_static_SOURCES) $(apt_cdrom_SOURCES) $(apt_cdrom_static_SOURCES) $(apt_config_SOURCES) $(apt_get_SOURCES) $(apt_get_static_SOURCES) $(apt_shell_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cc .lo .o .obj .SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign cmdline/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --foreign cmdline/Makefile $(AUTOMAKE) --foreign cmdline/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) @case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS) install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \ if test -f $$p \
|| test -f $$p1 \ || test -f $$p1 \
; then \ ; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
else :; fi; \ else :; fi; \
done done
@ -327,8 +349,8 @@ uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f $(DESTDIR)$(bindir)/$$f; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \
done done
clean-binPROGRAMS: clean-binPROGRAMS:
@ -363,7 +385,7 @@ apt-shell$(EXEEXT): $(apt_shell_OBJECTS) $(apt_shell_DEPENDENCIES)
$(CXXLINK) $(apt_shell_LDFLAGS) $(apt_shell_OBJECTS) $(apt_shell_LDADD) $(LIBS) $(CXXLINK) $(apt_shell_LDFLAGS) $(apt_shell_OBJECTS) $(apt_shell_LDADD) $(LIBS)
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -377,37 +399,28 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmindexcopy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmindexcopy.Po@am__quote@
.cc.o: .cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cc.obj: .cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
.cc.lo: .cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ @am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
mostlyclean-libtool: mostlyclean-libtool:
-rm -f *.lo -rm -f *.lo
@ -419,14 +432,6 @@ distclean-libtool:
-rm -f libtool -rm -f libtool
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -435,6 +440,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -446,10 +452,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -472,10 +479,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -489,7 +492,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -507,9 +510,10 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(PROGRAMS) all-am: Makefile $(PROGRAMS)
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am
@ -529,7 +533,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -548,6 +552,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -585,14 +591,14 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic clean-libtool ctags distclean distclean-compile \ clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \ distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am info info-am install install-am install-binPROGRAMS \ dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \ install-binPROGRAMS install-data install-data-am install-exec \
install-info install-info-am install-man install-strip \ install-exec-am install-info install-info-am install-man \
installcheck installcheck-am installdirs maintainer-clean \ install-strip installcheck installcheck-am installdirs \
maintainer-clean-generic mostlyclean mostlyclean-compile \ maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
tags uninstall uninstall-am uninstall-binPROGRAMS \ pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-info-am uninstall-binPROGRAMS uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -18,6 +18,8 @@
#include <stdio.h> #include <stdio.h>
#include <signal.h> #include <signal.h>
#include <termios.h>
#include <unistd.h>
#include <iostream> #include <iostream>
/*}}}*/ /*}}}*/
@ -277,6 +279,62 @@ bool AcqTextStatus::MediaChange(string Media,string Drive)
while (C != '\n' && C != '\r') while (C != '\n' && C != '\r')
read(STDIN_FILENO,&C,1); read(STDIN_FILENO,&C,1);
Update = true;
return true;
}
/*}}}*/
// AcqTextStatus::Authenticate - Authenticate the user /*{{{*/
// ---------------------------------------------------------------------
/* Prompt for a username and password */
bool AcqTextStatus::Authenticate(string Desc,string &User,string &Pass)
{
if (Quiet > 0)
return false;
cout << '\r' << BlankLine << '\r';
ioprintf(cout,_("Please login to %s\nUsername: "), Desc.c_str());
cout << flush;
char S[1024];
char C = 0;
size_t idx = 0;
while (C != '\n' && C != '\r' && idx < (sizeof(S) - 1))
{
read(STDIN_FILENO,&C,1);
S[idx++] = C;
}
S[--idx] = '\0';
User = S;
ioprintf(cout,_("Password: "));
cout << flush;
// Turn off echo for entering the password
struct termios TermIO;
tcgetattr(STDIN_FILENO, &TermIO);
struct termios TermIO_noecho;
TermIO_noecho = TermIO;
TermIO_noecho.c_lflag &= !ECHO;
tcsetattr(STDIN_FILENO, TCSANOW, &TermIO_noecho);
C = 0;
idx = 0;
while (C != '\n' && C != '\r' && idx < (sizeof(S) - 1))
{
read(STDIN_FILENO,&C,1);
S[idx++] = C;
}
S[--idx] = '\0';
Pass = S;
// Turn echo back on
tcsetattr(STDIN_FILENO, TCSANOW, &TermIO);
ioprintf(cout,_("\n"));
cout << flush;
Update = true; Update = true;
return true; return true;
} }

View File

@ -22,6 +22,7 @@ class AcqTextStatus : public pkgAcquireStatus
public: public:
virtual bool MediaChange(string Media,string Drive); virtual bool MediaChange(string Media,string Drive);
virtual bool Authenticate(string Desc,string &User,string &Pass);
virtual void IMSHit(pkgAcquire::ItemDesc &Itm); virtual void IMSHit(pkgAcquire::ItemDesc &Itm);
virtual void Fetch(pkgAcquire::ItemDesc &Itm); virtual void Fetch(pkgAcquire::ItemDesc &Itm);
virtual void Done(pkgAcquire::ItemDesc &Itm); virtual void Done(pkgAcquire::ItemDesc &Itm);

View File

@ -1569,11 +1569,14 @@ bool Search(CommandLine &CmdL)
bool Match = true; bool Match = true;
if (J->NameMatch == false) if (J->NameMatch == false)
{ {
string LongDesc = P.LongDesc(); string LongDesc = P.LongDesc();
// CNC 2004-04-10
string ShortDesc = P.ShortDesc();
Match = NumPatterns != 0; Match = NumPatterns != 0;
for (unsigned I = 0; I != NumPatterns; I++) for (unsigned I = 0; I != NumPatterns; I++)
{ {
if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0) if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0 ||
regexec(&Patterns[I],ShortDesc.c_str(),0,0,0) == 0)
Match &= true; Match &= true;
else else
Match = false; Match = false;
@ -1624,6 +1627,27 @@ bool ShowPackage(CommandLine &CmdL)
++found; ++found;
// CNC:2004-07-09
// If it's a virtual package, require user to select similarly to apt-get
if (Pkg.VersionList().end() == true and Pkg->ProvidesList != 0)
{
ioprintf(cout, _("Package %s is a virtual package provided by:\n"),
Pkg.Name());
for (pkgCache::PrvIterator Prv = Pkg.ProvidesList();
Prv.end() == false; Prv++)
{
pkgCache::VerIterator V = Plcy.GetCandidateVer(Prv.OwnerPkg());
if (V.end() == true)
continue;
if (V != Prv.OwnerVer())
continue;
cout << " " << Prv.OwnerPkg().Name() << " " << V.VerStr() << endl;
}
cout << _("You should explicitly select one to show.") << endl;
_error->Error(_("Package %s is a virtual package with multiple providers."), Pkg.Name());
return false;
}
// Find the proper version to use. // Find the proper version to use.
if (_config->FindB("APT::Cache::AllVersions","true") == true) if (_config->FindB("APT::Cache::AllVersions","true") == true)
{ {
@ -1809,7 +1833,11 @@ bool Policy(CommandLine &CmdL)
cout << " *** " << V.VerStr(); cout << " *** " << V.VerStr();
else else
cout << " " << V.VerStr(); cout << " " << V.VerStr();
cout << " " << Plcy.GetPriority(Pkg) << endl; // CNC:2004-05-29
if (Plcy.GetCandidateVer(Pkg) == V)
cout << " " << Plcy.GetPriority(Pkg) << endl;
else
cout << " 0" << endl;
for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++) for (pkgCache::VerFileIterator VF = V.FileList(); VF.end() == false; VF++)
{ {
// Locate the associated index files so we can derive a description // Locate the associated index files so we can derive a description

View File

@ -825,10 +825,10 @@ bool CacheFile::CheckDeps(bool AllowBroken)
} }
else else
{ {
c1out << _("You might want to run `apt-get -f install' to correct these.") << endl; c1out << _("You might want to run `apt-get --fix-broken install' to correct these.") << endl;
ShowBroken(c1out,*this,true); ShowBroken(c1out,*this,true);
return _error->Error(_("Unmet dependencies. Try using -f.")); return _error->Error(_("Unmet dependencies. Try using --fix-broken."));
} }
return true; return true;
@ -1213,7 +1213,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
unsigned int &ExpectedInst,bool AllowFail = true) unsigned int &ExpectedInst,bool AllowFail = true)
{ {
// CNC:2004-03-03 - Improved virtual package handling. // CNC:2004-03-03 - Improved virtual package handling.
if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0) if (Pkg->VersionList == 0 && Pkg->ProvidesList != 0)
{ {
vector<pkgCache::Package *> GoodSolutions; vector<pkgCache::Package *> GoodSolutions;
for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); for (pkgCache::PrvIterator Prv = Pkg.ProvidesList();
@ -1605,6 +1605,18 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
// DoUpdate - Update the package lists /*{{{*/ // DoUpdate - Update the package lists /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
/* */ /* */
// CNC:2004-04-19
class UpdateLogCleaner : public pkgArchiveCleaner
{
protected:
virtual void Erase(const char *File,string Pkg,string Ver,struct stat &St)
{
c1out << "Del " << Pkg << " " << Ver << " [" << SizeToStr(St.st_size) << "B]" << endl;
unlink(File);
};
};
bool DoUpdate(CommandLine &CmdL) bool DoUpdate(CommandLine &CmdL)
{ {
// CNC:2003-03-27 // CNC:2003-03-27
@ -1738,6 +1750,15 @@ bool DoUpdate(CommandLine &CmdL)
_lua->RunScripts("Scripts::AptGet::Update::Post"); _lua->RunScripts("Scripts::AptGet::Update::Post");
#endif #endif
#endif #endif
// CNC:2004-04-19
if (Failed == false && _config->FindB("APT::Get::Archive-Cleanup",true) == true)
{
UpdateLogCleaner Cleaner;
Cleaner.Go(_config->FindDir("Dir::Cache::archives"), *Cache);
Cleaner.Go(_config->FindDir("Dir::Cache::archives") + "partial/",
*Cache);
}
if (Failed == true) if (Failed == true)
return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead.")); return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
@ -2037,10 +2058,10 @@ bool DoInstall(CommandLine &CmdL)
packages */ packages */
if (BrokenFix == true && Cache->BrokenCount() != 0) if (BrokenFix == true && Cache->BrokenCount() != 0)
{ {
c1out << _("You might want to run `apt-get -f install' to correct these:") << endl; c1out << _("You might want to run `apt-get --fix-broken install' to correct these:") << endl;
ShowBroken(c1out,Cache,false); ShowBroken(c1out,Cache,false);
return _error->Error(_("Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).")); return _error->Error(_("Unmet dependencies. Try 'apt-get --fix-broken install' with no packages (or specify a solution)."));
} }
// Call the scored problem resolver // Call the scored problem resolver
@ -2093,12 +2114,13 @@ bool DoInstall(CommandLine &CmdL)
if ((*Cache)[I].Install() == false) if ((*Cache)[I].Install() == false)
continue; continue;
const char **J; // CNC:2004-06-15
for (J = CmdL.FileList + 1; *J != 0; J++) const char **K;
if (strcmp(*J,I.Name()) == 0) for (K = CmdL.FileList + 1; *K != 0; K++)
if (strcmp(*K,I.Name()) == 0)
break; break;
if (*J == 0) { if (*K == 0) {
List += string(I.Name()) + " "; List += string(I.Name()) + " ";
VersionsList += string(Cache[I].CandVersion) + "\n"; VersionsList += string(Cache[I].CandVersion) + "\n";
} }
@ -2428,8 +2450,38 @@ bool DoSource(CommandLine &CmdL)
unsigned J = 0; unsigned J = 0;
for (const char **I = CmdL.FileList + 1; *I != 0; I++, J++) for (const char **I = CmdL.FileList + 1; *I != 0; I++, J++)
{ {
// CNC:2004-09-23 - Try to handle unknown file items.
unsigned int Length = strlen(*I);
char S[300];
if (Length >= sizeof(S))
continue;
strcpy(S,*I);
if (S[0] == '/')
{
pkgRecords Recs(Cache);
if (_error->PendingError() == true)
return false;
pkgCache::PkgIterator Pkg = (*Cache).PkgBegin();
for (; Pkg.end() == false; Pkg++)
{
// Should we try on all versions?
pkgCache::VerIterator Ver = (*Cache)[Pkg].CandidateVerIter(*Cache);
if (Ver.end() == false)
{
pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
if (Parse.HasFile(S)) {
ioprintf(c1out,_("Selecting %s for '%s'\n"),
Pkg.Name(),S);
strcpy(S, Pkg.Name());
break;
}
}
}
}
string Src; string Src;
pkgSrcRecords::Parser *Last = FindSrc(*I,Recs,SrcRecs,Src,*Cache); pkgSrcRecords::Parser *Last = FindSrc(S,Recs,SrcRecs,Src,*Cache);
if (Last == 0) if (Last == 0)
return _error->Error(_("Unable to find a source package for %s"),Src.c_str()); return _error->Error(_("Unable to find a source package for %s"),Src.c_str());
@ -2643,7 +2695,9 @@ bool DoSource(CommandLine &CmdL)
bool DoBuildDep(CommandLine &CmdL) bool DoBuildDep(CommandLine &CmdL)
{ {
CacheFile Cache; CacheFile Cache;
if (Cache.Open(true) == false) // CNC:2004-04-06
if (Cache.OpenForInstall() == false ||
Cache.CheckDeps() == false)
return false; return false;
if (CmdL.FileSize() <= 1) if (CmdL.FileSize() <= 1)
@ -2892,8 +2946,12 @@ bool DoBuildDep(CommandLine &CmdL)
// Now we check the state of the packages, // Now we check the state of the packages,
if (Cache->BrokenCount() != 0) if (Cache->BrokenCount() != 0)
{
// CNC:2004-07-05
ShowBroken(c1out, Cache, false);
return _error->Error(_("Some broken packages were found while trying to process build-dependencies for %s.\n" return _error->Error(_("Some broken packages were found while trying to process build-dependencies for %s.\n"
"You might want to run `apt-get -f install' to correct these."),*I); "You might want to run `apt-get --fix-broken install' to correct these."),*I);
}
} }
if (InstallPackages(Cache, false, true) == false) if (InstallPackages(Cache, false, true) == false)

View File

@ -150,7 +150,7 @@ class AutoReOpenCache
if ((*Cache)->CheckDeps(true) == false) { if ((*Cache)->CheckDeps(true) == false) {
c1out << _("There are broken packages. ") c1out << _("There are broken packages. ")
<< _("Run `check' to see them.") << endl; << _("Run `check' to see them.") << endl;
c1out << _("You can try to fix them automatically with `install -f'.") << endl; c1out << _("You can try to fix them automatically with `install --fix-broken'0.") << endl;
} }
} }
}; };
@ -930,10 +930,10 @@ bool CacheFile::CheckDeps(bool AllowBroken)
} }
else else
{ {
c1out << _("You might want to run `install -f' to correct these.") << endl; c1out << _("You might want to run `install --fix-broken' to correct these.") << endl;
ShowBroken(c1out,*this,true); ShowBroken(c1out,*this,true);
return _error->Error(_("Unmet dependencies. Try using -f.")); return _error->Error(_("Unmet dependencies. Try using --fix-broken."));
} }
return true; return true;
@ -1328,9 +1328,9 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
} }
} }
vector<string> GoodSolutionNames; vector<string> GoodSolutionNames;
for (int i = 0; i != GoodSolutionNames.size(); i++) for (int i = 0; i != GoodSolutions.size(); i++)
{ {
pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[0]); pkgCache::PkgIterator GoodPkg(Cache, GoodSolutions[i]);
GoodSolutionNames.push_back(GoodPkg.Name()); GoodSolutionNames.push_back(GoodPkg.Name());
} }
#ifdef WITH_LUA #ifdef WITH_LUA
@ -1339,6 +1339,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
vector<string> VS; vector<string> VS;
_lua->SetDepCache(&Cache); _lua->SetDepCache(&Cache);
_lua->SetDontFix(); _lua->SetDontFix();
_lua->SetGlobal("virtualname", Pkg.Name());
_lua->SetGlobal("packages", GoodSolutions); _lua->SetGlobal("packages", GoodSolutions);
_lua->SetGlobal("packagenames", GoodSolutionNames); _lua->SetGlobal("packagenames", GoodSolutionNames);
_lua->SetGlobal("selected"); _lua->SetGlobal("selected");
@ -1680,6 +1681,18 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
// DoUpdate - Update the package lists /*{{{*/ // DoUpdate - Update the package lists /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
/* */ /* */
// CNC:2004-04-19
class UpdateLogCleaner : public pkgArchiveCleaner
{
protected:
virtual void Erase(const char *File,string Pkg,string Ver,struct stat &St)
{
c1out << "Del " << Pkg << " " << Ver << " [" << SizeToStr(St.st_size) << "B]" << endl;
unlink(File);
};
};
bool DoUpdate(CommandLine &CmdL) bool DoUpdate(CommandLine &CmdL)
{ {
if (CheckHelp(CmdL) == true) if (CheckHelp(CmdL) == true)
@ -1797,6 +1810,15 @@ bool DoUpdate(CommandLine &CmdL)
_lua->RunScripts("Scripts::AptGet::Update::Post"); _lua->RunScripts("Scripts::AptGet::Update::Post");
_lua->ResetCaches(); _lua->ResetCaches();
#endif #endif
// CNC:2004-04-19
if (Failed == false && _config->FindB("APT::Get::Archive-Cleanup",true) == true)
{
UpdateLogCleaner Cleaner;
Cleaner.Go(_config->FindDir("Dir::Cache::archives"), *GCache);
Cleaner.Go(_config->FindDir("Dir::Cache::archives") + "partial/",
*GCache);
}
if (Failed == true) if (Failed == true)
return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead.")); return _error->Error(_("Some index files failed to download, they have been ignored, or old ones used instead."));
@ -2114,7 +2136,7 @@ bool DoInstall(CommandLine &CmdL)
ConfirmChanges(Cache, StateGuard); ConfirmChanges(Cache, StateGuard);
c1out << _("There are still broken packages. ") c1out << _("There are still broken packages. ")
<< _("Run `check' to see them.") << endl; << _("Run `check' to see them.") << endl;
c1out << _("You can try to fix them automatically with `install -f'.") << endl; c1out << _("You can try to fix them automatically with `install --fix-broken'.") << endl;
return true; return true;
} }
@ -2651,7 +2673,7 @@ bool DoBuildDep(CommandLine &CmdL)
// Now we check the state of the packages, // Now we check the state of the packages,
if (Cache->BrokenCount() != 0) if (Cache->BrokenCount() != 0)
return _error->Error(_("Some broken packages were found while trying to process build-dependencies for %s.\n" return _error->Error(_("Some broken packages were found while trying to process build-dependencies for %s.\n"
"You might want to run `apt-get -f install' to correct these."),*I); "You might want to run `apt-get --fix-broken install' to correct these."),*I);
} }
ConfirmChanges(Cache, StateGuard); ConfirmChanges(Cache, StateGuard);
@ -3430,10 +3452,13 @@ bool Search(CommandLine &CmdL)
if (J->NameMatch == false) if (J->NameMatch == false)
{ {
string LongDesc = P.LongDesc(); string LongDesc = P.LongDesc();
// CNC 2004-2004-04-10
string ShortDesc = P.ShortDesc();
Match = NumPatterns != 0; Match = NumPatterns != 0;
for (unsigned I = 0; I != NumPatterns; I++) for (unsigned I = 0; I != NumPatterns; I++)
{ {
if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0) if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0 ||
regexec(&Patterns[I],ShortDesc.c_str(),0,0,0) == 0)
Match &= true; Match &= true;
else else
Match = false; Match = false;
@ -4420,7 +4445,7 @@ int main(int argc,const char *argv[])
if (GCache->CheckDeps(true) == false) { if (GCache->CheckDeps(true) == false) {
c1out << _("There are broken packages. ") c1out << _("There are broken packages. ")
<< _("Run `check' to see them.") << endl; << _("Run `check' to see them.") << endl;
c1out << _("You can try to fix them automatically with `install -f'.") << endl; c1out << _("You can try to fix them automatically with `install --fix-broken'.") << endl;
} }
// Make a copy of the configuration. Each command will modify its // Make a copy of the configuration. Each command will modify its
@ -4520,7 +4545,7 @@ int main(int argc,const char *argv[])
// CNC:2003-03-19 // CNC:2003-03-19
#ifdef WITH_LUA #ifdef WITH_LUA
if (HasCmdScripts == true) { if (HasCmdScripts == true && _error->PendingError() == false) {
_lua->SetDepCache(*GCache); _lua->SetDepCache(*GCache);
_lua->SetGlobal("command_args", CmdL.FileList); _lua->SetGlobal("command_args", CmdL.FileList);
_lua->SetGlobal("command_consume", 0.0); _lua->SetGlobal("command_consume", 0.0);

16481
apt/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.54) AC_PREREQ(2.54)
AC_INIT([apt],[0.5.15cnc6]) AC_INIT([apt],[0.5.15lorg2])
dnl Check the archs, we want the target type. dnl Check the archs, we want the target type.
AC_CONFIG_AUX_DIR([buildlib]) AC_CONFIG_AUX_DIR([buildlib])
AC_CANONICAL_HOST AC_CANONICAL_HOST

View File

@ -40,7 +40,7 @@ After you created the database, you can install the plugin putting
these files in the following directories: these files in the following directories:
/etc/apt/apt.conf.d/apt-files.conf /etc/apt/apt.conf.d/apt-files.conf
/usr/lib/apt/scripts/apt-files.lua /usr/share/apt/scripts/apt-files.lua
/var/state/apt/Contents.gz /var/state/apt/Contents.gz
Bingo! It should be working. ;-) Bingo! It should be working. ;-)

View File

@ -1,20 +1,64 @@
Lua script to allow installing and viewing package groups as defined in Lua script to allow installing and viewing package groups, determined by
comps.xml found in RHL 8.0, 9 and Fedora Core 1. a backend script to allow it to work on arbitrary group-metadata formats.
This script must be plugged into the following APT script slots: This script must be plugged into the following APT script slots:
Scripts::AptGet::Command Scripts::AptGet::Command::
Scripts::AptCache::Command Scripts::AptCache::Command::
Scripts::AptGet::Help::Command Scripts::AptGet::Help::Command::
Scripts::AptCache::Help::Command Scripts::AptCache::Help::Command::
The backend script name must be specified with the configuration
item Scripts::Groupinstall::Backend, the path is relative to the generic
scripts directory specified by Dir::Bin::scripts.
Additional configuration options which may or may not have any meaning to
the backend are:
Scripts::Groupinstall::Recursive (recursively process groups)
Scripts::Groupinstall::Show-Hidden (show normally hidden groups)
Scripts::Groupinstall::All-Packages (install optional packages as well)
Scripts::Groupinstall::DataPath (specify a path to group metadata)
Usage: Usage:
apt-cache showgroups - show all known groups apt-cache groupnames - show all known groups
apt-cache showgroup <group> - show description and contents of group apt-cache showgroup <group> - show description and contents of group(s)
apt-get groupinstall <group> - install all packages belonging to a group apt-get groupinstall <group> - install all packages belonging to a group(s)
apt-get groupremove <group> - remove all packages belonging to a group apt-get groupremove <group> - remove all packages belonging to a group(s)
Known to work in RHL 8.0, 9 and Fedora Core 1. Requires python, comps and About the backend:
rhpl packages to be installed.
Licensed under the GPL, by pmatilai@welho.com / 2003 The backend is also compatible with Synaptic's task-support (new as of
synaptic-0.53), provided that you set Synaptic::taskHelperProg configuration
item to whatever the path is to your backend script/program.
The supplied groupinstall-backend-comps.py is known to work in RHL 8.0, 9,
RHEL 3 and Fedora Core 1 and 2. Requires python, comps and
rhpl packages to be installed.
There's also a backend for SuSe called groupinstall-backend-suse by
Richard Bos which should work on any recent SuSe system with Yast.
Groupinstall can be made to work on any system where package group
data is available in some parseable format. You'll just need to write your
own backend for it, providing the following three operations
List all available groups:
<backend> --list-tasks
Show contents of given groups in a human-friendly format:
<backend> --task-desc <group1> [--task-desc <group2> ...]
List packages belonging to given groups, one package at a time (this is not
a user visible operation but is used internally by the script to determine
what packages to install/remove in groupinstall and groupremove operations)
<backend> --task-packages <group1> [--task-packages <group2> ...]
Additionally the backend must be capable of handling the following options
passed in before the actual groupnames, even if unimplemented (some options
might not be relevant to a given system):
-h (show hidden groups)
-a (show/install/remove all packages beloging to group, not just default)
-r (recursively process groups)
-p <path> (pass in an arbitrary data path for the group metadata)
-t (show "terminal friendly" output instead of the way synaptic wants
the output formatted)
Licensed under the GPL, by pmatilai@welho.com / 2003-2004

View File

@ -2,3 +2,16 @@ Scripts::AptGet::Command:: "apt-groupinstall.lua";
Scripts::AptCache::Command:: "apt-groupinstall.lua"; Scripts::AptCache::Command:: "apt-groupinstall.lua";
Scripts::AptCache::Help::Command:: "apt-groupinstall.lua"; Scripts::AptCache::Help::Command:: "apt-groupinstall.lua";
Scripts::AptGet::Help::Command:: "apt-groupinstall.lua"; Scripts::AptGet::Help::Command:: "apt-groupinstall.lua";
Scripts::Groupinstall::Recursive "false";
Scripts::Groupinstall::Show-Hidden "false";
Scripts::Groupinstall::All-Packages "false";
// For RHEL/FC systems
Scripts::Groupinstall::Backend "groupinstall-backend-comps.py";
Scripts::Groupinstall::DataPath "/usr/share/comps/i386/comps.xml";
Synaptic::taskHelperProg "/usr/share/apt/scripts/groupinstall-backend-comps.py";
// For Suse systems
//Scripts::Groupinstall::Backend "groupinstall-backend-suse";
//Synaptic::taskHelperProg "/usr/lib/apt/scripts/groupinstall-backend-suse";

View File

@ -4,31 +4,48 @@
-- Scripts::AptGet::Command and Scripts::AptCache::Command -- Scripts::AptGet::Command and Scripts::AptCache::Command
-- --
helper = confget("Dir::Bin::scripts/f").."/apt-groupinstall.py" helper = confget("Dir::Bin::scripts/f").."/"..confget("Scripts::Groupinstall::Backend")
helperopts = "-t"
if confget("Scripts::Groupinstall::Recursive", "false") == "true" then
helperopts = helperopts.." -r"
end
if confget("Scripts::Groupinstall::Show-Hidden", "false") == "true" then
helperopts = helperopts.." -h"
end
if confget("Scripts::Groupinstall::All-Packages", "false") == "true" then
helperopts = helperopts.." -a"
end
if confexists("Scripts::Groupinstall::DataPath") then
helperopts = helperopts.." -p "..confget("Scripts::Groupinstall::DataPath")
end
if script_slot == "Scripts::AptCache::Help::Command" then if script_slot == "Scripts::AptCache::Help::Command" then
print(_(" showgroups - Show available groups")) print(_(" groupnames - Show available groups"))
print(_(" showgroup <group> - Show group contents")) print(_(" showgroup <group> - Show group contents"))
elseif script_slot == "Scripts::AptGet::Help::Command" then elseif script_slot == "Scripts::AptGet::Help::Command" then
print(_(" groupinstall <group> - Install packages in <group>")) print(_(" groupinstall <group> - Install packages in <group>"))
print(_(" groupremove <group> - Remove packages in <group>")) print(_(" groupremove <group> - Remove packages in <group>"))
elseif script_slot == "Scripts::AptCache::Command" then elseif script_slot == "Scripts::AptCache::Command" then
if command_args[1] == "showgroups" then if command_args[1] == "groupnames" then
command_consume = 1 command_consume = 1
os.execute(helper.." showgroups") os.execute(helper.." "..helperopts.." --list-tasks")
elseif command_args[1] == "showgroup" then elseif command_args[1] == "showgroup" then
command_consume=1 command_consume=1
group = command_args[2] numgroups = table.getn(command_args) - 1
if not group then if numgroups < 1 then
apterror(_("No groupname given.")) apterror(_("No groupname given."))
return return
end end
os.execute(helper.." showgroup "..group) cmd = ""
for i = 1, numgroups do
cmd = cmd.." --task-desc "..command_args[i+1]
end
os.execute(helper.." "..helperopts.." "..cmd)
end end
elseif script_slot == "Scripts::AptGet::Command" then elseif script_slot == "Scripts::AptGet::Command" then
if command_args[1] == "groupinstall" then if command_args[1] == "groupinstall" then
oper = markinstall oper = markinstall
command_consume = 1 command_consume = 1
elseif command_args[1] == "groupremove" then elseif command_args[1] == "groupremove" then
oper = markremove oper = markremove
@ -36,17 +53,27 @@ elseif script_slot == "Scripts::AptGet::Command" then
else else
return return
end end
group = command_args[2]
if not group then numgroups = table.getn(command_args) - 1
apterror(_("No groupname given.")) if numgroups < 1 then
return apterror(_("No groupname given."))
end return
print(_("Finding packages belonging to group "..group.."...")) end
pkgs = io.popen(helper.." grouppkgs "..group) cmd = ""
for name in pkgs:lines() do group = ""
for i = 1, numgroups do
cmd = cmd.." --task-packages "..command_args[i+1]
group = group.." "..command_args[i+1]
end
print(_("Finding packages belonging to group(s) "..group.."..."))
pkgs = io.popen(helper.." "..helperopts.." "..cmd)
for name in pkgs:lines() do
pkg = pkgfind(name) pkg = pkgfind(name)
if pkg then if pkg then
oper(pkg) oper(pkg)
end end
end end
end end
-- vim:ts=4:sw=4

View File

@ -1,63 +0,0 @@
#!/usr/bin/python
# apt-groupinstall v0.1
# groupinstall helper script for apt
# by pmatilai@welho.com
import rhpl.comps, sys, string
comps = rhpl.comps.Comps("/usr/share/comps/i386/comps.xml")
def usage():
print "Usage: %s showgroups" % sys.argv[0]
print " %s showgroup <group>" % sys.argv[0]
print " %s grouppkgs <group>" % sys.argv[0]
sys.exit(1)
def findgroup(grpname):
if comps.groups.has_key(grpname):
return comps.groups[grpname]
for group in comps.groups.values():
if group.id == grpname:
return group
def grouppkgs(grpname):
if not findgroup(grpname):
print "No such group: %s" % grpname
return
group = findgroup(grpname)
if group:
for pkg in comps.groups[group.name].packages:
print "%s" % pkg
def showgroups():
for group in comps.groups.values():
print "%s (%s)" % (group.id, group.name)
def showgroup(grpname):
group = findgroup(grpname)
if not group:
print "No such group: %s" % grpname
return
print "Group: %s" % group.id
print "Description: %s" % group.description
print "Packages: "
for pkg in comps.groups[group.name].packages:
print " %s" % pkg
if __name__ == "__main__":
if len(sys.argv) < 2:
usage()
if sys.argv[1] == "showgroups":
showgroups()
elif len(sys.argv) < 3:
usage()
elif sys.argv[1] == "grouppkgs":
grouppkgs(sys.argv[2])
elif sys.argv[1] == "showgroup":
showgroup(sys.argv[2])
else:
usage()

View File

@ -0,0 +1,125 @@
#!/usr/bin/python
# apt-groupinstall v0.2
# groupinstall helper backend for for RHL/RHEL/FC systems
# by pmatilai@welho.com
import rhpl.comps, sys
def findgroup(comps, grpname):
if comps.groups.has_key(grpname):
return comps.groups[grpname]
for group in comps.groups.values():
if group.id == grpname:
return group
def grouppkgs(comps, grpname, recursive = 0, showall = 0):
group = findgroup(comps, grpname)
pkgs = []
if group and recursive:
for grp in group.groups:
pkgs += grouppkgs(comps, grp, recursive, showall)
if group and group.packages:
for pkg in group.packages:
type, name = group.packages[pkg]
if not showall and type == "optional":
continue
pkgs.append(pkg)
return pkgs
def groupnames(comps, showhidden = 0):
if not synaptic:
print "%-40s %s" % ("Group name", "Description")
print "%-40s %s" % ("----------", "-----------")
for group in comps.groups.values():
if group.packages:
if not showhidden and not group.user_visible:
continue
if synaptic:
print "u %s\t%s" % (group.id, group.name)
else:
print "%-40s %s" % (group.id, group.name)
def showgroup(comps, grpname, showall = 0):
group = findgroup(comps, grpname)
if not group or not group.packages:
print "No such group: %s" % grpname
return
if not synaptic:
print "Group:\n %s" % group.id
print "Description:\n %s" % group.description
print "Required groups: "
for grp in group.groups:
print " %s" % grp
print "Packages: "
for pkg in grouppkgs(comps, grpname, recursive=0, showall=showall):
print " %s" % pkg
def usage():
print "Usage:\n %s [-t] [-p <path>] [-h] --list-tasks" % sys.argv[0]
print " %s [-t] [-p <path>] [-a] --task-desc <group> [--task-desc <group2>...]" % sys.argv[0]
print " %s [-t] [-p <path>] [-a] [-r] --task-packages <group> [--task-packages <group>...]" % sys.argv[0]
sys.exit(1)
if __name__ == "__main__":
import getopt
recursive = 0
showhidden = 0
synaptic = 1
showall = 0
comps = None
groups = []
cmd = None
compspath = "/usr/share/comps/i386/comps.xml"
try:
optlist, args = getopt.getopt(sys.argv[1:], 'arhp:t',
['task-desc=', 'list-tasks', 'task-packages='])
except getopt.error:
usage()
for opt, arg in optlist:
if opt == '--task-desc':
cmd = "showgroup"
groups.append(arg)
elif opt == '--task-packages':
groups.append(arg)
cmd = "grouppkgs"
elif opt == '--list-tasks':
cmd = "groupnames"
elif opt == '-r':
recursive = 1
elif opt == '-h':
showhidden = 1
elif opt == '-a':
showall = 1
elif opt == '-p':
compspath = arg
elif opt == '-t':
synaptic = 0
else:
usage()
if not cmd: usage()
try:
comps = rhpl.comps.Comps(compspath)
except:
print "Unable to open %s!" % compspath
sys.exit(1)
if cmd == "groupnames":
groupnames(comps, showhidden)
elif cmd == "grouppkgs":
for grp in groups:
for pkg in grouppkgs(comps, grp, recursive, showall):
print "%s" % pkg
elif cmd == "showgroup":
for grp in groups:
showgroup(comps, grp, showall)
else:
usage()
# vim:ts=4:sts=4

View File

@ -0,0 +1,281 @@
#!/bin/sh
##################################################################
#
# Copyright (C) 2004 R Bos
#
# File: $RCSfile: groupinstall-backend-suse,v $
# Revision: $Revision: 1.7 $
# Last change: $Date: 2004/08/18 19:07:42 $
#
# Send suggestions to: apt4rpm-devel@lists.sourceforge.net
# Homepage: http://apt4rpm.sourceforge.net
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# For a copy of the GNU General Public License, visit
# http://www.gnu.org or write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##################################################################
# This backend is to be used with apt. The latter must be configured
# for the apt options: groupnames, showgroup, groupinstall and groupremove.
PATH=/bin:/usr/bin
PRGNAME=$(basename $0)
function get_summary
{
FILE=$SEL_LOC/$1.sel
if [ -r $FILE ]; then
grep "^=Sum:" $SEL_LOC/$1.sel | cut -d: -f2 | sed 's,^ ,,'
fi
}
function get_req
{
FILE=$SEL_LOC/$1.sel
if [ -r $FILE ]; then
awk '{
if ( $1 == "-Req:" ) prt = "no"
if ( prt == "yes" ) print $1
if ( $1 == "+Req:" ) prt = "yes"
}' $FILE
fi
}
function get_rec
{
FILE=$SEL_LOC/$1.sel
if [ -r $FILE ]; then
awk '{
if ( $1 == "-Rec:" ) prt = "no"
if ( prt == "yes" ) print $1
if ( $1 == "+Rec:" ) prt = "yes"
}' $FILE
fi
}
function get_req_and_rec
{
local GRP
for GRP in $@; do
FILE=$SEL_LOC/$GRP.sel
if [ -r $FILE ]; then
awk '{
if ( $1 == "-Req:" || $1 == "-Rec:" ) prt = "no"
if ( prt == "yes" ) print $1
if ( $1 == "+Req:" || $1 == "+Rec:" ) prt = "yes"
}' $FILE
fi
done
}
function get_lang
{
FILE=$SEL_LOC/$1.sel
if [ -r $FILE ]; then
grep "^+Ins." $FILE | sed s,+Ins.,, | cut -d: -f1
fi
}
function get_pkgs
{
local GRP
for GRP in $@; do
FILE=$SEL_LOC/$GRP.sel
if [ -r $FILE ]; then
awk '{
if ( $1 == "-Ins:" ) prt = "no"
if ( prt == "yes" ) print $1
if ( $1 == "+Ins:" ) prt = "yes"
}' $FILE
fi
done
}
function groupnames
{
# Install location. Selections that have been installed
# are copied to this location.
local INSTALL_LOC=/var/adm/YaST/SelDB
if [[ "$OPT_SHOWHIDDEN" == "yes" ]]; then
GRPS=$(ls $SEL_LOC/*sel)
else
GRPS=$(grep -l "=Vis: *true" $(grep -l "=Cat: *addon" $SEL_LOC/*sel))
fi
GRPS=$(echo "$GRPS" | sed 's,^.*/,,;s,\.sel$,,')
if [[ "$OPT_TERM_MODE" == "yes" ]]; then
printf "%-18s %s\n" "Group name" "Description"
printf "%-18s %s\n" "-----------" "------------"
fi
for GRP in $GRPS; do
SUMMARY=$(get_summary $GRP)
if [[ "$OPT_TERM_MODE" == "yes" ]]; then
printf "%-18s %s\n" "$GRP" "$SUMMARY"
else
# IMODE = installation mode
# i = installed, u = uninstalled
if [[ -s $INSTALL_LOC/$GRP.sel ]]; then
IMODE="i"
else
IMODE="u"
fi
printf "%s %s\t%s\n" "$IMODE" "$GRP" "$SUMMARY"
fi
done
}
function showgroup
{
typeset -i NUM
GRPS=$@
local GRP
typeset -i NUM
NUM=1
for GRP in $GRPS; do
[ $NUM -gt 1 ] && echo
echo "Group: $GRP"
echo "Summary: $(get_summary $GRP)"
LANGS="$(get_lang $GRP)"
if [[ -n "$LANGS" ]]; then
echo "Available languages:"
echo " " $LANGS
fi
REQ=$(get_req $GRP)
if [[ -n "$REQ" ]]; then
echo "Required groups:"
echo "$REQ" | sed 's/^/ /'
fi
REC=$(get_rec $GRP)
if [[ -n "$REC" ]]; then
echo "Recommendend groups:"
echo "$REC" | sed 's/^/ /'
fi
echo "Packages:"
get_pkgs $GRP | sed 's/^/ /'
NUM=$((NUM + 1))
done
}
function involved_groups
{
ALL_GRPS="$@"
REQUIRED_GRPS="$(get_req_and_rec $ALL_GRPS)"
ALL_GRPS="$ALL_GRPS $REQUIRED_GRPS"
# Use a recursive method to find all involved groups.
# NUM is used to prevent a runaway loop. Normally the most
# extensive dependencies are resolved in 5 iterations.
typeset -i NUM=1
while [[ -n "$REQUIRED_GRPS" && $NUM -lt 7 ]]; do
unset LOOP_REQS
for GRP in $REQUIRED_GRPS; do
if [[ -z "$LOOP_REQS" ]]; then
LOOP_REQS="$(get_req_and_rec $GRP)"
else
LOOP_REQS="$LOOP_REQS $(get_req_and_rec $GRP)"
fi
done
ALL_GRPS="$ALL_GRPS $LOOP_REQS"
REQUIRED_GRPS="$LOOP_REQS"
NUM=$(($NUM + 1))
done
echo $ALL_GRPS | tr " " "\n" | sort -u
}
OPT_TERM_MODE=no
while [[ $# -gt 0 ]]; do
case $1 in
-h)
OPT_SHOWHIDDEN=yes
;;
--list-tasks)
cmd=groupnames
;;
--task-desc)
cmd=showgroup
OPT_GRPS="$OPT_GRPS $2"
shift
;;
--task-packages)
cmd=grouppkgs
OPT_GRPS="$OPT_GRPS $2"
shift
;;
-t)
OPT_TERM_MODE=yes
;;
-r|-a|-p)
echo "Not supported argument: $1" >&2
;;
*)
echo "Incorrect argument: $1" >&2
exit 1
;;
esac
shift
done
# Find the first populated selection directory
# Some more information about the *.sel files directory can be found in
# the suse package: yast2-packagemanager.
# The file is src/inst/InstSrcManager.cc
for DIR in $(ls -d /var/adm/YaST/InstSrcManager/IS_CACHE_0x000000??); do
if ls -l $DIR/DATA/descr/*.sel >/dev/null 2>&1; then
SEL_LOC=$DIR/DATA/descr
break
fi
done
if [[ -z "$SEL_LOC" ]]; then
echo "$PRGNAME: no selection files found" >&2
exit 2
fi
case $cmd in
groupnames)
groupnames
;;
showgroup)
showgroup $OPT_GRPS
;;
grouppkgs)
get_pkgs $(involved_groups $OPT_GRPS)
;;
esac

View File

@ -1,397 +1,405 @@
#!/bin/sh #!/bin/sh
################################################################## ##################################################################
# #
# Copyright (C) 2003 R Bos # Copyright (C) 2003 R Bos
# #
# File: $RCSfile: apt,v $ # File: $RCSfile: apt,v $
# Revision: $Revision: 1.13 $ # Revision: $Revision: 1.20 $
# Last change: $Date: 2004/02/20 19:30:15 $ # Last change: $Date: 2004/06/24 19:48:38 $
# #
# Send suggestions to: apt4rpm-devel@lists.sourceforge.net # Send suggestions to: apt4rpm-devel@lists.sourceforge.net
# Homepage: http://apt4rpm.sourceforge.net # Homepage: http://apt4rpm.sourceforge.net
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2 # as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# For a copy of the GNU General Public License, visit # For a copy of the GNU General Public License, visit
# http://www.gnu.org or write to the Free Software Foundation, Inc., # http://www.gnu.org or write to the Free Software Foundation, Inc.,
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# #
################################################################## ##################################################################
# It should be possible to show the user which application apt (this tool) # It should be possible to show the user which application apt (this tool)
# is dispatching. It can't be done via a command line option as the # is dispatching. It can't be done via a command line option as the
# options are passed on to the dispatched application. Therefor an environment # options are passed on to the dispatched application. Therefor an environment
# variable is used. Export APT_VERBOSE in your environment and set it to # variable is used. Export APT_VERBOSE in your environment and set it to
# anything, e.g. APT_VERBOSE=1, APT_VERBOSE=true, etc. Apt will than show # anything, e.g. APT_VERBOSE=1, APT_VERBOSE=true, etc. Apt will than show
# the application that is being dispatched. # the application that is being dispatched.
[ -z "$APT_VERBOSE" ] && APT_VERBOSE=no [ -z "$APT_VERBOSE" ] && APT_VERBOSE=no
function usage function usage
{ {
( echo "$SHORTHELP" ( echo "$SHORTHELP"
echo "Use man $PRGNAME for extended help." echo "Use man $PRGNAME for extended help."
) >&2 ) >&2
} }
ARGV="$@" ARGV="$@"
PRGNAME=$(basename $0) PRGNAME=$(basename $0)
readonly SHORTHELP="Usage: $PRGNAME [options] [apt-rpm options] <action> [packages]" readonly SHORTHELP="Usage: $PRGNAME [options] [apt-rpm options] <action> [packages]"
while [ $# -gt 0 ]; do while [ $# -gt 0 ]; do
case $1 in case $1 in
shell|dump) shell|dump)
APTCMD=apt-config APTCMD=apt-config
break break
;; ;;
update|upgrade|install|remove|dist-upgrade|\ update|upgrade|install|remove|dist-upgrade|\
build-dep|clean|autoclean|check|source|moo|script|reinstall) build-dep|clean|autoclean|check|source|moo|script|reinstall|\
APTCMD=apt-get groupinstall|groupremove)
break APTCMD=apt-get
;; break
;;
add|ident)
APTCMD=apt-cdrom add|ident)
break APTCMD=apt-cdrom
;; break
;;
add|gencaches|showsrc|showpkg|stats|dump|dumpavail|\
unmet|search|depends|whatdepends|dotty|show|pkgnames|policy|\ add|gencaches|showsrc|showpkg|stats|dump|dumpavail|\
rdepends|xvcg) unmet|search|depends|whatdepends|dotty|show|pkgnames|policy|\
APTCMD="apt-cache" rdepends|xvcg|showgroup|groupnames)
break APTCMD="apt-cache"
;; break
;;
query)
APTCMD=query query)
break APTCMD=query
;; break
;;
querytags)
APTCMD=querytags querytags)
break APTCMD=querytags
;; break
;;
list-extras)
APTCMD=list-extras list-extras)
break APTCMD=list-extras
;; break
;;
-h|--h|--he|--hel|--help)
APTCMD=usage list-nodeps)
;; APTCMD=list-nodeps
break
-v|--v|--ve|--ver|--vers|--versi|--version) ;;
APTCMD=version
-h|--h|--he|--hel|--help)
# Workaround. apt-config and apt-cache execute the command APTCMD=usage
# instead of showing the version information only. ;;
DISPLAY_VERSION=yes
;; -v|--v|--ve|--ver|--vers|--versi|--version)
esac APTCMD=version
shift # Workaround. apt-config and apt-cache execute the command
done # instead of showing the version information only.
DISPLAY_VERSION=yes
set -- $ARGV ;;
esac
if [ -z "$APTCMD" ]; then
shift
if [ $# -ne 0 ]; then done
echo "$PRGNAME: error: no or unrecognized action provided" >&2
fi set -- $ARGV
usage
exit 100 if [ -z "$APTCMD" ]; then
fi
if [ $# -ne 0 ]; then
case $APTCMD in echo "$PRGNAME: error: no or unrecognized action provided" >&2
fi
apt-get) usage
exit 100
# Command line argument parsing, the allowed arguments (for apt-get) are fi
# alphabetically listed, keep it this way please.
APTOPT="arch-only,assume-yes,build,compile,config-file:" case $APTCMD in
APTOPT="$APTOPT,default-release,diff-only,download-only,dry-run,fix-broken"
APTOPT="$APTOPT,fix-missing,force-yes,help,ignore-hold,ignore-missing" apt-get)
APTOPT="$APTOPT,just-print,list-cleanup,no-act,no-download,no-list-cleanup"
APTOPT="$APTOPT,no-remove,no-upgrade,only-source,option:,print-uris,purge" # Command line argument parsing, the allowed arguments (for apt-get) are
APTOPT="$APTOPT,quiet,recon,reinstall,remove,show-upgraded,simulate,tar-only" # alphabetically listed, keep it this way please.
APTOPT="$APTOPT,target-release,trivial-only,version,yes" APTOPT="arch-only,assume-yes,build,compile,config-file:"
APTOPT="$APTOPT,default-release,diff-only,download-only,dry-run,fix-broken"
# Additional options, provided by this tool APTOPT="$APTOPT,fix-missing,force-yes,help,ignore-hold,ignore-missing"
ADDOPT="force-rpm,hold:,sourceslist:,show-rpm-command,test" APTOPT="$APTOPT,just-print,list-cleanup,no-act,no-download,no-list-cleanup"
APTOPT="$APTOPT,no-remove,no-upgrade,only-source,option:,print-uris,purge"
# Note that we use `"$@"' to let each command-line parameter expand to a APTOPT="$APTOPT,quiet,recon,reinstall,remove,show-upgraded,simulate,tar-only"
# separate word. The quotes around `$@' are essential! APTOPT="$APTOPT,target-release,trivial-only,version,yes"
# We need TEMP as the `eval set --' would nuke the return value of getopt.
TEMP=$(getopt --options=bc:dDfhmo:qstuvy --long $ADDOPT,$APTOPT -n $PRGNAME -- "$@") # Additional options, provided by this tool
if [ $? -ne 0 ]; then ADDOPT="checksig,force-rpm,hold:,sourceslist:,no-checksig,no-postscript,postscript"
echo "Terminating..." >&2 ADDOPT="$ADDOPT,show-rpm-command,test"
exit 100
fi # Note that we use `"$@"' to let each command-line parameter expand to a
# separate word. The quotes around `$@' are essential!
# Note the quotes around `$TEMP': they are essential! # We need TEMP as the `eval set --' would nuke the return value of getopt.
eval set -- "$TEMP" TEMP=$(getopt --options=bc:dDfhmo:qstuvy --long $ADDOPT,$APTOPT -n $PRGNAME -- "$@")
if [ $? -ne 0 ]; then
while true echo "Terminating..." >&2
do exit 100
case $1 in fi
--arch-only) ARG="$ARG $1";;
--assume-yes) ARG="$ARG $1";; # Note the quotes around `$TEMP': they are essential!
--build|-b) ARG="$ARG $1";; eval set -- "$TEMP"
--checksig) RPM_CHECKSIG=yes;;
--compile) ARG="$ARG $1";; while true
--config-file|-c) ARG="$ARG $1 $2"; shift;; do
-D) ARG="$ARG $1";; case $1 in
--default-release) ARG="$ARG $1";; --arch-only) ARG="$ARG $1";;
--diff-only) ARG="$ARG $1";; --assume-yes) ARG="$ARG $1";;
--download-only|-d) ARG="$ARG $1";; --build|-b) ARG="$ARG $1";;
--dry-run) ARG="$ARG $1";; --checksig) ARG="-o RPM::GPG-Check=true $ARG";;
--fix-broken|-f) APT_FIXBROKEN=yes;; --compile) ARG="$ARG $1";;
--fix-missing|-m) ARG="$ARG $1";; --config-file|-c) ARG="$ARG $1 $2"; shift;;
--force-rpm) RPM_FORCE=yes;; -D) ARG="$ARG $1";;
--force-yes) ARG="$ARG $1";; --default-release) ARG="$ARG $1";;
--help|-h) ARG="$ARG $1";; --diff-only) ARG="$ARG $1";;
--hold) ARG="$ARG -o rpm::hold::=$2"; shift;; --download-only|-d) ARG="$ARG $1";;
--ignore-hold) ARG="$ARG $1";; --dry-run) ARG="$ARG $1";;
--ignore-missing) ARG="$ARG $1";; --fix-broken|-f) APT_FIXBROKEN=yes;;
--just-print) ARG="$ARG $1";; --fix-missing|-m) ARG="$ARG $1";;
--list-cleanup) ARG="$ARG $1";; --force-rpm) ARG="-o rpm::Install-Options::=--force $ARG";;
--no-act) ARG="$ARG $1";; --force-yes) ARG="$ARG $1";;
--no-checksig) RPM_CHECKSIG=no;; --help|-h) ARG="$ARG $1";;
--no-download) ARG="$ARG $1";; --hold) ARG="$ARG -o rpm::hold::=$2"; shift;;
--no-list-cleanup) ARG="$ARG $1";; --ignore-hold) ARG="$ARG $1";;
--no-remove) ARG="$ARG $1";; --ignore-missing) ARG="$ARG $1";;
--no-run-post) ARG="-o Scripts::Exec::Post=no $ARG";; --just-print) ARG="$ARG $1";;
--only-source) ARG="$ARG $1";; --list-cleanup) ARG="$ARG $1";;
--option|-o) ARG="$ARG $1 $2"; shift;; --no-act) ARG="$ARG $1";;
--print-uris) ARG="$ARG $1";; --no-checksig) ARG="-o RPM::GPG-Check=no $ARG";;
--purge) ARG="$ARG $1";; --no-download) ARG="$ARG $1";;
--quiet|-q) ARG="$ARG $1";; --no-list-cleanup) ARG="$ARG $1";;
--recon) ARG="$ARG $1";; --no-remove) ARG="$ARG $1";;
--reinstall) ARG="$ARG $1";; --no-postscript) ARG="-o Scripts::Options::RunPostScript=false $ARG";;
--remove) ARG="$ARG $1";; --only-source) ARG="$ARG $1";;
--run-post) ARG="-o Scripts::Exec::Post=true $ARG";; --option|-o) ARG="$ARG $1 $2"; shift;;
--show-rpm-command) RPM_SHOW_CMD=yes;; --postscript) ARG="-o Scripts::Options::RunPostScript=true $ARG";;
--show-upgraded) ARG="$ARG $1";; --print-uris) ARG="$ARG $1";;
--simulate|-s) ARG="$ARG $1";; --purge) ARG="$ARG $1";;
--sourceslist) RPM_SRC_LIST=$2; shift;; --quiet|-q) ARG="$ARG $1";;
--tar-only) ARG="$ARG $1";; --recon) ARG="$ARG $1";;
--target-release|-t) ARG="$ARG $1";; --reinstall) ARG="$ARG $1";;
--test) RPM_TEST=yes ;; --remove) ARG="$ARG $1";;
--trivial-only) ARG="$ARG $1";; --show-rpm-command) RPM_SHOW_CMD=yes;;
--version|-v) ARG="$ARG $1";; --show-upgraded) ARG="$ARG $1";;
--yes|-y) ARG="$ARG $1";; --simulate|-s) ARG="$ARG $1";;
--) shift; ARG="$ARG $@"; break;; --sourceslist) RPM_SRC_LIST=$2; shift;;
*) echo "unknow argument \"$1\""; exit 100;; --tar-only) ARG="$ARG $1";;
esac --target-release|-t) ARG="$ARG $1";;
shift --test) ARG="-o rpm::options::=--test $ARG";;
done --trivial-only) ARG="$ARG $1";;
--version|-v) ARG="$ARG $1";;
[ -n "$RPM_CHECKSIG" ] && ARG="-o rpm::checksig=$RPM_CHECKSIG $ARG" --yes|-y) ARG="$ARG $1";;
[ -n "$RPM_FORCE" ] && ARG="-o rpm::Install-Options::=--force $ARG" --) shift; ARG="$ARG $@"; break;;
[ -n "$RPM_TEST" ] && ARG="-o rpm::options::=--test $ARG" *) echo "unknow argument \"$1\""; exit 100;;
esac
if [ -n "$RPM_SHOW_CMD" ]; then shift
done
RPM_CMD=/usr/lib/apt/show_rpm_cmd
if [ ! -x $RPM_CMD ]; then if [ -n "$RPM_SHOW_CMD" ]; then
if [ ! -f $RPM_CMD ]; then RPM_CMD=/usr/lib/apt/show_rpm_cmd
if [ ! -x $RPM_CMD ]; then
if [ $(id -u) -eq 0 ]; then
if [ ! -f $RPM_CMD ]; then
# It's dirty to do this, using hardcoded
# path and creating an executable on if [ $(id -u) -eq 0 ]; then
# the fly...
echo "echo rpm \$@" > $RPM_CMD # It's dirty to do this, using hardcoded
chmod +x $RPM_CMD # path and creating an executable on
else # the fly...
echo "$PRGNAME: error: you need to be root" >&2 echo "echo rpm \$@" > $RPM_CMD
exit 100 chmod +x $RPM_CMD
fi else
else echo "$PRGNAME: error: you need to be root" >&2
( echo -n "$PRGNAME: error: the file $RPM_CMD " exit 100
echo "must be executable for the option:" fi
echo "--show-rpm-cmd" else
) >&2 ( echo -n "$PRGNAME: error: the file $RPM_CMD "
echo "must be executable for the option:"
exit 100 echo "--show-rpm-cmd"
fi ) >&2
fi
exit 100
# It might be possible to use -o Debug::pkgRPMPM=true, but fi
# a trial with that, did not show the rpm -Uvh command while fi
# performing a dist-upgrade involving the removal and installation
# of packages. # It might be possible to use -o Debug::pkgRPMPM=true, but
ARG="-o RPM::PM=external -o Dir::Bin::rpm=$RPM_CMD $ARG" # a trial with that, did not show the rpm -Uvh command while
fi # performing a dist-upgrade involving the removal and installation
# of packages.
if [ -n "$RPM_SRC_LIST" ]; then ARG="-o RPM::PM=external -o Dir::Bin::rpm=$RPM_CMD $ARG"
ARG="$ARG -o Scripts::Options::ShowRpmCmd=true"
eval $(apt-config shell ROOT Dir DIR Dir::Etc) fi
if [ -f $ROOT$DIR$RPM_SRC_LIST ]; then
ARG="-o dir::etc::sourcelist=$RPM_SRC_LIST $ARG" if [ -n "$RPM_SRC_LIST" ]; then
else
echo "error: the provided sourceslist file does not exist" >&2 eval $(apt-config shell ROOT Dir DIR Dir::Etc)
exit 100 if [ -f $ROOT$DIR$RPM_SRC_LIST ]; then
fi ARG="-o dir::etc::sourcelist=$RPM_SRC_LIST $ARG"
fi else
echo "error: the provided sourceslist file does not exist" >&2
if [ "$APT_FIXBROKEN" == "yes" ]; then exit 100
echo "warning: the argument --fix-broken (-f) is not needed normally." fi
echo "If you want to use this apt argument, use apt-get directly." fi
exit 100
fi if [ "$APT_FIXBROKEN" == "yes" ]; then
echo "warning: the argument --fix-broken (-f) is not needed normally."
if [ "$APT_VERBOSE" != "no" ]; then echo "If you want to use this apt argument, use apt-get directly."
( echo "$PRGNAME dispatching: apt-get $ARG" | tr -s " " exit 100
echo fi
) >&2
fi if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-get $ARG" | tr -s " "
apt-get $ARG echo
;; ) >&2
fi
apt-config)
apt-get $ARG
if [ "$APT_VERBOSE" != "no" ]; then ;;
( echo "$PRGNAME dispatching: apt-config $ARGV" | tr -s " "
echo apt-config)
) >&2
fi if [ "$APT_VERBOSE" != "no" ]; then
# Workaround. apt-config executes the action instead of showing ( echo "$PRGNAME dispatching: apt-config $ARGV" | tr -s " "
# the version information only. echo
# e.g. apt-config --version dump, in this example "dump" is the ) >&2
# command/action. fi
if [ "$DISPLAY_VERSION" == "yes" ]; then # Workaround. apt-config executes the action instead of showing
apt-config --version # the version information only.
else # e.g. apt-config --version dump, in this example "dump" is the
apt-config $ARGV # command/action.
fi if [ "$DISPLAY_VERSION" == "yes" ]; then
;; apt-config --version
else
apt-cache) apt-config $ARGV
fi
if [ "$APT_VERBOSE" != "no" ]; then ;;
( echo "$PRGNAME dispatching: apt-cache $ARGV" | tr -s " "
echo apt-cache)
) >&2
fi if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-cache $ARGV" | tr -s " "
# Workaround. apt-cache executes the action instead of showing echo
# the version information only. ) >&2
# e.g. apt-cache --version show, in this example "show" is the fi
# command/action.
if [ "$DISPLAY_VERSION" == "yes" ]; then # Workaround. apt-cache executes the action instead of showing
apt-cache --version # the version information only.
else # e.g. apt-cache --version show, in this example "show" is the
apt-cache $ARGV # command/action.
fi if [ "$DISPLAY_VERSION" == "yes" ]; then
;; apt-cache --version
else
apt-cdrom) apt-cache $ARGV
fi
if [ "$APT_VERBOSE" != "no" ]; then ;;
( echo "$PRGNAME dispatching: apt-cdrom $ARGV" | tr -s " "
echo apt-cdrom)
) >&2
fi if [ "$APT_VERBOSE" != "no" ]; then
apt-cdrom $ARGV ( echo "$PRGNAME dispatching: apt-cdrom $ARGV" | tr -s " "
;; echo
) >&2
list-extras) fi
# Like yum's list extras functionality. As discussed on: apt-cdrom $ARGV
# http://lwn.net/Articles/60650/ ;;
apt-cache list-extras
;; list-extras)
# Like yum's list extras functionality. As discussed on:
query) # http://lwn.net/Articles/60650/
while [ $# -gt 0 ]; do apt-cache list-extras
case $1 in ;;
-a|--all)
RPM_ARG_ALL=yes list-nodeps)
;; apt-cache list-nodeps
-q|query) ;;
# -q is supported for rpm users that
# have the habit to execute rpm -q... query)
;; while [ $# -gt 0 ]; do
-*) case $1 in
# The user provided e.g. -i or -l as rpm query argument -a|--all)
RPM_OPT="yes" RPM_ARG_ALL=yes
break ;;
;; -q|query)
*) # -q is supported for rpm users that
if [ -z "$QRYSTR" ]; then # have the habit to execute rpm -q...
QRYSTR=$1 ;;
else -*)
QRYSTR="$QRYSTR|$1" # The user provided e.g. -i or -l as rpm query argument
fi RPM_OPT="yes"
;; break
esac ;;
*)
shift if [ -z "$QRYSTR" ]; then
done QRYSTR=$1
else
if [ "$RPM_OPT" == "yes" ]; then QRYSTR="$QRYSTR|$1"
fi
if [ "$APT_VERBOSE" != "no" ]; then ;;
( echo "$PRGNAME dispatching: rpm -q $(echo $ARGV | esac
sed s/query//)" | tr -s " "
echo shift
) >&2 done
fi
rpm -q $(echo $ARGV | sed s/query//) if [ "$RPM_OPT" == "yes" ]; then
else
if [ "$APT_VERBOSE" != "no" ]; then
if [ "$RPM_ARG_ALL" == "yes" ]; then ( echo "$PRGNAME dispatching: rpm -q $(echo $ARGV |
sed s/query//)" | tr -s " "
if [ "$APT_VERBOSE" != "no" ]; then echo
( echo "$PRGNAME dispatching: rpm -qa | ) >&2
grep -E ${QRYSTR:-^}" | tr -s " " fi
echo rpm -q $(echo $ARGV | sed s/query//)
) >&2 else
fi
rpm -qa | grep -Ei -- ${QRYSTR:-^} | sort if [ "$RPM_ARG_ALL" == "yes" ]; then
else
if [ "$APT_VERBOSE" != "no" ]; then if [ "$APT_VERBOSE" != "no" ]; then
( echo -n "$PRGNAME dispatching: rpm -q" ( echo "$PRGNAME dispatching: rpm -qa |
echo "$(echo $ARGV | sed s/query//)" | tr -s " " grep -E ${QRYSTR:-^}" | tr -s " "
echo echo
) >&2 ) >&2
fi fi
rpm -q $(echo $ARGV | sed s/query//) rpm -qa | grep -Ei -- ${QRYSTR:-^} | sort
fi else
fi if [ "$APT_VERBOSE" != "no" ]; then
;; ( echo -n "$PRGNAME dispatching: rpm -q"
echo "$(echo $ARGV | sed s/query//)" | tr -s " "
querytags) echo
) >&2
if [ "$APT_VERBOSE" != "no" ]; then fi
( echo "$PRGNAME dispatching: rpm --querytags" rpm -q $(echo $ARGV | sed s/query//)
echo fi
) >&2 fi
fi ;;
rpm --querytags
;; querytags)
usage)
usage if [ "$APT_VERBOSE" != "no" ]; then
;; ( echo "$PRGNAME dispatching: rpm --querytags"
version) echo
echo "The version of this wrapper around the apt tools is: 0.21" ) >&2
echo fi
echo "The version of the apt tools is:" rpm --querytags
apt-cdrom -v ;;
;; usage)
esac usage
;;
version)
echo "The version of this wrapper around the apt tools is: 0.22"
echo
echo "The version of the apt tools is:"
apt-cdrom -v
;;
esac

View File

@ -1,140 +1,190 @@
.\"Generated by db2man.xsl. Don't modify this, modify the source. .\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection .de Sh \" Subsection
.br .br
.if t .Sp .if t .Sp
.ne 5 .ne 5
.PP .PP
\fB\\$1\fR \fB\\$1\fR
.PP .PP
.. ..
.de Sp \" Vertical space (when we can't use .PP) .de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v .if t .sp .5v
.if n .sp .if n .sp
.. ..
.de Ip \" List item .de Ip \" List item
.br .br
.ie \\n(.$>=3 .ne \\$3 .ie \\n(.$>=3 .ne \\$3
.el .ne 3 .el .ne 3
.IP "\\$1" \\$2 .IP "\\$1" \\$2
.. ..
.TH "APT" 1 "20 February 2004" "Linux" "" .TH "APT" 1 "21 June 2004" "Linux" ""
.SH NAME .SH NAME
apt \- Advanced Package Tool apt \- Advanced Package Tool
.SH "SYNOPSIS" .SH "SYNOPSIS"
.ad l .ad l
.hy 0 .hy 0
.HP 4 .HP 4
\fBapt\fR [\fB\fIoptions\fR\fR] [\fB\fIapt\-rpm\ options\fR\fR] [\fB\fIaction\fR\fR] [\fB\fIpackages\fR\fR] \fBapt\fR [\fB\fIoptions\fR\fR] [\fB\fIapt\-rpm\ options\fR\fR] [\fB\fIaction\fR\fR] [\fB\fIpackages\fR\fR]
.ad .ad
.hy .hy
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
Apt provides a single command line user interface for the following commands: \fB\fBapt\-get\fR\fR(8), \fB\fBapt\-cache\fR\fR(8), \fB\fBapt\-config\fR\fR(8), \fB\fBapt\-cdrom\fR\fR(8) and the \fBrpm\fR query possibilities\&. Besides the single interface it provides some additional options that are specific to apt in combination with rpm\&. Apt provides a single command line user interface for the following commands: \fB\fBapt\-get\fR\fR(8), \fB\fBapt\-cache\fR\fR(8), \fB\fBapt\-config\fR\fR(8), \fB\fBapt\-cdrom\fR\fR(8) and the \fBrpm\fR query possibilities\&. Besides the single interface it provides some additional options that are specific to apt in combination with rpm\&.
.PP .PP
Unless the \fB\-h\fR, \fB\-\-help\fR, \fB\-v\fR, or \fB\-\-version\fR option is given one of the commands mentioned in the ACTIONS section must be present\&. Unless the \fB\-h\fR, \fB\-\-help\fR, \fB\-v\fR, or \fB\-\-version\fR option is given one of the commands mentioned in the ACTIONS section must be present\&.
.PP .PP
Detailed information about each apt command and its options can be found in the man pages that belong to the dispatched apt applications\&. Detailed information about each apt command and its options can be found in the man pages that belong to the dispatched apt applications\&.
.SH "ACTIONS" .SH "ACTIONS"
.PP .PP
A full list of actions that are supported by \fBapt\fR: add, autoclean, build\-dep, check, clean, depends, dist\-upgrade, dotty, dump, dumpavail, gencaches, ident, install, list\-extras, moo, pkgnames, policy, query, querytags, rdepends\&. remove, script, search, show, showpkg, showsrc, source, stats, unmet, update, upgrade, whatdepends, xvcg\&. Actions supported by \fBapt\fR: add, autoclean, build\-dep, check, clean, depends, dist\-upgrade, dotty, dump, dumpavail, gencaches, groupinstall, groupremove, ident, install, list\-extras, list\-nodeps, moo, pkgnames, policy, query, querytags, rdepends\&. reinstall\&. remove, script, search, show, showgroup, showgroups, showpkg, showsrc, source, stats, unmet, update, upgrade, whatdepends, xvcg\&.
.TP .TP
list\-extras groupinstall
shows packages not found in any online repositories\&. These are packages downloaded or build and installed locally\&. It's useful to review that list and decide if all those packages are still needed\&. Specifically if the system is used to build packages distributed to other systems\&. It's very important to be aware of all installed non\-standard packages to avoid dependencies that cannot be satisfied from the standard repository\&. Install a group (or groups) of packages\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
.PP .TP
The functionality of the remaining actions are provided by other apt tools\&. The actions listed by their respective command: groupremove
Remove a group (or groups) of packages\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
.TP
\fBapt\-get\fR .TP
autoclean, build\-dep, check, clean, dist\-upgrade, install, moo, remove, script, source, update, upgrade\&. list\-nodeps
list all installed packages that are not required by any other installed package\&.
.TP
\fBapt\-cache\fR .TP
add, depends, dotty, dump, dumpavail, gencaches, pkgnames, policy, rdepends\&. search, show, showpkg, showsrc, stats, unmet, whatdepends, xvcg\&. list\-extras
shows packages not found in any online repositories\&. These are packages downloaded or build and installed locally\&. It's useful to review that list and decide if all those packages are still needed\&. Specifically if the system is used to build packages distributed to other systems\&. It's very important to be aware of all installed non\-standard packages to avoid dependencies that cannot be satisfied from the standard repository\&.
.TP
\fBapt\-config\fR .TP
shell, dump\&. list\-nodeps
list all installed packages that are not required by any other installed package\&.
.TP
\fBapt\-cdrom\fR .TP
add, ident\&. reinstall
installs a package again, even if the package is already installed\&.
.SH "OPTIONS"
.TP
.TP showgroup
\fB\-\-hold\fR Provide information about group (or groups)\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
puts a package on hold\&. A package on hold won't be upgraded unless overruled with the install action\&. Repeat this option if multiple packages must be kept from upgrading\&. This option uses regular expressions to find the package to be put on hold\&. E\&.g\&. in case the package "at" must be hold, it must be specified as \-\-hold ^at$, if not done like this a package like attr will be put on hold as well\&. In any case it is better to put packages on hold with the rpm::hold variable in the file \fIapt\&.conf\fR!
.TP
.TP showgroups
\fB\-\-show\-rpm\-command\fR Show available groups\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
Shows the exact rpm command to be performed, during install, upgrade or dist\-upgrade actions\&. The action itself will not be performed\&.
.PP
.TP The functionality of the remaining actions are provided by other apt tools\&. The actions listed by their respective command:
\fB\-\-sourceslist\fR
Select the sourceslist file to be used (default is \fI/etc/apt/sources\&.list\fR)\&. .TP
\fBapt\-get\fR
.TP autoclean, build\-dep, check, clean, dist\-upgrade, install, moo, remove, reinstall\&. script, source, update, upgrade\&.
\fB\-h\fR, \fB\-\-help\fR
Show a short usage summary\&. .TP
\fBapt\-cache\fR
.TP add, depends, dotty, dump, dumpavail, gencaches, pkgnames, policy, rdepends\&. search, show, showpkg, showsrc, stats, unmet, whatdepends, xvcg\&.
\fB\-v\fR, \fB\-\-version\fR
Show the program version\&. .TP
\fBapt\-config\fR
.TP shell, dump\&.
\fB\-c\fR, \fB\-\-config\-file\fR
Configuration File; Specify a configuration file to use\&. The program will read the default configuration file and then this configuration file\&. See \fB\fIapt\&.conf\fR\fR(5) for syntax information\&. .TP
\fBapt\-cdrom\fR
.TP add, ident\&.
\fB\-o\fR, \fB\-\-option\fR
Set a Configuration Option; This will set an arbitary configuration option\&. The syntax is \fB\-o Foo::Bar=bar\fR\&. .SH "OPTIONS"
.SH "RPM OPTIONS" .TP
\fB\-\-checksig\fR
.PP checks the integrity and origin of the candidate packages to be installed\&. If the check fails for 1 or more packages non of the candidate packages will be installed! In case the signature check fails use the \-\-hold argument to keep back the offending package(s) or use the \-\-no\-checksig argument to skip the package integrity check\&. More about package checking can be found in the rpm manual\&. Configuration item: RPM::GPG\-Check\&.
Options handed over to \fBrpm\fR, see rpm man page for their functionality\&.
.TP
.TP \fB\-\-hold\fR
\fB\-\-test\fR puts a package on hold\&. A package on hold won't be upgraded unless overruled with the install action\&. Repeat this option if multiple packages must be kept from upgrading\&. This option uses regular expressions to find the package to be put on hold\&. E\&.g\&. in case the package "at" must be hold, it must be specified as \-\-hold ^at$, if not done like this a package like attr will be put on hold as well\&. In any case it is better to put packages on hold with the rpm::hold variable in the file \fIapt\&.conf\fR!
\fBRpm\fR option \-\-test\&.
.TP
.TP \fB\-\-no\-checksig\fR
\fB\-\-force\-rpm\fR Do not check the integrity of the packages to be installed\&. It can be used if the integrity check fails for 1 or more packages, but the packages have been obtained from a save origin\&. Configuration item: RPM::GPG\-Check\&.
\fBRpm\fR option \-\-force\&.
.TP
.SH "ENVIRONMENT" \fB\-\-no\-postscript\fR
Do not run a postscript after packages have been upgraded, degraded, removed or installed\&. Configuration item: Scripts::Options::RunPostScript\&.
.TP
\fBAPT_VERBOSE\fR .TP
\fBapt\fR will show which application is being dispatched\&. \fB\-\-postscript\fR
Run a postscript after packages have been upgraded, degraded, removed or installed\&. The script to use is specified with configuration item: Scripts::PM::Post::\&. With this option it is possible to run for example ldconfig or a distribution specific configuration script\&. Configuration item: Scripts::Options::RunPostScript\&.
.SH "CAVEATS"
.TP
.PP \fB\-\-show\-rpm\-command\fR
There are 2 apt actions, add and dump, that are used by several apt commands\&. The action add is used by \fBapt\-cdrom\fR and \fBapt\-cache\fR\&. \fBapt\fR uses add from \fBapt\-cdrom\&.\fR The action dump is used by \fBapt\-config\fR and \fBapt\-cache\fR\&. \fBapt\fR uses dump from \fBapt\-config\fR\&. Shows the exact rpm command to be performed, during install, upgrade or dist\-upgrade actions\&. The action itself will not be performed\&.
.SH "SEE ALSO" .TP
\fB\-\-sourceslist\fR
.PP Select the sourceslist file to be used (default is \fI/etc/apt/sources\&.list\fR)\&.
\fB\fBapt\-get\fR\fR(8), \fB\fBapt\-cache\fR\fR(8), \fB\fBapt\-config\fR\fR(8), \fB\fBapt\-cdrom\fR\fR(8)
.TP
.SH "DIAGNOSTICS" \fB\-h\fR, \fB\-\-help\fR
Show a short usage summary\&.
.PP
\fBapt\fR returns zero on normal operation, decimal 100 on error\&. .TP
\fB\-v\fR, \fB\-\-version\fR
.SH "BUGS" Show the program version\&.
.PP .TP
Report bugs to <apt4rpm\-devel@lists\&.sourceforge\&.net> \fB\-c\fR, \fB\-\-config\-file\fR
Configuration File; Specify a configuration file to use\&. The program will read the default configuration file and then this configuration file\&. See \fB\fIapt\&.conf\fR\fR(5) for syntax information\&.
.SH AUTHOR
Richard Bos. .TP
\fB\-o\fR, \fB\-\-option\fR
Set a Configuration Option; This will set an arbitary configuration option\&. The syntax is \fB\-o Foo::Bar=bar\fR\&.
.SH "RPM OPTIONS"
.PP
Options handed over to \fBrpm\fR, see rpm man page for their functionality\&.
.TP
\fB\-\-test\fR
\fBRpm\fR option \-\-test\&.
.TP
\fB\-\-force\-rpm\fR
\fBRpm\fR option \-\-force\&.
.SH "FILES"
.TP
\fI/usr/share/apt/scripts\fR
APT lua scripts\&. Configuration item: Dir::Bin::scripts\&.
.SH "ENVIRONMENT"
.TP
\fBAPT_VERBOSE\fR
If APT_VERBOSE is defined \fBapt\fR will show which application is being dispatched\&.
.SH "CAVEATS"
.PP
There are 2 apt actions, add and dump, that are used by several apt commands\&. The action add is used by \fBapt\-cdrom\fR and \fBapt\-cache\fR\&. \fBapt\fR uses add from \fBapt\-cdrom\&.\fR The action dump is used by \fBapt\-config\fR and \fBapt\-cache\fR\&. \fBapt\fR uses dump from \fBapt\-config\fR\&.
.SH "SEE ALSO"
.PP
\fB\fBapt\-get\fR\fR(8), \fB\fBapt\-cache\fR\fR(8), \fB\fBapt\-config\fR\fR(8), \fB\fBapt\-cdrom\fR\fR(8), \fB\fBrpm\fR\fR(1)
.SH "DIAGNOSTICS"
.PP
\fBapt\fR returns zero on normal operation, decimal 100 on error\&.
.SH "BUGS"
.PP
Report bugs to <apt\-rpm@distro2\&.conectiva\&.com\&.br>
.SH AUTHORS
Debian apt development team, Conectiva apt\-rpm development team.

View File

@ -3,20 +3,27 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % aptent SYSTEM "apt.ent"> <!ENTITY % aptent SYSTEM "apt.ent">
%aptent; <!ENTITY rpm "<citerefentry>
<refentrytitle><command>rpm</command></refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>"
>
%aptent;
]> ]>
<refentry> <refentry>
<refentryinfo> <refentryinfo>
<author> <author>
<firstname>Richard</firstname> <surname>Debian apt development team</surname>
<surname>Bos</surname> </author>
<author>
<surname>Conectiva apt-rpm development team</surname>
</author> </author>
&apt-product; &apt-product;
<!-- The last update date --> <!-- The last update date -->
<date>20 February 2004</date> <date>24 June 2004</date>
<copyright> <copyright>
<year>2004</year> <year>2004</year>
<holder>Richard Bos</holder> <holder>Richard Bos</holder>
@ -64,7 +71,7 @@
</refsect1> </refsect1>
<refsect1><title>Actions</title> <refsect1><title>Actions</title>
<para>A full list of actions that are supported by <command>apt</command>: <para>Actions supported by <command>apt</command>:
<literal>add</literal>, <literal>add</literal>,
<literal>autoclean</literal>, <literal>autoclean</literal>,
<literal>build-dep</literal>, <literal>build-dep</literal>,
@ -76,9 +83,13 @@
<literal>dump</literal>, <literal>dump</literal>,
<literal>dumpavail</literal>, <literal>dumpavail</literal>,
<literal>gencaches</literal>, <literal>gencaches</literal>,
<literal>groupinstall</literal>,
<literal>groupnames</literal>,
<literal>groupremove</literal>,
<literal>ident</literal>, <literal>ident</literal>,
<literal>install</literal>, <literal>install</literal>,
<literal>list-extras</literal>, <literal>list-extras</literal>,
<literal>list-nodeps</literal>,
<literal>moo</literal>, <literal>moo</literal>,
<literal>pkgnames</literal>, <literal>pkgnames</literal>,
<literal>policy</literal>, <literal>policy</literal>,
@ -90,6 +101,7 @@
<literal>script</literal>, <literal>script</literal>,
<literal>search</literal>, <literal>search</literal>,
<literal>show</literal>, <literal>show</literal>,
<literal>showgroup</literal>,
<literal>showpkg</literal>, <literal>showpkg</literal>,
<literal>showsrc</literal>, <literal>showsrc</literal>,
<literal>source</literal>, <literal>source</literal>,
@ -101,6 +113,23 @@
<literal>xvcg</literal>.</para> <literal>xvcg</literal>.</para>
<variablelist> <variablelist>
<varlistentry><term><literal>groupinstall</literal></term>
<listitem><para>Install a group (or groups) of packages. Most often
those groups are defined by the distributor.
Configuration item: Scripts::Groupinstall::Backend</para></listitem>
</varlistentry>
<varlistentry><term><literal>groupremove</literal></term>
<listitem><para>Remove a group (or groups) of packages. Most often
those groups are defined by the distributor.
Configuration item: Scripts::Groupinstall::Backend</para></listitem>
</varlistentry>
<varlistentry><term><literal>list-nodeps</literal></term>
<listitem><para>list all installed packages that are not required by any other
installed package.</para></listitem>
</varlistentry>
<varlistentry><term><literal>list-extras</literal></term> <varlistentry><term><literal>list-extras</literal></term>
<listitem><para>shows packages not found in any online repositories. <listitem><para>shows packages not found in any online repositories.
These are packages downloaded or build and installed locally. It's useful These are packages downloaded or build and installed locally. It's useful
@ -110,6 +139,28 @@
packages to avoid dependencies that cannot be satisfied from the standard packages to avoid dependencies that cannot be satisfied from the standard
repository.</para></listitem> repository.</para></listitem>
</varlistentry> </varlistentry>
<varlistentry><term><literal>list-nodeps</literal></term>
<listitem><para>list all installed packages that are not required by any other
installed package.</para></listitem>
</varlistentry>
<varlistentry><term><literal>reinstall</literal></term>
<listitem><para>installs a package again, even if the package is already
installed.</para></listitem>
</varlistentry>
<varlistentry><term><literal>showgroup</literal></term>
<listitem><para>Provide information about group (or groups). Most often
those groups are defined by the distributor.
Configuration item: Scripts::Groupinstall::Backend</para></listitem>
</varlistentry>
<varlistentry><term><literal>groupnames</literal></term>
<listitem><para>Show available groups. Most often those groups are defined
by the distributor. Configuration item:
Scripts::Groupinstall::Backend</para></listitem>
</varlistentry>
</variablelist> </variablelist>
<para>The functionality of the remaining actions are provided by other <para>The functionality of the remaining actions are provided by other
@ -177,6 +228,18 @@
<refsect1><title>Options</title> <refsect1><title>Options</title>
<variablelist> <variablelist>
<varlistentry><term><option>--checksig</option></term>
<listitem><para>checks the integrity and origin of the candidate packages to
be installed. If the check fails for 1 or more packages non of the candidate
packages will be installed! In case the signature check fails use the --hold
argument to keep back the offending package(s) or use the --no-checksig argument
to skip the package integrity check. More about package checking can be
found in the rpm manual.
Configuration item: <literal>RPM::GPG-Check</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry><term><option>--hold</option></term> <varlistentry><term><option>--hold</option></term>
<listitem><para>puts a package on hold. A package on hold won't be upgraded <listitem><para>puts a package on hold. A package on hold won't be upgraded
unless overruled with the <literal>install</literal> action. Repeat this option unless overruled with the <literal>install</literal> action. Repeat this option
@ -191,6 +254,34 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry><term><option>--no-checksig</option></term>
<listitem><para>Do not check the integrity of the packages to be installed.
It can be used if the integrity check fails for 1 or more packages, but
the packages have been obtained from a save origin.
Configuration item: <literal>RPM::GPG-Check</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry><term><option>--no-postscript</option></term>
<listitem><para>Do not run a postscript after packages have been upgraded,
degraded, removed or installed.
Configuration item: <literal>Scripts::Options::RunPostScript</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry><term><option>--postscript</option></term>
<listitem><para>Run a postscript after packages have been upgraded, degraded, removed or
installed. The script to use is specified with configuration item:
<literal>Scripts::PM::Post::</literal>. With this option it is possible to run
for example <literal>ldconfig</literal> or a distribution specific configuration
script.
Configuration item: <literal>Scripts::Options::RunPostScript</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry><term><option>--show-rpm-command</option></term> <varlistentry><term><option>--show-rpm-command</option></term>
<listitem><para>Shows the exact rpm command to be performed, during <listitem><para>Shows the exact rpm command to be performed, during
<literal>install</literal>, <literal>upgrade</literal> or <literal>install</literal>, <literal>upgrade</literal> or
@ -232,11 +323,21 @@
</refsect1> </refsect1>
<refsect1><title>Files</title>
<variablelist>
<varlistentry><term><filename>/usr/share/apt/scripts</filename></term>
<listitem><para>APT lua scripts.
Configuration item: <literal>Dir::Bin::scripts</literal>.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1><title>Environment</title> <refsect1><title>Environment</title>
<variablelist> <variablelist>
<varlistentry><term><option>APT_VERBOSE</option></term> <varlistentry><term><option>APT_VERBOSE</option></term>
<listitem><para><command>apt</command> will show which application is being <listitem><para>If <literal>APT_VERBOSE</literal> is defined <command>apt</command>
dispatched.</para> will show which application is being dispatched.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
@ -254,7 +355,7 @@
</refsect1> </refsect1>
<refsect1><title>See Also</title> <refsect1><title>See Also</title>
<para>&apt-get;, &apt-cache;, &apt-config;, &apt-cdrom;</para> <para>&apt-get;, &apt-cache;, &apt-config;, &apt-cdrom;, &rpm;</para>
</refsect1> </refsect1>
<refsect1><title>Diagnostics</title> <refsect1><title>Diagnostics</title>
@ -264,7 +365,7 @@
<refsect1><title>Bugs</title> <refsect1><title>Bugs</title>
<para>Report bugs to <para>Report bugs to
<email>apt4rpm-devel@lists.sourceforge.net</email></para> <email>apt-rpm@distro2.conectiva.com.br</email></para>
</refsect1> </refsect1>
</refentry> </refentry>

View File

@ -0,0 +1,27 @@
This script checks packages for known good GPG signatures. Optionally
it can also automatically import GPG keys.
Note that rpm-4.1 or later is required for this functionality.
For the checker functionality to work you must have the following
configuration items set:
Scripts::PM::Pre:: "gpg-check.lua";
RPM::GPG-Check "true";
As a workaround for certain commercial rpm's which break when signed afterwards
you can specify packages not to be checked by adding them to
RPM::GPG::Skip-Check:: list.
A completely optional addon is the ability to automatically import GPG keys
to rpmdb when running apt.
To enable this you need the following configuration items set:
Scripts::Init:: "gpg-import.lua";
RPM::GPG-Import "true";
The importer looks for files in /etc/apt/gpg/ directory and for the keys
to be automatically be named gpg-pubkey-xxx-yyy, where xxx-yyy is the name
the key gets when it's imported into the rpmdb.
By pmatilai@welho.com
Licensed under the GPL

View File

@ -0,0 +1,6 @@
Scripts::PM::Pre:: "gpg-check.lua";
// Enable to check for GPG signatures
RPM::GPG-Check "true";
// Don't check signatures on j2re and j2sdk
// RPM::GPG::Skip-Check {"j2re"; "j2sdk";};

View File

@ -0,0 +1,90 @@
if confget("RPM::GPG-Check/b", "true") == "false" then
return
end
if table.getn(files_install) < 1 then
return
end
hash = '###########################################'
hashestotal = string.len(hash)
interactive = confget("RPM::Interactive/b", "true")
quiet = tonumber(confget("quiet", 0))
function printhash(amount, total)
percent = amount/total*100
if interactive == "true" then
nrhash = hashestotal - hashestotal / total * amount
line = string.format("%-44s[%3d%%]", string.sub(hash, nrhash), percent)
io.stdout.write(io.stdout, line)
io.stdout.flush(io.stdout)
for i = 1, string.len(line) do
io.stdout.write(io.stdout, '\b')
end
else
io.stdout.write(io.stdout, string.format("%%%% %f\n", percent))
end
end
function showerrors(i, msg)
apterror(msg)
end
good = 1
unknown = 0
illegal = 0
unsigned = 0
errors = {}
skiplist = confgetlist("RPM::GPG::Skip-Check", "")
io.stdout.write(io.stdout, string.format("%-28s", _("Checking GPG signatures...")))
if interactive == "false" then
io.stdout.write(io.stdout, '\n')
end
for i, file in ipairs(files_install) do
skipthis = false
for j, skip in ipairs(skiplist) do
start = string.find(pkgname(pkgs_install[i]), skip)
if start then
skipthis = true
aptwarning(_("Skipped GPG check on "..pkgname(pkgs_install[i])))
break
end
end
if quiet == 0 then
printhash(i, table.getn(files_install))
end
if skipthis == false then
inp = io.popen("LANG=C /bin/rpm --checksig "..file.." 2>&1")
for line in inp.lines(inp) do
if string.find(line, "gpg") then
break
elseif string.find(line, "GPG") then
table.insert(errors, _("Unknown signature "..line))
unknown = unknown + 1
good = nil
elseif string.find(line, "rpmReadSignature") then
table.insert(errors, _("Illegal signature "..line))
illegal = illegal + 1
good = nil
else
table.insert(errors, _("Unsigned "..line))
unsigned = unsigned + 1
good = nil
end
end
io.close(inp)
end
end
if interactive == "true" then
io.stdout.write(io.stdout, '\n')
end
if not good then
table.foreach(errors, showerrors)
apterror(_("Error(s) while checking package signatures:\n"..unsigned.." unsigned package(s)\n"..unknown.." package(s) with unknown signatures\n"..illegal.." package(s) with illegal/corrupted signatures"))
end
-- vim::sts=4:sw=4

View File

@ -0,0 +1,4 @@
Scripts::Init:: "gpg-import.lua";
// Enable to automatically import GPG keys in /etc/apt/gpg directory
RPM::GPG-Import "true";

View File

@ -0,0 +1,38 @@
-- don't bother if no write access to rpmdb
if not posix.access("/var/lib/rpm", "w") then
return
end
if confget("RPM::GPG-Import", "true") == "false" then
return
end
keypath = confget("Dir::Etc/f").."gpg/"
keys = posix.dir(keypath)
if not keys then
return
end
first = 1
for i, key in ipairs(keys) do
if string.sub(key, 1, 10) == "gpg-pubkey" then
ret = os.execute("LANG=C rpm -q `basename "..key.."` > /dev/null 2>&1")
if ret > 0 then
if first then
print(_("You don't seem to have one or more of the needed GPG keys in your RPM database."))
print(_("Importing them now..."))
first = nil
end
ret = os.execute("LANG=C rpm --import "..keypath..key.." > /dev/null 2>&1")
if ret > 0 then
print(_("Error importing GPG keys"))
return
end
end
end
end
-- vim:ts=4

11
apt/contrib/log/README Normal file
View File

@ -0,0 +1,11 @@
This script will log the changes being introduced by
the transaction which is going to be run, and is based
on an idea of Panu Matilainen.
This script must be plugged in the slots:
Scripts::PM::Pre
Scripts::PM::Post
Then, when some transaction is run, it will dump information
about it in /var/log/apt.log, or in the configured file.

8
apt/contrib/log/log.conf Normal file
View File

@ -0,0 +1,8 @@
APT::Log::Enable "true";
Dir::Log "/var/log";
Dir::Log::transaction "apt.log";
Scripts::PM::Pre:: "log.lua";
Scripts::PM::Post:: "log.lua";

80
apt/contrib/log/log.lua Normal file
View File

@ -0,0 +1,80 @@
-- This script will log the changes being introduced by
-- the transaction which is going to be run, and is based
-- on an idea of Panu Matilainen. It must be plugged
-- in the slots Scripts::PM::Pre/Post.
--
-- Author: Gustavo Niemeyer <niemeyer@conectiva.com>
if confget("APT::Log::Enable/b", "false") == "false" then
return
end
confset("Dir::Log", "/var/log", true)
confset("Dir::Log::transaction", "apt.log", true)
filename = confget("Dir::Log::transaction/f", "/var/log/apt.log")
if script_slot == "Scripts::PM::Pre" then
file = io.open(filename, "a+")
if not file then
print("error: can't open log file at "..filename)
return
end
local removing = {}
local installing = {}
local reinstalling = {}
local downgrading = {}
local upgrading = {}
for i, pkg in ipairs(pkglist()) do
if statkeep(pkg) then
-- Do nothing
elseif statreinstall(pkg) then
table.insert(reinstalling,
string.format("ReInstalling %s %s\n",
pkgname(pkg),
verstr(pkgvercur(pkg))))
elseif statremove(pkg) then
table.insert(removing,
string.format("Removing %s %s\n",
pkgname(pkg),
verstr(pkgvercur(pkg))))
elseif statnewinstall(pkg) then
table.insert(installing,
string.format("Installing %s %s\n",
pkgname(pkg),
verstr(pkgverinst(pkg))))
elseif statdowngrade(pkg) then
table.insert(downgrading,
string.format("Downgrading %s %s to %s\n",
pkgname(pkg),
verstr(pkgvercur(pkg)),
verstr(pkgverinst(pkg))))
elseif statupgrade(pkg) then
table.insert(upgrading,
string.format("Upgrading %s %s to %s\n",
pkgname(pkg),
verstr(pkgvercur(pkg)),
verstr(pkgverinst(pkg))))
end
end
file:write("Transaction starting at ", os.date(), "\n")
local function write(index, str)
file:write(str)
end
table.foreach(removing, write)
table.foreach(installing, write)
table.foreach(reinstalling, write)
table.foreach(downgrading, write)
table.foreach(upgrading, write)
file:close()
elseif script_slot == "Scripts::PM::Post" then
if transaction_success then
word = "succeeded"
else
word = "failed"
end
file = io.open(filename, "a+")
file:write("Transaction ", word, " at ", os.date(), "\n")
file:close()
end
-- vim:ts=4:sw=4:et

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +33,40 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/buildlib/tools.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
man5dir = $(mandir)/man5
am__installdirs = "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"
man8dir = $(mandir)/man8
NROFF = nroff
MANS = $(man_MANS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -59,6 +85,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
@ -72,6 +99,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@ GLIBC_VER = @GLIBC_VER@
@ -134,8 +163,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@ WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@ WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +176,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -165,6 +198,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -172,7 +206,6 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
STATIC_MANPAGES = \ STATIC_MANPAGES = \
apt.8 apt.8
@ -186,7 +219,6 @@ SGML_MANPAGES = \
vendors.list.5 \ vendors.list.5 \
apt_preferences.5 apt_preferences.5
EXTRA_DIST = \ EXTRA_DIST = \
$(STATIC_MANPAGES) \ $(STATIC_MANPAGES) \
$(patsubst %,%.sgml, \ $(patsubst %,%.sgml, \
@ -231,28 +263,40 @@ EXTRA_DIST = \
pt_BR/apt_preferences.pt_BR.5.sgml \ pt_BR/apt_preferences.pt_BR.5.sgml \
pt_BR/makefile pt_BR/makefile
CLEANFILES = manpage.links manpage.refs CLEANFILES = manpage.links manpage.refs
@COMPILE_MANPAGES_TRUE@man_MANS = $(STATIC_MANPAGES) $(SGML_MANPAGES) @COMPILE_MANPAGES_TRUE@man_MANS = $(STATIC_MANPAGES) $(SGML_MANPAGES)
subdir = doc
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
NROFF = nroff
MANS = $(man_MANS)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --foreign doc/Makefile $(AUTOMAKE) --foreign doc/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool: mostlyclean-libtool:
-rm -f *.lo -rm -f *.lo
@ -263,11 +307,9 @@ clean-libtool:
distclean-libtool: distclean-libtool:
-rm -f libtool -rm -f libtool
uninstall-info-am: uninstall-info-am:
man5dir = $(mandir)/man5
install-man5: $(man5_MANS) $(man_MANS) install-man5: $(man5_MANS) $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man5dir) test -z "$(man5dir)" || $(mkdir_p) "$(DESTDIR)$(man5dir)"
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \ @list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \ for i in $$l2; do \
@ -286,8 +328,8 @@ install-man5: $(man5_MANS) $(man_MANS)
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst"; \
done done
uninstall-man5: uninstall-man5:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@ -307,14 +349,12 @@ uninstall-man5:
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \ echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \
rm -f $(DESTDIR)$(man5dir)/$$inst; \ rm -f "$(DESTDIR)$(man5dir)/$$inst"; \
done done
man8dir = $(mandir)/man8
install-man8: $(man8_MANS) $(man_MANS) install-man8: $(man8_MANS) $(man_MANS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man8dir) test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)"
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \ @list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
for i in $$l2; do \ for i in $$l2; do \
@ -333,8 +373,8 @@ install-man8: $(man8_MANS) $(man_MANS)
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \
done done
uninstall-man8: uninstall-man8:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@ -354,8 +394,8 @@ uninstall-man8:
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \ echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \
rm -f $(DESTDIR)$(man8dir)/$$inst; \ rm -f "$(DESTDIR)$(man8dir)/$$inst"; \
done done
tags: TAGS tags: TAGS
TAGS: TAGS:
@ -363,13 +403,9 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
$(mkinstalldirs) $(distdir)/es $(distdir)/examples $(distdir)/fr $(distdir)/pt_BR $(mkdir_p) $(distdir)/es $(distdir)/examples $(distdir)/fr $(distdir)/pt_BR
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \ list='$(DISTFILES)'; for file in $$list; do \
@ -381,7 +417,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -399,9 +435,10 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(MANS) all-local all-am: Makefile $(MANS) all-local
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(man5dir) $(DESTDIR)$(man8dir) for dir in "$(DESTDIR)$(man5dir)" "$(DESTDIR)$(man8dir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am
@ -422,7 +459,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -439,6 +476,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -475,8 +514,8 @@ uninstall-man: uninstall-man5 uninstall-man8
.PHONY: all all-am all-local check check-am clean clean-generic \ .PHONY: all all-am all-local check check-am clean clean-generic \
clean-libtool clean-local distclean distclean-generic \ clean-libtool clean-local distclean distclean-generic \
distclean-libtool distdir dvi dvi-am info info-am install \ distclean-libtool distdir dvi dvi-am html html-am info info-am \
install-am install-data install-data-am install-exec \ install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \ install-exec-am install-info install-info-am install-man \
install-man5 install-man8 install-strip installcheck \ install-man5 install-man8 install-strip installcheck \
installcheck-am installdirs maintainer-clean \ installcheck-am installdirs maintainer-clean \

View File

@ -53,6 +53,7 @@
cache. <command/apt-cache/ does not manipulate the state of the system cache. <command/apt-cache/ does not manipulate the state of the system
but does provide operations to search and generate interesting output but does provide operations to search and generate interesting output
from the package metadata. from the package metadata.
</para>
<para> <para>
Unless the <option/-h/, or <option/--help/ option is given, one of the Unless the <option/-h/, or <option/--help/ option is given, one of the
@ -62,7 +63,7 @@
<VarListEntry><Term>add <replaceable/file(s)/</Term> <VarListEntry><Term>add <replaceable/file(s)/</Term>
<ListItem><Para> <ListItem><Para>
<literal/add/ adds the named package index files to the package cache. <literal/add/ adds the named package index files to the package cache.
This is for debugging only. This is for debugging only.</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>gencaches</Term> <VarListEntry><Term>gencaches</Term>
@ -70,6 +71,7 @@
<literal/gencaches/ performs the same operation as <literal/gencaches/ performs the same operation as
<command/apt-get check/. It builds the source and package caches from <command/apt-get check/. It builds the source and package caches from
the sources in &sources-list; and from <filename>/var/lib/dpkg/status</>. the sources in &sources-list; and from <filename>/var/lib/dpkg/status</>.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>showpkg <replaceable/pkg(s)/</Term> <VarListEntry><Term>showpkg <replaceable/pkg(s)/</Term>
@ -83,7 +85,7 @@
package in question. Thus, forward dependencies must be satisfied for a package in question. Thus, forward dependencies must be satisfied for a
package, but reverse dependencies need not be. package, but reverse dependencies need not be.
For instance, <command>apt-cache showpkg libreadline2</> would produce For instance, <command>apt-cache showpkg libreadline2</> would produce
output similar to the following: output similar to the following:</Para>
<informalexample><programlisting> <informalexample><programlisting>
Package: libreadline2 Package: libreadline2
@ -105,7 +107,7 @@ Reverse Provides:
libreadline2 is installed, libc5 and ncurses3.0 (and ldso) must also be libreadline2 is installed, libc5 and ncurses3.0 (and ldso) must also be
installed; libreadlineg2 and libreadline2-altdev do not have to be installed; libreadlineg2 and libreadline2-altdev do not have to be
installed. For the specific meaning of the remainder of the output it installed. For the specific meaning of the remainder of the output it
is best to consult the apt source code. is best to consult the apt source code.</para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>stats</Term> <VarListEntry><Term>stats</Term>
@ -116,14 +118,14 @@ Reverse Provides:
<listitem><para> <listitem><para>
<literal/Total package names/ is the number of package names found <literal/Total package names/ is the number of package names found
in the cache. in the cache.
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Normal packages/ is the number of regular, ordinary package <literal/Normal packages/ is the number of regular, ordinary package
names; these are packages that bear a one-to-one correspondence between names; these are packages that bear a one-to-one correspondence between
their names and the names used by other packages for them in their names and the names used by other packages for them in
dependencies. The majority of packages fall into this category. dependencies. The majority of packages fall into this category.
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Pure virtual packages/ is the number of packages that exist <literal/Pure virtual packages/ is the number of packages that exist
@ -132,14 +134,14 @@ Reverse Provides:
instance, "mail-transport-agent" in the Debian GNU/Linux system is a instance, "mail-transport-agent" in the Debian GNU/Linux system is a
pure virtual package; several packages provide "mail-transport-agent", pure virtual package; several packages provide "mail-transport-agent",
but there is no package named "mail-transport-agent". but there is no package named "mail-transport-agent".
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Single virtual packages/ is the number of packages with only <literal/Single virtual packages/ is the number of packages with only
one package providing a particular virtual package. For example, in the one package providing a particular virtual package. For example, in the
Debian GNU/Linux system, "X11-text-viewer" is a virtual package, but Debian GNU/Linux system, "X11-text-viewer" is a virtual package, but
only one package, xless, provides "X11-text-viewer". only one package, xless, provides "X11-text-viewer".
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Mixed virtual packages/ is the number of packages that either <literal/Mixed virtual packages/ is the number of packages that either
@ -147,7 +149,7 @@ Reverse Provides:
as the package name. For instance, in the Debian GNU/Linux system, as the package name. For instance, in the Debian GNU/Linux system,
"debconf" is both an actual package, and provided by the debconf-tiny "debconf" is both an actual package, and provided by the debconf-tiny
package. package.
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Missing/ is the number of package names that were referenced in <literal/Missing/ is the number of package names that were referenced in
@ -155,7 +157,7 @@ Reverse Provides:
be in evidence if a full distribution is not accessed, or if a package be in evidence if a full distribution is not accessed, or if a package
(real or virtual) has been dropped from the distribution. Usually they (real or virtual) has been dropped from the distribution. Usually they
are referenced from Conflicts statements. are referenced from Conflicts statements.
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Total distinct/ versions is the number of package versions <literal/Total distinct/ versions is the number of package versions
@ -163,13 +165,14 @@ Reverse Provides:
number of total package names. If more than one distribution (both number of total package names. If more than one distribution (both
"stable" and "unstable", for instance), is being accessed, this value "stable" and "unstable", for instance), is being accessed, this value
can be considerably larger than the number of total package names. can be considerably larger than the number of total package names.
</listitem> </para></listitem>
<listitem><para> <listitem><para>
<literal/Total dependencies/ is the number of dependency relationships <literal/Total dependencies/ is the number of dependency relationships
claimed by all of the packages in the cache. claimed by all of the packages in the cache.
</listitem> </para></listitem>
</itemizedlist> </itemizedlist>
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>showsrc <replaceable/pkg(s)/</Term> <VarListEntry><Term>showsrc <replaceable/pkg(s)/</Term>
@ -177,24 +180,28 @@ Reverse Provides:
<literal/showsrc/ displays all the source package records that match <literal/showsrc/ displays all the source package records that match
the given package names. All versions are shown, as well as all the given package names. All versions are shown, as well as all
records that declare the name to be a Binary. records that declare the name to be a Binary.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>dump</Term> <VarListEntry><Term>dump</Term>
<ListItem><Para> <ListItem><Para>
<literal/dump/ shows a short listing of every package in the cache. It is <literal/dump/ shows a short listing of every package in the cache. It is
primarily for debugging. primarily for debugging.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>dumpavail</Term> <VarListEntry><Term>dumpavail</Term>
<ListItem><Para> <ListItem><Para>
<literal/dumpavail/ prints out an available list to stdout. This is <literal/dumpavail/ prints out an available list to stdout. This is
suitable for use with &dpkg; and is used by the &dselect; method. suitable for use with &dpkg; and is used by the &dselect; method.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>unmet</Term> <VarListEntry><Term>unmet</Term>
<ListItem><Para> <ListItem><Para>
<literal/unmet/ displays a summary of all unmet dependencies in the <literal/unmet/ displays a summary of all unmet dependencies in the
package cache. package cache.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>show <replaceable/pkg(s)/</Term> <VarListEntry><Term>show <replaceable/pkg(s)/</Term>
@ -202,6 +209,7 @@ Reverse Provides:
<literal/show/ performs a function similar to <literal/show/ performs a function similar to
<command>dpkg --print-avail</>i; it displays the package records for the <command>dpkg --print-avail</>i; it displays the package records for the
named packages. named packages.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>search <replaceable/regex [ regex ... ]/</Term> <VarListEntry><Term>search <replaceable/regex [ regex ... ]/</Term>
@ -213,20 +221,23 @@ Reverse Provides:
then output identical to <literal/show/ is produced for each matched then output identical to <literal/show/ is produced for each matched
package, and if <option/--names-only/ is given then the long description package, and if <option/--names-only/ is given then the long description
is not searched, only the package name is. is not searched, only the package name is.
<para> </Para><Para>
Separate arguments can be used to specify multiple search patterns that Separate arguments can be used to specify multiple search patterns that
are and'ed together. are and'ed together.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>depends <replaceable/pkg(s)/</Term> <VarListEntry><Term>depends <replaceable/pkg(s)/</Term>
<ListItem><Para> <ListItem><Para>
<literal/depends/ shows a listing of each dependency a package has <literal/depends/ shows a listing of each dependency a package has
and all the possible other packages that can fulfill that dependency. and all the possible other packages that can fulfill that dependency.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>whatdepends <replaceable/pkg(s)/</Term> <VarListEntry><Term>whatdepends <replaceable/pkg(s)/</Term>
<ListItem><Para> <ListItem><Para>
<literal/whatdepends/ shows a listing of what depends on a package. <literal/whatdepends/ shows a listing of what depends on a package.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>pkgnames <replaceable/[ prefix ]/</Term> <VarListEntry><Term>pkgnames <replaceable/[ prefix ]/</Term>
@ -236,6 +247,7 @@ Reverse Provides:
for use in a shell tab complete function and the output is generated for use in a shell tab complete function and the output is generated
extremely quickly. This command is best used with the extremely quickly. This command is best used with the
<option/--generate/ option. <option/--generate/ option.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>dotty <replaceable/pkg(s)/</Term> <VarListEntry><Term>dotty <replaceable/pkg(s)/</Term>
@ -248,15 +260,15 @@ Reverse Provides:
trace out all dependent packages; this can produce a very large graph. trace out all dependent packages; this can produce a very large graph.
To limit the output to only the packages listed on the command line, To limit the output to only the packages listed on the command line,
set the <literal>APT::Cache::GivenOnly</> option. set the <literal>APT::Cache::GivenOnly</> option.
</Para><Para>
<para>
The resulting nodes will have several shapes; normal packages are boxes, The resulting nodes will have several shapes; normal packages are boxes,
pure provides are triangles, mixed provides are diamonds, pure provides are triangles, mixed provides are diamonds,
missing packages are hexagons. Orange boxes mean recursion was stopped missing packages are hexagons. Orange boxes mean recursion was stopped
[leaf packages], blue lines are pre-depends, green lines are conflicts. [leaf packages], blue lines are pre-depends, green lines are conflicts.
</Para><Para>
<para>
Caution, dotty cannot graph larger sets of packages. Caution, dotty cannot graph larger sets of packages.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>policy <replaceable/[ pkg(s) ]/</Term> <VarListEntry><Term>policy <replaceable/[ pkg(s) ]/</Term>
<ListItem><Para> <ListItem><Para>
@ -264,8 +276,10 @@ Reverse Provides:
preferences file. With no arguments it will print out the preferences file. With no arguments it will print out the
priorities of each source. Otherwise it prints out detailed information priorities of each source. Otherwise it prints out detailed information
about the priority selection of the named package. about the priority selection of the named package.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Options</> <RefSect1><Title>Options</>
@ -277,6 +291,7 @@ Reverse Provides:
Select the file to store the package cache. The package cache is the Select the file to store the package cache. The package cache is the
primary cache used by all operations. primary cache used by all operations.
Configuration Item: <literal/Dir::Cache::pkgcache/. Configuration Item: <literal/Dir::Cache::pkgcache/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-s/</><term><option/--src-cache/</> <VarListEntry><term><option/-s/</><term><option/--src-cache/</>
@ -286,6 +301,7 @@ Reverse Provides:
information from remote sources. When building the package cache the information from remote sources. When building the package cache the
source cache is used to advoid reparsing all of the package files. source cache is used to advoid reparsing all of the package files.
Configuration Item: <literal/Dir::Cache::srcpkgcache/. Configuration Item: <literal/Dir::Cache::srcpkgcache/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-q/</><term><option/--quiet/</> <VarListEntry><term><option/-q/</><term><option/--quiet/</>
@ -294,6 +310,7 @@ Reverse Provides:
More q's will produce more quietness up to a maximum of 2. You can also use More q's will produce more quietness up to a maximum of 2. You can also use
<option/-q=#/ to set the quietness level, overriding the configuration file. <option/-q=#/ to set the quietness level, overriding the configuration file.
Configuration Item: <literal/quiet/. Configuration Item: <literal/quiet/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-i/</><term><option/--important/</> <VarListEntry><term><option/-i/</><term><option/--important/</>
@ -301,12 +318,14 @@ Reverse Provides:
Print only important dependencies; for use with unmet. Causes only Depends and Print only important dependencies; for use with unmet. Causes only Depends and
Pre-Depends relations to be printed. Pre-Depends relations to be printed.
Configuration Item: <literal/APT::Cache::Important/. Configuration Item: <literal/APT::Cache::Important/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-f/</><term><option/--full/</> <VarListEntry><term><option/-f/</><term><option/--full/</>
<ListItem><Para> <ListItem><Para>
Print full package records when searching. Print full package records when searching.
Configuration Item: <literal/APT::Cache::ShowFull/. Configuration Item: <literal/APT::Cache::ShowFull/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-a/</><term><option/--all-versions/</> <VarListEntry><term><option/-a/</><term><option/--all-versions/</>
@ -317,6 +336,7 @@ Reverse Provides:
will displayed (the one which would be selected for installation). will displayed (the one which would be selected for installation).
This option is only applicable to the <literal/show/ command. This option is only applicable to the <literal/show/ command.
Configuration Item: <literal/APT::Cache::AllVersions/. Configuration Item: <literal/APT::Cache::AllVersions/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-g/</><term><option/--generate/</> <VarListEntry><term><option/-g/</><term><option/--generate/</>
@ -324,12 +344,14 @@ Reverse Provides:
Perform automatic package cache regeneration, rather than use the cache Perform automatic package cache regeneration, rather than use the cache
as it is. This is the default; to turn it off, use <option/--no-generate/. as it is. This is the default; to turn it off, use <option/--no-generate/.
Configuration Item: <literal/APT::Cache::Generate/. Configuration Item: <literal/APT::Cache::Generate/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--names-only/</><term><option/-n/</> <VarListEntry><term><option/--names-only/</><term><option/-n/</>
<ListItem><Para> <ListItem><Para>
Only search on the package names, not the long descriptions. Only search on the package names, not the long descriptions.
Configuration Item: <literal/APT::Cache::NamesOnly/. Configuration Item: <literal/APT::Cache::NamesOnly/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--all-names/</> <VarListEntry><term><option/--all-names/</>
@ -337,6 +359,7 @@ Reverse Provides:
Make <literal/pkgnames/ print all names, including virtual packages Make <literal/pkgnames/ print all names, including virtual packages
and missing dependencies. and missing dependencies.
Configuration Item: <literal/APT::Cache::AllNames/. Configuration Item: <literal/APT::Cache::AllNames/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--recurse/</> <VarListEntry><term><option/--recurse/</>
@ -344,6 +367,7 @@ Reverse Provides:
Make <literal/depends/ recursive so that all packages mentioned are Make <literal/depends/ recursive so that all packages mentioned are
printed once. printed once.
Configuration Item: <literal/APT::Cache::RecurseDepends/. Configuration Item: <literal/APT::Cache::RecurseDepends/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
&apt-commonoptions; &apt-commonoptions;
@ -357,6 +381,7 @@ Reverse Provides:
<ListItem><Para> <ListItem><Para>
Locations to fetch packages from. Locations to fetch packages from.
Configuration Item: <literal/Dir::Etc::SourceList/. Configuration Item: <literal/Dir::Etc::SourceList/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>&statedir;/lists/</></term> <VarListEntry><term><filename>&statedir;/lists/</></term>
@ -364,12 +389,14 @@ Reverse Provides:
Storage area for state information for each package resource specified in Storage area for state information for each package resource specified in
&sources-list; &sources-list;
Configuration Item: <literal/Dir::State::Lists/. Configuration Item: <literal/Dir::State::Lists/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>&statedir;/lists/partial/</></term> <VarListEntry><term><filename>&statedir;/lists/partial/</></term>
<ListItem><Para> <ListItem><Para>
Storage area for state information in transit. Storage area for state information in transit.
Configuration Item: <literal/Dir::State::Lists/ (implicit partial). Configuration Item: <literal/Dir::State::Lists/ (implicit partial).
</Para></ListItem>
</VarListEntry> </VarListEntry>
</variablelist> </variablelist>
</RefSect1> </RefSect1>
@ -377,11 +404,13 @@ Reverse Provides:
<RefSect1><Title>See Also</> <RefSect1><Title>See Also</>
<para> <para>
&apt-conf;, &sources-list;, &apt-get; &apt-conf;, &sources-list;, &apt-get;
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Diagnostics</> <RefSect1><Title>Diagnostics</>
<para> <para>
<command/apt-cache/ returns zero on normal operation, decimal 100 on error. <command/apt-cache/ returns zero on normal operation, decimal 100 on error.
</para>
</RefSect1> </RefSect1>
&manbugs; &manbugs;

View File

@ -41,12 +41,11 @@
sources. <command/apt-cdrom/ takes care of determining the structure of sources. <command/apt-cdrom/ takes care of determining the structure of
the disc as well as correcting for several possible mis-burns and the disc as well as correcting for several possible mis-burns and
verifying the index files. verifying the index files.
<para> </para><para>
It is necessary to use <command/apt-cdrom/ to add CDs to the APT system, It is necessary to use <command/apt-cdrom/ to add CDs to the APT system,
it cannot be done by hand. Furthermore each disk in a multi-cd set must be it cannot be done by hand. Furthermore each disk in a multi-cd set must be
inserted and scanned separately to account for possible mis-burns. inserted and scanned separately to account for possible mis-burns.
</para><para>
<para>
Unless the <option/-h/, or <option/--help/ option is given one of the Unless the <option/-h/, or <option/--help/ option is given one of the
commands below must be present. commands below must be present.
@ -58,19 +57,21 @@
scan it and copy the index files. If the disc does not have a proper scan it and copy the index files. If the disc does not have a proper
<filename>.disk/</> directory you will be prompted for a descriptive <filename>.disk/</> directory you will be prompted for a descriptive
title. title.
</Para><Para>
<para>
APT uses a CDROM ID to track which disc is currently in the drive and APT uses a CDROM ID to track which disc is currently in the drive and
maintains a database of these IDs in maintains a database of these IDs in
<filename>&statedir;/cdroms.list</> <filename>&statedir;/cdroms.list</>
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>ident</Term> <VarListEntry><Term>ident</Term>
<ListItem><Para> <ListItem><Para>
A debugging tool to report the identity of the current disc as well A debugging tool to report the identity of the current disc as well
as the stored file name as the stored file name
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Options</> <RefSect1><Title>Options</>
@ -82,6 +83,7 @@
Mount point; specify the location to mount the cdrom. This mount Mount point; specify the location to mount the cdrom. This mount
point must be listed in <filename>/etc/fstab</> and properly configured. point must be listed in <filename>/etc/fstab</> and properly configured.
Configuration Item: <literal/Acquire::cdrom::mount/. Configuration Item: <literal/Acquire::cdrom::mount/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-r/</><term><option/--rename/</> <VarListEntry><term><option/-r/</><term><option/--rename/</>
@ -90,6 +92,7 @@
given label. This option will cause <command/apt-cdrom/ to prompt for given label. This option will cause <command/apt-cdrom/ to prompt for
a new label. a new label.
Configuration Item: <literal/APT::CDROM::Rename/. Configuration Item: <literal/APT::CDROM::Rename/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-m/</><term><option/--no-mount/</> <VarListEntry><term><option/-m/</><term><option/--no-mount/</>
@ -97,6 +100,7 @@
No mounting; prevent <command/apt-cdrom/ from mounting and unmounting No mounting; prevent <command/apt-cdrom/ from mounting and unmounting
the mount point. the mount point.
Configuration Item: <literal/APT::CDROM::NoMount/. Configuration Item: <literal/APT::CDROM::NoMount/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-f/</><term><option/--fast/</> <VarListEntry><term><option/-f/</><term><option/--fast/</>
@ -106,6 +110,7 @@
<command/apt-cdrom/ has been run on this disc before and did not detect <command/apt-cdrom/ has been run on this disc before and did not detect
any errors. any errors.
Configuration Item: <literal/APT::CDROM::Fast/. Configuration Item: <literal/APT::CDROM::Fast/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-a/</><term><option/--thorough/</> <VarListEntry><term><option/-a/</><term><option/--thorough/</>
@ -113,6 +118,7 @@
Thorough Package Scan; This option may be needed with some old Thorough Package Scan; This option may be needed with some old
Debian 1.1/1.2 discs that have Package files in strange places. It Debian 1.1/1.2 discs that have Package files in strange places. It
takes much longer to scan the CD but will pick them all up. takes much longer to scan the CD but will pick them all up.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-n/</> <VarListEntry><term><option/-n/</>
@ -123,6 +129,7 @@
No Changes; Do not change the &sources-list; file and do not No Changes; Do not change the &sources-list; file and do not
write index files. Everything is still checked however. write index files. Everything is still checked however.
Configuration Item: <literal/APT::CDROM::NoAct/. Configuration Item: <literal/APT::CDROM::NoAct/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
&apt-commonoptions; &apt-commonoptions;
@ -133,11 +140,13 @@
<RefSect1><Title>See Also</> <RefSect1><Title>See Also</>
<para> <para>
&apt-conf;, &apt-get;, &sources-list; &apt-conf;, &apt-get;, &sources-list;
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Diagnostics</> <RefSect1><Title>Diagnostics</>
<para> <para>
<command/apt-cdrom/ returns zero on normal operation, decimal 100 on error. <command/apt-cdrom/ returns zero on normal operation, decimal 100 on error.
</para>
</RefSect1> </RefSect1>
&manbugs; &manbugs;

View File

@ -40,7 +40,7 @@
the APT suite to provide consistent configurability. It accesses the main the APT suite to provide consistent configurability. It accesses the main
configuration file <filename>/etc/apt/apt.conf</> in a manner that is configuration file <filename>/etc/apt/apt.conf</> in a manner that is
easy to use by scripted applications. easy to use by scripted applications.
<para> </para><para>
Unless the <option/-h/, or <option/--help/ option is given one of the Unless the <option/-h/, or <option/--help/ option is given one of the
commands below must be present. commands below must be present.
</para> </para>
@ -64,16 +64,17 @@ eval $RES
<para> <para>
This will set the shell environment variable $OPTS to the value of This will set the shell environment variable $OPTS to the value of
MyApp::Options with a default of <option/-f/. MyApp::Options with a default of <option/-f/.
</para><para>
<para>
The configuration item may be postfixed with a /[fdbi]. f returns file The configuration item may be postfixed with a /[fdbi]. f returns file
names, d returns directories, b returns true or false and i returns an names, d returns directories, b returns true or false and i returns an
integer. Each of the returns is normalized and verified internally. integer. Each of the returns is normalized and verified internally.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>dump</Term> <VarListEntry><Term>dump</Term>
<ListItem><Para> <ListItem><Para>
Just show the contents of the configuration space. Just show the contents of the configuration space.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
@ -92,11 +93,13 @@ eval $RES
<RefSect1><Title>See Also</> <RefSect1><Title>See Also</>
<para> <para>
&apt-conf; &apt-conf;
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Diagnostics</> <RefSect1><Title>Diagnostics</>
<para> <para>
<command/apt-config/ returns zero on normal operation, decimal 100 on error. <command/apt-config/ returns zero on normal operation, decimal 100 on error.
</para>
</RefSect1> </RefSect1>
&manbugs; &manbugs;

View File

@ -48,7 +48,7 @@
considered the user's "back-end" to other tools using the APT considered the user's "back-end" to other tools using the APT
library. Several "front-end" interfaces exist, such as dselect(8), library. Several "front-end" interfaces exist, such as dselect(8),
aptitude, synaptic, gnome-apt and wajig. aptitude, synaptic, gnome-apt and wajig.
<para> </para><para>
Unless the <option/-h/, or <option/--help/ option is given, one of the Unless the <option/-h/, or <option/--help/ option is given, one of the
commands below must be present. commands below must be present.
@ -64,6 +64,7 @@
performed before an <literal/upgrade/ or <literal/dist-upgrade/. Please performed before an <literal/upgrade/ or <literal/dist-upgrade/. Please
be aware that the overall progress meter will be incorrect as the size be aware that the overall progress meter will be incorrect as the size
of the package files cannot be known in advance. of the package files cannot be known in advance.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>upgrade</Term> <VarListEntry><Term>upgrade</Term>
@ -78,6 +79,7 @@
will be left at their current version. An <literal/update/ must be will be left at their current version. An <literal/update/ must be
performed first so that <command/apt-get/ knows that new versions of packages are performed first so that <command/apt-get/ knows that new versions of packages are
available. available.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>dselect-upgrade</Term> <VarListEntry><Term>dselect-upgrade</Term>
@ -89,6 +91,7 @@
field of available packages, and performs the actions necessary to realize field of available packages, and performs the actions necessary to realize
that state (for instance, the removal of old and the installation of new that state (for instance, the removal of old and the installation of new
packages). packages).
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>dist-upgrade</Term> <VarListEntry><Term>dist-upgrade</Term>
@ -102,6 +105,7 @@
from which to retrieve desired package files. from which to retrieve desired package files.
See also &apt-preferences; for a mechanism for See also &apt-preferences; for a mechanism for
overriding the general settings for individual packages. overriding the general settings for individual packages.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>install</Term> <VarListEntry><Term>install</Term>
@ -117,21 +121,21 @@
installed. Similarly a plus sign can be used to designate a package to installed. Similarly a plus sign can be used to designate a package to
install. These latter features may be used to override decisions made by install. These latter features may be used to override decisions made by
apt-get's conflict resolution system. apt-get's conflict resolution system.
<para> </para><para>
A specific version of a package can be selected for installation by A specific version of a package can be selected for installation by
following the package name with an equals and the version of the package following the package name with an equals and the version of the package
to select. This will cause that version to be located and selected for to select. This will cause that version to be located and selected for
install. Alternatively a specific distribution can be selected by install. Alternatively a specific distribution can be selected by
following the package name with a slash and the version of the following the package name with a slash and the version of the
distribution or the Archive name (stable, testing, unstable). distribution or the Archive name (stable, testing, unstable).
<para> </para><para>
Both of the version selection mechanisms can downgrade packages and must Both of the version selection mechanisms can downgrade packages and must
be used with care. be used with care.
<para> </para><para>
Finally, the &apt-preferences; mechanism allows you to Finally, the &apt-preferences; mechanism allows you to
create an alternative installation policy for create an alternative installation policy for
individual packages. individual packages.
<para> </para><para>
If no package matches the given expression and the expression contains one If no package matches the given expression and the expression contains one
of '.', '?' or '*' then it is assumed to be a POSIX regular expression, of '.', '?' or '*' then it is assumed to be a POSIX regular expression,
and it is applied and it is applied
@ -139,6 +143,7 @@
removed). Note that matching is done by substring so 'lo.*' matches 'how-lo' removed). Note that matching is done by substring so 'lo.*' matches 'how-lo'
and 'lowest'. If this is undesired, anchor the regular expression and 'lowest'. If this is undesired, anchor the regular expression
with a '^' or '$' character, or create a more specific regular expression. with a '^' or '$' character, or create a more specific regular expression.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>remove</Term> <VarListEntry><Term>remove</Term>
@ -147,6 +152,7 @@
removed instead of installed. If a plus sign is appended to the package removed instead of installed. If a plus sign is appended to the package
name (with no intervening space), the identified package will be name (with no intervening space), the identified package will be
installed instead of removed. installed instead of removed.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>source</Term> <VarListEntry><Term>source</Term>
@ -161,29 +167,31 @@
install. If the --compile options is specified then the package will be install. If the --compile options is specified then the package will be
compiled to a binary .deb using dpkg-buildpackage, if --download-only is compiled to a binary .deb using dpkg-buildpackage, if --download-only is
specified then the source package will not be unpacked. specified then the source package will not be unpacked.
<para> </para><para>
A specific source version can be retrieved by postfixing the source name A specific source version can be retrieved by postfixing the source name
with an equals and then the version to fetch, similar to the mechanism with an equals and then the version to fetch, similar to the mechanism
used for the package files. This enables exact matching of the source used for the package files. This enables exact matching of the source
package name and version, implicitly enabling the package name and version, implicitly enabling the
<literal/APT::Get::Only-Source/ option. <literal/APT::Get::Only-Source/ option.
</para><para>
<para>
Note that source packages are not tracked like binary packages, they Note that source packages are not tracked like binary packages, they
exist only in the current directory and are similar to downloading source exist only in the current directory and are similar to downloading source
tar balls. tar balls.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>build-dep</Term> <VarListEntry><Term>build-dep</Term>
<ListItem><Para> <ListItem><Para>
<literal/build-dep/ causes apt-get to install/remove packages in an <literal/build-dep/ causes apt-get to install/remove packages in an
attempt to satisfy the build dependencies for a source package. attempt to satisfy the build dependencies for a source package.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>check</Term> <VarListEntry><Term>check</Term>
<ListItem><Para> <ListItem><Para>
<literal/check/ is a diagnostic tool; it updates the package cache and checks <literal/check/ is a diagnostic tool; it updates the package cache and checks
for broken dependencies. for broken dependencies.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>clean</Term> <VarListEntry><Term>clean</Term>
@ -195,6 +203,7 @@
&dselect; method, <literal/clean/ is run automatically. &dselect; method, <literal/clean/ is run automatically.
Those who do not use dselect will likely want to run <literal/apt-get clean/ Those who do not use dselect will likely want to run <literal/apt-get clean/
from time to time to free up disk space. from time to time to free up disk space.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>autoclean</Term> <VarListEntry><Term>autoclean</Term>
@ -206,8 +215,10 @@
it growing out of control. The configuration option it growing out of control. The configuration option
<literal/APT::Clean-Installed/ will prevent installed packages from being <literal/APT::Clean-Installed/ will prevent installed packages from being
erased if it is set to off. erased if it is set to off.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Options</> <RefSect1><Title>Options</>
@ -218,6 +229,7 @@
<ListItem><Para> <ListItem><Para>
Download only; package files are only retrieved, not unpacked or installed. Download only; package files are only retrieved, not unpacked or installed.
Configuration Item: <literal/APT::Get::Download-Only/. Configuration Item: <literal/APT::Get::Download-Only/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-f/</><term><option/--fix-broken/</> <VarListEntry><term><option/-f/</><term><option/--fix-broken/</>
@ -233,6 +245,7 @@
the offending packages). Use of this option together with <option/-m/ may produce an the offending packages). Use of this option together with <option/-m/ may produce an
error in some situations. error in some situations.
Configuration Item: <literal/APT::Get::Fix-Broken/. Configuration Item: <literal/APT::Get::Fix-Broken/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-m/</><term><option/--ignore-missing/</> <VarListEntry><term><option/-m/</><term><option/--ignore-missing/</>
@ -246,6 +259,7 @@
command line) and it could not be downloaded then it will be silently command line) and it could not be downloaded then it will be silently
held back. held back.
Configuration Item: <literal/APT::Get::Fix-Missing/. Configuration Item: <literal/APT::Get::Fix-Missing/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--no-download/</> <VarListEntry><term><option/--no-download/</>
@ -254,6 +268,7 @@
<option/--ignore-missing/ to force APT to use only the .debs it has <option/--ignore-missing/ to force APT to use only the .debs it has
already downloaded. already downloaded.
Configuration Item: <literal/APT::Get::Download/. Configuration Item: <literal/APT::Get::Download/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-q/</><term><option/--quiet/</> <VarListEntry><term><option/-q/</><term><option/--quiet/</>
@ -265,6 +280,7 @@
without a no-action modifier such as -d, --print-uris or -s as APT may without a no-action modifier such as -d, --print-uris or -s as APT may
decided to do something you did not expect. decided to do something you did not expect.
Configuration Item: <literal/quiet/. Configuration Item: <literal/quiet/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-s/</> <VarListEntry><term><option/-s/</>
@ -277,12 +293,13 @@
No action; perform a simulation of events that would occur but do not No action; perform a simulation of events that would occur but do not
actually change the system. actually change the system.
Configuration Item: <literal/APT::Get::Simulate/. Configuration Item: <literal/APT::Get::Simulate/.
<para> </para><para>
Simulate prints out Simulate prints out
a series of lines each one representing a dpkg operation, Configure (Conf), a series of lines each one representing a dpkg operation, Configure (Conf),
Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with
and empty set of square brackets meaning breaks that are of no consequence and empty set of square brackets meaning breaks that are of no consequence
(rare). (rare).
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-y/</><term><option/--yes/</> <VarListEntry><term><option/-y/</><term><option/--yes/</>
@ -293,6 +310,7 @@
package or removing an essential package occurs then <literal/apt-get/ package or removing an essential package occurs then <literal/apt-get/
will abort. will abort.
Configuration Item: <literal/APT::Get::Assume-Yes/. Configuration Item: <literal/APT::Get::Assume-Yes/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-u/</><term><option/--show-upgraded/</> <VarListEntry><term><option/-u/</><term><option/--show-upgraded/</>
@ -300,12 +318,14 @@
Show upgraded packages; Print out a list of all packages that are to be Show upgraded packages; Print out a list of all packages that are to be
upgraded. upgraded.
Configuration Item: <literal/APT::Get::Show-Upgraded/. Configuration Item: <literal/APT::Get::Show-Upgraded/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-V/</><term><option/--verbose-versions/</> <VarListEntry><term><option/-V/</><term><option/--verbose-versions/</>
<ListItem><Para> <ListItem><Para>
Show full versions for upgraded and installed packages. Show full versions for upgraded and installed packages.
Configuration Item: <literal/APT::Get::Show-Versions/. Configuration Item: <literal/APT::Get::Show-Versions/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-b/</><term><option/--compile/</> <VarListEntry><term><option/-b/</><term><option/--compile/</>
@ -313,6 +333,7 @@
<ListItem><Para> <ListItem><Para>
Compile source packages after downloading them. Compile source packages after downloading them.
Configuration Item: <literal/APT::Get::Compile/. Configuration Item: <literal/APT::Get::Compile/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--ignore-hold/</> <VarListEntry><term><option/--ignore-hold/</>
@ -321,6 +342,7 @@
placed on a package. This may be useful in conjunction with placed on a package. This may be useful in conjunction with
<literal/dist-upgrade/ to override a large number of undesired holds. <literal/dist-upgrade/ to override a large number of undesired holds.
Configuration Item: <literal/APT::Ignore-Hold/. Configuration Item: <literal/APT::Ignore-Hold/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--no-upgrade/</> <VarListEntry><term><option/--no-upgrade/</>
@ -329,6 +351,7 @@
<literal/no-upgrade/ will prevent packages listed from being upgraded <literal/no-upgrade/ will prevent packages listed from being upgraded
if they are already installed. if they are already installed.
Configuration Item: <literal/APT::Get::Upgrade/. Configuration Item: <literal/APT::Get::Upgrade/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--force-yes/</> <VarListEntry><term><option/--force-yes/</>
@ -338,6 +361,7 @@
should not be used except in very special situations. Using should not be used except in very special situations. Using
<literal/force-yes/ can potentially destroy your system! <literal/force-yes/ can potentially destroy your system!
Configuration Item: <literal/APT::Get::force-yes/. Configuration Item: <literal/APT::Get::force-yes/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--print-uris/</> <VarListEntry><term><option/--print-uris/</>
@ -350,6 +374,7 @@
<literal/update/ command the MD5 and size are not included, and it is <literal/update/ command the MD5 and size are not included, and it is
up to the user to decompress any compressed files. up to the user to decompress any compressed files.
Configuration Item: <literal/APT::Get::Print-URIs/. Configuration Item: <literal/APT::Get::Print-URIs/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--purge/</> <VarListEntry><term><option/--purge/</>
@ -358,12 +383,14 @@
An asterisk ("*") will be displayed next to packages which are An asterisk ("*") will be displayed next to packages which are
scheduled to be purged. scheduled to be purged.
Configuration Item: <literal/APT::Get::Purge/. Configuration Item: <literal/APT::Get::Purge/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--reinstall/</> <VarListEntry><term><option/--reinstall/</>
<ListItem><Para> <ListItem><Para>
Re-Install packages that are already installed and at the newest version. Re-Install packages that are already installed and at the newest version.
Configuration Item: <literal/APT::Get::ReInstall/. Configuration Item: <literal/APT::Get::ReInstall/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--list-cleanup/</> <VarListEntry><term><option/--list-cleanup/</>
@ -374,6 +401,7 @@
The only reason to turn it off is if you frequently change your source The only reason to turn it off is if you frequently change your source
list. list.
Configuration Item: <literal/APT::Get::List-Cleanup/. Configuration Item: <literal/APT::Get::List-Cleanup/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-t/</> <VarListEntry><term><option/-t/</>
@ -388,6 +416,7 @@
<option>-t '2.1*'</> or <option>-t unstable</>. <option>-t '2.1*'</> or <option>-t unstable</>.
Configuration Item: <literal/APT::Default-Release/; Configuration Item: <literal/APT::Default-Release/;
see also the &apt-preferences; manual page. see also the &apt-preferences; manual page.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--trivial-only/</> <VarListEntry><term><option/--trivial-only/</>
@ -396,6 +425,7 @@
related to <option/--assume-yes/, where <option/--assume-yes/ will answer related to <option/--assume-yes/, where <option/--assume-yes/ will answer
yes to any prompt, <option/--trivial-only/ will answer no. yes to any prompt, <option/--trivial-only/ will answer no.
Configuration Item: <literal/APT::Get::Trivial-Only/. Configuration Item: <literal/APT::Get::Trivial-Only/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--no-remove/</> <VarListEntry><term><option/--no-remove/</>
@ -403,6 +433,7 @@
If any packages are to be removed apt-get immediately aborts without If any packages are to be removed apt-get immediately aborts without
prompting. prompting.
Configuration Item: <literal/APT::Get::Remove/ Configuration Item: <literal/APT::Get::Remove/
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--only-source/</> <VarListEntry><term><option/--only-source/</>
@ -414,6 +445,7 @@
arguments, rather than accepting binary package names and looking arguments, rather than accepting binary package names and looking
up the corresponding source package. up the corresponding source package.
Configuration Item: <literal/APT::Get::Only-Source/ Configuration Item: <literal/APT::Get::Only-Source/
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--diff-only/</><term><option/--tar-only/</> <VarListEntry><term><option/--diff-only/</><term><option/--tar-only/</>
@ -421,12 +453,14 @@
Download only the diff or tar file of a source archive. Download only the diff or tar file of a source archive.
Configuration Item: <literal/APT::Get::Diff-Only/ and Configuration Item: <literal/APT::Get::Diff-Only/ and
<literal/APT::Get::Tar-Only/ <literal/APT::Get::Tar-Only/
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/--arch-only/</> <VarListEntry><term><option/--arch-only/</>
<ListItem><Para> <ListItem><Para>
Only process architecture-dependent build-dependencies. Only process architecture-dependent build-dependencies.
Configuration Item: <literal/APT::Get::Arch-Only/ Configuration Item: <literal/APT::Get::Arch-Only/
</Para></ListItem>
</VarListEntry> </VarListEntry>
&apt-commonoptions; &apt-commonoptions;
@ -440,18 +474,21 @@
<ListItem><Para> <ListItem><Para>
Locations to fetch packages from. Locations to fetch packages from.
Configuration Item: <literal/Dir::Etc::SourceList/. Configuration Item: <literal/Dir::Etc::SourceList/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>/etc/apt/apt.conf</></term> <VarListEntry><term><filename>/etc/apt/apt.conf</></term>
<ListItem><Para> <ListItem><Para>
APT configuration file. APT configuration file.
Configuration Item: <literal/Dir::Etc::Main/. Configuration Item: <literal/Dir::Etc::Main/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>/etc/apt/apt.conf.d/</></term> <VarListEntry><term><filename>/etc/apt/apt.conf.d/</></term>
<ListItem><Para> <ListItem><Para>
APT configuration file fragments APT configuration file fragments
Configuration Item: <literal/Dir::Etc::Parts/. Configuration Item: <literal/Dir::Etc::Parts/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>/etc/apt/preferences</></term> <VarListEntry><term><filename>/etc/apt/preferences</></term>
@ -462,18 +499,21 @@
from a separate source from a separate source
or from a different version of a distribution. or from a different version of a distribution.
Configuration Item: <literal/Dir::Etc::Preferences/. Configuration Item: <literal/Dir::Etc::Preferences/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>&cachedir;/archives/</></term> <VarListEntry><term><filename>&cachedir;/archives/</></term>
<ListItem><Para> <ListItem><Para>
Storage area for retrieved package files. Storage area for retrieved package files.
Configuration Item: <literal/Dir::Cache::Archives/. Configuration Item: <literal/Dir::Cache::Archives/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>&cachedir;/archives/partial/</></term> <VarListEntry><term><filename>&cachedir;/archives/partial/</></term>
<ListItem><Para> <ListItem><Para>
Storage area for package files in transit. Storage area for package files in transit.
Configuration Item: <literal/Dir::Cache::Archives/ (implicit partial). Configuration Item: <literal/Dir::Cache::Archives/ (implicit partial).
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>&statedir;/lists/</></term> <VarListEntry><term><filename>&statedir;/lists/</></term>
@ -481,12 +521,14 @@
Storage area for state information for each package resource specified in Storage area for state information for each package resource specified in
&sources-list; &sources-list;
Configuration Item: <literal/Dir::State::Lists/. Configuration Item: <literal/Dir::State::Lists/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><filename>&statedir;/lists/partial/</></term> <VarListEntry><term><filename>&statedir;/lists/partial/</></term>
<ListItem><Para> <ListItem><Para>
Storage area for state information in transit. Storage area for state information in transit.
Configuration Item: <literal/Dir::State::Lists/ (implicit partial). Configuration Item: <literal/Dir::State::Lists/ (implicit partial).
</Para></ListItem>
</VarListEntry> </VarListEntry>
</variablelist> </variablelist>
</RefSect1> </RefSect1>
@ -496,11 +538,13 @@
&apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;, &apt-cache;, &apt-cdrom;, &dpkg;, &dselect;, &sources-list;,
&apt-conf;, &apt-config;, &apt-conf;, &apt-config;,
The APT User's guide in &docdir;, &apt-preferences;, the APT Howto. The APT User's guide in &docdir;, &apt-preferences;, the APT Howto.
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Diagnostics</> <RefSect1><Title>Diagnostics</>
<para> <para>
<command/apt-get/ returns zero on normal operation, decimal 100 on error. <command/apt-get/ returns zero on normal operation, decimal 100 on error.
</para>
</RefSect1> </RefSect1>
&manbugs; &manbugs;

View File

@ -31,13 +31,13 @@
<literal/Dir::Etc::main/ then finally apply the <literal/Dir::Etc::main/ then finally apply the
command line options to override the configuration directives, possibly command line options to override the configuration directives, possibly
loading even more config files. loading even more config files.
<para> </para><para>
The configuration file is organized in a tree with options organized into The configuration file is organized in a tree with options organized into
functional groups. Option specification is given with a double colon functional groups. Option specification is given with a double colon
notation, for instance <literal/APT::Get::Assume-Yes/ is an option within notation, for instance <literal/APT::Get::Assume-Yes/ is an option within
the APT tool group, for the Get tool. Options do not inherit from their the APT tool group, for the Get tool. Options do not inherit from their
parent groups. parent groups.
<para> </para><para>
Syntacticly the configuration language is modeled after what the ISC tools Syntacticly the configuration language is modeled after what the ISC tools
such as bind and dhcp use. Lines starting with such as bind and dhcp use. Lines starting with
<literal>//</literal> are treated as comments (ignored). Each line is of the form <literal>//</literal> are treated as comments (ignored). Each line is of the form
@ -58,21 +58,22 @@ APT {
<informalexample><programlisting> <informalexample><programlisting>
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";}; DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
</programlisting></informalexample> </programlisting></informalexample>
<para> </para><para>
In general the sample configuration file in In general the sample configuration file in
<filename>&docdir;examples/apt.conf</> &configureindex; <filename>&docdir;examples/apt.conf</> &configureindex;
is a good guide for how it should look. is a good guide for how it should look.
<para> </para><para>
Two specials are allowed, <literal/#include/ and <literal/#clear/. Two specials are allowed, <literal/#include/ and <literal/#clear/.
<literal/#include/ will include the given file, unless the filename <literal/#include/ will include the given file, unless the filename
ends in a slash, then the whole directory is included. ends in a slash, then the whole directory is included.
<literal/#clear/ is used to erase a list of names. <literal/#clear/ is used to erase a list of names.
<para> </para><para>
All of the APT tools take a -o option which allows an arbitrary configuration All of the APT tools take a -o option which allows an arbitrary configuration
directive to be specified on the command line. The syntax is a full option directive to be specified on the command line. The syntax is a full option
name (<literal/APT::Get::Assume-Yes/ for instance) followed by an equals name (<literal/APT::Get::Assume-Yes/ for instance) followed by an equals
sign then the new value of the option. Lists can be appended too by adding sign then the new value of the option. Lists can be appended too by adding
a trailing :: to the list name. a trailing :: to the list name.
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>The APT Group</> <RefSect1><Title>The APT Group</>
@ -86,12 +87,14 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
System Architecture; sets the architecture to use when fetching files and System Architecture; sets the architecture to use when fetching files and
parsing package lists. The internal default is the architecture apt was parsing package lists. The internal default is the architecture apt was
compiled for. compiled for.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Ignore-Hold</Term> <VarListEntry><Term>Ignore-Hold</Term>
<ListItem><Para> <ListItem><Para>
Ignore Held packages; This global option causes the problem resolver to Ignore Held packages; This global option causes the problem resolver to
ignore held packages in its decision making. ignore held packages in its decision making.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Clean-Installed</Term> <VarListEntry><Term>Clean-Installed</Term>
@ -100,6 +103,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
which can no longer be downloaded from the cache. If turned off then which can no longer be downloaded from the cache. If turned off then
packages that are locally installed are also excluded from cleaning - but packages that are locally installed are also excluded from cleaning - but
note that APT provides no direct means to reinstall them. note that APT provides no direct means to reinstall them.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Immediate-Configure</Term> <VarListEntry><Term>Immediate-Configure</Term>
@ -109,6 +113,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
so may be necessary on some extremely slow single user systems but so may be necessary on some extremely slow single user systems but
is very dangerous and may cause package install scripts to fail or worse. is very dangerous and may cause package install scripts to fail or worse.
Use at your own risk. Use at your own risk.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Force-LoopBreak</Term> <VarListEntry><Term>Force-LoopBreak</Term>
@ -119,37 +124,44 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
packages. SUCH A LOOP SHOULD NEVER EXIST AND IS A GRAVE BUG. This option packages. SUCH A LOOP SHOULD NEVER EXIST AND IS A GRAVE BUG. This option
will work if the essential packages are not tar, gzip, libc, dpkg, bash or will work if the essential packages are not tar, gzip, libc, dpkg, bash or
anything that those packages depend on. anything that those packages depend on.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Cache-Limit</Term> <VarListEntry><Term>Cache-Limit</Term>
<ListItem><Para> <ListItem><Para>
APT uses a fixed size memory mapped cache file to store the 'available' APT uses a fixed size memory mapped cache file to store the 'available'
information. This sets the size of that cache. information. This sets the size of that cache.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Build-Essential</Term> <VarListEntry><Term>Build-Essential</Term>
<ListItem><Para> <ListItem><Para>
Defines which package(s) are considered essential build dependencies. Defines which package(s) are considered essential build dependencies.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Get</Term> <VarListEntry><Term>Get</Term>
<ListItem><Para> <ListItem><Para>
The Get subsection controls the &apt-get; tool, please see its The Get subsection controls the &apt-get; tool, please see its
documentation for more information about the options here. documentation for more information about the options here.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Cache</Term> <VarListEntry><Term>Cache</Term>
<ListItem><Para> <ListItem><Para>
The Cache subsection controls the &apt-cache; tool, please see its The Cache subsection controls the &apt-cache; tool, please see its
documentation for more information about the options here. documentation for more information about the options here.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>CDROM</Term> <VarListEntry><Term>CDROM</Term>
<ListItem><Para> <ListItem><Para>
The CDROM subsection controls the &apt-cdrom; tool, please see its The CDROM subsection controls the &apt-cdrom; tool, please see its
documentation for more information about the options here. documentation for more information about the options here.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>The Acquire Group</> <RefSect1><Title>The Acquire Group</>
@ -165,18 +177,21 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
connections. <literal/host/ means that one connection per target host connections. <literal/host/ means that one connection per target host
will be opened, <literal/access/ means that one connection per URI type will be opened, <literal/access/ means that one connection per URI type
will be opened. will be opened.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Retries</Term> <VarListEntry><Term>Retries</Term>
<ListItem><Para> <ListItem><Para>
Number of retries to perform. If this is non-zero APT will retry failed Number of retries to perform. If this is non-zero APT will retry failed
files the given number of times. files the given number of times.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Source-Symlinks</Term> <VarListEntry><Term>Source-Symlinks</Term>
<ListItem><Para> <ListItem><Para>
Use symlinks for source archives. If set to true then source archives will Use symlinks for source archives. If set to true then source archives will
be symlinked when possible instead of copying. True is the default be symlinked when possible instead of copying. True is the default
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>http</Term> <VarListEntry><Term>http</Term>
@ -187,7 +202,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
<literal/http::Proxy::&lt;host&gt;/ with the special keyword <literal/DIRECT/ <literal/http::Proxy::&lt;host&gt;/ with the special keyword <literal/DIRECT/
meaning to use no proxies. The <envar/http_proxy/ environment variable meaning to use no proxies. The <envar/http_proxy/ environment variable
will override all settings. will override all settings.
<para> </Para><Para>
Three settings are provided for cache control with HTTP/1.1 compliant Three settings are provided for cache control with HTTP/1.1 compliant
proxy caches. <literal/No-Cache/ tells the proxy to not use its cached proxy caches. <literal/No-Cache/ tells the proxy to not use its cached
response under any circumstances, <literal/Max-Age/ is sent only for response under any circumstances, <literal/Max-Age/ is sent only for
@ -197,10 +212,10 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
store this request, it is only set for archive files. This may be useful store this request, it is only set for archive files. This may be useful
to prevent polluting a proxy cache with very large .deb files. Note: to prevent polluting a proxy cache with very large .deb files. Note:
Squid 2.0.2 does not support any of these options. Squid 2.0.2 does not support any of these options.
<para> </Para><Para>
The option <literal/timeout/ sets the timeout timer used by the method, The option <literal/timeout/ sets the timeout timer used by the method,
this applies to all things including connection timeout and data timeout. this applies to all things including connection timeout and data timeout.
<para> </Para><Para>
One setting is provided to control the pipeline depth in cases where the One setting is provided to control the pipeline depth in cases where the
remote server is not RFC conforming or buggy (such as Squid 2.0.2) remote server is not RFC conforming or buggy (such as Squid 2.0.2)
<literal/Acquire::http::Pipeline-Depth/ can be a value from 0 to 5 <literal/Acquire::http::Pipeline-Depth/ can be a value from 0 to 5
@ -208,6 +223,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
zero MUST be specified if the remote host does not properly linger zero MUST be specified if the remote host does not properly linger
on TCP connections - otherwise data corruption will occur. Hosts which on TCP connections - otherwise data corruption will occur. Hosts which
require this are in violation of RFC 2068. require this are in violation of RFC 2068.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>ftp</Term> <VarListEntry><Term>ftp</Term>
@ -223,27 +239,28 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
<literal/$(PROXY_USER)/, <literal/$(PROXY_PASS)/, <literal/$(SITE_USER)/, <literal/$(PROXY_USER)/, <literal/$(PROXY_PASS)/, <literal/$(SITE_USER)/,
<literal/$(SITE_PASS)/, <literal/$(SITE)/, and <literal/$(SITE_PORT)/. <literal/$(SITE_PASS)/, <literal/$(SITE)/, and <literal/$(SITE_PORT)/.
Each is taken from it's respective URI component. Each is taken from it's respective URI component.
<para> </Para><Para>
The option <literal/timeout/ sets the timeout timer used by the method, The option <literal/timeout/ sets the timeout timer used by the method,
this applies to all things including connection timeout and data timeout. this applies to all things including connection timeout and data timeout.
<para> </Para><Para>
Several settings are provided to control passive mode. Generally it is Several settings are provided to control passive mode. Generally it is
safe to leave passive mode on, it works in nearly every environment. safe to leave passive mode on, it works in nearly every environment.
However some situations require that passive mode be disabled and port However some situations require that passive mode be disabled and port
mode ftp used instead. This can be done globally, for connections that mode ftp used instead. This can be done globally, for connections that
go through a proxy or for a specific host (See the sample config file go through a proxy or for a specific host (See the sample config file
for examples) for examples)
<para> </Para><Para>
It is possible to proxy FTP over HTTP by setting the <envar/ftp_proxy/ It is possible to proxy FTP over HTTP by setting the <envar/ftp_proxy/
environment variable to a http url - see the discussion of the http method environment variable to a http url - see the discussion of the http method
above for syntax. You cannot set this in the configuration file and it is above for syntax. You cannot set this in the configuration file and it is
not recommended to use FTP over HTTP due to its low efficiency. not recommended to use FTP over HTTP due to its low efficiency.
<para> </Para><Para>
The setting <literal/ForceExtended/ controls the use of RFC2428 The setting <literal/ForceExtended/ controls the use of RFC2428
<literal/EPSV/ and <literal/EPRT/ commands. The defaut is false, which means <literal/EPSV/ and <literal/EPRT/ commands. The defaut is false, which means
these commands are only used if the control connection is IPv6. Setting this these commands are only used if the control connection is IPv6. Setting this
to true forces their use even on IPv4 connections. Note that most FTP servers to true forces their use even on IPv4 connections. Note that most FTP servers
do not support RFC2428. do not support RFC2428.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>cdrom</Term> <VarListEntry><Term>cdrom</Term>
@ -256,8 +273,10 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
is to put <literallayout>"/cdrom/"::Mount "foo";</literallayout> within is to put <literallayout>"/cdrom/"::Mount "foo";</literallayout> within
the cdrom block. It is important to have the trailing slash. Unmount the cdrom block. It is important to have the trailing slash. Unmount
commands can be specified using UMount. commands can be specified using UMount.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Directories</> <RefSect1><Title>Directories</>
@ -268,7 +287,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
<literal/preferences/ is the name of the APT preferences file. <literal/preferences/ is the name of the APT preferences file.
<literal/Dir::State/ contains the default directory to prefix on all sub <literal/Dir::State/ contains the default directory to prefix on all sub
items if they do not start with <filename>/</> or <filename>./</>. items if they do not start with <filename>/</> or <filename>./</>.
<para> </para><para>
<literal/Dir::Cache/ contains locations pertaining to local cache <literal/Dir::Cache/ contains locations pertaining to local cache
information, such as the two package caches <literal/srcpkgcache/ and information, such as the two package caches <literal/srcpkgcache/ and
<literal/pkgcache/ as well as the location to place downloaded archives, <literal/pkgcache/ as well as the location to place downloaded archives,
@ -277,22 +296,23 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
save disk space. It is probably prefered to turn off the pkgcache rather save disk space. It is probably prefered to turn off the pkgcache rather
than the srcpkgcache. Like <literal/Dir::State/ the default than the srcpkgcache. Like <literal/Dir::State/ the default
directory is contained in <literal/Dir::Cache/ directory is contained in <literal/Dir::Cache/
<para> </para><para>
<literal/Dir::Etc/ contains the location of configuration files, <literal/Dir::Etc/ contains the location of configuration files,
<literal/sourcelist/ gives the location of the sourcelist and <literal/sourcelist/ gives the location of the sourcelist and
<literal/main/ is the default configuration file (setting has no effect, <literal/main/ is the default configuration file (setting has no effect,
unless it is done from the config file specified by unless it is done from the config file specified by
<envar/APT_CONFIG/). <envar/APT_CONFIG/).
<para> </para><para>
The <literal/Dir::Parts/ setting reads in all the config fragments in The <literal/Dir::Parts/ setting reads in all the config fragments in
lexical order from the directory specified. After this is done then the lexical order from the directory specified. After this is done then the
main config file is loaded. main config file is loaded.
<para> </para><para>
Binary programs are pointed to by <literal/Dir::Bin/. <literal/Dir::Bin::Methods/ Binary programs are pointed to by <literal/Dir::Bin/. <literal/Dir::Bin::Methods/
specifies the location of the method handlers and <literal/gzip/, specifies the location of the method handlers and <literal/gzip/,
<literal/dpkg/, <literal/apt-get/, <literal/dpkg-source/, <literal/dpkg/, <literal/apt-get/, <literal/dpkg-source/,
<literal/dpkg-buildpackage/ and <literal/apt-cache/ specify the location <literal/dpkg-buildpackage/ and <literal/apt-cache/ specify the location
of the respective programs. of the respective programs.
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>APT in DSelect</> <RefSect1><Title>APT in DSelect</>
@ -309,26 +329,31 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
auto removes only those packages which are no longer downloadable auto removes only those packages which are no longer downloadable
(replaced with a new version for instance). pre-auto performs this (replaced with a new version for instance). pre-auto performs this
action before downloading new packages. action before downloading new packages.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Options</Term> <VarListEntry><Term>Options</Term>
<ListItem><Para> <ListItem><Para>
The contents of this variable is passed to &apt-get; as command line The contents of this variable is passed to &apt-get; as command line
options when it is run for the install phase. options when it is run for the install phase.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>UpdateOptions</Term> <VarListEntry><Term>UpdateOptions</Term>
<ListItem><Para> <ListItem><Para>
The contents of this variable is passed to &apt-get; as command line The contents of this variable is passed to &apt-get; as command line
options when it is run for the update phase. options when it is run for the update phase.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>PromptAfterUpdate</Term> <VarListEntry><Term>PromptAfterUpdate</Term>
<ListItem><Para> <ListItem><Para>
If true the [U]pdate operation in &dselect; will always prompt to continue. If true the [U]pdate operation in &dselect; will always prompt to continue.
The default is to prompt only on error. The default is to prompt only on error.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>How APT calls dpkg</> <RefSect1><Title>How APT calls dpkg</>
@ -342,6 +367,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
This is a list of options to pass to dpkg. The options must be specified This is a list of options to pass to dpkg. The options must be specified
using the list notation and each list item is passed as a single argument using the list notation and each list item is passed as a single argument
to &dpkg;. to &dpkg;.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Pre-Invoke</Term><Term>Post-Invoke</Term> <VarListEntry><Term>Pre-Invoke</Term><Term>Post-Invoke</Term>
@ -350,6 +376,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
Like <literal/Options/ this must be specified in list notation. The Like <literal/Options/ this must be specified in list notation. The
commands are invoked in order using <filename>/bin/sh</>, should any commands are invoked in order using <filename>/bin/sh</>, should any
fail APT will abort. fail APT will abort.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Pre-Install-Pkgs</Term> <VarListEntry><Term>Pre-Install-Pkgs</Term>
@ -359,26 +386,30 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
are invoked in order using <filename>/bin/sh</>, should any fail APT are invoked in order using <filename>/bin/sh</>, should any fail APT
will abort. APT will pass to the commands on standard input the will abort. APT will pass to the commands on standard input the
filenames of all .deb files it is going to install, one per line. filenames of all .deb files it is going to install, one per line.
<para> </para><para>
Version 2 of this protocol dumps more information, including the Version 2 of this protocol dumps more information, including the
protocol version, the APT configuration space and the packages, files protocol version, the APT configuration space and the packages, files
and versions being changed. Version 2 is enabled by setting and versions being changed. Version 2 is enabled by setting
<literal/DPkg::Tools::Options::cmd::Version/ to 2. <literal/cmd/ is a <literal/DPkg::Tools::Options::cmd::Version/ to 2. <literal/cmd/ is a
command given to <literal/Pre-Install-Pkgs/. command given to <literal/Pre-Install-Pkgs/.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Run-Directory</Term> <VarListEntry><Term>Run-Directory</Term>
<ListItem><Para> <ListItem><Para>
APT chdirs to this directory before invoking dpkg, the default is APT chdirs to this directory before invoking dpkg, the default is
<filename>/</>. <filename>/</>.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Build-Options</Term> <VarListEntry><Term>Build-Options</Term>
<ListItem><Para> <ListItem><Para>
These options are passed to &dpkg-buildpackage; when compiling packages, These options are passed to &dpkg-buildpackage; when compiling packages,
the default is to disable signing and produce all binaries. the default is to disable signing and produce all binaries.
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Debug Options</> <RefSect1><Title>Debug Options</>
@ -390,6 +421,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
operations as non-root and <literal/Debug::pkgDPkgPM/ will print out the operations as non-root and <literal/Debug::pkgDPkgPM/ will print out the
command line for each dpkg invokation. <literal/Debug::IdentCdrom/ will command line for each dpkg invokation. <literal/Debug::IdentCdrom/ will
disable the inclusion of statfs data in CDROM IDs. disable the inclusion of statfs data in CDROM IDs.
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Examples</> <RefSect1><Title>Examples</>
@ -397,16 +429,19 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
&configureindex; contains a &configureindex; contains a
sample configuration file showing the default values for all possible sample configuration file showing the default values for all possible
options. options.
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Files</> <RefSect1><Title>Files</>
<para> <para>
<filename>/etc/apt/apt.conf</> <filename>/etc/apt/apt.conf</>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>See Also</> <RefSect1><Title>See Also</>
<para> <para>
&apt-cache;, &apt-config;<!-- ? reading apt.conf -->, &apt-preferences;. &apt-cache;, &apt-config;<!-- ? reading apt.conf -->, &apt-preferences;.
</para>
</RefSect1> </RefSect1>
&manbugs; &manbugs;

View File

@ -113,11 +113,13 @@
<VarListEntry><term><option/-h/</><term><option/--help/</> <VarListEntry><term><option/-h/</><term><option/--help/</>
<ListItem><Para> <ListItem><Para>
Show a short usage summary. Show a short usage summary.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-v/</><term><option/--version/</> <VarListEntry><term><option/-v/</><term><option/--version/</>
<ListItem><Para> <ListItem><Para>
Show the program version. Show the program version.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-c/</><term><option/--config-file/</> <VarListEntry><term><option/-c/</><term><option/--config-file/</>
@ -125,12 +127,14 @@
Configuration File; Specify a configuration file to use. Configuration File; Specify a configuration file to use.
The program will read the default configuration file and then this The program will read the default configuration file and then this
configuration file. See &apt-conf; for syntax information. configuration file. See &apt-conf; for syntax information.
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><term><option/-o/</><term><option/--option/</> <VarListEntry><term><option/-o/</><term><option/--option/</>
<ListItem><Para> <ListItem><Para>
Set a Configuration Option; This will set an arbitary configuration Set a Configuration Option; This will set an arbitrary configuration
option. The syntax is <option>-o Foo::Bar=bar</>. option. The syntax is <option>-o Foo::Bar=bar</>.
</Para></ListItem>
</VarListEntry> </VarListEntry>
"> ">

View File

@ -248,6 +248,7 @@ or the installed version is more recent</simpara></listitem>
<listitem><simpara>causes a version to be installed <listitem><simpara>causes a version to be installed
unless there is a version available belonging to some other unless there is a version available belonging to some other
distribution or the installed version is more recent</simpara></listitem> distribution or the installed version is more recent</simpara></listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>0 &lt; P &lt;=100</term> <term>0 &lt; P &lt;=100</term>
<listitem><simpara>causes a version to be installed <listitem><simpara>causes a version to be installed
@ -502,6 +503,7 @@ again.
<programlisting> <programlisting>
apt-get install <replaceable>package</replaceable>/testing apt-get install <replaceable>package</replaceable>/testing
</programlisting> </programlisting>
</para>
</RefSect2> </RefSect2>
<RefSect2> <RefSect2>

View File

@ -53,7 +53,7 @@
The format for a <filename/sources.list/ entry using the <literal/deb/ The format for a <filename/sources.list/ entry using the <literal/deb/
and <literal/deb-src/ types are: and <literal/deb-src/ types are:
<literallayout>deb uri distribution [component1] [component2] [...]</literallayout> <literallayout>deb uri distribution [component1] [component2] [...]</literallayout>
<para> </para><para>
The URI for the <literal/deb/ type must specify the base of the Debian The URI for the <literal/deb/ type must specify the base of the Debian
distribution, from which APT will find the information it needs. distribution, from which APT will find the information it needs.
<literal/distribution/ can specify an exact path, in which case the <literal/distribution/ can specify an exact path, in which case the
@ -61,15 +61,14 @@
slash (/). This is useful for when only a particular sub-section of the slash (/). This is useful for when only a particular sub-section of the
archive denoted by the URI is of interest. If <literal/distribution/ does archive denoted by the URI is of interest. If <literal/distribution/ does
not specify an exact path, at least one <literal/component/ must be present. not specify an exact path, at least one <literal/component/ must be present.
</> </para><para>
<para>
<literal/distribution/ may also contain a variable, <literal/$(ARCH)/, <literal/distribution/ may also contain a variable, <literal/$(ARCH)/,
which expands to the Debian architecture (i386, m68k, powerpc, ...) which expands to the Debian architecture (i386, m68k, powerpc, ...)
used on the system. This permits architecture-independent used on the system. This permits architecture-independent
<filename/sources.list/ files to be used. In general this is only of <filename/sources.list/ files to be used. In general this is only of
interest when specifying an exact path, <literal/APT/ will automatically interest when specifying an exact path, <literal/APT/ will automatically
generate a URI with the current architecture otherwise.</> generate a URI with the current architecture otherwise.
<para> </para><para>
Since only one distribution can be specified per line it may be necessary Since only one distribution can be specified per line it may be necessary
to have multiple lines for the same URI, if a subset of all available to have multiple lines for the same URI, if a subset of all available
distributions or components at that location is desired. distributions or components at that location is desired.
@ -80,19 +79,19 @@
and then re-establish a connection to that same host. This feature is and then re-establish a connection to that same host. This feature is
useful for accessing busy FTP sites with limits on the number of useful for accessing busy FTP sites with limits on the number of
simultaneous anonymous users. APT also parallelizes connections to simultaneous anonymous users. APT also parallelizes connections to
different hosts to more effectively deal with sites with low bandwidth.</> different hosts to more effectively deal with sites with low bandwidth.
<para> </para><para>
It is important to list sources in order of preference, with the most It is important to list sources in order of preference, with the most
preferred source listed first. Typically this will result in sorting preferred source listed first. Typically this will result in sorting
by speed from fastest to slowest (CD-ROM followed by hosts on a local by speed from fastest to slowest (CD-ROM followed by hosts on a local
network, followed by distant Internet hosts, for example).</> network, followed by distant Internet hosts, for example).
<para> </para><para>
Some examples: Some examples:
<literallayout> <literallayout>
deb http://http.us.debian.org/debian stable main contrib non-free deb http://http.us.debian.org/debian stable main contrib non-free
deb http://http.us.debian.org/debian dists/stable-updates/ deb http://http.us.debian.org/debian dists/stable-updates/
</literallayout> </literallayout>
</> </para>
</RefSect1> </RefSect1>
<RefSect1><title>URI specification</title> <RefSect1><title>URI specification</title>

View File

@ -32,20 +32,20 @@
vendor identification string (see below) enclosed in vendor identification string (see below) enclosed in
square braces to the sources.list line for all sites that mirror square braces to the sources.list line for all sites that mirror
the repository provided by that vendor. the repository provided by that vendor.
<para> </para><para>
The format of this file is similar to the one used by The format of this file is similar to the one used by
apt.conf. It consists of an arbitrary number of blocks of apt.conf. It consists of an arbitrary number of blocks of
vendors, where each block starts with a string telling the vendors, where each block starts with a string telling the
<replaceable/key_type/ and the <replaceable/vendor_id/. <replaceable/key_type/ and the <replaceable/vendor_id/.
<para> </para><para>
Some vendors may have multiple blocks that define different Some vendors may have multiple blocks that define different
security policies for their distributions. Debian for instance security policies for their distributions. Debian for instance
uses a different signing methodology for stable and unstable releases. uses a different signing methodology for stable and unstable releases.
<para> </para><para>
<replaceable/key_type/ is the type of the check required. <replaceable/key_type/ is the type of the check required.
Currently, there is only one type available which is Currently, there is only one type available which is
<literal/simple-key/. <literal/simple-key/.
<para> </para><para>
<replaceable/vendor_id/ is the vendor identification string. It is an <replaceable/vendor_id/ is the vendor identification string. It is an
arbitrary string you must supply to uniquely identifify a arbitrary string you must supply to uniquely identifify a
vendor that's listed in this file. vendor that's listed in this file.
@ -58,7 +58,7 @@ simple-key "joe"
Name "Joe Shmoe &lt;joe@shmoe.com&gt;"; Name "Joe Shmoe &lt;joe@shmoe.com&gt;";
} }
</programlisting></informalexample> </programlisting></informalexample>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>The simple-key type</> <RefSect1><Title>The simple-key type</>
@ -75,6 +75,7 @@ simple-key "joe"
The <option/--fingerprint/ option for The <option/--fingerprint/ option for
<CiteRefEntry><RefEntryTitle><command/gpg/</RefEntryTitle><ManVolNum/1/</CiteRefEntry> <CiteRefEntry><RefEntryTitle><command/gpg/</RefEntryTitle><ManVolNum/1/</CiteRefEntry>
will show the fingerprint for the selected keys(s). will show the fingerprint for the selected keys(s).
</Para></ListItem>
</VarListEntry> </VarListEntry>
<VarListEntry><Term>Name</Term> <VarListEntry><Term>Name</Term>
@ -82,19 +83,23 @@ simple-key "joe"
A string containing a description of the owner of A string containing a description of the owner of
the key or vendor. You may put the vendor name and it's the key or vendor. You may put the vendor name and it's
email. The string must be quoted with ". email. The string must be quoted with ".
</Para></ListItem>
</VarListEntry> </VarListEntry>
</VariableList> </VariableList>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>Files</> <RefSect1><Title>Files</>
<para> <para>
<filename>/etc/apt/vendors.list</> <filename>/etc/apt/vendors.list</>
</para>
</RefSect1> </RefSect1>
<RefSect1><Title>See Also</> <RefSect1><Title>See Also</>
<para> <para>
&sources-list; &sources-list;
</para>
</RefSect1> </RefSect1>
&manbugs; &manbugs;

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +33,35 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
subdir = m4
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/buildlib/tools.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -59,6 +80,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
@ -72,6 +94,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@ GLIBC_VER = @GLIBC_VER@
@ -134,8 +158,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@ WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@ WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +171,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -165,6 +193,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -173,21 +202,38 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 progtest.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4
subdir = m4
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = $(srcdir)/Makefile.in ChangeLog Makefile.am
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --foreign m4/Makefile $(AUTOMAKE) --foreign m4/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool: mostlyclean-libtool:
-rm -f *.lo -rm -f *.lo
@ -204,10 +250,6 @@ TAGS:
ctags: CTAGS ctags: CTAGS
CTAGS: CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -221,7 +263,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -239,7 +281,6 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile all-am: Makefile
installdirs: installdirs:
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
@ -260,7 +301,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -277,6 +318,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -311,10 +354,10 @@ uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \ .PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \ distclean distclean-generic distclean-libtool distdir dvi \
dvi-am info info-am install install-am install-data \ dvi-am html html-am info info-am install install-am \
install-data-am install-exec install-exec-am install-info \ install-data install-data-am install-exec install-exec-am \
install-info-am install-man install-strip installcheck \ install-info install-info-am install-man install-strip \
installcheck-am installdirs maintainer-clean \ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \ maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am uninstall-info-am

View File

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.7.9 from Makefile.am. # Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# Free Software Foundation, Inc. # 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@SET_MAKE@ @SET_MAKE@
SOURCES = $(bzip2_SOURCES) $(cdrom_SOURCES) $(copy_SOURCES) $(file_SOURCES) $(ftp_SOURCES) $(gpg_SOURCES) $(gzip_SOURCES) $(http_SOURCES) $(rsh_SOURCES) $(ssh_SOURCES)
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .. top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +36,108 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
methods_PROGRAMS = cdrom$(EXEEXT) copy$(EXEEXT) file$(EXEEXT) \
ftp$(EXEEXT) gpg$(EXEEXT) gzip$(EXEEXT) bzip2$(EXEEXT) \
http$(EXEEXT) rsh$(EXEEXT) ssh$(EXEEXT)
subdir = methods
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/buildlib/tools.m4 \
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/inttypes-pri.m4 \
$(top_srcdir)/m4/inttypes.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/lcmessage.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(methodsdir)"
methodsPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(methods_PROGRAMS)
am__objects_1 = gzip.$(OBJEXT)
am_bzip2_OBJECTS = $(am__objects_1)
bzip2_OBJECTS = $(am_bzip2_OBJECTS)
bzip2_LDADD = $(LDADD)
bzip2_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_cdrom_OBJECTS = cdrom.$(OBJEXT)
cdrom_OBJECTS = $(am_cdrom_OBJECTS)
cdrom_LDADD = $(LDADD)
cdrom_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_copy_OBJECTS = copy.$(OBJEXT)
copy_OBJECTS = $(am_copy_OBJECTS)
copy_LDADD = $(LDADD)
copy_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_file_OBJECTS = file.$(OBJEXT)
file_OBJECTS = $(am_file_OBJECTS)
file_LDADD = $(LDADD)
file_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_ftp_OBJECTS = ftp.$(OBJEXT) rfc2553emu.$(OBJEXT) connect.$(OBJEXT)
ftp_OBJECTS = $(am_ftp_OBJECTS)
am__DEPENDENCIES_1 = ../apt-pkg/libapt-pkg.la
ftp_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_gpg_OBJECTS = gpg.$(OBJEXT)
gpg_OBJECTS = $(am_gpg_OBJECTS)
gpg_LDADD = $(LDADD)
gpg_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_gzip_OBJECTS = gzip.$(OBJEXT)
gzip_OBJECTS = $(am_gzip_OBJECTS)
gzip_LDADD = $(LDADD)
gzip_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am_http_OBJECTS = http.$(OBJEXT) rfc2553emu.$(OBJEXT) \
connect.$(OBJEXT)
http_OBJECTS = $(am_http_OBJECTS)
http_DEPENDENCIES = $(am__DEPENDENCIES_1)
am_rsh_OBJECTS = rsh.$(OBJEXT)
rsh_OBJECTS = $(am_rsh_OBJECTS)
rsh_LDADD = $(LDADD)
rsh_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
am__objects_2 = rsh.$(OBJEXT)
am_ssh_OBJECTS = $(am__objects_2)
ssh_OBJECTS = $(am_ssh_OBJECTS)
ssh_LDADD = $(LDADD)
ssh_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/buildlib/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(bzip2_SOURCES) $(cdrom_SOURCES) $(copy_SOURCES) \
$(file_SOURCES) $(ftp_SOURCES) $(gpg_SOURCES) $(gzip_SOURCES) \
$(http_SOURCES) $(rsh_SOURCES) $(ssh_SOURCES)
DIST_SOURCES = $(bzip2_SOURCES) $(cdrom_SOURCES) $(copy_SOURCES) \
$(file_SOURCES) $(ftp_SOURCES) $(gpg_SOURCES) $(gzip_SOURCES) \
$(http_SOURCES) $(rsh_SOURCES) $(ssh_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@ ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@ ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@ AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@ AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@ AUTOMAKE = @AUTOMAKE@
@ -59,6 +156,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
CXX = @CXX@ CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@ CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@ CYGPATH_W = @CYGPATH_W@
@ -72,6 +170,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@ ECHO_T = @ECHO_T@
EGREP = @EGREP@ EGREP = @EGREP@
EXEEXT = @EXEEXT@ EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@ GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@ GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@ GLIBC_VER = @GLIBC_VER@
@ -134,8 +234,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@ WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@ WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@ XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@ ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@ ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@ ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +247,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@ am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@ bindir = @bindir@
build = @build@ build = @build@
build_alias = @build_alias@ build_alias = @build_alias@
@ -165,6 +269,7 @@ libdir = @libdir@
libexecdir = @libexecdir@ libexecdir = @libexecdir@
localstatedir = @localstatedir@ localstatedir = @localstatedir@
mandir = @mandir@ mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@ oldincludedir = @oldincludedir@
prefix = @prefix@ prefix = @prefix@
program_transform_name = @program_transform_name@ program_transform_name = @program_transform_name@
@ -172,12 +277,8 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@ sysconfdir = @sysconfdir@
target_alias = @target_alias@ target_alias = @target_alias@
methodsdir = ${libdir}/apt/methods methodsdir = ${libdir}/apt/methods
methods_PROGRAMS = cdrom copy file ftp gpg gzip bzip2 http rsh ssh
LDADD = ../apt-pkg/libapt-pkg.la LDADD = ../apt-pkg/libapt-pkg.la
cdrom_SOURCES = cdrom.cc cdrom_SOURCES = cdrom.cc
copy_SOURCES = copy.cc copy_SOURCES = copy.cc
file_SOURCES = file.cc file_SOURCES = file.cc
@ -186,7 +287,6 @@ gzip_SOURCES = gzip.cc
bzip2_SOURCES = $(gzip_SOURCES) bzip2_SOURCES = $(gzip_SOURCES)
rsh_SOURCES = rsh.cc rsh.h rsh_SOURCES = rsh.cc rsh.h
ssh_SOURCES = $(rsh_SOURCES) ssh_SOURCES = $(rsh_SOURCES)
http_SOURCES = \ http_SOURCES = \
http.cc \ http.cc \
http.h \ http.h \
@ -196,7 +296,6 @@ http_SOURCES = \
connect.h connect.h
http_LDADD = $(LDADD) @SOCKETLIBS@ http_LDADD = $(LDADD) @SOCKETLIBS@
ftp_SOURCES = \ ftp_SOURCES = \
ftp.cc \ ftp.cc \
ftp.h \ ftp.h \
@ -206,117 +305,50 @@ ftp_SOURCES = \
connect.h connect.h
ftp_LDADD = $(LDADD) @SOCKETLIBS@ ftp_LDADD = $(LDADD) @SOCKETLIBS@
subdir = methods
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/buildlib/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/include/config.h
CONFIG_CLEAN_FILES =
methods_PROGRAMS = cdrom$(EXEEXT) copy$(EXEEXT) file$(EXEEXT) \
ftp$(EXEEXT) gpg$(EXEEXT) gzip$(EXEEXT) bzip2$(EXEEXT) \
http$(EXEEXT) rsh$(EXEEXT) ssh$(EXEEXT)
PROGRAMS = $(methods_PROGRAMS)
am__objects_1 = gzip.$(OBJEXT)
am_bzip2_OBJECTS = $(am__objects_1)
bzip2_OBJECTS = $(am_bzip2_OBJECTS)
bzip2_LDADD = $(LDADD)
bzip2_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
bzip2_LDFLAGS =
am_cdrom_OBJECTS = cdrom.$(OBJEXT)
cdrom_OBJECTS = $(am_cdrom_OBJECTS)
cdrom_LDADD = $(LDADD)
cdrom_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
cdrom_LDFLAGS =
am_copy_OBJECTS = copy.$(OBJEXT)
copy_OBJECTS = $(am_copy_OBJECTS)
copy_LDADD = $(LDADD)
copy_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
copy_LDFLAGS =
am_file_OBJECTS = file.$(OBJEXT)
file_OBJECTS = $(am_file_OBJECTS)
file_LDADD = $(LDADD)
file_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
file_LDFLAGS =
am_ftp_OBJECTS = ftp.$(OBJEXT) rfc2553emu.$(OBJEXT) connect.$(OBJEXT)
ftp_OBJECTS = $(am_ftp_OBJECTS)
ftp_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
ftp_LDFLAGS =
am_gpg_OBJECTS = gpg.$(OBJEXT)
gpg_OBJECTS = $(am_gpg_OBJECTS)
gpg_LDADD = $(LDADD)
gpg_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
gpg_LDFLAGS =
am_gzip_OBJECTS = gzip.$(OBJEXT)
gzip_OBJECTS = $(am_gzip_OBJECTS)
gzip_LDADD = $(LDADD)
gzip_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
gzip_LDFLAGS =
am_http_OBJECTS = http.$(OBJEXT) rfc2553emu.$(OBJEXT) connect.$(OBJEXT)
http_OBJECTS = $(am_http_OBJECTS)
http_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
http_LDFLAGS =
am_rsh_OBJECTS = rsh.$(OBJEXT)
rsh_OBJECTS = $(am_rsh_OBJECTS)
rsh_LDADD = $(LDADD)
rsh_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
rsh_LDFLAGS =
am__objects_2 = rsh.$(OBJEXT)
am_ssh_OBJECTS = $(am__objects_2)
ssh_OBJECTS = $(am_ssh_OBJECTS)
ssh_LDADD = $(LDADD)
ssh_DEPENDENCIES = ../apt-pkg/libapt-pkg.la
ssh_LDFLAGS =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/include
depcomp = $(SHELL) $(top_srcdir)/buildlib/depcomp
am__depfiles_maybe = depfiles
@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/cdrom.Po ./$(DEPDIR)/connect.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/copy.Po ./$(DEPDIR)/file.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/ftp.Po ./$(DEPDIR)/gpg.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/gzip.Po ./$(DEPDIR)/http.Po \
@AMDEP_TRUE@ ./$(DEPDIR)/rfc2553emu.Po ./$(DEPDIR)/rsh.Po
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \
$(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(bzip2_SOURCES) $(cdrom_SOURCES) $(copy_SOURCES) \
$(file_SOURCES) $(ftp_SOURCES) $(gpg_SOURCES) $(gzip_SOURCES) \
$(http_SOURCES) $(rsh_SOURCES) $(ssh_SOURCES)
DIST_COMMON = $(srcdir)/Makefile.in Makefile.am
SOURCES = $(bzip2_SOURCES) $(cdrom_SOURCES) $(copy_SOURCES) $(file_SOURCES) $(ftp_SOURCES) $(gpg_SOURCES) $(gzip_SOURCES) $(http_SOURCES) $(rsh_SOURCES) $(ssh_SOURCES)
all: all-am all: all-am
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .cc .lo .o .obj .SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign methods/Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --foreign methods/Makefile $(AUTOMAKE) --foreign methods/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status .PRECIOUS: Makefile
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
methodsPROGRAMS_INSTALL = $(INSTALL_PROGRAM) @case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-methodsPROGRAMS: $(methods_PROGRAMS) install-methodsPROGRAMS: $(methods_PROGRAMS)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(methodsdir) test -z "$(methodsdir)" || $(mkdir_p) "$(DESTDIR)$(methodsdir)"
@list='$(methods_PROGRAMS)'; for p in $$list; do \ @list='$(methods_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \ if test -f $$p \
|| test -f $$p1 \ || test -f $$p1 \
; then \ ; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(methodsPROGRAMS_INSTALL) $$p $(DESTDIR)$(methodsdir)/$$f"; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(methodsPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(methodsdir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(methodsPROGRAMS_INSTALL) $$p $(DESTDIR)$(methodsdir)/$$f || exit 1; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(methodsPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(methodsdir)/$$f" || exit 1; \
else :; fi; \ else :; fi; \
done done
@ -324,8 +356,8 @@ uninstall-methodsPROGRAMS:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(methods_PROGRAMS)'; for p in $$list; do \ @list='$(methods_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(methodsdir)/$$f"; \ echo " rm -f '$(DESTDIR)$(methodsdir)/$$f'"; \
rm -f $(DESTDIR)$(methodsdir)/$$f; \ rm -f "$(DESTDIR)$(methodsdir)/$$f"; \
done done
clean-methodsPROGRAMS: clean-methodsPROGRAMS:
@ -366,7 +398,7 @@ ssh$(EXEEXT): $(ssh_OBJECTS) $(ssh_DEPENDENCIES)
$(CXXLINK) $(ssh_LDFLAGS) $(ssh_OBJECTS) $(ssh_LDADD) $(LIBS) $(CXXLINK) $(ssh_LDFLAGS) $(ssh_OBJECTS) $(ssh_LDADD) $(LIBS)
mostlyclean-compile: mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core -rm -f *.$(OBJEXT)
distclean-compile: distclean-compile:
-rm -f *.tab.c -rm -f *.tab.c
@ -383,37 +415,28 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rsh.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rsh.Po@am__quote@
.cc.o: .cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
.cc.obj: .cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ @am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ @am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
.cc.lo: .cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ @am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ @am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ @am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
mostlyclean-libtool: mostlyclean-libtool:
-rm -f *.lo -rm -f *.lo
@ -425,14 +448,6 @@ distclean-libtool:
-rm -f libtool -rm -f libtool
uninstall-info-am: uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
@ -441,6 +456,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -452,10 +468,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ test -n "$$unique" || unique=$$empty_fix; \
$$tags $$unique $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
@ -478,10 +495,6 @@ GTAGS:
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES) distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -495,7 +508,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \ $(mkdir_p) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -513,9 +526,10 @@ distdir: $(DISTFILES)
check-am: all-am check-am: all-am
check: check-am check: check-am
all-am: Makefile $(PROGRAMS) all-am: Makefile $(PROGRAMS)
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(methodsdir) for dir in "$(DESTDIR)$(methodsdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am install: install-am
install-exec: install-exec-am install-exec: install-exec-am
install-data: install-data-am install-data: install-data-am
@ -535,7 +549,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES) -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -555,6 +569,8 @@ dvi: dvi-am
dvi-am: dvi-am:
html: html-am
info: info-am info: info-am
info-am: info-am:
@ -592,8 +608,8 @@ uninstall-am: uninstall-info-am uninstall-methodsPROGRAMS
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
clean-libtool clean-methodsPROGRAMS ctags distclean \ clean-libtool clean-methodsPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-libtool \ distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am info info-am install \ distclean-tags distdir dvi dvi-am html html-am info info-am \
install-am install-data install-data-am install-exec \ install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \ install-exec-am install-info install-info-am install-man \
install-methodsPROGRAMS install-strip installcheck \ install-methodsPROGRAMS install-strip installcheck \
installcheck-am installdirs maintainer-clean \ installcheck-am installdirs maintainer-clean \

View File

@ -39,6 +39,7 @@ class CDROMMethod : public pkgAcqMethod
virtual bool Fetch(FetchItem *Itm); virtual bool Fetch(FetchItem *Itm);
string GetID(string Name); string GetID(string Name);
virtual void Exit(); virtual void Exit();
virtual string PreferredURI();
// CNC:2002-10-18 // CNC:2002-10-18
bool Copy(string Src, string Dest); bool Copy(string Src, string Dest);
@ -53,12 +54,44 @@ class CDROMMethod : public pkgAcqMethod
/* */ /* */
CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly | CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
SendConfig | NeedsCleanup | SendConfig | NeedsCleanup |
Removable), Removable | HasPreferredURI),
DatabaseLoaded(false), DatabaseLoaded(false),
Mounted(false) Mounted(false)
{ {
}; };
/*}}}*/ /*}}}*/
// CNC:2004-04-27
// CDROMMethod::PreferredURI() - /*{{{*/
// ---------------------------------------------------------------------
/* */
string CDROMMethod::PreferredURI()
{
CDROM = _config->FindDir("Acquire::cdrom::mount","/cdrom/");
if (CDROM[0] == '.')
CDROM= SafeGetCWD() + '/' + CDROM;
string ID;
MountCdrom(CDROM);
if (IdentCdrom(CDROM,ID,2) == true) {
if (DatabaseLoaded == false)
{
string DFile = _config->FindFile("Dir::State::cdroms");
if (FileExists(DFile) == true)
{
if (ReadConfigFile(Database,DFile) == false) {
_error->Error(_("Unable to read the cdrom database %s"),
DFile.c_str());
return "";
}
}
DatabaseLoaded = true;
}
string Name = Database.Find("CD::"+ID);
if (Name.empty() == false)
return "cdrom:[" + Name + "]";
}
return "";
}
/*}}}*/
// CDROMMethod::Exit - Unmount the disc if necessary /*{{{*/ // CDROMMethod::Exit - Unmount the disc if necessary /*{{{*/
// --------------------------------------------------------------------- // ---------------------------------------------------------------------
/* */ /* */

View File

@ -246,7 +246,7 @@ char *getFileSigner(const char *file, const char *sigfile,
if (!fgets(buffer, 1024, f)) if (!fgets(buffer, 1024, f))
break; break;
if (goodsig && keyid[0]) if (goodsig && keyid[0])
continue; continue;
@ -282,17 +282,17 @@ char *getFileSigner(const char *file, const char *sigfile,
} }
else if (WEXITSTATUS(status) == 111) else if (WEXITSTATUS(status) == 111)
{ {
return "could not execute gpg to verify signature"; return "Could not execute gpg to verify signature";
} }
else else
{ {
if (badsig) if (badsig)
return "file has bad signature, it might have been corrupted or tampered."; return "File has bad signature, it might have been corrupted or tampered.";
if (!keyid[0] || !goodsig) if (!keyid[0] || !goodsig)
return "file was not signed with a known key. Check if the proper gpg key was imported to your keyring."; return "File was not signed with a known key. Check if the proper gpg key was imported to your keyring.";
return "file could not be authenticated"; return "File could not be authenticated";
} }
} }

Some files were not shown because too many files have changed in this diff Show More