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;
+ if (Cnf.FindB("APT::Ignore-dpkg",true) == true)
+ return Score;
+ return Score;
if (FileExists(Cnf.FindFile("Dir::State::status","/var/lib/dpkg/status")) == true)
Score += 10;
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 @@
apt_cache_SOURCES = apt-cache.cc
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_CPPFLAGS = -DAPT_PIPE
+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.15cnc6/cmdline/apt-shell.cc 2004-06-07 19:13:44 +0400
--- apt-0.5.15lorg2/cmdline/apt-shell.cc.orig 2006-03-17 17:56:01 +0300
+++ apt-0.5.15lorg2/cmdline/apt-shell.cc 2006-03-17 17:56:02 +0300
@@ -1285,10 +1285,24 @@
if (Cache[Pkg].CandidateVer == 0 && Pkg->ProvidesList != 0)
{
@ -36,25 +36,7 @@
continue;
}
pkgCache::VerIterator PrvPkgCandVer =
@@ -1324,13 +1340,15 @@
{
// 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 @@
@@ -4536,8 +4552,8 @@
largv[largc] = 0;
// 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
- 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);
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
--- 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
@@ -129,13 +129,13 @@ pkgPackageManager *rpmSystem::CreatePM(p
@@ -136,13 +136,13 @@
bool rpmSystem::Initialize(Configuration &Cnf)
{
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");
// Compatibility with obsoleted options
@@ -530,7 +530,7 @@ unsigned long rpmSystem::OptionsHash() c
HashOption(Hash, "RPM::Architecture");
@@ -577,7 +577,7 @@
HashOptionTree(Hash, "RPM::Allow-Duplicated");
HashOptionTree(Hash, "RPM::MultiArch");
HashOptionTree(Hash, "RPM::Ignore");
- HashOptionFile(Hash, "Dir::Etc::rpmpriorities");
+ 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
--- 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
@ -54,3 +54,27 @@ diff -upk.orig apt-0.5.15cnc6.orig/buildlib/archtable apt-0.5.15cnc6/buildlib/ar
sparc sparc
sparc64 sparc
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 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);
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))
continue;
+ PkgSection = Pkg.Section();
+ if (strlen(MatchSection) > 0 && strcmp(MatchSection,PkgSection) != 0)
+ if (!MatchSection.empty() && MatchSection != std::string(PkgSection))
+ continue;
+
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
+ {
+ c2out << Str;
+ if (strlen(MatchSection) > 0)
+ if (!MatchSection.empty())
+ cout << "\t" << status;
+ 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
--- apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc 2005-07-08 15:02:30 +0400
+++ apt-0.5.15cnc6/apt-pkg/acquire-item.cc 2005-07-08 16:14:04 +0400
@@ -476,14 +476,29 @@ void pkgAcqIndexRel::Done(string Message
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.15lorg2.orig/apt-pkg/acquire-item.cc 2006-03-20 20:30:36 +0300
+++ apt-0.5.15lorg2.vendor/apt-pkg/acquire-item.cc 2006-03-20 20:31:00 +0300
@@ -476,14 +476,29 @@
return;
}
- // Match fingerprint of Release file
- if (Repository->Vendor->FingerPrint != FingerPrint)
+ bool found = false;
+ for (vector<string>::const_iterator I = Repository->Vendor->FingerPrint.begin();
+ I != Repository->Vendor->FingerPrint.end(); I++)
+ {
+ // Match fingerprint of Release file
+ if ((*I) == FingerPrint)
+ {
+ found = true;
+ break;
+ }
+ }
+
+ if (!found)
{
Status = StatError;
- if (Repository->FingerPrint != FingerPrint)
- {
- Status = StatError;
- ErrorText = _("Signature fingerprint of Release file does not match (expected ")
- +Repository->Vendor->FingerPrint+_(", got ")+FingerPrint+")";
+ ErrorText = _("Signature fingerprint of Release file does not match (expected ");
+ for (vector<string>::const_iterator I = Repository->Vendor->FingerPrint.begin();
+ I != Repository->Vendor->FingerPrint.end(); I++)
+ ErrorText += "\n"+(*I);
+ ErrorText += _(", got ")+FingerPrint+")";
return;
}
- +Repository->FingerPrint+_(", got ")+FingerPrint+")";
- return;
- }
+ bool found = false;
+ for (vector<string>::const_iterator I = Repository->FingerPrint.begin();
+ I != Repository->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 ");
+ 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
diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc apt-0.5.15cnc6/apt-pkg/sourcelist.cc
--- apt-0.5.15cnc6.orig/apt-pkg/sourcelist.cc 2003-12-10 14:56:28 +0300
+++ apt-0.5.15cnc6/apt-pkg/sourcelist.cc 2005-07-08 17:20:32 +0400
@@ -145,7 +145,7 @@ pkgSourceList::~pkgSourceList()
diff -ur apt-0.5.15lorg2.orig/apt-pkg/repository.h apt-0.5.15lorg2.vendor/apt-pkg/repository.h
--- apt-0.5.15lorg2.orig/apt-pkg/repository.h 2006-01-17 02:10:47 +0300
+++ apt-0.5.15lorg2.vendor/apt-pkg/repository.h 2006-03-20 20:32:17 +0300
@@ -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++)
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++)
delete *I;
}
@@ -169,38 +169,54 @@ bool pkgSourceList::ReadVendors()
@@ -174,38 +174,54 @@
if (ReadConfigFile(Cnf,CnfFile,true) == 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->Description = Block.Find("Name");
+ Vendor->VendorID = Top->Tag;
+ Vendor->VendorID = Top->Tag;
+ }
+ 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)
{
_error->Error(_("Vendor block %s is invalid"), Vendor->VendorID.c_str());
@@ -208,7 +225,8 @@ bool pkgSourceList::ReadVendors()
@@ -213,7 +229,8 @@
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
@@ -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());
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++)
{
if ((*iter)->VendorID == VendorID)
diff -Naurp apt-0.5.15cnc6.orig/apt-pkg/sourcelist.h apt-0.5.15cnc6/apt-pkg/sourcelist.h
--- apt-0.5.15cnc6.orig/apt-pkg/sourcelist.h 2003-03-03 23:15:04 +0300
+++ apt-0.5.15cnc6/apt-pkg/sourcelist.h 2005-07-08 17:07:17 +0400
@@ -48,8 +48,8 @@ class pkgSourceList
diff -ur apt-0.5.15lorg2.orig/apt-pkg/sourcelist.h apt-0.5.15lorg2.vendor/apt-pkg/sourcelist.h
--- apt-0.5.15lorg2.orig/apt-pkg/sourcelist.h 2006-01-17 02:10:47 +0300
+++ apt-0.5.15lorg2.vendor/apt-pkg/sourcelist.h 2006-03-20 20:31:00 +0300
@@ -48,7 +48,7 @@
struct Vendor
{
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;
/* Lets revisit these..
bool MatchFingerPrint(string FingerPrint);
@@ -87,8 +88,8 @@ class pkgSourceList
@@ -87,8 +87,8 @@
protected:
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);
+ 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++)
+ ;
+ ;
// Check if it's a different version of a package already
// considered as a good solution.
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
--- apt-0.5.15cnc6.orig/apt-pkg/acquire-item.cc 2004-03-05 12:02:14 +0000
+++ apt-0.5.15cnc6/apt-pkg/acquire-item.cc 2004-05-16 17:12:43 +0000
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.15lorg2.orig/apt-pkg/acquire-item.cc 2006-01-16 23:10:47 +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
ErrorText = _("Size mismatch");
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);
return;
}
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/luaiface.h apt-0.5.15cnc6/apt-pkg/luaiface.h
--- apt-0.5.15cnc6.orig/apt-pkg/luaiface.h 2004-03-19 14:56:52 +0000
+++ apt-0.5.15cnc6/apt-pkg/luaiface.h 2004-05-16 17:12:45 +0000
diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/luaiface.h apt-0.5.15lorg2/apt-pkg/luaiface.h
--- apt-0.5.15lorg2.orig/apt-pkg/luaiface.h 2006-01-16 23:10:47 +0000
+++ apt-0.5.15lorg2/apt-pkg/luaiface.h 2006-04-01 17:19:39 +0000
@@ -54,8 +54,9 @@ class Lua {
void RunInteractive(const string &PlaceHint)
{ 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?
bool RunScript(const string &Script, const string &ChunkCacheKey="")
- { 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()); };
bool RunScript(const char *Script, const char *ChunkCacheKey=NULL);
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
--- apt-0.5.15cnc6.orig/apt-pkg/pkgrecords.cc 2003-11-03 21:25:47 +0000
+++ apt-0.5.15cnc6/apt-pkg/pkgrecords.cc 2004-05-16 17:12:43 +0000
diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/pkgrecords.cc apt-0.5.15lorg2/apt-pkg/pkgrecords.cc
--- apt-0.5.15lorg2.orig/apt-pkg/pkgrecords.cc 2006-01-16 23:10:47 +0000
+++ apt-0.5.15lorg2/apt-pkg/pkgrecords.cc 2006-04-01 17:19:39 +0000
@@ -56,7 +56,8 @@ pkgRecords::~pkgRecords()
{
// CNC:2002-11-28
// See comments above.
- 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++)
delete Files[I];
delete [] Files;
}
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/pkgsystem.h apt-0.5.15cnc6/apt-pkg/pkgsystem.h
--- apt-0.5.15cnc6.orig/apt-pkg/pkgsystem.h 2003-11-24 16:55:37 +0000
+++ apt-0.5.15cnc6/apt-pkg/pkgsystem.h 2004-05-16 17:12:41 +0000
diff -upk.orig apt-0.5.15lorg2.orig/apt-pkg/pkgsystem.h apt-0.5.15lorg2/apt-pkg/pkgsystem.h
--- apt-0.5.15lorg2.orig/apt-pkg/pkgsystem.h 2006-02-06 19:11:06 +0000
+++ apt-0.5.15lorg2/apt-pkg/pkgsystem.h 2006-04-01 17:19:39 +0000
@@ -90,7 +90,7 @@ class pkgSystem
// Return a list of system index files..
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,
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
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmhandler.cc 2004-03-05 11:29:09 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmhandler.cc 2004-05-16 17:12:45 +0000
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.15lorg2.orig/apt-pkg/rpm/rpmhandler.cc 2006-02-06 19:11:06 +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
{
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 Skip();
}
@@ -343,7 +343,7 @@ string RPMDirHandler::MD5Sum()
@@ -347,7 +347,7 @@ string RPMDirHandler::MD5Sum()
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
RpmIter = NULL;
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc apt-0.5.15cnc6/apt-pkg/rpm/rpmpm.cc
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmpm.cc 2004-03-15 22:10:41 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmpm.cc 2004-05-16 17:12:41 +0000
@@ -393,7 +393,7 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o
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.15lorg2.orig/apt-pkg/rpm/rpmpackagedata.cc 2006-02-06 17:21:43 +0000
+++ apt-0.5.15lorg2/apt-pkg/rpm/rpmpackagedata.cc 2006-04-01 17:22:48 +0000
@@ -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();
@ -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)
{
@@ -416,6 +416,8 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o
@@ -421,6 +421,8 @@ bool pkgRPMExtPM::ExecRPM(Item::RPMOps o
operation = "-e";
nodeps = true;
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;
@@ -657,8 +659,7 @@ pkgRPMLibPM::~pkgRPMLibPM()
@@ -662,8 +664,7 @@ pkgRPMLibPM::~pkgRPMLibPM()
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;
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;
bool Success = false;
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");
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
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmrecords.cc 2004-03-13 18:21:45 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmrecords.cc 2004-05-16 17:12:43 +0000
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.15lorg2.orig/apt-pkg/rpm/rpmrecords.cc 2006-01-16 23:10:47 +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
headerGetEntry(HeaderP, RPMTAG_ARCH, &type, (void **)&str, &count);
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("\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
--- apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.cc 2004-03-22 16:51:38 +0000
+++ apt-0.5.15cnc6/apt-pkg/rpm/rpmsystem.cc 2004-05-16 17:12:41 +0000
@@ -251,7 +251,7 @@ bool rpmSystem::AddStatusFiles(vector<pk
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-04-01 16:14:46 +0000
+++ apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.cc 2006-04-01 17:19:39 +0000
@@ -313,7 +313,7 @@ bool rpmSystem::AddStatusFiles(vector<pk
// 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;
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
diff -uprk.orig apt-0.5.15cnc6.orig/apt-pkg/rpm/rpmsystem.h apt-0.5.15cnc6/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.15cnc6/apt-pkg/rpm/rpmsystem.h 2004-05-16 17:12:41 +0000
@@ -60,7 +60,7 @@ class rpmSystem : public pkgSystem
virtual bool ArchiveSupported(const char *Type);
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.15lorg2.orig/apt-pkg/rpm/rpmsystem.h 2006-02-06 19:11:06 +0000
+++ apt-0.5.15lorg2/apt-pkg/rpm/rpmsystem.h 2006-04-01 17:19:39 +0000
@@ -61,7 +61,7 @@ class rpmSystem : public pkgSystem
virtual signed Score(Configuration const &Cnf);
virtual string DistroVer(Configuration const &Cnf);
virtual bool AddStatusFiles(vector<pkgIndexFile *> &List);
- virtual bool AddSourceFiles(vector<pkgIndexFile *> &List);
+ virtual void AddSourceFiles(vector<pkgIndexFile *> &List);
virtual bool FindIndex(pkgCache::PkgFileIterator File,
pkgIndexFile *&Found) const;
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
--- apt-0.5.15cnc6.orig/cmdline/apt-get.cc 2004-03-22 20:40:03 +0000
+++ apt-0.5.15cnc6/cmdline/apt-get.cc 2004-05-16 17:12:43 +0000
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 17:19:39 +0000
@@ -1223,7 +1223,7 @@ bool TryToInstall(pkgCache::PkgIterator
// Check if it's a different version of a package already
// 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]);
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
--- apt-0.5.15cnc6.orig/cmdline/apt-shell.cc 2004-03-15 22:10:41 +0000
+++ apt-0.5.15cnc6/cmdline/apt-shell.cc 2004-05-16 17:12:43 +0000
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 17:19:39 +0000
@@ -1292,7 +1292,7 @@ bool TryToInstall(pkgCache::PkgIterator
// Check if it's a different version of a package already
// 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;
- for (int i = 0; i != GoodSolutionNames.size(); i++)
+ for (unsigned int i = 0; i != GoodSolutionNames.size(); i++)
- for (int i = 0; i != GoodSolutions.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());
@@ -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"),
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]);
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"));
#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];
char *line, *p, *q;
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 (working copy)
@@ -135,7 +135,7 @@
if (Queue == 0)
abort();
- char S[1024] = "";
+ char S[2048] = "";
char *End = S;
End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str());
@@ -150,6 +150,10 @@
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
@@ -152,6 +152,9 @@
if (Res.ResumePoint != 0)
s << "Resume-Point: " << Res.ResumePoint << "\n";
+ if (Res.TmpFilename.size() != 0)
+ s << "Tmp-Filename: " << Res.TmpFilename << "\n";
+
s << "\n";
string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
===================================================================
--- apt-rpm.rsync/apt-pkg/acquire-method.h (revision 137)
+++ 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 $
Name: apt
Version: 0.5.15cnc6
Release: alt18
Version: 0.5.15lorg2
Release: alt3
Summary: Debian's Advanced Packaging Tool with RPM support
Summary(ru_RU.KOI8-R): Debian APT - õÓÏ×ÅÒÛÅÎÓÔ×Ï×ÁÎÎÏÅ ÓÒÅÄÓÔ×Ï ÕÐÒÁ×ÌÅÎÉÑ ÐÁËÅÔÁÍÉ Ó ÐÏÄÄÅÒÖËÏÊ RPM
@ -19,27 +19,27 @@ Source4: apt.ru.po
Source5: apt.be.po
Source6: ChangeLog-rpm.old
Patch9: apt-0.5.15cnc6-alt-aclocal-warnings.patch
Patch10: apt-0.5.15cnc5-alt-libtool.patch
Patch11: apt-0.5.15cnc6-alt-fixes.patch
Patch12: apt-0.5.15cnc5-alt-tinfo.patch
Patch13: apt-0.5.15cnc5-alt-rpm-build.patch
Patch14: apt-0.5.15cnc5-alt-distro.patch
Patch15: apt-0.5.15cnc5-alt-debsystem.patch
Patch16: apt-0.5.15cnc6-alt-defaults.patch
Patch17: apt-0.5.5cnc5-alt-rsync.patch
Patch18: apt-0.5.15cnc5-alt-getsrc.patch
Patch19: apt-0.5.15cnc6-alt-parseargs.patch
Patch20: apt-0.5.15cnc5-alt-rpm_cmd.patch
Patch21: apt-0.5.15cnc6-alt-rpm-fancypercent.patch
Patch22: apt-0.5.15cnc5-alt-methods_gpg_homedir.patch
Patch23: apt-0.5.15cnc5-alt-md5hash-debug.patch
Patch24: apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch
Patch25: apt-0.5.5cnc4.1-alt-fixpriorsort.patch
Patch26: apt-0.5.4cnc9-alt-pkgorderlist_score.patch
Patch27: apt-0.5.15cnc6-alt-virtual_scores.patch
Patch28: apt-0.5.15cnc5-alt-system-lua5.patch
Patch29: apt-0.5.15cnc5-alt-findrepos.patch
Patch9: apt-0.5.15lorg2-alt-buildlib.patch
Patch10: apt-0.5.15lorg2-alt-rpmSystem-DistroVer.patch
Patch11: apt-0.5.15lorg2-alt-fixes.patch
Patch12: apt-0.5.15cnc5-alt-libtool.patch
Patch13: apt-0.5.15lorg2-alt-readline.patch
Patch14: apt-0.5.15cnc5-alt-rpm-build.patch
Patch15: apt-0.5.15cnc5-alt-distro.patch
Patch16: apt-0.5.15cnc5-alt-debsystem.patch
Patch17: apt-0.5.15cnc6-alt-defaults.patch
Patch18: apt-0.5.5cnc5-alt-rsync.patch
Patch19: apt-0.5.15cnc5-alt-getsrc.patch
Patch20: apt-0.5.15cnc6-alt-parseargs.patch
Patch21: apt-0.5.15cnc5-alt-execrpm-cmd.patch
Patch22: apt-0.5.15cnc6-alt-rpm-fancypercent.patch
Patch23: apt-0.5.15cnc5-alt-gpg-homedir.patch
Patch24: apt-0.5.15cnc5-alt-md5hash-debug.patch
Patch25: apt-0.5.15cnc5-alt-packagemanager-CheckRConflicts.patch
Patch26: apt-0.5.5cnc4.1-alt-PrioComp.patch
Patch27: apt-0.5.4cnc9-alt-pkgorderlist-score.patch
Patch28: apt-0.5.15cnc6-alt-virtual-scores.patch
Patch29: apt-0.5.15cnc5-alt-system-lua5.patch
Patch30: apt-0.5.15cnc5-alt-gettext.patch
Patch31: apt-0.5.15cnc6-alt-rpm-order.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
Patch42: apt-0.5.15cnc6-alt-PrintLocalFile.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.
Patch101: apt-0.5.4cnc9-alt-getsrc-debug.patch
@ -72,14 +74,17 @@ BuildPreReq: docbook-utils
# lua5.
BuildPreReq: liblua5-devel
# autopoint
# for autopoint.
BuildPreReq: cvs
# for apt-pipe.
BuildPreReq: setproctitle-devel
%def_disable static
%{?_enable_static:BuildPreReq: glibc-devel-static}
# all the rest.
BuildPreReq: gcc-c++ libreadline-devel libstdc++-devel libtinfo-devel setproctitle-devel
BuildPreReq: gcc-c++ libreadline-devel
%package -n libapt
Summary: APT's core libraries
@ -249,58 +254,62 @@ This package contains method 'rsync' for APT.
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
find -type f -name \*.orig -delete -print
# Use system-wide lua5
pushd lua
# keep only local/ and lua/
%__rm -rfv include lib luac *.[ch]
rm -rfv include lib luac *.[ch]
popd
# Turn it on only if you want to see the debugging messages:
#%patch101 -p1 -b .getsrc-debug
%__install -p -m644 %SOURCE3 %SOURCE6 .
%__install -p -m644 %SOURCE4 po/ru.po
%__install -p -m644 %SOURCE5 po/be.po
install -p -m644 %SOURCE3 %SOURCE6 .
install -p -m644 %SOURCE4 po/ru.po
install -p -m644 %SOURCE5 po/be.po
%__subst 's|^\(.\+\)$|\1 be|' po/LINGUAS
%build
# Fix url.
%__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
# --disable-dependency-tracking Speeds up one-time builds
%configure --includedir=%_includedir/apt-pkg %{subst_enable static}
# Probably this obsolete now?
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' --
%make_build
%install
%__mkdir_p %buildroot%_sysconfdir/%name/{%name.conf,sources.list,vendors.list}.d
%__mkdir_p %buildroot%_libdir/%name/scripts
%__mkdir_p %buildroot%_localstatedir/%name/{lists/partial,prefetch}
%__mkdir_p %buildroot%_cachedir/%name/{archives/partial,gen{pkg,src}list}
mkdir -p %buildroot%_sysconfdir/%name/{%name.conf,sources.list,vendors.list}.d
mkdir -p %buildroot%_libdir/%name/scripts
mkdir -p %buildroot%_localstatedir/%name/{lists/partial,prefetch}
mkdir -p %buildroot%_cachedir/%name/{archives/partial,gen{pkg,src}list}
%makeinstall includedir=%buildroot%_includedir/apt-pkg
%__install -p -m755 %SOURCE2 %buildroot%_bindir/
%__install -p -m644 %SOURCE1 %buildroot%_sysconfdir/%name/
install -p -m755 %SOURCE2 %buildroot%_bindir/
install -p -m644 %SOURCE1 %buildroot%_sysconfdir/%name/
# This is still needed.
%__ln_s -f rsh %buildroot%_libdir/%name/methods/ssh
%__ln_s -f gzip %buildroot%_libdir/%name/methods/bzip2
ln -sf rsh %buildroot%_libdir/%name/methods/ssh
ln -sf gzip %buildroot%_libdir/%name/methods/bzip2
# Cleanup
find %buildroot%_includedir -type f -name rpmshowprogress.h -print -delete
%__rm -f %buildroot%_libdir/*.la
find %buildroot%_includedir -type f -name rpmshowprogress.h -delete -print
rm -f %buildroot%_libdir/*.la
%__bzip2 -9fk ChangeLog-rpm.old
bzip2 -9fk ChangeLog-rpm.old
%find_lang %name
@ -364,6 +373,15 @@ fi
# Probably %%doc with README.rsync?
%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
- 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@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +33,59 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
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@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -59,6 +104,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
@ -72,6 +118,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@
@ -134,8 +182,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +195,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@ -165,6 +217,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@ -172,11 +225,8 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = buildlib intl lua apt-pkg methods cmdline tools doc m4 po
ACLOCAL_AMFLAGS = -I m4 -I buildlib
EXTRA_DIST = \
AUTHORS.RPM \
COPYING.GPL \
@ -213,40 +263,41 @@ EXTRA_DIST = \
contrib/proxypasswd/README \
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
.SUFFIXES:
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
am--refresh:
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@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) && \
$(AUTOMAKE) --foreign Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
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
$(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)
include/config.h: include/stamp-h1
@ -255,13 +306,13 @@ include/config.h: include/stamp-h1
$(MAKE) include/stamp-h1; \
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
cd $(top_builddir) && $(SHELL) ./config.status include/config.h
$(srcdir)/./buildlib/config.h.in: @MAINTAINER_MODE_TRUE@ $(top_srcdir)/configure.in $(ACLOCAL_M4)
$(top_srcdir)/buildlib/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
touch $(srcdir)/./buildlib/config.h.in
rm -f include/stamp-h1
touch $@
distclean-hdr:
-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');
# (2) otherwise, pass the desired values on the `make' command line.
$(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; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -297,7 +354,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@ -305,7 +362,13 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-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; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -326,7 +389,7 @@ maintainer-clean-recursive:
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
@ -337,14 +400,6 @@ ctags-recursive:
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@ -353,19 +408,22 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
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; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -f $$subdir/TAGS && \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
@ -375,10 +433,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -401,24 +460,11 @@ GTAGS:
distclean-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)
$(am__remove_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'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@ -430,7 +476,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@ -445,15 +491,17 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
list='$(SUBDIRS)'; for subdir in $$list; do \
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d $(distdir)/$$subdir \
|| mkdir $(distdir)/$$subdir \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$(top_distdir)" \
distdir=../$(distdir)/$$subdir \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
@ -464,24 +512,46 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(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)
dist-bzip2: distdir
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
dist-tarZ: distdir
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)
dist dist-all: distdir
$(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(AMTAR) chof - $(distdir) | bzip2 -9 -c >$(distdir).tar.bz2
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
$(am__remove_distdir)
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
case '$(DIST_ARCHIVES)' in \
*.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)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
@ -502,19 +572,20 @@ distcheck: dist
distuninstallcheck \
&& 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" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@echo "$(distdir).tar.gz is ready for distribution" | \
sed 'h;s/./=/g;p;x;p;x'
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
@ -538,7 +609,6 @@ check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
@ -558,7 +628,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -570,13 +640,15 @@ clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \
distclean-tags
distclean-am: clean-am distclean-generic distclean-hdr \
distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
@ -613,23 +685,20 @@ uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \
clean-generic clean-libtool clean-recursive ctags \
ctags-recursive dist dist-all dist-bzip2 dist-gzip distcheck \
distclean distclean-generic distclean-hdr distclean-libtool \
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-libtool clean-recursive \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-hdr distclean-libtool \
distclean-recursive distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am dvi-recursive info info-am \
info-recursive install install-am install-data install-data-am \
install-data-recursive install-exec install-exec-am \
install-exec-recursive install-info install-info-am \
install-info-recursive install-man install-recursive \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
installdirs-am installdirs-recursive maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive mostlyclean \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \
tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-info-recursive uninstall-recursive
installdirs-am maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
tags tags-recursive uninstall uninstall-am uninstall-info-am
contrib/guess/README \
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
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)\"

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
if (Repository->Vendor->FingerPrint != FingerPrint)
if (Repository->FingerPrint != FingerPrint)
{
Status = StatError;
ErrorText = _("Signature fingerprint of Release file does not match (expected ")
+Repository->Vendor->FingerPrint+_(", got ")+FingerPrint+")";
+Repository->FingerPrint+_(", got ")+FingerPrint+")";
return;
}
}

View File

@ -26,6 +26,7 @@
#include <apt-pkg/hashes.h>
#include <iostream>
#include <sstream>
#include <stdarg.h>
#include <stdio.h>
#include <unistd.h>
@ -61,6 +62,10 @@ pkgAcqMethod::pkgAcqMethod(const char *Ver,unsigned long Flags)
if ((Flags & Removable) == Removable)
strcat(End,"Removable: true\n");
// CNC:2004-04-27
if ((Flags & HasPreferredURI) == HasPreferredURI)
strcat(End,"Has-Preferred-URI: true\n");
strcat(End,"\n");
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
@ -134,24 +139,22 @@ void pkgAcqMethod::URIStart(FetchResult &Res)
{
if (Queue == 0)
abort();
char S[1024] = "";
char *End = S;
End += snprintf(S,sizeof(S),"200 URI Start\nURI: %s\n",Queue->Uri.c_str());
ostringstream s;
s << "200 URI Start\nURI: " << Queue->Uri << "\n";
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)
End += snprintf(End,sizeof(S)-4 - (End - S),"Last-Modified: %s\n",
TimeRFC1123(Res.LastModified).c_str());
s << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n";
if (Res.ResumePoint != 0)
End += snprintf(End,sizeof(S)-4 - (End - S),"Resume-Point: %lu\n",
Res.ResumePoint);
strcat(End,"\n");
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
s << "Resume-Point: " << Res.ResumePoint << "\n";
s << "\n";
string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
exit(100);
}
/*}}}*/
@ -163,63 +166,57 @@ void pkgAcqMethod::URIDone(FetchResult &Res, FetchResult *Alt)
if (Queue == 0)
abort();
char S[1024] = "";
char *End = S;
End += snprintf(S,sizeof(S),"201 URI Done\nURI: %s\n",Queue->Uri.c_str());
ostringstream s;
s << "201 URI Done\nURI: " << Queue->Uri << "\n";
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)
End += snprintf(End,sizeof(S)-50 - (End - S),"Size: %lu\n",Res.Size);
s << "Size: " << Res.Size << "\n";
if (Res.LastModified != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Last-Modified: %s\n",
TimeRFC1123(Res.LastModified).c_str());
s << "Last-Modified: " << TimeRFC1123(Res.LastModified) << "\n";
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)
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
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)
End += snprintf(End,sizeof(S)-50 - (End - S),"Resume-Point: %lu\n",
Res.ResumePoint);
s << "Resume-Point: " << Res.ResumePoint << "\n";
if (Res.IMSHit == true)
strcat(End,"IMS-Hit: true\n");
End = S + strlen(S);
s << "IMS-Hit: true\n";
if (Alt != 0)
{
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)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Size: %lu\n",Alt->Size);
s << "Alt-Size: " << Alt->Size << "\n";
if (Alt->LastModified != 0)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-Last-Modified: %s\n",
TimeRFC1123(Alt->LastModified).c_str());
s << "Alt-Last-Modified: " << TimeRFC1123(Alt->LastModified) << "\n";
if (Alt->MD5Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-MD5-Hash: %s\n",
Alt->MD5Sum.c_str());
s << "Alt-MD5-Hash: " << Alt->MD5Sum << "\n";
if (Alt->SHA1Sum.empty() == false)
End += snprintf(End,sizeof(S)-50 - (End - S),"Alt-SHA1-Hash: %s\n",
Alt->SHA1Sum.c_str());
s << "Alt-SHA1-Hash: " << Alt->SHA1Sum << "\n";
if (Alt->IMSHit == true)
strcat(End,"Alt-IMS-Hit: true\n");
s << "Alt-IMS-Hit: true\n";
}
strcat(End,"\n");
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
s << "\n";
string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
exit(100);
// Dequeue
@ -279,6 +276,66 @@ bool pkgAcqMethod::MediaFail(string Required,string Drive)
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);
}
}
@ -390,6 +447,18 @@ int pkgAcqMethod::Run(bool Single)
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_start(args,Format);
// sprintf the description
char S[1024];
unsigned int Len = snprintf(S,sizeof(S)-4,"102 Status\nURI: %s\n"
"Message: ",CurrentURI.c_str());
ostringstream s;
s << "102 Status\nURI: " << CurrentURI << "\nMessage: ";
vsnprintf(S+Len,sizeof(S)-4-Len,Format,args);
strcat(S,"\n\n");
if (write(STDOUT_FILENO,S,strlen(S)) != (signed)strlen(S))
// sprintf the description
char Buf[1024];
vsnprintf(Buf,sizeof(Buf)-4,Format,args);
s << Buf << "\n\n";
string S = s.str();
if (write(STDOUT_FILENO,S.c_str(),S.size()) != (ssize_t)S.size())
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 /*{{{*/
// ---------------------------------------------------------------------

