From 1d2f40178c8b3ba39c25de25530c998c3591fab8 Mon Sep 17 00:00:00 2001 From: Vincent Untz Date: Fri, 24 Feb 2012 13:13:17 +0100 Subject: [PATCH] polkitagent, pkexec: Respect SUID_CFLAGS and SUID_LDFLAGS This is a good way for distributors to use -fPIE/-pie. --- configure.ac | 5 +++++ src/polkitagent/Makefile.am | 6 ++++++ src/programs/Makefile.am | 6 ++++++ 3 files changed, 17 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index f4a0c41..42da974 100644 --- a/configure.ac +++ b/configure.ac @@ -429,6 +429,11 @@ AC_SUBST([GETTEXT_PACKAGE]) AM_GLIB_GNU_GETTEXT AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain]) +AC_ARG_VAR([SUID_CFLAGS], + [CFLAGS used for binaries which are usually with the suid bit]) +AC_ARG_VAR([SUID_LDFLAGS], + [LDFLAGS used for binaries which are usually with the suid bit]) + AC_OUTPUT([ Makefile actions/Makefile diff --git a/src/polkitagent/Makefile.am b/src/polkitagent/Makefile.am index e8c9fb1..f0f8419 100644 --- a/src/polkitagent/Makefile.am +++ b/src/polkitagent/Makefile.am @@ -92,6 +92,7 @@ endif polkit_agent_helper_1_CFLAGS = \ -D_POLKIT_COMPILATION \ + $(SUID_CFLAGS) \ $(GLIB_CFLAGS) \ $(NULL) @@ -101,6 +102,11 @@ polkit_agent_helper_1_LDADD = \ $(top_builddir)/src/polkit/libpolkit-gobject-1.la \ $(NULL) +polkit_agent_helper_1_LDFLAGS = \ + $(SUID_LDFLAGS) \ + $(AM_LDFLAGS) \ + $(NULL) + if HAVE_INTROSPECTION girdir = $(INTROSPECTION_GIRDIR) diff --git a/src/programs/Makefile.am b/src/programs/Makefile.am index c260dee..6aac06b 100644 --- a/src/programs/Makefile.am +++ b/src/programs/Makefile.am @@ -24,6 +24,7 @@ bin_PROGRAMS = pkexec pkcheck pkaction pkexec_SOURCES = pkexec.c pkexec_CFLAGS = \ + $(SUID_CFLAGS) \ $(GLIB_CFLAGS) \ $(AUTH_LIBS) \ $(NULL) @@ -34,6 +35,11 @@ pkexec_LDADD = \ $(top_builddir)/src/polkitagent/libpolkit-agent-1.la \ $(NULL) +pkexec_LDFLAGS = \ + $(SUID_LDFLAGS) \ + $(AM_LDFLAGS) \ + $(NULL) + # ---------------------------------------------------------------------------------------------------- pkcheck_SOURCES = pkcheck.c -- 1.7.9