source: trunk/athena/bin/machtype/debian/rules @ 25739

Revision 25739, 3.6 KB checked in by jdreed, 12 years ago (diff)
In machtype: * Support Quantal and Wheezy
  • Property svn:executable set to *
RevLine 
[22699]1#!/usr/bin/make -f
2
[23316]3DEB_AUTO_UPDATE_AUTOCONF = 2.50
[22699]4include /usr/share/cdbs/1/rules/debhelper.mk
5include /usr/share/cdbs/1/class/autotools.mk
6
[23223]7ATHENA_MAJOR_VERSION = 10
8ATHENA_MINOR_VERSION = 0
[22699]9
[24637]10arch_sysnames = $(if $(filter amd64,$(DEB_BUILD_ARCH)),$(1) $(2),$(if $(filter i386,$(DEB_BUILD_ARCH)),$(2),$(error Unrecognized architecture $(DEB_BUILD_ARCH))))
[24634]11
[24639]12DISTRO := $(shell lsb_release --short --id)
[24635]13# Ubuntu releases have Debian versions, but not vice-versa
[24639]14DEBIAN_VERSION := $(shell dpkg-query --showformat='$${Version}' --show base-files)
15UBUNTU_VERSION := $(shell lsb_release --short --release)
[22699]16
[24637]17compare_debian_version = $(shell dpkg --compare-versions $(DEBIAN_VERSION) '>=' $(1) && echo y)
18compare_ubuntu_version = $(shell dpkg --compare-versions $(UBUNTU_VERSION) '>=' $(1) && echo y)
[24636]19
[24641]20SYS_COMPAT :=
[22699]21
[24637]22ifneq ($(call compare_debian_version,3.1),y)
[22699]23    $(error Debian version $(DEBIAN_VERSION) is too old)
24endif
25
[25380]26# The order of the following code is important, and ensures the correct
27# relative order of Debian and Ubuntu releases. (Note this is not quite
28# chronological order, e.g., Debian 6.0 released before Ubuntu 11.04,
29# but after its DebianImportFreeze.)
30
[25739]31ifeq ($(call compare_debian_version,7),y)
32    SYS_COMPAT += $(call arch_sysnames,amd64_deb70,i386_deb70)
33endif
34
[24637]35ifeq ($(DISTRO),Ubuntu)
[25739]36    ifeq ($(call compare_ubuntu_version,12.10),y)
37        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1210,i386_ubuntu1210)
38    endif
[25436]39    ifeq ($(call compare_ubuntu_version,12.04),y)
40        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1204,i386_ubuntu1204)
41    endif
[25338]42    ifeq ($(call compare_ubuntu_version,11.10),y)
43        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1110,i386_ubuntu1110)
44    endif
45endif
46
47ifeq ($(call compare_debian_version,6),y)
48    SYS_COMPAT += $(call arch_sysnames,amd64_deb60,i386_deb60)
49endif
50
51ifeq ($(DISTRO),Ubuntu)
[25096]52    ifeq ($(call compare_ubuntu_version,11.04),y)
53        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1104,i386_ubuntu1104)
54    endif
55
[24896]56    ifeq ($(call compare_ubuntu_version,10.10),y)
57        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1010,i386_ubuntu1010)
58    endif
59
[24637]60    ifeq ($(call compare_ubuntu_version,10.04),y)
61        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu1004,i386_ubuntu1004)
62    endif
63
64    ifeq ($(call compare_ubuntu_version,9.10),y)
65        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu910,i386_ubuntu910)
66    endif
67
68    ifeq ($(call compare_ubuntu_version,9.04),y)
69        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu904,i386_ubuntu904)
70    endif
[23223]71endif
72
[24637]73ifeq ($(call compare_debian_version,4.0.4),y)
74    SYS_COMPAT += $(call arch_sysnames,amd64_deb50,i386_deb50)
[22699]75endif
76
[24637]77ifeq ($(DISTRO),Ubuntu)
78    ifeq ($(call compare_ubuntu_version,8.04),y)
79        SYS_COMPAT += $(call arch_sysnames,amd64_ubuntu804,i386_ubuntu804)
80    endif
81endif
82
83ifeq ($(call compare_debian_version,4),y)
84    SYS_COMPAT += $(call arch_sysnames,amd64_deb40,i386_deb40 i386_rhel4)
85endif
86
[23962]87SYS_COMPAT += i386_rhel3 i386_linux24
[22699]88
[24643]89OPENAFS_VERSION := $(shell dpkg-query --showformat='$${Version}' --show openafs-client)
90MAX_SYSNAMES_PLUS_ONE := $(if $(shell dpkg --compare-versions $(OPENAFS_VERSION) '>=' '1.4.12+dfsg-3~' && echo y),33,17)
[24640]91
92ifneq ($(word $(MAX_SYSNAMES_PLUS_ONE),$(SYS_COMPAT)),)
93    $(error Too many sysnames: $(SYSNAME_COMPAT))
94endif
95
[24643]96ATHENA_SYS := $(word 1, $(SYS_COMPAT))
97ATHENA_SYS_COMPAT := $(patsubst %:,%,$(subst : ,:,$(patsubst %,%:,$(wordlist 2, $(words $(SYS_COMPAT)), $(SYS_COMPAT)))))
[22699]98
99DEB_CONFIGURE_EXTRA_FLAGS += lbindir=/bin \
100        ATHENA_SYS=$(ATHENA_SYS) \
101        ATHENA_SYS_COMPAT=$(ATHENA_SYS_COMPAT) \
102        ATHENA_MAJOR_VERSION=$(ATHENA_MAJOR_VERSION) \
103        ATHENA_MINOR_VERSION=$(ATHENA_MINOR_VERSION)
104
105clean::
106        rm -f configure
Note: See TracBrowser for help on using the repository browser.