View File

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

View File

@ -164,6 +164,20 @@ bool pkgAcquire::Worker::Start()
if (OwnerQ != 0)
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;
}
/*}}}*/
@ -221,6 +235,26 @@ bool pkgAcquire::Worker::RunMessages()
case 102:
Status = LookupTag(Message,"Message");
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
case 200:
@ -324,6 +358,11 @@ bool pkgAcquire::Worker::RunMessages()
case 403:
MediaChange(Message);
break;
// 404 Authenticate
case 404:
Authenticate(Message);
break;
}
}
return true;
@ -345,6 +384,8 @@ bool pkgAcquire::Worker::Capabilities(string Message)
Config->LocalOnly = StringToBool(LookupTag(Message,"Local-Only"),false);
Config->NeedsCleanup = StringToBool(LookupTag(Message,"Needs-Cleanup"),false);
Config->Removable = StringToBool(LookupTag(Message,"Removable"),false);
// CNC:2004-04-27
Config->HasPreferredURI = StringToBool(LookupTag(Message,"Has-Preferred-URI"),false);
// Some debug text
if (Debug == true)
@ -356,7 +397,9 @@ bool pkgAcquire::Worker::Capabilities(string Message)
" SendConfig:" << Config->SendConfig <<
" LocalOnly: " << Config->LocalOnly <<
" NeedsCleanup: " << Config->NeedsCleanup <<
" Removable: " << Config->Removable << endl;
// CNC:2004-04-27
" Removable: " << Config->Removable <<
" HasPreferredURI: " << Config->HasPreferredURI << endl;
}
return true;
@ -388,6 +431,34 @@ bool pkgAcquire::Worker::MediaChange(string Message)
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 /*{{{*/
// ---------------------------------------------------------------------
/* */
@ -546,3 +617,5 @@ void pkgAcquire::Worker::ItemDone()
Status = string();
}
/*}}}*/
// vim:sts=3:sw=3

