~ubuntu-branches/ubuntu/saucy/keyutils/saucy-proposed

« back to all changes in this revision

Viewing changes to .pc/05-hardening.patch/Makefile

  • Committer: Package Import Robot
  • Author(s): Luk Claes
  • Date: 2013-04-06 09:38:50 UTC
  • mfrom: (10.2.11 sid)
  • Revision ID: package-import@ubuntu.com-20130406093850-e6xnevgf3za1t4y3
Tags: 1.5.5-7
* Taking over with maintainer's consent.
* Adding watch file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
CPPFLAGS        := -I.
2
 
CFLAGS          := -g -Wall -Werror
3
 
INSTALL         := install
4
 
DESTDIR         :=
5
 
SPECFILE        := keyutils.spec
6
 
NO_GLIBC_KEYERR := 0
7
 
NO_ARLIB        := 0
8
 
ETCDIR          := /etc
9
 
BINDIR          := /bin
10
 
SBINDIR         := /sbin
11
 
SHAREDIR        := /usr/share/keyutils
12
 
MAN1            := /usr/share/man/man1
13
 
MAN3            := /usr/share/man/man3
14
 
MAN5            := /usr/share/man/man5
15
 
MAN8            := /usr/share/man/man8
16
 
INCLUDEDIR      := /usr/include
17
 
LNS             := ln -sf
18
 
 
19
 
###############################################################################
20
 
#
21
 
# Determine the current package version from the specfile
22
 
#
23
 
###############################################################################
24
 
vermajor        := $(shell grep "%define vermajor" $(SPECFILE))
25
 
verminor        := $(shell grep "%define verminor" $(SPECFILE))
26
 
MAJOR           := $(word 3,$(vermajor))
27
 
MINOR           := $(word 3,$(verminor))
28
 
VERSION         := $(MAJOR).$(MINOR)
29
 
 
30
 
TARBALL         := keyutils-$(VERSION).tar.bz2
31
 
 
32
 
###############################################################################
33
 
#
34
 
# Determine the current library version from the version script
35
 
#
36
 
###############################################################################
37
 
libversion      := $(filter KEYUTILS_%,$(shell grep ^KEYUTILS_ version.lds))
38
 
libversion      := $(lastword $(libversion))
39
 
libversion      := $(lastword $(libversion))
40
 
APIVERSION      := $(subst KEYUTILS_,,$(libversion))
41
 
vernumbers      := $(subst ., ,$(APIVERSION))
42
 
APIMAJOR        := $(firstword $(vernumbers))
43
 
 
44
 
ARLIB           := libkeyutils.a
45
 
DEVELLIB        := libkeyutils.so
46
 
SONAME          := libkeyutils.so.$(APIMAJOR)
47
 
LIBNAME         := libkeyutils.so.$(APIVERSION)
48
 
 
49
 
###############################################################################
50
 
#
51
 
# Guess at the appropriate lib directory and word size
52
 
#
53
 
###############################################################################
54
 
LIBDIR          := $(shell ldd /usr/bin/make | grep '\(/libc\)' | sed -e 's!.*\(/.*\)/libc[.].*!\1!')
55
 
USRLIBDIR       := $(patsubst /lib/%,/usr/lib/%,$(LIBDIR))
56
 
BUILDFOR        := $(shell file /usr/bin/make | sed -e 's!.*ELF \(32\|64\)-bit.*!\1!')-bit
57
 
 
58
 
LNS             := ln -sf
59
 
 
60
 
ifeq ($(BUILDFOR),32-bit)
61
 
LIBDIR          := /lib
62
 
USRLIBDIR       := /usr/lib
63
 
else
64
 
ifeq ($(BUILDFOR),64-bit)
65
 
LIBDIR          := /lib64
66
 
USRLIBDIR       := /usr/lib64
67
 
endif
68
 
endif
69
 
 
70
 
###############################################################################
71
 
#
72
 
# This is necessary if glibc doesn't know about the key management error codes
73
 
#
74
 
###############################################################################
75
 
ifeq ($(NO_GLIBC_KEYERR),1)
76
 
