Browse Source

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.)
debian/1.8.y
David Kalnischkies 13 years ago
parent
commit
23d8465817
  1. 6
      apt-pkg/init.h
  2. 10
      apt-pkg/makefile
  3. 14
      buildlib/libversion.mak
  4. 3
      debian/rules
  5. 5
      methods/makefile

6
apt-pkg/init.h

@ -16,7 +16,11 @@
#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 9
#define APT_PKG_RELEASE 0

10
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 \

14
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)

3
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)

5
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

Loading…
Cancel
Save