View File

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

View File

@ -506,6 +506,9 @@ pkgAcquire::MethodConfig::MethodConfig()
LocalOnly = false;
Removable = false;
Next = 0;
// CNC:2004-04-27
HasPreferredURI = false;
DonePreferredURI = false;
}
/*}}}*/
@ -684,16 +687,37 @@ bool pkgAcquire::Queue::Cycle()
return _error->Error("Pipedepth failure");
// 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;
while (PipeDepth < (signed)MaxPipeDepth)
{
for (; I != 0; I = I->Next)
if (I->Owner->Status == pkgAcquire::Item::StatIdle)
break;
// CNC:2004-04-27
if (Preferred) {
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.
if (I == 0)
if (I == 0) {
// CNC:2004-04-27
if (Preferred == true) {
Preferred = false;
Workers->Config->DonePreferredURI = true;
I = Items;
continue;
}
return true;
}
I->Worker = Workers;
I->Owner->Status = pkgAcquire::Item::StatFetching;
@ -847,4 +871,17 @@ void pkgAcquireStatus::Fetched(unsigned long Size,unsigned long 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 NeedsCleanup;
bool Removable;
// CNC:2004-04-27
bool HasPreferredURI;
bool DonePreferredURI;
string PreferredURI;
MethodConfig();
};
@ -269,6 +273,9 @@ class pkgAcquireStatus
// Called to change media
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
virtual void IMSHit(pkgAcquire::ItemDesc &/*Itm*/) {};
@ -284,3 +291,5 @@ class pkgAcquireStatus
};
#endif
// vim:sts=3:sw=3

View File

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

View File

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

View File

@ -158,6 +158,11 @@ bool pkgInitSystem(Configuration &Cnf,pkgSystem *&Sys)
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
bool Ret = Sys->Initialize(Cnf);
#ifdef WITH_LUA

View File

@ -76,7 +76,7 @@ static int AptLua_pkgcomp(lua_State *L);
Lua::Lua()
: 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[] = {
{"base", luaopen_base},
@ -693,9 +693,10 @@ inline int AptAux_PushBool(lua_State *L, bool Value)
return 0;
}
#define MARK_KEEP 0
#define MARK_INSTALL 1
#define MARK_REMOVE 2
#define MARK_KEEP 0
#define MARK_INSTALL 1
#define MARK_REINSTALL 2
#define MARK_REMOVE 3
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:
DepCache->MarkInstall(PkgI);
break;
case MARK_REINSTALL:
DepCache->SetReInstall(PkgI, true);
break;
case MARK_REMOVE:
Fix->Remove(PkgI);
DepCache->MarkDelete(PkgI);
@ -736,6 +740,32 @@ static int AptAux_mark(lua_State *L, int Kind)
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)
{
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 *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 (cnd != 0)
_config->CndSet(key, val);
@ -999,6 +1033,9 @@ static int AptLua_verprovlist(lua_State *L)
int i = 1;
for (; PrvI.end() == false; PrvI++) {
lua_newtable(L);
lua_pushstring(L, "pkg");
pushudata(pkgCache::Package*, PrvI.ParentPkg());
lua_settable(L, -3);
lua_pushstring(L, "name");
lua_pushstring(L, PrvI.Name());
lua_settable(L, -3);
@ -1113,11 +1150,32 @@ static int AptLua_markinstall(lua_State *L)
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)
{
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)
{
if (lua_gettop(L) != 0) {
@ -1152,7 +1210,9 @@ static int AptLua_statkeep(lua_State *L)
SPtr<pkgCache::PkgIterator> PkgI = AptAux_ToPkgIterator(L, 1);
if (PkgI == NULL)
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)
@ -1188,6 +1248,19 @@ static int AptLua_statnewinstall(lua_State *L)
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)
{
pkgDepCache *DepCache = _lua->GetDepCache(L);
@ -1270,6 +1343,12 @@ static int AptLua_statstr(lua_State *L)
} else {
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()) {
if (S.NowBroken()) {
lua_pushstring(L, "keep(broken)");
@ -1346,13 +1425,18 @@ static const luaL_reg aptlib[] = {
{"verstrcmp", AptLua_verstrcmp},
{"markkeep", AptLua_markkeep},
{"markinstall", AptLua_markinstall},
{"markreinstall", AptLua_markreinstall},
{"markremove", AptLua_markremove},
{"marksimplekeep", AptLua_marksimpleinstall},
{"marksimpleinstall",AptLua_marksimpleinstall},
{"marksimpleremove", AptLua_marksimpleinstall},
{"markdistupgrade", AptLua_markdistupgrade},
{"markupgrade", AptLua_markupgrade},
{"statkeep", AptLua_statkeep},
{"statinstall", AptLua_statinstall},
{"statremove", AptLua_statremove},
{"statnewinstall", AptLua_statnewinstall},
{"statreinstall", AptLua_statreinstall},
{"statupgrade", AptLua_statupgrade},
{"statupgradable", AptLua_statupgradable},
{"statdowngrade", AptLua_statdowngrade},

View File

@ -609,8 +609,14 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall()
clog << "Sequence completed at " << Pkg.Name() << endl;
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");
return Failed;
#else
if (Debug == true)
clog << "Haven't done anything in OrderInstall()" << endl;
#endif
}
return Incomplete;
}

View File

@ -97,6 +97,9 @@ class pkgSystem
/* Evauluate how 'right' we are for this system based on the filesystem
etc.. */
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
// 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)
{
// Look for a package pin and evaluate it.
signed Max = GetPriority(Pkg);
// CNC:2004-05-29
pkgCache::VerIterator Pref = GetMatch(Pkg);
signed Max = GetPriority(Pkg);
/* Falling through to the default version.. Setting Max to zero
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];
if (PPkg.Type != pkgVersionMatch::None)
{
pkgVersionMatch Match(PPkg.Data,PPkg.Type);
return Match.Find(Pkg);
// CNC:2004-05-29 - Make negative pins on individual packages
// 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());
}

View File

@ -33,7 +33,7 @@ class pkgRepository
string URI;
string Dist;
const pkgSourceList::Vendor *Vendor;
string FingerPrint;
string RootURI;
bool Acquire;
@ -41,14 +41,16 @@ class pkgRepository
bool ParseRelease(string File);
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);
pkgRepository(string URI,string Dist, const pkgSourceList::Vendor *Vendor,
string RootURI)
: GotRelease(0), URI(URI), Dist(Dist), Vendor(Vendor), RootURI(RootURI),
: GotRelease(0), URI(URI), Dist(Dist), RootURI(RootURI),
Acquire(1)
{};
{
if (Vendor) FingerPrint = Vendor->FingerPrint;
};
};

View File

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

View File

@ -644,10 +644,8 @@ class rpmSLTypeGen : public pkgSourceList::Type
{
if ((*iter)->URI == URI && (*iter)->Dist == Dist)
{
// 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)
(*iter)->Vendor = Vendor;
if (Vendor != NULL)
(*iter)->FingerPrint = Vendor->FingerPrint;
return *iter;
}
}

View File

@ -35,6 +35,8 @@
#define WITH_VERSION_CACHING 1
string MultilibArchs[] = {"x86_64", "ia64", "ppc64", "sparc64"};
// ListParser::rpmListParser - Constructor /*{{{*/
// ---------------------------------------------------------------------
/* */
@ -44,13 +46,17 @@ rpmListParser::rpmListParser(RPMHandler *Handler)
Handler->Rewind();
header = NULL;
if (Handler->IsDatabase() == true)
{
#ifdef WITH_HASH_MAP
SeenPackages = new SeenPackagesType(517);
#else
SeenPackages = new SeenPackagesType;
#endif
}
else
{
SeenPackages = NULL;
}
RpmData = RPMPackageData::Singleton();
}
/*}}}*/
@ -85,6 +91,7 @@ unsigned long rpmListParser::UniqFindTagWrite(int Tag)
return WriteUniqString(Start,Stop - Start);
}
/*}}}*/
// ListParser::Package - Return the package name /*{{{*/
// ---------------------------------------------------------------------
@ -114,6 +121,12 @@ string rpmListParser::Package()
bool IsDup = false;
string Name = str;
if (RpmData->IsMultilibSys() && RpmData->IsCompatArch(Architecture())) {
Name += ".32bit";
CurrentName = Name;
}
// If this package can have multiple versions installed at
// the same time, then we make it so that the name of the
@ -153,6 +166,7 @@ string rpmListParser::Package()
CurrentName = Name;
return Name;
}
/*}}}*/
// ListParser::Arch - Return the architecture string /*{{{*/
// ---------------------------------------------------------------------
@ -390,13 +404,39 @@ bool rpmListParser::ParseDepends(pkgCache::VerIterator Ver,
if (DepMode == true) {
if (flagl[i] & RPMSENSE_PREREQ)
Type = pkgCache::Dep::PreDepends;
#if RPM_VERSION >= 0x040403
else if (flagl[i] & RPMSENSE_MISSINGOK)
Type = pkgCache::Dep::Suggests;
#endif
else
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,
namel[i], verl?verl[i]:NULL, flagl[i]);
int res = rpmCheckRpmlibProvides(ds);
@ -494,6 +534,30 @@ bool rpmListParser::ParseDepends(pkgCache::VerIterator Ver,
res = headerGetEntry(header, RPMTAG_CONFLICTFLAGS, &type,
(void **)&flagl, &count);
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);
@ -624,6 +688,7 @@ bool rpmListParser::Step()
#endif
string RealName = Package();
if (Duplicated == true)
RealName = RealName.substr(0,RealName.find('#'));
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;
#endif
SeenPackagesType *SeenPackages;
bool Duplicated;
unsigned long UniqFindTagWrite(int Tag);
@ -84,6 +84,7 @@ class rpmListParser : public pkgCacheGenerator::ListParser
bool LoadReleaseInfo(pkgCache::PkgFileIterator FileI,FileFd &File);
void VirtualizePackage(string Name);
void CompatArchPackage(string Name);
rpmListParser(RPMHandler *Handler);
~rpmListParser();

View File

@ -20,6 +20,24 @@ RPMPackageData::RPMPackageData()
, ArchScores(31), VerMap(517)
#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
string FileName = _config->FindFile("Dir::Etc::rpmpriorities");
FileFd F(FileName, FileFd::ReadOnly);
@ -276,6 +294,18 @@ int RPMPackageData::RpmArchScore(const char *Arch)
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)
{
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,int,hash_string> IgnorePackages;
hash_map<string,int,hash_string> DuplicatedPackages;
hash_map<string,vector<string>,hash_string> CompatArch;
typedef map<string,pkgCache::VerIterator> VerMapValueType;
typedef hash_map<unsigned long,VerMapValueType> VerMapType;
typedef hash_map<const char*,int,
@ -37,6 +38,7 @@ class RPMPackageData
map<string,vector<string>*> FakeProvides;
map<string,int> IgnorePackages;
map<string,int> DuplicatedPackages;
map<string,vector<string> > CompatArch;
typedef map<string,pkgCache::VerIterator> VerMapValueType;
typedef map<unsigned long,VerMapValueType> VerMapType;
typedef map<const char*,int,cstr_lt_pred> ArchScoresType;
@ -64,6 +66,9 @@ class RPMPackageData
ArchScoresType ArchScores;
int RpmArchScore(const char *Arch);
string BaseArch;
bool MultilibSys;
public:
inline pkgCache::State::VerPriority VerPriority(const string &Package)
@ -107,6 +112,9 @@ class RPMPackageData
}
void InitMinArchScore();
bool IsCompatArch(string Arch);
bool IsMultilibSys() { return MultilibSys; };
void SetDupPackage(const string &Name)
{DuplicatedPackages[Name] = 1;};
bool IsDupPackage(const string &Name);