CFLAGS  += -DNO_GLIBC_KEYERR
77
 
LIBLIBS := -ldl -lc
78
 
else
79
 
LIBLIBS :=
80
 
endif
81
 
 
82
 
###############################################################################
83
 
#
84
 
# Normal build rule
85
 
#
86
 
###############################################################################
87
 
all: $(DEVELLIB) keyctl request-key key.dns_resolver
88
 
 
89
 
###############################################################################
90
 
#
91
 
# Build the libraries
92
 
#
93
 
###############################################################################
94
 
#RPATH = -Wl,-rpath,$(LIBDIR)
95
 
 
96
 
ifeq ($(NO_ARLIB),0)
97
 
all: $(ARLIB)
98
 
$(ARLIB): keyutils.o
99
 
        $(AR) rcs $@ $<
100
 
endif
101
 
 
102
 
VCPPFLAGS       := -DPKGBUILD="\"$(shell date -u +%F)\""
103
 
VCPPFLAGS       += -DPKGVERSION="\"keyutils-$(VERSION)\""
104
 
VCPPFLAGS       += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\""
105
 
 
106
 
keyutils.o: keyutils.c keyutils.h Makefile
107
 
        $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -UNO_GLIBC_KEYERR -o $@ -c $<
108
 
 
109
 
 
110
 
$(DEVELLIB): $(SONAME)
111
 
        ln -sf $< $@
112
 
 
113
 
$(SONAME): $(LIBNAME)
114
 
        ln -sf $< $@
115
 
 
116
 
LIBVERS := -shared -Wl,-soname,$(SONAME) -Wl,--version-script,version.lds
117
 
 
118
 
$(LIBNAME): keyutils.os version.lds Makefile
119
 
        $(CC) $(CFLAGS) -fPIC $(LDFLAGS) $(LIBVERS) -o $@ keyutils.os $(LIBLIBS)
120
 
 
121
 
keyutils.os: keyutils.c keyutils.h Makefile
122
 
        $(CC) $(CPPFLAGS) $(VCPPFLAGS) $(CFLAGS) -fPIC -o $@ -c $<
123
 
 
124
 
###############################################################################
125
 
#
126
 
# Build the programs
127
 
#
128
 
###############################################################################
129
 
%.o: %.c keyutils.h Makefile
130
 
        $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
131
 
 
132
 
keyctl: keyctl.o $(DEVELLIB)
133
 
        $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils
134
 
 
135
 
request-key: request-key.o $(DEVELLIB)
136
 
        $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils
137
 
 
138
 
key.dns_resolver: key.dns_resolver.o $(DEVELLIB)
139
 
        $(CC) -L. $(CFLAGS) $(LDFLAGS) $(RPATH) -o $@ $< -lkeyutils -lresolv
140
 
 
141
 
###############################################################################
142
 
#
143
 
# Install everything
144
 
#
145
 
###############################################################################
146
 
install: all
147
 
ifeq ($(NO_ARLIB),0)
148
 
        $(INSTALL) -D -m 0644 $(ARLIB) $(DESTDIR)$(USRLIBDIR)/$(ARLIB)
149
 
endif
150
 
        $(INSTALL) -D $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(LIBNAME)
151
 
        $(LNS) $(LIBNAME) $(DESTDIR)$(LIBDIR)/$(SONAME)
152
 
        mkdir -p $(DESTDIR)$(USRLIBDIR)
153
 
        $(LNS) $(LIBDIR)/$(SONAME) $(DESTDIR)$(USRLIBDIR)/$(DEVELLIB)
154
 
        $(INSTALL) -D keyctl $(DESTDIR)$(BINDIR)/keyctl
155
 
        $(INSTALL) -D request-key $(DESTDIR)$(SBINDIR)/request-key
156
 
        $(INSTALL) -D request-key-debug.sh $(DESTDIR)$(SHAREDIR)/request-key-debug.sh
157
 
        $(INSTALL) -D key.dns_resolver $(DESTDIR)$(SBINDIR)/key.dns_resolver
158
 
        $(INSTALL) -D -m 0644 request-key.conf $(DESTDIR)$(ETCDIR)/request-key.conf
159
 
        mkdir -p $(DESTDIR)$(ETCDIR)/request-key.d
160
 
        $(INSTALL) -D -m 0644 keyctl.1 $(DESTDIR)$(MAN1)/keyctl.1
161
 
        $(INSTALL) -D -m 0644 keyctl_chown.3 $(DESTDIR)$(MAN3)/keyctl_chown.3
162
 
        $(INSTALL) -D -m 0644 keyctl_clear.3 $(DESTDIR)$(MAN3)/keyctl_clear.3
163
 
        $(INSTALL) -D -m 0644 keyctl_describe.3 $(DESTDIR)$(MAN3)/keyctl_describe.3
164
 
        $(LNS) keyctl_describe.3 $(DESTDIR)$(MAN3)/keyctl_describe_alloc.3
165
 
        $(INSTALL) -D -m 0644 keyctl_get_keyring_ID.3 $(DESTDIR)$(MAN3)/keyctl_get_keyring_ID.3
166
 
        $(INSTALL) -D -m 0644 keyctl_get_security.3 $(DESTDIR)$(MAN3)/keyctl_get_security.3
167
 
        $(LNS) keyctl_get_security.3 $(DESTDIR)$(MAN3)/keyctl_get_security_alloc.3
168
 
        $(INSTALL) -D -m 0644 keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_instantiate.3
