File: rules

package info (click to toggle)
ia32-libs-core 20130211
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 117,284 kB
  • ctags: 11
  • sloc: sh: 230; makefile: 90
file content (145 lines) | stat: -rwxr-xr-x 4,007 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/usr/bin/make -f

DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

# Lowest version with fully ABI compatible libraries
SHLIB_VERSION = $(shell dpkg-parsechangelog | sed -n 's/Version: \(.*\)/\1/p')

ROOT=/
ROOTL=
SUFFIX=32
SUFFIXL=32

build:
#	./fetch-and-build

clean:
	dh_testdir
	dh_testroot
	dh_clean

install-prefix:
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

######################################################################
# common variables
######################################################################

MAKE := $(MAKE) -f debian/rules
DEBS_ia32-libs-core := $(shell cd pkgs; ls *.deb | cut -d"_" -f1)

EXTRACT_ia32-libs-core := $(addprefix extract-,$(DEBS_ia32-libs-core))

######################################################################
# common helper
######################################################################
# All helpers expect DEST to be set to debian/<pkg>

.PRECIOUS: %/DEBIAN/Manifest
%/DEBIAN/Manifest:
	mkdir -p $(DEST)/DEBIAN/
	echo "# packages used in the creation of $(notdir $(DEST))" \
	     > $(DEST)/DEBIAN/Manifest
	echo >> $(DEST)/DEBIAN/Manifest

extract-%: $(DEST)/DEBIAN/Manifest
	cd pkgs && echo $*_*.deb >> ../$(DEST)/DEBIAN/Manifest
	dpkg-deb -x pkgs/$*_*.deb $(DEST)

	# change shlibs information
	# libX Y * ---> libX Y <DEST> (>= SHLIB_VERSION)
	mkdir -p $(DEST)/t/DEBIAN
	dpkg-deb -e pkgs/$*_*.deb $(DEST)/t/DEBIAN
	if [ -f $(DEST)/t/DEBIAN/shlibs ]; then \
	  grep -v "^udeb:" < $(DEST)/t/DEBIAN/shlibs \
	  | sed "s/^\(\S*\s*\S*\).*/\1 $(notdir $(DEST)) (>= $(SHLIB_VERSION))/" >>$(DEST)/DEBIAN/shlibs; \
	fi
	rm -r $(DEST)/t/DEBIAN

move-libs:
	# Move libraries to new places
	[ ! -d $(DEST)/t/lib ] \
	|| ( mkdir -p $(DEST)$(ROOT) \
	   && mv $(DEST)/t/lib $(DEST)$(ROOT)lib$(SUFFIX) )
	[ ! -d $(DEST)/t/usr/lib ] \
	|| ( mkdir -p $(DEST)$(ROOT)usr \
	   && mv $(DEST)/t/usr/lib $(DEST)$(ROOT)usr/lib$(SUFFIX) )

move-docs: PKG=$(notdir $(DEST))
move-docs:
	mkdir -p $(DEST)/DEBIAN/t
	mv $(DEST)/usr/share/doc/* $(DEST)/DEBIAN/t/
	mv $(DEST)/DEBIAN/t $(DEST)/usr/share/doc/$(PKG)

fix-links:
	# change links in $(DEST)$(ROOT) to new names
	for link in $$(find $(DEST)$(ROOT) -type l); do		\
	  dest=$$(readlink $$link);				\
	  case "$$dest" in					\
	    /etc*) ;;						\
	    /usr/lib/locale*) ;;				\
	    /*) rm -f $$link;					\
	        ln -s $$(echo $$dest | sed -e 's,^/,$(ROOT),' -e 's,/lib/,/lib$(SUFFIX)/,') $$link;	\
	        ;;						\
	  esac;							\
	done

######################################################################
# ia32-libs-core
######################################################################
install-ia32-libs-core: DEST=debian/ia32-libs-core
install-ia32-libs-core: install-prefix
	# Extract all debs
	$(MAKE) DEST=$(DEST) $(EXTRACT_ia32-libs-core)

	# Move and rename docs
	$(MAKE) DEST=$(DEST) move-docs

	# Add locale symlink
	#ln -s /usr/lib/locale $(DEST)$(ROOT)usr/lib$(SUFFIX)/locale

	# Remove unwanted directories and files
	rm -rf $(DEST)/t
	rm -rf $(DEST)/usr/share/lintian/overrides
	rm -rf $(DEST)/usr/share/alsa
	rm -rf $(DEST)/usr/lib

	# Add lintian overrides and Manifest
	mkdir -p $(DEST)/usr/share/lintian/overrides
	cp debian/ia32-libs-core.overrides $(DEST)/usr/share/lintian/overrides/ia32-libs-core
	mv $(DEST)/DEBIAN/Manifest $(DEST)/usr/share/doc/ia32-libs-core/Manifest.ia32-libs-core

	# Fix symlinks.
	$(MAKE) DEST=$(DEST) fix-links

	# Fix duplicate shlibs entries
	sort -u $(DEST)/DEBIAN/shlibs >$(DEST)/DEBIAN/shlibs.new
	mv $(DEST)/DEBIAN/shlibs.new $(DEST)/DEBIAN/shlibs

install: install-ia32-libs-core

binary-indep:


# Build architecture-dependent files here.

binary-arch: build install
	dh_testdir -s
	dh_testroot -s 
	dh_installdocs -s
	dh_installexamples -s
	dh_installchangelogs -s
	dh_link
	dh_lintian
	dh_compress -s
	dh_fixperms --exclude "*/ld-*" -s
	dh_installdeb -s
	dh_gencontrol -s
	dh_md5sums -s
	dh_builddeb -s

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure