From 20382badcd5394808c6c8161a165891027a30726 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Mon, 19 Oct 2009 22:00:37 +0200 Subject: add more description to the manpage for the Immediate-Configuration and change another message to be also translatable. --- apt-pkg/packagemanager.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'apt-pkg') diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index f75c5b61f..1ab3203a1 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -318,8 +318,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; } /*}}}*/ @@ -471,7 +472,7 @@ 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(_("Could not perform immediate configuration for on already unpacked %s." + 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; } @@ -572,8 +573,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(_("Could not perform immediate configuration on %s." - "Please see man 5 apt.conf under APT::Immediate-Configure for details."),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; } -- cgit v1.2.3-70-g09d2 From 5cbf7810a2d9f8905015d8a7879df095cfb6d6ea Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Oct 2009 14:12:01 +0200 Subject: Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2 Backported from lp:~mvo/apt/debian-experimental Patch by Eugene V. Lyubimkin --- apt-pkg/contrib/strutl.h | 12 ++++++------ debian/changelog | 4 ++++ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'apt-pkg') 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/debian/changelog b/debian/changelog index cd5f95016..80369e8e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -32,6 +32,10 @@ apt (0.7.25) UNRELEASED; urgency=low * methods/connect.cc: - display also strerror of "wicked" getaddrinfo errors + [ Eugene V. Lyubimkin ] + * apt-pkg/contib/strutl.h + - Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2. + [ Julian Andres Klode ] * doc/apt.conf.5.xml: - Deprecate unquoted values, string concatenation and explain what should -- cgit v1.2.3-70-g09d2 From 10c9f030e02ccec5c002abc42776f994c124c574 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 24 Oct 2009 17:38:06 +0200 Subject: Bumped libapt version and excluded eglibc from SONAME. (Closes: #448249) Backported from lp:~mvo/apt/debian-experimental Based on patch by Eugene V. Lyubimkin --- apt-inst/makefile | 3 +-- apt-pkg/init.h | 4 ++-- apt-pkg/makefile | 5 ++--- buildlib/library.mak | 16 ++++++++-------- debian/changelog | 2 ++ debian/rules | 14 +++++++------- methods/makefile | 2 +- 7 files changed, 23 insertions(+), 23 deletions(-) (limited to 'apt-pkg') diff --git a/apt-inst/makefile b/apt-inst/makefile index cc61841b9..c0ff3d886 100644 --- a/apt-inst/makefile +++ b/apt-inst/makefile @@ -11,8 +11,7 @@ include ../buildlib/defaults.mak # The library name LIBRARY=apt-inst -LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER) -MAJOR=1.1 +MAJOR=1.2 MINOR=0 SLIBS=$(PTHREADLIB) -lapt-pkg APT_DOMAIN:=libapt-inst$(MAJOR) diff --git a/apt-pkg/init.h b/apt-pkg/init.h index 44d1d107c..44a57eb45 100644 --- a/apt-pkg/init.h +++ b/apt-pkg/init.h @@ -18,8 +18,8 @@ // See the makefile #define APT_PKG_MAJOR 4 -#define APT_PKG_MINOR 8 -#define APT_PKG_RELEASE 1 +#define APT_PKG_MINOR 9 +#define APT_PKG_RELEASE 0 extern const char *pkgVersion; extern const char *pkgLibVersion; diff --git a/apt-pkg/makefile b/apt-pkg/makefile index 7816ecf0d..80038e28e 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -12,9 +12,8 @@ include ../buildlib/defaults.mak # The library name, don't forget to update init.h and the copy in # methods/makefile - FIXME LIBRARY=apt-pkg -LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER) -MAJOR=4.8 -MINOR=1 +MAJOR=4.9 +MINOR=0 SLIBS=$(PTHREADLIB) $(INTLLIBS) -lutil -ldl APT_DOMAIN:=libapt-pkg$(MAJOR) diff --git a/buildlib/library.mak b/buildlib/library.mak index de8833cbb..029e87463 100644 --- a/buildlib/library.mak +++ b/buildlib/library.mak @@ -5,7 +5,7 @@ # Input # $(SOURCE) - The source code to use # $(HEADERS) - Exported header files and private header files -# $(LIBRARY) - The name of the library without lib or .so +# $(LIBRARY) - The name of the library without lib or .so # $(MAJOR) - The major version number of this library # $(MINOR) - The minor version number of this library # $(APT_DOMAIN) - The text domain for this library @@ -16,11 +16,11 @@ # See defaults.mak for information about LOCAL # Some local definitions -LOCAL := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR) +LOCAL := lib$(LIBRARY).so.$(MAJOR).$(MINOR) $(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE))))) $(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE))))) $(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS)) -$(LOCAL)-SONAME := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) +$(LOCAL)-SONAME := lib$(LIBRARY).so.$(MAJOR) $(LOCAL)-SLIBS := $(SLIBS) $(LOCAL)-LIBRARY := $(LIBRARY) @@ -29,7 +29,7 @@ include $(PODOMAIN_H) # Install the command hooks headers: $($(LOCAL)-HEADERS) -library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) +library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY).so.$(MAJOR) clean: clean/$(LOCAL) veryclean: veryclean/$(LOCAL) @@ -44,14 +44,14 @@ veryclean/$(LOCAL): clean/$(LOCAL) -rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so* # Build rules for the two symlinks -.PHONY: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so -$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR): $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR) +.PHONY: $(LIB)/lib$(LIBRARY).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so +$(LIB)/lib$(LIBRARY).so.$(MAJOR): $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR) ln -sf $( /dev/null echo Building shared library $@ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\ diff --git a/debian/changelog b/debian/changelog index 80369e8e7..e7a7e1c49 100644 --- a/debian/changelog +++ b/debian/changelog @@ -35,6 +35,8 @@ apt (0.7.25) UNRELEASED; urgency=low [ Eugene V. Lyubimkin ] * apt-pkg/contib/strutl.h - Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2. + * build infrastructure: + - Bumped libapt version, excluded eglibc from SONAME. (Closes: #448249) [ Julian Andres Klode ] * doc/apt.conf.5.xml: diff --git a/debian/rules b/debian/rules index d19531dfc..d1b77e172 100755 --- a/debian/rules +++ b/debian/rules @@ -79,21 +79,21 @@ export LIBAPTPKG_MAJOR:=$(shell egrep '^MAJOR=' apt-pkg/makefile |cut -d '=' -f export LIBAPTINST_MAJOR:=$(shell egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2) # Determine which package we should provide in the control files -LIBAPTPKG_PROVIDE=libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER)-$(LIBAPTPKG_MAJOR) -LIBAPTINST_PROVIDE=libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER)-$(LIBAPTINST_MAJOR) +LIBAPTPKG_PROVIDE=libapt-pkg-$(LIBAPTPKG_MAJOR) +LIBAPTINST_PROVIDE=libapt-inst-$(LIBAPTINST_MAJOR) debian/shlibs.local: apt-pkg/makefile # We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and # one for the rest of the packages. This ensures that each package gets # the right overrides.. rm -rf $@ $@.apt $@.apt-utils - echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR)" > $@.apt + echo "libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt - echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils - echo "libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTINST_MAJOR)" >> $@.apt-utils + echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils + echo "libapt-inst $(LIBAPTINST_MAJOR)" >> $@.apt-utils - echo "libapt-pkg$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@ - echo "libapt-inst$(GLIBC_VER)$(LIBSTDCPP_VER) $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@ + echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@ + echo "libapt-inst $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@ build: build/build-stamp build-doc: build/build-doc-stamp diff --git a/methods/makefile b/methods/makefile index 134166ba3..f5d80d839 100644 --- a/methods/makefile +++ b/methods/makefile @@ -7,7 +7,7 @@ include ../buildlib/defaults.mak BIN := $(BIN)/methods # FIXME.. -LIB_APT_PKG_MAJOR = 4.8 +LIB_APT_PKG_MAJOR = 4.9 APT_DOMAIN := libapt-pkg$(LIB_APT_PKG_MAJOR) # The file method -- cgit v1.2.3-70-g09d2 From 23d8465817e7bc0d188f36fc2ad14f41ff01c221 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 28 Oct 2009 19:13:56 +0100 Subject: refactor the buildsystem to extract library versions from one file, so it is not needed to change x-files to just increase a version number (because this is far to easy to forget one of the files, which will not result in failures or is bad in general, but is inconsitent.) --- apt-pkg/init.h | 6 +++++- apt-pkg/makefile | 10 +++++----- buildlib/libversion.mak | 14 ++++++++++++++ debian/rules | 3 +-- methods/makefile | 5 ++--- 5 files changed, 27 insertions(+), 11 deletions(-) create mode 100644 buildlib/libversion.mak (limited to 'apt-pkg') diff --git a/apt-pkg/init.h b/apt-pkg/init.h index 44a57eb45..b3e4b147f 100644 --- a/apt-pkg/init.h +++ b/apt-pkg/init.h @@ -16,7 +16,11 @@ #include #include -// 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 9 #define APT_PKG_RELEASE 0 diff --git a/apt-pkg/makefile b/apt-pkg/makefile index 80038e28e..f71367ace 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -9,13 +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 -MAJOR=4.9 -MINOR=0 +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/buildlib/libversion.mak b/buildlib/libversion.mak new file mode 100644 index 000000000..796c956e7 --- /dev/null +++ b/buildlib/libversion.mak @@ -0,0 +1,14 @@ +# -*- make -*- +# Version number of libapt-pkg. +# Please increase MAJOR with each ABI break, +# with each non-ABI break to the lib, please increase RELEASE. +# The versionnumber is extracted from apt-pkg/init.h - see also there. +LIBAPTPKG_MAJOR=$(shell awk -v ORS='.' '/^\#define APT_PKG_M/ {print $$3}' $(BASE)/apt-pkg/init.h | sed 's/\.$$//') +LIBAPTPKG_RELEASE=$(shell grep -E '^\#define APT_PKG_RELEASE' $(BASE)/apt-pkg/init.h | cut -d ' ' -f 3) + +# Version number of libapt-inst +# Please increase MAJOR with each ABI break, +# with each non-ABI break to the lib, please increase MINOR. +# The versionnumber is extracted from apt-inst/makefile - see also there. +LIBAPTINST_MAJOR=$(shell egrep '^MAJOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2) +LIBAPTINST_MINOR=$(shell egrep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2) diff --git a/debian/rules b/debian/rules index d1b77e172..f69c0cffb 100755 --- a/debian/rules +++ b/debian/rules @@ -75,8 +75,7 @@ APT_UTILS=ftparchive sortpkgs extracttemplates #export DH_VERBOSE=1 # Find the libapt-pkg major version for use in other control files -export LIBAPTPKG_MAJOR:=$(shell egrep '^MAJOR=' apt-pkg/makefile |cut -d '=' -f 2) -export LIBAPTINST_MAJOR:=$(shell egrep '^MAJOR=' apt-inst/makefile |cut -d '=' -f 2) +include buildlib/libversion.mak # Determine which package we should provide in the control files LIBAPTPKG_PROVIDE=libapt-pkg-$(LIBAPTPKG_MAJOR) diff --git a/methods/makefile b/methods/makefile index f5d80d839..7bcae6b9b 100644 --- a/methods/makefile +++ b/methods/makefile @@ -6,9 +6,8 @@ SUBDIR=methods include ../buildlib/defaults.mak BIN := $(BIN)/methods -# FIXME.. -LIB_APT_PKG_MAJOR = 4.9 -APT_DOMAIN := libapt-pkg$(LIB_APT_PKG_MAJOR) +include ../buildlib/libversion.mak +APT_DOMAIN := libapt-pkg$(LIBAPTPKG_MAJOR) # The file method PROGRAM=file -- cgit v1.2.3-70-g09d2