169
 
        $(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_instantiate_iov.3
170
 
        $(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_reject.3
171
 
        $(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_negate.3
172
 
        $(LNS) keyctl_instantiate.3 $(DESTDIR)$(MAN3)/keyctl_assume_authority.3
173
 
        $(INSTALL) -D -m 0644 keyctl_join_session_keyring.3 $(DESTDIR)$(MAN3)/keyctl_join_session_keyring.3
174
 
        $(INSTALL) -D -m 0644 keyctl_link.3 $(DESTDIR)$(MAN3)/keyctl_link.3
175
 
        $(LNS) keyctl_link.3 $(DESTDIR)$(MAN3)/keyctl_unlink.3
176
 
        $(INSTALL) -D -m 0644 keyctl_read.3 $(DESTDIR)$(MAN3)/keyctl_read.3
177
 
        $(LNS) keyctl_read.3 $(DESTDIR)$(MAN3)/keyctl_read_alloc.3
178
 
        $(INSTALL) -D -m 0644 keyctl_revoke.3 $(DESTDIR)$(MAN3)/keyctl_revoke.3
179
 
        $(INSTALL) -D -m 0644 keyctl_search.3 $(DESTDIR)$(MAN3)/keyctl_search.3
180
 
        $(INSTALL) -D -m 0644 keyctl_setperm.3 $(DESTDIR)$(MAN3)/keyctl_setperm.3
181
 
        $(INSTALL) -D -m 0644 keyctl_set_reqkey_keyring.3 $(DESTDIR)$(MAN3)/keyctl_set_reqkey_keyring.3
182
 
        $(INSTALL) -D -m 0644 keyctl_set_timeout.3 $(DESTDIR)$(MAN3)/keyctl_set_timeout.3
183
 
        $(INSTALL) -D -m 0644 keyctl_update.3 $(DESTDIR)$(MAN3)/keyctl_update.3
184
 
        $(INSTALL) -D -m 0644 recursive_key_scan.3 $(DESTDIR)$(MAN3)/recursive_key_scan.3
185
 
        $(LNS) recursive_key_scan.3 $(DESTDIR)$(MAN3)/recursive_session_key_scan.3
186
 
        $(INSTALL) -D -m 0644 request-key.conf.5 $(DESTDIR)$(MAN5)/request-key.conf.5
187
 
        $(INSTALL) -D -m 0644 request-key.8 $(DESTDIR)$(MAN8)/request-key.8
188
 
        $(INSTALL) -D -m 0644 key.dns_resolver.8 $(DESTDIR)$(MAN8)/key.dns_resolver.8
189
 
        $(INSTALL) -D -m 0644 keyutils.h $(DESTDIR)$(INCLUDEDIR)/keyutils.h
190
 
 
191
 
###############################################################################
192
 
#
193
 
# Run tests
194
 
#
195
 
###############################################################################
196
 
test:
197
 
        $(MAKE) -C tests run
198
 
 
199
 
###############################################################################
200
 
#
201
 
# Clean up
202
 
#
203
 
###############################################################################
204
 
clean:
205
 
        $(MAKE) -C tests clean
206
 
        $(RM) libkeyutils*
207
 
        $(RM) keyctl request-key key.dns_resolver
208
 
        $(RM) *.o *.os *~
209
 
        $(RM) debugfiles.list debugsources.list
210
 
 
211
 
distclean: clean
212
 
        $(RM) -r rpmbuild
213
 
 
214
 
###############################################################################
215
 
#
216
 
# Generate a tarball
217
 
#
218
 
###############################################################################
219
 
$(TARBALL):
220
 
        git archive --prefix=keyutils-$(VERSION)/ --format tar -o $(TARBALL) HEAD
221
 
 
222
 
tarball: $(TARBALL)
223
 
 
224
 
###############################################################################
225
 
#
226
 
# Generate an RPM
227
 
#
228
 
###############################################################################
229
 
SRCBALL := rpmbuild/SOURCES/$(TARBALL)
230
 
 
231
 
BUILDID := .local
232
 
dist    := $(word 2,$(shell grep "%dist" /etc/rpm/macros.dist))
233
 
release := $(word 2,$(shell grep ^Release: $(SPECFILE)))
234
 
release := $(subst %{?dist},$(dist),$(release))
235
 
release := $(subst %{?buildid},$(BUILDID),$(release))
236
 
rpmver  := $(VERSION)-$(release)
237
 
SRPM    := rpmbuild/SRPMS/keyutils-$(rpmver).src.rpm
238
 
 
239
 
RPMBUILDDIRS := \
240
 
                --define "_srcrpmdir $(CURDIR)/rpmbuild/SRPMS" \
241
 
                --define "_rpmdir $(CURDIR)/rpmbuild/RPMS" \
242
 
                --define "_sourcedir $(CURDIR)/rpmbuild/SOURCES" \
243
 
                --define "_specdir $(CURDIR)/rpmbuild/SPECS" \
244
 
                --define "_builddir $(CURDIR)/rpmbuild/BUILD" \
245
 
                --define "_buildrootdir $(CURDIR)/rpmbuild/BUILDROOT"
246
 
 
247
 
RPMFLAGS := \
248
 
        --define "buildid $(BUILDID)"
249
 
 
250
 
rpm:
251
 
        mkdir -p rpmbuild
252
 
        chmod ug-s rpmbuild
253
 
        mkdir -p rpmbuild/{SPECS,SOURCES,BUILD,BUILDROOT,RPMS,SRPMS}
254
 
        git archive --prefix=keyutils-$(VERSION)/ --format tar -o $(SRCBALL) HEAD
255
 
        rpmbuild -ts $(SRCBALL) --define "_srcrpmdir rpmbuild/SRPMS" $(RPMFLAGS)
256
 
        rpmbuild --rebuild $(SRPM) $(RPMBUILDDIRS) $(RPMFLAGS)
257
 
 
258
 
rpmlint: rpm
259
 
        rpmlint $(SRPM) $(CURDIR)/rpmbuild/RPMS/*/keyutils-{,libs-,libs-devel-,debuginfo-}$(rpmver).*.rpm
260
 
 
261
 
###############################################################################
262
 
#
263
 
# Build debugging
264
 
#
265
 
###############################################################################
266
 
show_vars:
267
 
        @echo VERSION=$(VERSION)
268
 
        @echo APIVERSION=$(APIVERSION)
269
 
        @echo LIBDIR=$(LIBDIR)
270
 
        @echo USRLIBDIR=$(USRLIBDIR)
271
 
        @echo BUILDFOR=$(BUILDFOR)
272
 
        @echo SONAME=$(SONAME)
273
 
        @echo LIBNAME=$(LIBNAME)