diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2009-12-10 22:20:07 +0100 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2009-12-10 22:20:07 +0100 |
commit | 43be0ac4b37f3a82ae4a16e473c3d8e44637ce1b (patch) | |
tree | 7c0e75b291d132b6f1577fc2267f8ea0a60df459 /apt-pkg | |
parent | 9307ef07498d37c0b5e05b036195abaf7ad0105c (diff) | |
parent | a0895a74fe95997a5d75e5b54c95afb9594554f6 (diff) |
merged from the mvo branch (and contains all non-abi break changes from donkult)
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/contrib/strutl.h | 12 | ||||
-rw-r--r-- | apt-pkg/deb/debsrcrecords.cc | 8 | ||||
-rw-r--r-- | apt-pkg/init.h | 8 | ||||
-rw-r--r-- | apt-pkg/makefile | 11 | ||||
-rw-r--r-- | apt-pkg/packagemanager.cc | 15 |
5 files changed, 31 insertions, 23 deletions
diff --git a/apt-pkg/contrib/strutl.h b/apt-pkg/contrib/strutl.h index 0cbf14a7a..2b2e147fb 100644 --- a/apt-pkg/contrib/strutl.h +++ b/apt-pkg/contrib/strutl.h @@ -68,15 +68,15 @@ int tolower_ascii(int c); #define APT_MKSTRCMP(name,func) \ inline int name(const char *A,const char *B) {return func(A,A+strlen(A),B,B+strlen(B));}; \ inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));}; \ -inline int name(string A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));}; \ -inline int name(string A,string B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());}; \ -inline int name(string A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);}; +inline int name(const string& A,const char *B) {return func(A.c_str(),A.c_str()+A.length(),B,B+strlen(B));}; \ +inline int name(const string& A,const string& B) {return func(A.c_str(),A.c_str()+A.length(),B.c_str(),B.c_str()+B.length());}; \ +inline int name(const string& A,const char *B,const char *BEnd) {return func(A.c_str(),A.c_str()+A.length(),B,BEnd);}; #define APT_MKSTRCMP2(name,func) \ inline int name(const char *A,const char *AEnd,const char *B) {return func(A,AEnd,B,B+strlen(B));}; \ -inline int name(string A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));}; \ -inline int name(string A,string B) {return func(A.begin(),A.end(),B.begin(),B.end());}; \ -inline int name(string A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);}; +inline int name(const string& A,const char *B) {return func(A.begin(),A.end(),B,B+strlen(B));}; \ +inline int name(const string& A,const string& B) {return func(A.begin(),A.end(),B.begin(),B.end());}; \ +inline int name(const string& A,const char *B,const char *BEnd) {return func(A.begin(),A.end(),B,BEnd);}; int stringcmp(const char *A,const char *AEnd,const char *B,const char *BEnd); int stringcasecmp(const char *A,const char *AEnd,const char *B,const char *BEnd); diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc index 2f87c767b..bde10aa6d 100644 --- a/apt-pkg/deb/debsrcrecords.cc +++ b/apt-pkg/deb/debsrcrecords.cc @@ -135,9 +135,15 @@ bool debSrcRecordParser::Files(vector<pkgSrcRecords::File> &List) string::size_type Tmp = F.Path.rfind('.',Pos); if (Tmp == string::npos) break; + if (F.Type == "tar") { + // source v3 has extension 'debian.tar.*' instead of 'diff.*' + if (string(F.Path, Tmp+1, Pos-Tmp) == "debian") + F.Type = "diff"; + break; + } F.Type = string(F.Path,Tmp+1,Pos-Tmp); - if (F.Type == "gz" || F.Type == "bz2" || F.Type == "lzma") + if (F.Type == "gz" || F.Type == "bz2" || F.Type == "lzma" || F.Type == "tar") { Pos = Tmp-1; continue; diff --git a/apt-pkg/init.h b/apt-pkg/init.h index 44d1d107c..f0757f644 100644 --- a/apt-pkg/init.h +++ b/apt-pkg/init.h @@ -16,10 +16,14 @@ #include <apt-pkg/configuration.h> #include <apt-pkg/pkgsystem.h> -// See the makefile +// These lines are extracted by the makefiles and the buildsystem +// Increasing MAJOR or MINOR results in the need of recompiling all +// reverse-dependencies of libapt-pkg against the new SONAME. +// Non-ABI-Breaks should only increase RELEASE number. +// See also buildlib/libversion.mak #define APT_PKG_MAJOR 4 #define APT_PKG_MINOR 8 -#define APT_PKG_RELEASE 1 +#define APT_PKG_RELEASE 0 extern const char *pkgVersion; extern const char *pkgLibVersion; diff --git a/apt-pkg/makefile b/apt-pkg/makefile index f2a8460a9..3d6209658 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -9,14 +9,13 @@ HEADER_TARGETDIRS = apt-pkg # Bring in the default rules include ../buildlib/defaults.mak -# The library name, don't forget to update init.h and the copy in -# methods/makefile - FIXME +# The library name and version (indirectly used from init.h) +include ../buildlib/libversion.mak LIBRARY=apt-pkg -LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER) -MAJOR=4.8 -MINOR=1 +MAJOR=$(LIBAPTPKG_MAJOR) +MINOR=$(LIBAPTPKG_RELEASE) SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl -APT_DOMAIN:=libapt-pkg$(MAJOR) +APT_DOMAIN:=libapt-pkg$(LIBAPTPKG_MAJOR) # Source code for the contributed non-core things SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \ diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index 7be6e72f2..491bff110 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -143,10 +143,6 @@ void pkgPackageManager::ImmediateAdd(PkgIterator I, bool UseInstallVer, unsigned for ( /* nothing */ ; D.end() == false; D++) if (D->Type == pkgCache::Dep::Depends || D->Type == pkgCache::Dep::PreDepends) { - // ignore dependencies if no instal/upgrade/remove is going to happen - if (D.TargetPkg() == 0 || Cache[D.TargetPkg()].Keep()) - continue; - if(!List->IsFlag(D.TargetPkg(), pkgOrderList::Immediate)) { if(Debug) @@ -325,8 +321,9 @@ bool pkgPackageManager::SmartConfigure(PkgIterator Pkg) // Sanity Check if (List->IsFlag(Pkg,pkgOrderList::Configured) == false) - return _error->Error("Internal error, could not immediate configure %s",Pkg.Name()); - + return _error->Error(_("Could not perform immediate configuration on '%s'." + "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),1); + return true; } /*}}}*/ @@ -478,7 +475,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) List->Flag(Pkg,pkgOrderList::UnPacked,pkgOrderList::States); if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true) if (SmartConfigure(Pkg) == false) - return _error->Error("Internal Error, Could not perform immediate configuration (1) on %s",Pkg.Name()); + return _error->Error(_("Could not perform immediate configuration on already unpacked '%s'." + "Please see man 5 apt.conf under APT::Immediate-Configure for details."),Pkg.Name()); return true; } @@ -585,7 +583,8 @@ bool pkgPackageManager::SmartUnPack(PkgIterator Pkg) // Perform immedate configuration of the package. if (List->IsFlag(Pkg,pkgOrderList::Immediate) == true) if (SmartConfigure(Pkg) == false) - return _error->Error("Internal Error, Could not perform immediate configuration (2) on %s",Pkg.Name()); + return _error->Error(_("Could not perform immediate configuration on '%s'." + "Please see man 5 apt.conf under APT::Immediate-Configure for details. (%d)"),Pkg.Name(),2); return true; } |