View File

@ -239,6 +239,9 @@ bool pkgRPMPM::RunScriptsWithPkgs(const char *Cnf)
/* This globs the operations and calls rpm */
bool pkgRPMPM::Go()
{
if (List.empty() == true)
return true;
if (RunScripts("RPM::Pre-Invoke") == false)
return false;
@ -323,6 +326,7 @@ bool pkgRPMPM::Go()
_lua->ResetCaches();
_lua->ResetGlobals();
if (_error->PendingError() == true) {
_error->DumpErrors();
Ret = false;
goto exit;
}
@ -344,6 +348,7 @@ bool pkgRPMPM::Go()
_lua->ResetCaches();
_lua->ResetGlobals();
if (_error->PendingError() == true) {
_error->DumpErrors();
Ret = false;
goto exit;
}
@ -778,6 +783,27 @@ bool pkgRPMLibPM::Process(vector<const char*> &install,
TS = rpmtransCreateSet(DB, Dir.c_str());
#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()) {
probFilter |= RPMPROB_FILTER_OLDPACKAGE;
}
@ -921,6 +947,10 @@ bool pkgRPMLibPM::ParseRpmOpts(const char *Cnf, int *tsFlags, int *probFilter)
Opts->Value == "--excludeconfigs")
*tsFlags |= RPMTRANS_FLAG_NOCONFIGS;
#endif
#if RPM_VERSION >= 0x040300
else if (Opts->Value == "--nocontexts")
*tsFlags |= RPMTRANS_FLAG_NOCONTEXTS;
#endif
// Problem filter flags
else if (Opts->Value == "--replacefiles")
@ -949,6 +979,16 @@ bool pkgRPMLibPM::ParseRpmOpts(const char *Cnf, int *tsFlags, int *probFilter)
_config->Set("RPM::NoDeps", true);
else if (Opts->Value == "--noorder")
_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...
}

View File

@ -296,7 +296,7 @@ void rpmRecordParser::GetRec(const char *&Start,const char *&Stop)
BufCatTag("\nSection: ", str);
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);
str = NULL;

View File

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

View File

@ -306,7 +306,7 @@ string rpmSrcRecordParser::AsStr()
BufCatTag("\nSection: ", str);
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);
str = NULL;
@ -436,9 +436,31 @@ bool rpmSrcRecordParser::BuildDepends(vector<pkgSrcRecords::Parser::BuildDepRec>
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 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,
namel[i], verl?verl[i]:NULL, flagl[i]);
int res = rpmCheckRpmlibProvides(ds);

View File

@ -33,10 +33,17 @@
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <dirent.h>
#include <fcntl.h>
#include <rpm/rpmlib.h>
#include <assert.h>
/*}}}*/
// for distrover
#if RPM_VERSION >= 0x040101
#include <rpmdb.h>
#endif
#if RPM_VERSION >= 0x040201
extern int _rpmds_nopromote;
#endif
@ -229,6 +236,7 @@ signed rpmSystem::Score(Configuration const &Cnf)
{
signed Score = 0;
rpmReadConfigFiles(NULL, NULL);
if (FileExists(RPMDBHandler::DataPath(false)))
Score += 10;
if (FileExists(Cnf.FindFile("Dir::Bin::rpm","/bin/rpm")) == true)
@ -236,6 +244,38 @@ signed rpmSystem::Score(Configuration const &Cnf)
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 /*{{{*/
// ---------------------------------------------------------------------
@ -261,7 +301,7 @@ bool rpmSystem::AddSourceFiles(vector<pkgIndexFile *> &List)
const string &S = Top->Value;
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));
else
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++)
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)
{
const Configuration::Item *Top = _config->Tree(Name);
@ -530,8 +576,12 @@ unsigned long rpmSystem::OptionsHash() const
unsigned long Hash = 0;
HashOption(Hash, "RPM::Architecture");
HashOptionTree(Hash, "RPM::Allow-Duplicated");
HashOptionTree(Hash, "RPM::MultiArch");
HashOptionTree(Hash, "RPM::Ignore");
HashOptionFile(Hash, "Dir::Etc::rpmpriorities");
HashEnv(Hash, "LANG");
HashEnv(Hash, "LC_ALL");
HashEnv(Hash, "LC_MESSAGES");
return Hash;
}
/*}}}*/

View File

@ -59,6 +59,7 @@ class rpmSystem : public pkgSystem
virtual bool Initialize(Configuration &Cnf);
virtual bool ArchiveSupported(const char *Type);
virtual signed Score(Configuration const &Cnf);
virtual string DistroVer(Configuration const &Cnf);
virtual bool AddStatusFiles(vector<pkgIndexFile *> &List);
virtual bool AddSourceFiles(vector<pkgIndexFile *> &List);
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);
}
// 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
if (ParseQuoteWord(Buffer,Section) == false)
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@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@ -35,15 +33,40 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@NEED_INTTYPES_H_TRUE@am__append_1 = copy-inttypes
@NEED_STATVFS_H_TRUE@am__append_2 = copy-statvfs
@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@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -62,6 +85,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
@ -75,6 +99,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@
@ -137,8 +163,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -148,6 +176,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@ -168,6 +198,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@ -175,7 +206,6 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = \
archtable \
ostable \
@ -186,31 +216,45 @@ EXTRA_DIST = \
netdb.h \
tools.m4
CLEANFILES = $(top_builddir)/include/apti18n.h \
$(top_builddir)/include/inttypes.h \
$(top_builddir)/include/sys/statvfs.h \
$(top_builddir)/include/netdb.h
COPYHEADERS = copy-apti18n $(am__append_1) $(am__append_2) $(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
COPYHEADERS = copy-apti18n $(am__append_1) $(am__append_2) \
$(am__append_3)
all: all-am
.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) && \
$(AUTOMAKE) --foreign buildlib/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
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:
-rm -f *.lo
@ -227,10 +271,6 @@ TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -244,7 +284,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@ -262,7 +302,6 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile all-local
installdirs:
install: install-am
install-exec: install-exec-am
@ -284,7 +323,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -301,6 +340,8 @@ dvi: dvi-am
dvi-am:
html: html-am
info: 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 \
clean-libtool distclean distclean-generic distclean-libtool \
distdir dvi dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
distdir dvi dvi-am html html-am info info-am install \
install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
uninstall uninstall-am uninstall-info-am
all-local: copy-headers

View File

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 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
# 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_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.
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/'
exit 0 ;;
*:UNICOS/mp:*:*)
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
echo nv1-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit 0 ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
@ -763,10 +770,7 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
# GNU/FreeBSD systems have a "k" prefix to indicate we are using
# 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}
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC}
exit 0 ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
@ -811,7 +815,7 @@ EOF
echo cris-axis-linux-gnu
exit 0 ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
echo ${UNAME_MACHINE}-${VENDOR:-unknown}-linux-gnu
exit 0 ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@ -855,10 +859,10 @@ EOF
test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
echo powerpc-${VENDOR:-unknown}-linux-gnu
exit 0 ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
echo powerpc64-${VENDOR:-unknown}-linux-gnu
exit 0 ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@ -886,7 +890,7 @@ EOF
echo hppa64-unknown-linux-gnu
exit 0 ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
echo ${UNAME_MACHINE}-${VENDOR:-ibm}-linux-gnu
exit 0 ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@ -898,7 +902,7 @@ EOF
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
x86_64:Linux:*:*)
echo x86_64-unknown-linux-gnu
echo x86_64-${VENDOR:-unknown}-linux-gnu
exit 0 ;;
i*86:Linux:*:*)
# The BFD linker knows what the default object file format is, so
@ -948,12 +952,9 @@ EOF
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
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
;;
i*86:DYNIX/ptx:4*:*)
@ -1167,7 +1168,7 @@ EOF
*:QNX:*:4*)
echo i386-pc-qnx
exit 0 ;;
NSR-[DGKLNPTVWY]:NONSTOP_KERNEL:*:*)
NSR-[DGKLNPTVW]:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit 0 ;;
*:NonStop-UX:*:*)

View File

@ -3,7 +3,7 @@
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
# 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.
# 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.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
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
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@ -228,14 +228,13 @@ case $basic_machine in
| a29k \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[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 \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| ip2k \
| m32r | m68000 | m68k | m88k | mcore \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
@ -248,7 +247,6 @@ case $basic_machine in
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipstx39 | mipstx39el \
@ -259,9 +257,10 @@ case $basic_machine in
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| s390 | s390x \
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
| strongarm \
| tahoe | thumb | tic4x | tic80 | tron \
| v850 | v850e \
@ -306,7 +305,7 @@ case $basic_machine in
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| ip2k-* \
| m32r-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | mcore-* \
@ -321,7 +320,6 @@ case $basic_machine in
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipstx39-* | mipstx39el-* \
@ -332,10 +330,11 @@ case $basic_machine in
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| romp-* | rs6000-* \
| s390-* | s390x-* \
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
| sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
| tahoe-* | thumb-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tron-* \
@ -834,12 +833,6 @@ case $basic_machine in
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
@ -1058,7 +1051,7 @@ case $basic_machine in
sh64)
basic_machine=sh64-unknown
;;
sparc | sparcv9 | sparcv9b)
sparc | sparcv8 | sparcv9 | sparcv9b)
basic_machine=sparc-sun
;;
cydra)
@ -1131,7 +1124,7 @@ case $os in
| -aos* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -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* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
@ -1167,9 +1160,6 @@ case $os in
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
@ -1292,9 +1282,9 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
c4x-* | tic4x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
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,
[ --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

@ -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@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@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@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@ -35,14 +36,115 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
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_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@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -61,6 +163,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
@ -74,6 +177,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@
@ -136,8 +241,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -147,6 +254,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@ -167,6 +276,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@ -174,152 +284,64 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
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)
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_config_SOURCES = apt-config.cc
apt_cdrom_SOURCES = apt-cdrom.cc rpmindexcopy.cc rpmindexcopy.h
apt_get_static_SOURCES = $(apt_get_SOURCES)
apt_get_static_LDFLAGS = -all-static
apt_cache_static_SOURCES = $(apt_cache_SOURCES)
apt_cache_static_LDFLAGS = -all-static
apt_cdrom_static_SOURCES = $(apt_cdrom_SOURCES)
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
.SUFFIXES:
.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) && \
$(AUTOMAKE) --foreign cmdline/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
.PRECIOUS: Makefile
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
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
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; \
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; \
else :; fi; \
done
@ -327,8 +349,8 @@ uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
rm -f $(DESTDIR)$(bindir)/$$f; \
echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
rm -f "$(DESTDIR)$(bindir)/$$f"; \
done
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)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@ -377,37 +399,28 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmindexcopy.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@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@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@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@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
@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@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@ -419,14 +432,6 @@ distclean-libtool:
-rm -f libtool
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@ -435,6 +440,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -446,10 +452,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -472,10 +479,6 @@ GTAGS:
distclean-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)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -489,7 +492,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@ -507,9 +510,10 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir)
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@ -529,7 +533,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -548,6 +552,8 @@ dvi: dvi-am
dvi-am:
html: html-am
info: 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 \
clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am info info-am install install-am install-binPROGRAMS \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-binPROGRAMS \
uninstall-info-am
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-info-am
# 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.

View File

@ -18,6 +18,8 @@
#include <stdio.h>
#include <signal.h>
#include <termios.h>
#include <unistd.h>
#include <iostream>
/*}}}*/
@ -277,6 +279,62 @@ bool AcqTextStatus::MediaChange(string Media,string Drive)
while (C != '\n' && C != '\r')
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;
return true;
}

View File

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

View File

