Просмотр исходного кода

revert this commit as fast as possible (aka next ABI break)

This commit sets up our faked library extension to trick the build
system into building the packages with libc6.9-6 while we are actually
already at libc6.10-6. Oh dear...
David Kalnischkies лет назад: 16
Родитель
Сommit
c0a7393742
4 измененных файлов с 22 добавлено и 15 удалено
  1. 1 1
      apt-pkg/init.h
  2. 7 7
      buildlib/library.mak
  3. 7 0
      buildlib/libversion.mak
  4. 7 7
      debian/rules

+ 1 - 1
apt-pkg/init.h

@@ -23,7 +23,7 @@
 // See also buildlib/libversion.mak
 // See also buildlib/libversion.mak
 // FIXME: this needs to be changed to "4" (without quotes) on the next
 // FIXME: this needs to be changed to "4" (without quotes) on the next
 //        ABI break
 //        ABI break
-#define APT_PKG_MAJOR libc6.10-6-4
+#define APT_PKG_MAJOR 4
 #define APT_PKG_MINOR 8
 #define APT_PKG_MINOR 8
 #define APT_PKG_RELEASE 0
 #define APT_PKG_RELEASE 0
     
     

+ 7 - 7
buildlib/library.mak

@@ -16,11 +16,11 @@
 # See defaults.mak for information about LOCAL
 # See defaults.mak for information about LOCAL
 
 
 # Some local definitions
 # Some local definitions
-LOCAL := lib$(LIBRARY).so.$(MAJOR).$(MINOR)
+LOCAL := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)
 $(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))
 $(LOCAL)-OBJS := $(addprefix $(OBJ)/,$(addsuffix .opic,$(notdir $(basename $(SOURCE)))))
 $(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))
 $(LOCAL)-DEP := $(addprefix $(DEP)/,$(addsuffix .opic.d,$(notdir $(basename $(SOURCE)))))
 $(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))
 $(LOCAL)-HEADERS := $(addprefix $(INCLUDE)/,$(HEADERS))
-$(LOCAL)-SONAME := lib$(LIBRARY).so.$(MAJOR)
+$(LOCAL)-SONAME := lib$(LIBRARY)$(LIBEXT).so.$(MAJOR)
 $(LOCAL)-SLIBS := $(SLIBS)
 $(LOCAL)-SLIBS := $(SLIBS)
 $(LOCAL)-LIBRARY := $(LIBRARY)
 $(LOCAL)-LIBRARY := $(LIBRARY)
 
 
@@ -29,7 +29,7 @@ include $(PODOMAIN_H)
 
 
 # Install the command hooks
 # Install the command hooks
 headers: $($(LOCAL)-HEADERS)
 headers: $($(LOCAL)-HEADERS)
-library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY).so.$(MAJOR)
+library: $(LIB)/lib$(LIBRARY).so $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR)
 clean: clean/$(LOCAL)
 clean: clean/$(LOCAL)
 veryclean: veryclean/$(LOCAL)
 veryclean: veryclean/$(LOCAL)
 
 
@@ -44,14 +44,14 @@ veryclean/$(LOCAL): clean/$(LOCAL)
 	-rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so*
 	-rm -f $($(@F)-HEADERS) $(LIB)/lib$($(@F)-LIBRARY)*.so*
 
 
 # Build rules for the two symlinks
 # Build rules for the two symlinks
-.PHONY: $(LIB)/lib$(LIBRARY).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so
-$(LIB)/lib$(LIBRARY).so.$(MAJOR): $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
+.PHONY: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR) $(LIB)/lib$(LIBRARY).so
+$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR): $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)
 	ln -sf $(<F) $@
 	ln -sf $(<F) $@
-$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR)
+$(LIB)/lib$(LIBRARY).so: $(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR)
 	ln -sf $(<F) $@
 	ln -sf $(<F) $@
 
 
 # The binary build rule
 # The binary build rule
-$(LIB)/lib$(LIBRARY).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
+$(LIB)/lib$(LIBRARY)$(LIBEXT).so.$(MAJOR).$(MINOR): $($(LOCAL)-HEADERS) $($(LOCAL)-OBJS)
 	-rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null
 	-rm -f $(LIB)/lib$($(@F)-LIBRARY)*.so* 2> /dev/null
 	echo Building shared library $@
 	echo Building shared library $@
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\
 	$(CXX) $(CXXFLAGS) $(LDFLAGS) $(PICFLAGS) $(LFLAGS) $(LFLAGS_SO)\

+ 7 - 0
buildlib/libversion.mak

@@ -12,3 +12,10 @@ LIBAPTPKG_RELEASE=$(shell grep -E '^\#define APT_PKG_RELEASE' $(BASE)/apt-pkg/in
 # The versionnumber is extracted from apt-inst/makefile - see also there.
 # 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_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)
 LIBAPTINST_MINOR=$(shell egrep '^MINOR=' $(BASE)/apt-inst/makefile |cut -d '=' -f 2)
+
+# FIXME: In previous releases this lovely variable includes
+# the detected libc and libdc++ version. As this is bogus we
+# want to drop this, but this a ABI break.
+# And we don't want to do this now. So we hardcode a value here,
+# and drop it later on (hopefully as fast as possible).
+LIBEXT=-libc6.9-6

+ 7 - 7
debian/rules

@@ -78,21 +78,21 @@ APT_UTILS=ftparchive sortpkgs extracttemplates
 include buildlib/libversion.mak
 include buildlib/libversion.mak
 
 
 # Determine which package we should provide in the control files
 # Determine which package we should provide in the control files
-LIBAPTPKG_PROVIDE=libapt-pkg-$(LIBAPTPKG_MAJOR)
-LIBAPTINST_PROVIDE=libapt-inst-$(LIBAPTINST_MAJOR)
+LIBAPTPKG_PROVIDE=libapt-pkg$(LIBEXT)-$(LIBAPTPKG_MAJOR)
+LIBAPTINST_PROVIDE=libapt-inst$(LIBEXT)-$(LIBAPTINST_MAJOR)
 
 
 debian/shlibs.local: apt-pkg/makefile
 debian/shlibs.local: apt-pkg/makefile
 	# We have 3 shlibs.local files.. One for 'apt', one for 'apt-utils' and
 	# 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
 	# one for the rest of the packages. This ensures that each package gets
 	# the right overrides.. 
 	# the right overrides.. 
 	rm -rf $@ $@.apt $@.apt-utils
 	rm -rf $@ $@.apt $@.apt-utils
-	echo "libapt-pkg $(LIBAPTPKG_MAJOR)" > $@.apt
+	echo "libapt-pkg$(LIBEXT) $(LIBAPTPKG_MAJOR)" > $@.apt
 
 
-	echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils
-	echo "libapt-inst $(LIBAPTINST_MAJOR)" >> $@.apt-utils
+	echo "libapt-pkg$(LIBEXT) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@.apt-utils
+	echo "libapt-inst$(LIBEXT) $(LIBAPTINST_MAJOR)" >> $@.apt-utils
 
 
-	echo "libapt-pkg $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
-	echo "libapt-inst $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
+	echo "libapt-pkg$(LIBEXT) $(LIBAPTPKG_MAJOR) $(LIBAPTPKG_PROVIDE)" > $@
+	echo "libapt-inst$(LIBEXT) $(LIBAPTINST_MAJOR) $(LIBAPTINST_PROVIDE)" >> $@
 
 
 build: build/build-stamp	
 build: build/build-stamp	
 build-doc: build/build-doc-stamp	
 build-doc: build/build-doc-stamp