Don-t-hardcode-build-flags.patch 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. From: Christian Kastner <ckk@debian.org>
  2. Date: Sat, 26 Jul 2014 18:22:40 +0200
  3. Subject: Don't hardcode build flags
  4. Remove upstream's hardcoded build flags in Makefiles so that the build flags
  5. passed on by dpkg-buildflags are honored. This enables hardening during build.
  6. Last-Update: 2015-10-02
  7. ---
  8. Make.Rules | 6 +++---
  9. libcap/Makefile | 8 ++++----
  10. pam_cap/Makefile | 4 ++--
  11. progs/Makefile | 4 ++--
  12. 4 files changed, 11 insertions(+), 11 deletions(-)
  13. diff --git a/Make.Rules b/Make.Rules
  14. index 8347b26..61c4c48 100644
  15. --- a/Make.Rules
  16. +++ b/Make.Rules
  17. @@ -48,8 +48,8 @@ MINOR=25
  18. KERNEL_HEADERS := $(topdir)/libcap/include/uapi
  19. IPATH += -fPIC -I$(KERNEL_HEADERS) -I$(topdir)/libcap/include
  20. -CC := gcc
  21. -CFLAGS := -O2 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
  22. +CC ?= gcc
  23. +CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
  24. BUILD_CC := $(CC)
  25. BUILD_CFLAGS := $(CFLAGS) $(IPATH)
  26. AR := ar
  27. @@ -60,7 +60,7 @@ WARNINGS=-Wall -Wwrite-strings \
  28. -Wstrict-prototypes -Wmissing-prototypes \
  29. -Wnested-externs -Winline -Wshadow
  30. LD=$(CC) -Wl,-x -shared
  31. -LDFLAGS := #-g
  32. +LDFLAGS += #-g
  33. BUILD_GPERF := $(shell which gperf >/dev/null 2>/dev/null && echo yes)
  34. SYSTEM_HEADERS = /usr/include
  35. diff --git a/libcap/Makefile b/libcap/Makefile
  36. index d189777..ce327c5 100644
  37. --- a/libcap/Makefile
  38. +++ b/libcap/Makefile
  39. @@ -35,7 +35,7 @@ libcap.pc: libcap.pc.in
  40. $< >$@
  41. _makenames: _makenames.c cap_names.list.h
  42. - $(BUILD_CC) $(BUILD_CFLAGS) $< -o $@
  43. + $(BUILD_CC) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $(BUILD_CPPFLAGS) $< -o $@
  44. cap_names.h: _makenames
  45. ./_makenames > cap_names.h
  46. @@ -52,15 +52,15 @@ $(STALIBNAME): $(OBJS)
  47. $(RANLIB) $@
  48. $(MINLIBNAME): $(OBJS)
  49. - $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-soname,$(MAJLIBNAME) -o $@ $^
  50. + $(LD) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -Wl,-soname,$(MAJLIBNAME) -o $@ $^
  51. ln -sf $(MINLIBNAME) $(MAJLIBNAME)
  52. ln -sf $(MAJLIBNAME) $(LIBNAME)
  53. %.o: %.c $(INCLS)
  54. - $(CC) $(CFLAGS) $(IPATH) -c $< -o $@
  55. + $(CC) $(CFLAGS) $(CPPFLAGS) $(IPATH) -c $< -o $@
  56. cap_text.o: cap_text.c $(USE_GPERF_OUTPUT) $(INCLS)
  57. - $(CC) $(CFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
  58. + $(CC) $(CFLAGS) $(CPPFLAGS) $(IPATH) $(INCLUDE_GPERF_OUTPUT) -c $< -o $@
  59. install: all
  60. mkdir -p -m 0755 $(FAKEROOT)$(INCDIR)/sys
  61. diff --git a/pam_cap/Makefile b/pam_cap/Makefile
  62. index f83e324..4b15291 100644
  63. --- a/pam_cap/Makefile
  64. +++ b/pam_cap/Makefile
  65. @@ -20,10 +20,10 @@ pam_cap.so: pam_cap.o
  66. $(LD) $(LDFLAGS) -o pam_cap.so $< $(LDLIBS)
  67. pam_cap.o: pam_cap.c
  68. - $(CC) $(CFLAGS) $(IPATH) -c $< -o $@
  69. + $(CC) $(CFLAGS) $(CPPFLAGS) $(IPATH) -c $< -o $@
  70. testcompile: test.c pam_cap.o
  71. - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $+ -lpam -ldl $(LDLIBS)
  72. + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $+ -lpam -ldl $(LDLIBS)
  73. clean:
  74. rm -f *.o *.so testcompile *~
  75. diff --git a/progs/Makefile b/progs/Makefile
  76. index c094a24..c38964e 100644
  77. --- a/progs/Makefile
  78. +++ b/progs/Makefile
  79. @@ -16,10 +16,10 @@ LDLIBS += -L../libcap -lcap
  80. all: $(BUILD)
  81. $(BUILD): %: %.o
  82. - $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS)
  83. + $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $< $(LDLIBS)
  84. %.o: %.c $(INCS)
  85. - $(CC) $(IPATH) $(CFLAGS) -c $< -o $@
  86. + $(CC) $(IPATH) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
  87. install: all
  88. mkdir -p -m 0755 $(FAKEROOT)$(SBINDIR)