@ -1569,11 +1569,14 @@ bool Search(CommandLine &CmdL)
bool Match = true;
if (J->NameMatch == false)
{
string LongDesc = P.LongDesc();
string LongDesc = P.LongDesc();
// CNC 2004-04-10
string ShortDesc = P.ShortDesc();
Match = NumPatterns != 0;
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;
else
Match = false;
@ -1624,6 +1627,27 @@ bool ShowPackage(CommandLine &CmdL)
++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.
if (_config->FindB("APT::Cache::AllVersions","true") == true)
{
@ -1809,7 +1833,11 @@ bool Policy(CommandLine &CmdL)
cout << " *** " << V.VerStr();
else
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++)
{
// Locate the associated index files so we can derive a description

View File

@ -825,10 +825,10 @@ bool CacheFile::CheckDeps(bool AllowBroken)
}
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);
return _error->Error(_("Unmet dependencies. Try using -f."));
return _error->Error(_("Unmet dependencies. Try using --fix-broken."));
}
return true;
@ -1213,7 +1213,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
unsigned int &ExpectedInst,bool AllowFail = true)
{
// 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;
for (pkgCache::PrvIterator Prv = Pkg.ProvidesList();
@ -1605,6 +1605,18 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
// 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)
{
// CNC:2003-03-27
@ -1738,6 +1750,15 @@ bool DoUpdate(CommandLine &CmdL)
_lua->RunScripts("Scripts::AptGet::Update::Post");
#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)
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 */
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);
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
@ -2093,12 +2114,13 @@ bool DoInstall(CommandLine &CmdL)
if ((*Cache)[I].Install() == false)
continue;
const char **J;
for (J = CmdL.FileList + 1; *J != 0; J++)
if (strcmp(*J,I.Name()) == 0)
// CNC:2004-06-15
const char **K;
for (K = CmdL.FileList + 1; *K != 0; K++)
if (strcmp(*K,I.Name()) == 0)
break;
if (*J == 0) {
if (*K == 0) {
List += string(I.Name()) + " ";
VersionsList += string(Cache[I].CandVersion) + "\n";
}
@ -2428,8 +2450,38 @@ bool DoSource(CommandLine &CmdL)
unsigned J = 0;
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;
pkgSrcRecords::Parser *Last = FindSrc(*I,Recs,SrcRecs,Src,*Cache);
pkgSrcRecords::Parser *Last = FindSrc(S,Recs,SrcRecs,Src,*Cache);
if (Last == 0)
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)
{
CacheFile Cache;
if (Cache.Open(true) == false)
// CNC:2004-04-06
if (Cache.OpenForInstall() == false ||
Cache.CheckDeps() == false)
return false;
if (CmdL.FileSize() <= 1)
@ -2892,8 +2946,12 @@ bool DoBuildDep(CommandLine &CmdL)
// Now we check the state of the packages,
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"
"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)

View File

@ -150,7 +150,7 @@ class AutoReOpenCache
if ((*Cache)->CheckDeps(true) == false) {
c1out << _("There are broken packages. ")
<< _("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
{
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);
return _error->Error(_("Unmet dependencies. Try using -f."));
return _error->Error(_("Unmet dependencies. Try using --fix-broken."));
}
return true;
@ -1328,9 +1328,9 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
}
}
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());
}
#ifdef WITH_LUA
@ -1339,6 +1339,7 @@ bool TryToInstall(pkgCache::PkgIterator Pkg,pkgDepCache &Cache,
vector<string> VS;
_lua->SetDepCache(&Cache);
_lua->SetDontFix();
_lua->SetGlobal("virtualname", Pkg.Name());
_lua->SetGlobal("packages", GoodSolutions);
_lua->SetGlobal("packagenames", GoodSolutionNames);
_lua->SetGlobal("selected");
@ -1680,6 +1681,18 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
// 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)
{
if (CheckHelp(CmdL) == true)
@ -1797,6 +1810,15 @@ bool DoUpdate(CommandLine &CmdL)
_lua->RunScripts("Scripts::AptGet::Update::Post");
_lua->ResetCaches();
#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)
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);
c1out << _("There are still broken packages. ")
<< _("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;
}
@ -2651,7 +2673,7 @@ bool DoBuildDep(CommandLine &CmdL)
// Now we check the state of the packages,
if (Cache->BrokenCount() != 0)
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);
@ -3430,10 +3452,13 @@ bool Search(CommandLine &CmdL)
if (J->NameMatch == false)
{
string LongDesc = P.LongDesc();
// CNC 2004-2004-04-10
string ShortDesc = P.ShortDesc();
Match = NumPatterns != 0;
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;
else
Match = false;
@ -4420,7 +4445,7 @@ int main(int argc,const char *argv[])
if (GCache->CheckDeps(true) == false) {
c1out << _("There are broken packages. ")
<< _("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
@ -4520,7 +4545,7 @@ int main(int argc,const char *argv[])
// CNC:2003-03-19
#ifdef WITH_LUA
if (HasCmdScripts == true) {
if (HasCmdScripts == true && _error->PendingError() == false) {
_lua->SetDepCache(*GCache);
_lua->SetGlobal("command_args", CmdL.FileList);
_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.
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.
AC_CONFIG_AUX_DIR([buildlib])
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:
/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
Bingo! It should be working. ;-)

View File

@ -1,20 +1,64 @@
Lua script to allow installing and viewing package groups as defined in
comps.xml found in RHL 8.0, 9 and Fedora Core 1.
Lua script to allow installing and viewing package groups, determined by
a backend script to allow it to work on arbitrary group-metadata formats.
This script must be plugged into the following APT script slots:
Scripts::AptGet::Command
Scripts::AptCache::Command
Scripts::AptGet::Help::Command
Scripts::AptCache::Help::Command
Scripts::AptGet::Command::
Scripts::AptCache::Command::
Scripts::AptGet::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:
apt-cache showgroups - show all known groups
apt-cache showgroup <group> - show description and contents of group
apt-get groupinstall <group> - install all packages belonging to a group
apt-get groupremove <group> - remove all packages belonging to a group
apt-cache groupnames - show all known groups
apt-cache showgroup <group> - show description and contents of group(s)
apt-get groupinstall <group> - install all packages belonging to a group(s)
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
rhpl packages to be installed.
About the backend:
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::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
--
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
print(_(" showgroups - Show available groups"))
print(_(" groupnames - Show available groups"))
print(_(" showgroup <group> - Show group contents"))
elseif script_slot == "Scripts::AptGet::Help::Command" then
print(_(" groupinstall <group> - Install packages in <group>"))
print(_(" groupremove <group> - Remove packages in <group>"))
elseif script_slot == "Scripts::AptCache::Command" then
if command_args[1] == "showgroups" then
if command_args[1] == "groupnames" then
command_consume = 1
os.execute(helper.." showgroups")
os.execute(helper.." "..helperopts.." --list-tasks")
elseif command_args[1] == "showgroup" then
command_consume=1
group = command_args[2]
if not group then
numgroups = table.getn(command_args) - 1
if numgroups < 1 then
apterror(_("No groupname given."))
return
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
elseif script_slot == "Scripts::AptGet::Command" then
if command_args[1] == "groupinstall" then
oper = markinstall
oper = markinstall
command_consume = 1
elseif command_args[1] == "groupremove" then
oper = markremove
@ -36,17 +53,27 @@ elseif script_slot == "Scripts::AptGet::Command" then
else
return
end
group = command_args[2]
if not group then
apterror(_("No groupname given."))
return
end
print(_("Finding packages belonging to group "..group.."..."))
pkgs = io.popen(helper.." grouppkgs "..group)
for name in pkgs:lines() do
numgroups = table.getn(command_args) - 1
if numgroups < 1 then
apterror(_("No groupname given."))
return
end
cmd = ""
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)
if pkg then
oper(pkg)
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
##################################################################
#
# Copyright (C) 2003 R Bos
#
# File: $RCSfile: apt,v $
# Revision: $Revision: 1.13 $
# Last change: $Date: 2004/02/20 19:30:15 $
#
# 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.
#
##################################################################
# 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
# options are passed on to the dispatched application. Therefor an environment
# 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
# the application that is being dispatched.
[ -z "$APT_VERBOSE" ] && APT_VERBOSE=no
function usage
{
( echo "$SHORTHELP"
echo "Use man $PRGNAME for extended help."
) >&2
}
ARGV="$@"
PRGNAME=$(basename $0)
readonly SHORTHELP="Usage: $PRGNAME [options] [apt-rpm options] <action> [packages]"
while [ $# -gt 0 ]; do
case $1 in
shell|dump)
APTCMD=apt-config
break
;;
update|upgrade|install|remove|dist-upgrade|\
build-dep|clean|autoclean|check|source|moo|script|reinstall)
APTCMD=apt-get
break
;;
add|ident)
APTCMD=apt-cdrom
break
;;
add|gencaches|showsrc|showpkg|stats|dump|dumpavail|\
unmet|search|depends|whatdepends|dotty|show|pkgnames|policy|\
rdepends|xvcg)
APTCMD="apt-cache"
break
;;
query)
APTCMD=query
break
;;
querytags)
APTCMD=querytags
break
;;
list-extras)
APTCMD=list-extras
break
;;
-h|--h|--he|--hel|--help)
APTCMD=usage
;;
-v|--v|--ve|--ver|--vers|--versi|--version)
APTCMD=version
# Workaround. apt-config and apt-cache execute the command
# instead of showing the version information only.
DISPLAY_VERSION=yes
;;
esac
shift
done
set -- $ARGV
if [ -z "$APTCMD" ]; then
if [ $# -ne 0 ]; then
echo "$PRGNAME: error: no or unrecognized action provided" >&2
fi
usage
exit 100
fi
case $APTCMD in
apt-get)
# Command line argument parsing, the allowed arguments (for apt-get) are
# alphabetically listed, keep it this way please.
APTOPT="arch-only,assume-yes,build,compile,config-file:"
APTOPT="$APTOPT,default-release,diff-only,download-only,dry-run,fix-broken"
APTOPT="$APTOPT,fix-missing,force-yes,help,ignore-hold,ignore-missing"
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"
APTOPT="$APTOPT,quiet,recon,reinstall,remove,show-upgraded,simulate,tar-only"
APTOPT="$APTOPT,target-release,trivial-only,version,yes"
# Additional options, provided by this tool
ADDOPT="force-rpm,hold:,sourceslist:,show-rpm-command,test"
# Note that we use `"$@"' to let each command-line parameter expand to a
# separate word. The quotes around `$@' are essential!
# 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 -- "$@")
if [ $? -ne 0 ]; then
echo "Terminating..." >&2
exit 100
fi
# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"
while true
do
case $1 in
--arch-only) ARG="$ARG $1";;
--assume-yes) ARG="$ARG $1";;
--build|-b) ARG="$ARG $1";;
--checksig) RPM_CHECKSIG=yes;;
--compile) ARG="$ARG $1";;
--config-file|-c) ARG="$ARG $1 $2"; shift;;
-D) ARG="$ARG $1";;
--default-release) ARG="$ARG $1";;
--diff-only) ARG="$ARG $1";;
--download-only|-d) ARG="$ARG $1";;
--dry-run) ARG="$ARG $1";;
--fix-broken|-f) APT_FIXBROKEN=yes;;
--fix-missing|-m) ARG="$ARG $1";;
--force-rpm) RPM_FORCE=yes;;
--force-yes) ARG="$ARG $1";;
--help|-h) ARG="$ARG $1";;
--hold) ARG="$ARG -o rpm::hold::=$2"; shift;;
--ignore-hold) ARG="$ARG $1";;
--ignore-missing) ARG="$ARG $1";;
--just-print) ARG="$ARG $1";;
--list-cleanup) ARG="$ARG $1";;
--no-act) ARG="$ARG $1";;
--no-checksig) RPM_CHECKSIG=no;;
--no-download) ARG="$ARG $1";;
--no-list-cleanup) ARG="$ARG $1";;
--no-remove) ARG="$ARG $1";;
--no-run-post) ARG="-o Scripts::Exec::Post=no $ARG";;
--only-source) ARG="$ARG $1";;
--option|-o) ARG="$ARG $1 $2"; shift;;
--print-uris) ARG="$ARG $1";;
--purge) ARG="$ARG $1";;
--quiet|-q) ARG="$ARG $1";;
--recon) ARG="$ARG $1";;
--reinstall) ARG="$ARG $1";;
--remove) ARG="$ARG $1";;
--run-post) ARG="-o Scripts::Exec::Post=true $ARG";;
--show-rpm-command) RPM_SHOW_CMD=yes;;
--show-upgraded) ARG="$ARG $1";;
--simulate|-s) ARG="$ARG $1";;
--sourceslist) RPM_SRC_LIST=$2; shift;;
--tar-only) ARG="$ARG $1";;
--target-release|-t) ARG="$ARG $1";;
--test) RPM_TEST=yes ;;
--trivial-only) ARG="$ARG $1";;
--version|-v) ARG="$ARG $1";;
--yes|-y) ARG="$ARG $1";;
--) shift; ARG="$ARG $@"; break;;
*) echo "unknow argument \"$1\""; exit 100;;
esac
shift
done
[ -n "$RPM_CHECKSIG" ] && ARG="-o rpm::checksig=$RPM_CHECKSIG $ARG"
[ -n "$RPM_FORCE" ] && ARG="-o rpm::Install-Options::=--force $ARG"
[ -n "$RPM_TEST" ] && ARG="-o rpm::options::=--test $ARG"
if [ -n "$RPM_SHOW_CMD" ]; then
RPM_CMD=/usr/lib/apt/show_rpm_cmd
if [ ! -x $RPM_CMD ]; then
if [ ! -f $RPM_CMD ]; then
if [ $(id -u) -eq 0 ]; then
# It's dirty to do this, using hardcoded
# path and creating an executable on
# the fly...
echo "echo rpm \$@" > $RPM_CMD
chmod +x $RPM_CMD
else
echo "$PRGNAME: error: you need to be root" >&2
exit 100
fi
else
( echo -n "$PRGNAME: error: the file $RPM_CMD "
echo "must be executable for the option:"
echo "--show-rpm-cmd"
) >&2
exit 100
fi
fi
# It might be possible to use -o Debug::pkgRPMPM=true, but
# a trial with that, did not show the rpm -Uvh command while
# performing a dist-upgrade involving the removal and installation
# of packages.
ARG="-o RPM::PM=external -o Dir::Bin::rpm=$RPM_CMD $ARG"
fi
if [ -n "$RPM_SRC_LIST" ]; then
eval $(apt-config shell ROOT Dir DIR Dir::Etc)
if [ -f $ROOT$DIR$RPM_SRC_LIST ]; then
ARG="-o dir::etc::sourcelist=$RPM_SRC_LIST $ARG"
else
echo "error: the provided sourceslist file does not exist" >&2
exit 100
fi
fi
if [ "$APT_FIXBROKEN" == "yes" ]; then
echo "warning: the argument --fix-broken (-f) is not needed normally."
echo "If you want to use this apt argument, use apt-get directly."
exit 100
fi
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-get $ARG" | tr -s " "
echo
) >&2
fi
apt-get $ARG
;;
apt-config)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-config $ARGV" | tr -s " "
echo
) >&2
fi
# Workaround. apt-config executes the action instead of showing
# the version information only.
# e.g. apt-config --version dump, in this example "dump" is the
# command/action.
if [ "$DISPLAY_VERSION" == "yes" ]; then
apt-config --version
else
apt-config $ARGV
fi
;;
apt-cache)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-cache $ARGV" | tr -s " "
echo
) >&2
fi
# Workaround. apt-cache executes the action instead of showing
# the version information only.
# e.g. apt-cache --version show, in this example "show" is the
# command/action.
if [ "$DISPLAY_VERSION" == "yes" ]; then
apt-cache --version
else
apt-cache $ARGV
fi
;;
apt-cdrom)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-cdrom $ARGV" | tr -s " "
echo
) >&2
fi
apt-cdrom $ARGV
;;
list-extras)
# Like yum's list extras functionality. As discussed on:
# http://lwn.net/Articles/60650/
apt-cache list-extras
;;
query)
while [ $# -gt 0 ]; do
case $1 in
-a|--all)
RPM_ARG_ALL=yes
;;
-q|query)
# -q is supported for rpm users that
# have the habit to execute rpm -q...
;;
-*)
# The user provided e.g. -i or -l as rpm query argument
RPM_OPT="yes"
break
;;
*)
if [ -z "$QRYSTR" ]; then
QRYSTR=$1
else
QRYSTR="$QRYSTR|$1"
fi
;;
esac
shift
done
if [ "$RPM_OPT" == "yes" ]; then
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: rpm -q $(echo $ARGV |
sed s/query//)" | tr -s " "
echo
) >&2
fi
rpm -q $(echo $ARGV | sed s/query//)
else
if [ "$RPM_ARG_ALL" == "yes" ]; then
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: rpm -qa |
grep -E ${QRYSTR:-^}" | tr -s " "
echo
) >&2
fi
rpm -qa | grep -Ei -- ${QRYSTR:-^} | sort
else
if [ "$APT_VERBOSE" != "no" ]; then
( echo -n "$PRGNAME dispatching: rpm -q"
echo "$(echo $ARGV | sed s/query//)" | tr -s " "
echo
) >&2
fi
rpm -q $(echo $ARGV | sed s/query//)
fi
fi
;;
querytags)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: rpm --querytags"
echo
) >&2
fi
rpm --querytags
;;
usage)
usage
;;
version)
echo "The version of this wrapper around the apt tools is: 0.21"
echo
echo "The version of the apt tools is:"
apt-cdrom -v
;;
esac
#!/bin/sh
##################################################################
#
# Copyright (C) 2003 R Bos
#
# File: $RCSfile: apt,v $
# Revision: $Revision: 1.20 $
# Last change: $Date: 2004/06/24 19:48:38 $
#
# 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.
#
##################################################################
# 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
# options are passed on to the dispatched application. Therefor an environment
# 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
# the application that is being dispatched.
[ -z "$APT_VERBOSE" ] && APT_VERBOSE=no
function usage
{
( echo "$SHORTHELP"
echo "Use man $PRGNAME for extended help."
) >&2
}
ARGV="$@"
PRGNAME=$(basename $0)
readonly SHORTHELP="Usage: $PRGNAME [options] [apt-rpm options] <action> [packages]"
while [ $# -gt 0 ]; do
case $1 in
shell|dump)
APTCMD=apt-config
break
;;
update|upgrade|install|remove|dist-upgrade|\
build-dep|clean|autoclean|check|source|moo|script|reinstall|\
groupinstall|groupremove)
APTCMD=apt-get
break
;;
add|ident)
APTCMD=apt-cdrom
break
;;
add|gencaches|showsrc|showpkg|stats|dump|dumpavail|\
unmet|search|depends|whatdepends|dotty|show|pkgnames|policy|\
rdepends|xvcg|showgroup|groupnames)
APTCMD="apt-cache"
break
;;
query)
APTCMD=query
break
;;
querytags)
APTCMD=querytags
break
;;
list-extras)
APTCMD=list-extras
break
;;
list-nodeps)
APTCMD=list-nodeps
break
;;
-h|--h|--he|--hel|--help)
APTCMD=usage
;;
-v|--v|--ve|--ver|--vers|--versi|--version)
APTCMD=version
# Workaround. apt-config and apt-cache execute the command
# instead of showing the version information only.
DISPLAY_VERSION=yes
;;
esac
shift
done
set -- $ARGV
if [ -z "$APTCMD" ]; then
if [ $# -ne 0 ]; then
echo "$PRGNAME: error: no or unrecognized action provided" >&2
fi
usage
exit 100
fi
case $APTCMD in
apt-get)
# Command line argument parsing, the allowed arguments (for apt-get) are
# alphabetically listed, keep it this way please.
APTOPT="arch-only,assume-yes,build,compile,config-file:"
APTOPT="$APTOPT,default-release,diff-only,download-only,dry-run,fix-broken"
APTOPT="$APTOPT,fix-missing,force-yes,help,ignore-hold,ignore-missing"
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"
APTOPT="$APTOPT,quiet,recon,reinstall,remove,show-upgraded,simulate,tar-only"
APTOPT="$APTOPT,target-release,trivial-only,version,yes"
# Additional options, provided by this tool
ADDOPT="checksig,force-rpm,hold:,sourceslist:,no-checksig,no-postscript,postscript"
ADDOPT="$ADDOPT,show-rpm-command,test"
# Note that we use `"$@"' to let each command-line parameter expand to a
# separate word. The quotes around `$@' are essential!
# 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 -- "$@")
if [ $? -ne 0 ]; then
echo "Terminating..." >&2
exit 100
fi
# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"
while true
do
case $1 in
--arch-only) ARG="$ARG $1";;
--assume-yes) ARG="$ARG $1";;
--build|-b) ARG="$ARG $1";;
--checksig) ARG="-o RPM::GPG-Check=true $ARG";;
--compile) ARG="$ARG $1";;
--config-file|-c) ARG="$ARG $1 $2"; shift;;
-D) ARG="$ARG $1";;
--default-release) ARG="$ARG $1";;
--diff-only) ARG="$ARG $1";;
--download-only|-d) ARG="$ARG $1";;
--dry-run) ARG="$ARG $1";;
--fix-broken|-f) APT_FIXBROKEN=yes;;
--fix-missing|-m) ARG="$ARG $1";;
--force-rpm) ARG="-o rpm::Install-Options::=--force $ARG";;
--force-yes) ARG="$ARG $1";;
--help|-h) ARG="$ARG $1";;
--hold) ARG="$ARG -o rpm::hold::=$2"; shift;;
--ignore-hold) ARG="$ARG $1";;
--ignore-missing) ARG="$ARG $1";;
--just-print) ARG="$ARG $1";;
--list-cleanup) ARG="$ARG $1";;
--no-act) ARG="$ARG $1";;
--no-checksig) ARG="-o RPM::GPG-Check=no $ARG";;
--no-download) ARG="$ARG $1";;
--no-list-cleanup) ARG="$ARG $1";;
--no-remove) ARG="$ARG $1";;
--no-postscript) ARG="-o Scripts::Options::RunPostScript=false $ARG";;
--only-source) ARG="$ARG $1";;
--option|-o) ARG="$ARG $1 $2"; shift;;
--postscript) ARG="-o Scripts::Options::RunPostScript=true $ARG";;
--print-uris) ARG="$ARG $1";;
--purge) ARG="$ARG $1";;
--quiet|-q) ARG="$ARG $1";;
--recon) ARG="$ARG $1";;
--reinstall) ARG="$ARG $1";;
--remove) ARG="$ARG $1";;
--show-rpm-command) RPM_SHOW_CMD=yes;;
--show-upgraded) ARG="$ARG $1";;
--simulate|-s) ARG="$ARG $1";;
--sourceslist) RPM_SRC_LIST=$2; shift;;
--tar-only) ARG="$ARG $1";;
--target-release|-t) ARG="$ARG $1";;
--test) ARG="-o rpm::options::=--test $ARG";;
--trivial-only) ARG="$ARG $1";;
--version|-v) ARG="$ARG $1";;
--yes|-y) ARG="$ARG $1";;
--) shift; ARG="$ARG $@"; break;;
*) echo "unknow argument \"$1\""; exit 100;;
esac
shift
done
if [ -n "$RPM_SHOW_CMD" ]; then
RPM_CMD=/usr/lib/apt/show_rpm_cmd
if [ ! -x $RPM_CMD ]; then
if [ ! -f $RPM_CMD ]; then
if [ $(id -u) -eq 0 ]; then
# It's dirty to do this, using hardcoded
# path and creating an executable on
# the fly...
echo "echo rpm \$@" > $RPM_CMD
chmod +x $RPM_CMD
else
echo "$PRGNAME: error: you need to be root" >&2
exit 100
fi
else
( echo -n "$PRGNAME: error: the file $RPM_CMD "
echo "must be executable for the option:"
echo "--show-rpm-cmd"
) >&2
exit 100
fi
fi
# It might be possible to use -o Debug::pkgRPMPM=true, but
# a trial with that, did not show the rpm -Uvh command while
# performing a dist-upgrade involving the removal and installation
# of packages.
ARG="-o RPM::PM=external -o Dir::Bin::rpm=$RPM_CMD $ARG"
ARG="$ARG -o Scripts::Options::ShowRpmCmd=true"
fi
if [ -n "$RPM_SRC_LIST" ]; then
eval $(apt-config shell ROOT Dir DIR Dir::Etc)
if [ -f $ROOT$DIR$RPM_SRC_LIST ]; then
ARG="-o dir::etc::sourcelist=$RPM_SRC_LIST $ARG"
else
echo "error: the provided sourceslist file does not exist" >&2
exit 100
fi
fi
if [ "$APT_FIXBROKEN" == "yes" ]; then
echo "warning: the argument --fix-broken (-f) is not needed normally."
echo "If you want to use this apt argument, use apt-get directly."
exit 100
fi
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-get $ARG" | tr -s " "
echo
) >&2
fi
apt-get $ARG
;;
apt-config)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-config $ARGV" | tr -s " "
echo
) >&2
fi
# Workaround. apt-config executes the action instead of showing
# the version information only.
# e.g. apt-config --version dump, in this example "dump" is the
# command/action.
if [ "$DISPLAY_VERSION" == "yes" ]; then
apt-config --version
else
apt-config $ARGV
fi
;;
apt-cache)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-cache $ARGV" | tr -s " "
echo
) >&2
fi
# Workaround. apt-cache executes the action instead of showing
# the version information only.
# e.g. apt-cache --version show, in this example "show" is the
# command/action.
if [ "$DISPLAY_VERSION" == "yes" ]; then
apt-cache --version
else
apt-cache $ARGV
fi
;;
apt-cdrom)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: apt-cdrom $ARGV" | tr -s " "
echo
) >&2
fi
apt-cdrom $ARGV
;;
list-extras)
# Like yum's list extras functionality. As discussed on:
# http://lwn.net/Articles/60650/
apt-cache list-extras
;;
list-nodeps)
apt-cache list-nodeps
;;
query)
while [ $# -gt 0 ]; do
case $1 in
-a|--all)
RPM_ARG_ALL=yes
;;
-q|query)
# -q is supported for rpm users that
# have the habit to execute rpm -q...
;;
-*)
# The user provided e.g. -i or -l as rpm query argument
RPM_OPT="yes"
break
;;
*)
if [ -z "$QRYSTR" ]; then
QRYSTR=$1
else
QRYSTR="$QRYSTR|$1"
fi
;;
esac
shift
done
if [ "$RPM_OPT" == "yes" ]; then
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: rpm -q $(echo $ARGV |
sed s/query//)" | tr -s " "
echo
) >&2
fi
rpm -q $(echo $ARGV | sed s/query//)
else
if [ "$RPM_ARG_ALL" == "yes" ]; then
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: rpm -qa |
grep -E ${QRYSTR:-^}" | tr -s " "
echo
) >&2
fi
rpm -qa | grep -Ei -- ${QRYSTR:-^} | sort
else
if [ "$APT_VERBOSE" != "no" ]; then
( echo -n "$PRGNAME dispatching: rpm -q"
echo "$(echo $ARGV | sed s/query//)" | tr -s " "
echo
) >&2
fi
rpm -q $(echo $ARGV | sed s/query//)
fi
fi
;;
querytags)
if [ "$APT_VERBOSE" != "no" ]; then
( echo "$PRGNAME dispatching: rpm --querytags"
echo
) >&2
fi
rpm --querytags
;;
usage)
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.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "APT" 1 "20 February 2004" "Linux" ""
.SH NAME
apt \- Advanced Package Tool
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 4
\fBapt\fR [\fB\fIoptions\fR\fR] [\fB\fIapt\-rpm\ options\fR\fR] [\fB\fIaction\fR\fR] [\fB\fIpackages\fR\fR]
.ad
.hy
.SH "DESCRIPTION"
.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\&.
.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\&.
.PP
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"
.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\&.
.TP
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\&.
.PP
The functionality of the remaining actions are provided by other apt tools\&. The actions listed by their respective command:
.TP
\fBapt\-get\fR
autoclean, build\-dep, check, clean, dist\-upgrade, install, moo, remove, script, source, update, upgrade\&.
.TP
\fBapt\-cache\fR
add, depends, dotty, dump, dumpavail, gencaches, pkgnames, policy, rdepends\&. search, show, showpkg, showsrc, stats, unmet, whatdepends, xvcg\&.
.TP
\fBapt\-config\fR
shell, dump\&.
.TP
\fBapt\-cdrom\fR
add, ident\&.
.SH "OPTIONS"
.TP
\fB\-\-hold\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!
.TP
\fB\-\-show\-rpm\-command\fR
Shows the exact rpm command to be performed, during install, upgrade or dist\-upgrade actions\&. The action itself will not be performed\&.
.TP
\fB\-\-sourceslist\fR
Select the sourceslist file to be used (default is \fI/etc/apt/sources\&.list\fR)\&.
.TP
\fB\-h\fR, \fB\-\-help\fR
Show a short usage summary\&.
.TP
\fB\-v\fR, \fB\-\-version\fR
Show the program version\&.
.TP
\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
\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 "ENVIRONMENT"
.TP
\fBAPT_VERBOSE\fR
\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)
.SH "DIAGNOSTICS"
.PP
\fBapt\fR returns zero on normal operation, decimal 100 on error\&.
.SH "BUGS"
.PP
Report bugs to <apt4rpm\-devel@lists\&.sourceforge\&.net>
.SH AUTHOR
Richard Bos.
.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "APT" 1 "21 June 2004" "Linux" ""
.SH NAME
apt \- Advanced Package Tool
.SH "SYNOPSIS"
.ad l
.hy 0
.HP 4
\fBapt\fR [\fB\fIoptions\fR\fR] [\fB\fIapt\-rpm\ options\fR\fR] [\fB\fIaction\fR\fR] [\fB\fIpackages\fR\fR]
.ad
.hy
.SH "DESCRIPTION"
.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\&.
.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\&.
.PP
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"
.PP
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
groupinstall
Install a group (or groups) of packages\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
.TP
groupremove
Remove a group (or groups) of packages\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
.TP
list\-nodeps
list all installed packages that are not required by any other installed package\&.
.TP
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
list\-nodeps
list all installed packages that are not required by any other installed package\&.
.TP
reinstall
installs a package again, even if the package is already installed\&.
.TP
showgroup
Provide information about group (or groups)\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
.TP
showgroups
Show available groups\&. Most often those groups are defined by the distributor\&. Configuration item: Scripts::Groupinstall::Backend
.PP
The functionality of the remaining actions are provided by other apt tools\&. The actions listed by their respective command:
.TP
\fBapt\-get\fR
autoclean, build\-dep, check, clean, dist\-upgrade, install, moo, remove, reinstall\&. script, source, update, upgrade\&.
.TP
\fBapt\-cache\fR
add, depends, dotty, dump, dumpavail, gencaches, pkgnames, policy, rdepends\&. search, show, showpkg, showsrc, stats, unmet, whatdepends, xvcg\&.
.TP
\fBapt\-config\fR
shell, dump\&.
.TP
\fBapt\-cdrom\fR
add, ident\&.
.SH "OPTIONS"
.TP
\fB\-\-checksig\fR
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\&.
.TP
\fB\-\-hold\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!
.TP
\fB\-\-no\-checksig\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\&.
.TP
\fB\-\-no\-postscript\fR
Do not run a postscript after packages have been upgraded, degraded, removed or installed\&. Configuration item: Scripts::Options::RunPostScript\&.
.TP
\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\&.
.TP
\fB\-\-show\-rpm\-command\fR
Shows the exact rpm command to be performed, during install, upgrade or dist\-upgrade actions\&. The action itself will not be performed\&.
.TP
\fB\-\-sourceslist\fR
Select the sourceslist file to be used (default is \fI/etc/apt/sources\&.list\fR)\&.
.TP
\fB\-h\fR, \fB\-\-help\fR
Show a short usage summary\&.
.TP
\fB\-v\fR, \fB\-\-version\fR
Show the program version\&.
.TP
\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
\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" [
<!ENTITY % aptent SYSTEM "apt.ent">
%aptent;
<!ENTITY rpm "<citerefentry>
<refentrytitle><command>rpm</command></refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>"
>
%aptent;
]>
<refentry>
<refentryinfo>
<author>
<firstname>Richard</firstname>
<surname>Bos</surname>
<surname>Debian apt development team</surname>
</author>
<author>
<surname>Conectiva apt-rpm development team</surname>
</author>
&apt-product;
<!-- The last update date -->
<date>20 February 2004</date>
<date>24 June 2004</date>
<copyright>
<year>2004</year>
<holder>Richard Bos</holder>
@ -64,7 +71,7 @@
</refsect1>
<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>autoclean</literal>,
<literal>build-dep</literal>,
@ -76,9 +83,13 @@
<literal>dump</literal>,
<literal>dumpavail</literal>,
<literal>gencaches</literal>,
<literal>groupinstall</literal>,
<literal>groupnames</literal>,
<literal>groupremove</literal>,
<literal>ident</literal>,
<literal>install</literal>,
<literal>list-extras</literal>,
<literal>list-nodeps</literal>,
<literal>moo</literal>,
<literal>pkgnames</literal>,
<literal>policy</literal>,
@ -90,6 +101,7 @@
<literal>script</literal>,
<literal>search</literal>,
<literal>show</literal>,
<literal>showgroup</literal>,
<literal>showpkg</literal>,
<literal>showsrc</literal>,
<literal>source</literal>,
@ -101,6 +113,23 @@
<literal>xvcg</literal>.</para>
<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>
<listitem><para>shows packages not found in any online repositories.
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
repository.</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>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>
<para>The functionality of the remaining actions are provided by other
@ -177,6 +228,18 @@
<refsect1><title>Options</title>
<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>
<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
@ -191,6 +254,34 @@
</listitem>
</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>
<listitem><para>Shows the exact rpm command to be performed, during
<literal>install</literal>, <literal>upgrade</literal> or
@ -232,11 +323,21 @@
</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>
<variablelist>
<varlistentry><term><option>APT_VERBOSE</option></term>
<listitem><para><command>apt</command> will show which application is being
dispatched.</para>
<listitem><para>If <literal>APT_VERBOSE</literal> is defined <command>apt</command>
will show which application is being dispatched.</para>
</listitem>
</varlistentry>
</variablelist>
@ -254,7 +355,7 @@
</refsect1>
<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><title>Diagnostics</title>
@ -264,7 +365,7 @@
<refsect1><title>Bugs</title>
<para>Report bugs to
<email>apt4rpm-devel@lists.sourceforge.net</email></para>
<email>apt-rpm@distro2.conectiva.com.br</email></para>
</refsect1>
</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@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +33,40 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
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@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -59,6 +85,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
@ -72,6 +99,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@
@ -134,8 +163,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +176,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@ -165,6 +198,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@ -172,7 +206,6 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
STATIC_MANPAGES = \
apt.8
@ -186,7 +219,6 @@ SGML_MANPAGES = \
vendors.list.5 \
apt_preferences.5
EXTRA_DIST = \
$(STATIC_MANPAGES) \
$(patsubst %,%.sgml, \
@ -231,28 +263,40 @@ EXTRA_DIST = \
pt_BR/apt_preferences.pt_BR.5.sgml \
pt_BR/makefile
CLEANFILES = manpage.links manpage.refs
@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
.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) && \
$(AUTOMAKE) --foreign doc/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
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:
-rm -f *.lo
@ -263,11 +307,9 @@ clean-libtool:
distclean-libtool:
-rm -f libtool
uninstall-info-am:
man5dir = $(mandir)/man5
install-man5: $(man5_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man5dir)
test -z "$(man5dir)" || $(mkdir_p) "$(DESTDIR)$(man5dir)"
@list='$(man5_MANS) $(dist_man5_MANS) $(nodist_man5_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
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 $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man5dir)/$$inst; \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man5dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man5dir)/$$inst"; \
done
uninstall-man5:
@$(NORMAL_UNINSTALL)
@ -307,14 +349,12 @@ uninstall-man5:
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man5dir)/$$inst"; \
rm -f $(DESTDIR)$(man5dir)/$$inst; \
echo " rm -f '$(DESTDIR)$(man5dir)/$$inst'"; \
rm -f "$(DESTDIR)$(man5dir)/$$inst"; \
done
man8dir = $(mandir)/man8
install-man8: $(man8_MANS) $(man_MANS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(man8dir)
test -z "$(man8dir)" || $(mkdir_p) "$(DESTDIR)$(man8dir)"
@list='$(man8_MANS) $(dist_man8_MANS) $(nodist_man8_MANS)'; \
l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
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 $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst"; \
$(INSTALL_DATA) $$file $(DESTDIR)$(man8dir)/$$inst; \
echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
$(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst"; \
done
uninstall-man8:
@$(NORMAL_UNINSTALL)
@ -354,8 +394,8 @@ uninstall-man8:
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
inst=`echo $$inst | sed -e 's/^.*\///'`; \
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
echo " rm -f $(DESTDIR)$(man8dir)/$$inst"; \
rm -f $(DESTDIR)$(man8dir)/$$inst; \
echo " rm -f '$(DESTDIR)$(man8dir)/$$inst'"; \
rm -f "$(DESTDIR)$(man8dir)/$$inst"; \
done
tags: TAGS
TAGS:
@ -363,13 +403,9 @@ TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
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'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@ -381,7 +417,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@ -399,9 +435,10 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(MANS) all-local
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-exec: install-exec-am
install-data: install-data-am
@ -422,7 +459,7 @@ clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -439,6 +476,8 @@ dvi: dvi-am
dvi-am:
html: html-am
info: 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 \
clean-libtool clean-local distclean distclean-generic \
distclean-libtool distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-man5 install-man8 install-strip installcheck \
installcheck-am installdirs maintainer-clean \

View File

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

View File

@ -41,12 +41,11 @@
sources. <command/apt-cdrom/ takes care of determining the structure of
the disc as well as correcting for several possible mis-burns and
verifying the index files.
<para>
</para><para>
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
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
commands below must be present.
@ -58,19 +57,21 @@
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
title.
<para>
</Para><Para>
APT uses a CDROM ID to track which disc is currently in the drive and
maintains a database of these IDs in
<filename>&statedir;/cdroms.list</>
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>ident</Term>
<ListItem><Para>
A debugging tool to report the identity of the current disc as well
as the stored file name
</Para></ListItem>
</VarListEntry>
</VariableList>
</para>
</RefSect1>
<RefSect1><Title>Options</>
@ -82,6 +83,7 @@
Mount point; specify the location to mount the cdrom. This mount
point must be listed in <filename>/etc/fstab</> and properly configured.
Configuration Item: <literal/Acquire::cdrom::mount/.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-r/</><term><option/--rename/</>
@ -90,6 +92,7 @@
given label. This option will cause <command/apt-cdrom/ to prompt for
a new label.
Configuration Item: <literal/APT::CDROM::Rename/.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-m/</><term><option/--no-mount/</>
@ -97,6 +100,7 @@
No mounting; prevent <command/apt-cdrom/ from mounting and unmounting
the mount point.
Configuration Item: <literal/APT::CDROM::NoMount/.
</Para></ListItem>
</VarListEntry>
<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
any errors.
Configuration Item: <literal/APT::CDROM::Fast/.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-a/</><term><option/--thorough/</>
@ -113,6 +118,7 @@
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
takes much longer to scan the CD but will pick them all up.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-n/</>
@ -123,6 +129,7 @@
No Changes; Do not change the &sources-list; file and do not
write index files. Everything is still checked however.
Configuration Item: <literal/APT::CDROM::NoAct/.
</Para></ListItem>
</VarListEntry>
&apt-commonoptions;
@ -133,11 +140,13 @@
<RefSect1><Title>See Also</>
<para>
&apt-conf;, &apt-get;, &sources-list;
</para>
</RefSect1>
<RefSect1><Title>Diagnostics</>
<para>
<command/apt-cdrom/ returns zero on normal operation, decimal 100 on error.
</para>
</RefSect1>
&manbugs;

View File

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

View File

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

View File

@ -31,13 +31,13 @@
<literal/Dir::Etc::main/ then finally apply the
command line options to override the configuration directives, possibly
loading even more config files.
<para>
</para><para>
The configuration file is organized in a tree with options organized into
functional groups. Option specification is given with a double colon
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
parent groups.
<para>
</para><para>
Syntacticly the configuration language is modeled after what the ISC tools
such as bind and dhcp use. Lines starting with
<literal>//</literal> are treated as comments (ignored). Each line is of the form
@ -58,21 +58,22 @@ APT {
<informalexample><programlisting>
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
</programlisting></informalexample>
<para>
</para><para>
In general the sample configuration file in
<filename>&docdir;examples/apt.conf</> &configureindex;
is a good guide for how it should look.
<para>
</para><para>
Two specials are allowed, <literal/#include/ and <literal/#clear/.
<literal/#include/ will include the given file, unless the filename
ends in a slash, then the whole directory is included.
<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
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
sign then the new value of the option. Lists can be appended too by adding
a trailing :: to the list name.
</para>
</RefSect1>
<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
parsing package lists. The internal default is the architecture apt was
compiled for.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Ignore-Hold</Term>
<ListItem><Para>
Ignore Held packages; This global option causes the problem resolver to
ignore held packages in its decision making.
</Para></ListItem>
</VarListEntry>
<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
packages that are locally installed are also excluded from cleaning - but
note that APT provides no direct means to reinstall them.
</Para></ListItem>
</VarListEntry>
<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
is very dangerous and may cause package install scripts to fail or worse.
Use at your own risk.
</Para></ListItem>
</VarListEntry>
<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
will work if the essential packages are not tar, gzip, libc, dpkg, bash or
anything that those packages depend on.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Cache-Limit</Term>
<ListItem><Para>
APT uses a fixed size memory mapped cache file to store the 'available'
information. This sets the size of that cache.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Build-Essential</Term>
<ListItem><Para>
Defines which package(s) are considered essential build dependencies.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Get</Term>
<ListItem><Para>
The Get subsection controls the &apt-get; tool, please see its
documentation for more information about the options here.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Cache</Term>
<ListItem><Para>
The Cache subsection controls the &apt-cache; tool, please see its
documentation for more information about the options here.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>CDROM</Term>
<ListItem><Para>
The CDROM subsection controls the &apt-cdrom; tool, please see its
documentation for more information about the options here.
</Para></ListItem>
</VarListEntry>
</VariableList>
</para>
</RefSect1>
<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
will be opened, <literal/access/ means that one connection per URI type
will be opened.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Retries</Term>
<ListItem><Para>
Number of retries to perform. If this is non-zero APT will retry failed
files the given number of times.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Source-Symlinks</Term>
<ListItem><Para>
Use symlinks for source archives. If set to true then source archives will
be symlinked when possible instead of copying. True is the default
</Para></ListItem>
</VarListEntry>
<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/
meaning to use no proxies. The <envar/http_proxy/ environment variable
will override all settings.
<para>
</Para><Para>
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
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
to prevent polluting a proxy cache with very large .deb files. Note:
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,
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
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
@ -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
on TCP connections - otherwise data corruption will occur. Hosts which
require this are in violation of RFC 2068.
</Para></ListItem>
</VarListEntry>
<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/$(SITE_PASS)/, <literal/$(SITE)/, and <literal/$(SITE_PORT)/.
Each is taken from it's respective URI component.
<para>
</Para><Para>
The option <literal/timeout/ sets the timeout timer used by the method,
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
safe to leave passive mode on, it works in nearly every environment.
However some situations require that passive mode be disabled and port
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
for examples)
<para>
</Para><Para>
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
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.
<para>
</Para><Para>
The setting <literal/ForceExtended/ controls the use of RFC2428
<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
to true forces their use even on IPv4 connections. Note that most FTP servers
do not support RFC2428.
</Para></ListItem>
</VarListEntry>
<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
the cdrom block. It is important to have the trailing slash. Unmount
commands can be specified using UMount.
</Para></ListItem>
</VarListEntry>
</VariableList>
</para>
</RefSect1>
<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/Dir::State/ contains the default directory to prefix on all sub
items if they do not start with <filename>/</> or <filename>./</>.
<para>
</para><para>
<literal/Dir::Cache/ contains locations pertaining to local cache
information, such as the two package caches <literal/srcpkgcache/ and
<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
than the srcpkgcache. Like <literal/Dir::State/ the default
directory is contained in <literal/Dir::Cache/
<para>
</para><para>
<literal/Dir::Etc/ contains the location of configuration files,
<literal/sourcelist/ gives the location of the sourcelist and
<literal/main/ is the default configuration file (setting has no effect,
unless it is done from the config file specified by
<envar/APT_CONFIG/).
<para>
</para><para>
The <literal/Dir::Parts/ setting reads in all the config fragments in
lexical order from the directory specified. After this is done then the
main config file is loaded.
<para>
</para><para>
Binary programs are pointed to by <literal/Dir::Bin/. <literal/Dir::Bin::Methods/
specifies the location of the method handlers and <literal/gzip/,
<literal/dpkg/, <literal/apt-get/, <literal/dpkg-source/,
<literal/dpkg-buildpackage/ and <literal/apt-cache/ specify the location
of the respective programs.
</para>
</RefSect1>
<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
(replaced with a new version for instance). pre-auto performs this
action before downloading new packages.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Options</Term>
<ListItem><Para>
The contents of this variable is passed to &apt-get; as command line
options when it is run for the install phase.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>UpdateOptions</Term>
<ListItem><Para>
The contents of this variable is passed to &apt-get; as command line
options when it is run for the update phase.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>PromptAfterUpdate</Term>
<ListItem><Para>
If true the [U]pdate operation in &dselect; will always prompt to continue.
The default is to prompt only on error.
</Para></ListItem>
</VarListEntry>
</VariableList>
</para>
</RefSect1>
<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
using the list notation and each list item is passed as a single argument
to &dpkg;.
</Para></ListItem>
</VarListEntry>
<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
commands are invoked in order using <filename>/bin/sh</>, should any
fail APT will abort.
</Para></ListItem>
</VarListEntry>
<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
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.
<para>
</para><para>
Version 2 of this protocol dumps more information, including the
protocol version, the APT configuration space and the packages, files
and versions being changed. Version 2 is enabled by setting
<literal/DPkg::Tools::Options::cmd::Version/ to 2. <literal/cmd/ is a
command given to <literal/Pre-Install-Pkgs/.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Run-Directory</Term>
<ListItem><Para>
APT chdirs to this directory before invoking dpkg, the default is
<filename>/</>.
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Build-Options</Term>
<ListItem><Para>
These options are passed to &dpkg-buildpackage; when compiling packages,
the default is to disable signing and produce all binaries.
</Para></ListItem>
</VarListEntry>
</VariableList>
</para>
</RefSect1>
<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
command line for each dpkg invokation. <literal/Debug::IdentCdrom/ will
disable the inclusion of statfs data in CDROM IDs.
</para>
</RefSect1>
<RefSect1><Title>Examples</>
@ -397,16 +429,19 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
&configureindex; contains a
sample configuration file showing the default values for all possible
options.
</para>
</RefSect1>
<RefSect1><Title>Files</>
<para>
<filename>/etc/apt/apt.conf</>
</para>
</RefSect1>
<RefSect1><Title>See Also</>
<para>
&apt-cache;, &apt-config;<!-- ? reading apt.conf -->, &apt-preferences;.
</para>
</RefSect1>
&manbugs;

View File

@ -113,11 +113,13 @@
<VarListEntry><term><option/-h/</><term><option/--help/</>
<ListItem><Para>
Show a short usage summary.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-v/</><term><option/--version/</>
<ListItem><Para>
Show the program version.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-c/</><term><option/--config-file/</>
@ -125,12 +127,14 @@
Configuration File; Specify a configuration file to use.
The program will read the default configuration file and then this
configuration file. See &apt-conf; for syntax information.
</Para></ListItem>
</VarListEntry>
<VarListEntry><term><option/-o/</><term><option/--option/</>
<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</>.
</Para></ListItem>
</VarListEntry>
">

View File

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

View File

@ -53,7 +53,7 @@
The format for a <filename/sources.list/ entry using the <literal/deb/
and <literal/deb-src/ types are:
<literallayout>deb uri distribution [component1] [component2] [...]</literallayout>
<para>
</para><para>
The URI for the <literal/deb/ type must specify the base of the Debian
distribution, from which APT will find the information it needs.
<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
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.
</>
<para>
</para><para>
<literal/distribution/ may also contain a variable, <literal/$(ARCH)/,
which expands to the Debian architecture (i386, m68k, powerpc, ...)
used on the system. This permits architecture-independent
<filename/sources.list/ files to be used. In general this is only of
interest when specifying an exact path, <literal/APT/ will automatically
generate a URI with the current architecture otherwise.</>
<para>
generate a URI with the current architecture otherwise.
</para><para>
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
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
useful for accessing busy FTP sites with limits on the number of
simultaneous anonymous users. APT also parallelizes connections to
different hosts to more effectively deal with sites with low bandwidth.</>
<para>
different hosts to more effectively deal with sites with low bandwidth.
</para><para>
It is important to list sources in order of preference, with the most
preferred source listed first. Typically this will result in sorting
by speed from fastest to slowest (CD-ROM followed by hosts on a local
network, followed by distant Internet hosts, for example).</>
<para>
network, followed by distant Internet hosts, for example).
</para><para>
Some examples:
<literallayout>
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://http.us.debian.org/debian dists/stable-updates/
</literallayout>
</>
</para>
</RefSect1>
<RefSect1><title>URI specification</title>

View File

@ -32,20 +32,20 @@
vendor identification string (see below) enclosed in
square braces to the sources.list line for all sites that mirror
the repository provided by that vendor.
<para>
</para><para>
The format of this file is similar to the one used by
apt.conf. It consists of an arbitrary number of blocks of
vendors, where each block starts with a string telling the
<replaceable/key_type/ and the <replaceable/vendor_id/.
<para>
</para><para>
Some vendors may have multiple blocks that define different
security policies for their distributions. Debian for instance
uses a different signing methodology for stable and unstable releases.
<para>
</para><para>
<replaceable/key_type/ is the type of the check required.
Currently, there is only one type available which is
<literal/simple-key/.
<para>
</para><para>
<replaceable/vendor_id/ is the vendor identification string. It is an
arbitrary string you must supply to uniquely identifify a
vendor that's listed in this file.
@ -58,7 +58,7 @@ simple-key "joe"
Name "Joe Shmoe &lt;joe@shmoe.com&gt;";
}
</programlisting></informalexample>
</para>
</RefSect1>
<RefSect1><Title>The simple-key type</>
@ -75,6 +75,7 @@ simple-key "joe"
The <option/--fingerprint/ option for
<CiteRefEntry><RefEntryTitle><command/gpg/</RefEntryTitle><ManVolNum/1/</CiteRefEntry>
will show the fingerprint for the selected keys(s).
</Para></ListItem>
</VarListEntry>
<VarListEntry><Term>Name</Term>
@ -82,19 +83,23 @@ simple-key "joe"
A string containing a description of the owner of
the key or vendor. You may put the vendor name and it's
email. The string must be quoted with ".
</Para></ListItem>
</VarListEntry>
</VariableList>
</para>
</RefSect1>
<RefSect1><Title>Files</>
<para>
<filename>/etc/apt/vendors.list</>
</para>
</RefSect1>
<RefSect1><Title>See Also</>
<para>
&sources-list;
</para>
</RefSect1>
&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@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -13,7 +13,6 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -21,7 +20,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +33,35 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
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@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -59,6 +80,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
@ -72,6 +94,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@
@ -134,8 +158,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +171,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@ -165,6 +193,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@ -173,21 +202,38 @@ sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
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
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
.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) && \
$(AUTOMAKE) --foreign m4/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
.PRECIOUS: Makefile
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:
-rm -f *.lo
@ -204,10 +250,6 @@ TAGS:
ctags: CTAGS
CTAGS:
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -221,7 +263,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@ -239,7 +281,6 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
@ -260,7 +301,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -277,6 +318,8 @@ dvi: dvi-am
dvi-am:
html: html-am
info: 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 \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-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@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
# Free Software Foundation, Inc.
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@ -14,6 +14,8 @@
@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@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
@ -21,7 +23,6 @@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
@ -35,12 +36,108 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
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@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@ -59,6 +156,7 @@ COMPILE_STATIC_TRUE = @COMPILE_STATIC_TRUE@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
@ -72,6 +170,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIBC_VER = @GLIBC_VER@
@ -134,8 +234,10 @@ VERSION = @VERSION@
WITH_LUA_FALSE = @WITH_LUA_FALSE@
WITH_LUA_TRUE = @WITH_LUA_TRUE@
XGETTEXT = @XGETTEXT@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
@ -145,6 +247,8 @@ am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@ -165,6 +269,7 @@ libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
@ -172,12 +277,8 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
methodsdir = ${libdir}/apt/methods
methods_PROGRAMS = cdrom copy file ftp gpg gzip bzip2 http rsh ssh
LDADD = ../apt-pkg/libapt-pkg.la
cdrom_SOURCES = cdrom.cc
copy_SOURCES = copy.cc
file_SOURCES = file.cc
@ -186,7 +287,6 @@ gzip_SOURCES = gzip.cc
bzip2_SOURCES = $(gzip_SOURCES)
rsh_SOURCES = rsh.cc rsh.h
ssh_SOURCES = $(rsh_SOURCES)
http_SOURCES = \
http.cc \
http.h \
@ -196,7 +296,6 @@ http_SOURCES = \
connect.h
http_LDADD = $(LDADD) @SOCKETLIBS@
ftp_SOURCES = \
ftp.cc \
ftp.h \
@ -206,117 +305,50 @@ ftp_SOURCES = \
connect.h
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
.SUFFIXES:
.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) && \
$(AUTOMAKE) --foreign methods/Makefile
Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)
methodsPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
.PRECIOUS: Makefile
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
install-methodsPROGRAMS: $(methods_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(methodsdir)
test -z "$(methodsdir)" || $(mkdir_p) "$(DESTDIR)$(methodsdir)"
@list='$(methods_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
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; \
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; \
else :; fi; \
done
@ -324,8 +356,8 @@ uninstall-methodsPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(methods_PROGRAMS)'; for p in $$list; do \
f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
echo " rm -f $(DESTDIR)$(methodsdir)/$$f"; \
rm -f $(DESTDIR)$(methodsdir)/$$f; \
echo " rm -f '$(DESTDIR)$(methodsdir)/$$f'"; \
rm -f "$(DESTDIR)$(methodsdir)/$$f"; \
done
clean-methodsPROGRAMS:
@ -366,7 +398,7 @@ ssh$(EXEEXT): $(ssh_OBJECTS) $(ssh_DEPENDENCIES)
$(CXXLINK) $(ssh_LDFLAGS) $(ssh_OBJECTS) $(ssh_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT) core *.core
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@ -383,37 +415,28 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rsh.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`; \
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@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@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCXX_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`; \
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Po"; else rm -f "$$depbase.Tpo"; exit 1; fi
@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@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
@am__fastdepCXX_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \
@am__fastdepCXX_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
@am__fastdepCXX_TRUE@ fi
@am__fastdepCXX_TRUE@ depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`; \
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$$depbase.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$$depbase.Tpo" "$$depbase.Plo"; else rm -f "$$depbase.Tpo"; exit 1; fi
@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@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@ -425,14 +448,6 @@ distclean-libtool:
-rm -f libtool
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
@ -441,6 +456,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -452,10 +468,11 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(ETAGS_ARGS)$$tags$$unique" \
|| $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
@ -478,10 +495,6 @@ GTAGS:
distclean-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)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
@ -495,7 +508,7 @@ distdir: $(DISTFILES)
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkinstalldirs) "$(distdir)$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
@ -513,9 +526,10 @@ distdir: $(DISTFILES)
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
$(mkinstalldirs) $(DESTDIR)$(methodsdir)
for dir in "$(DESTDIR)$(methodsdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
@ -535,7 +549,7 @@ mostlyclean-generic:
clean-generic:
distclean-generic:
-rm -f $(CONFIG_CLEAN_FILES)
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@ -555,6 +569,8 @@ dvi: dvi-am
dvi-am:
html: html-am
info: 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 \
clean-libtool clean-methodsPROGRAMS ctags distclean \
distclean-compile distclean-generic distclean-libtool \
distclean-tags distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-exec \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-exec \
install-exec-am install-info install-info-am install-man \
install-methodsPROGRAMS install-strip installcheck \
installcheck-am installdirs maintainer-clean \

View File

@ -39,6 +39,7 @@ class CDROMMethod : public pkgAcqMethod
virtual bool Fetch(FetchItem *Itm);
string GetID(string Name);
virtual void Exit();
virtual string PreferredURI();
// CNC:2002-10-18
bool Copy(string Src, string Dest);
@ -53,12 +54,44 @@ class CDROMMethod : public pkgAcqMethod
/* */
CDROMMethod::CDROMMethod() : pkgAcqMethod("1.0",SingleInstance | LocalOnly |
SendConfig | NeedsCleanup |
Removable),
Removable | HasPreferredURI),
DatabaseLoaded(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 /*{{{*/
// ---------------------------------------------------------------------
/* */

View File

@ -246,7 +246,7 @@ char *getFileSigner(const char *file, const char *sigfile,
if (!fgets(buffer, 1024, f))
break;
if (goodsig && keyid[0])
continue;
@ -282,17 +282,17 @@ char *getFileSigner(const char *file, const char *sigfile,
}
else if (WEXITSTATUS(status) == 111)
{
return "could not execute gpg to verify signature";
return "Could not execute gpg to verify signature";
}
else
{
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)
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