components/sudo/Makefile
author Enrico Perla <enrico.perla@oracle.com>
Fri, 04 Nov 2016 05:32:50 -0700
changeset 7245 934578b959f0
parent 6023 1285c8b9e736
child 7301 0853d00f0cd4
permissions -rw-r--r--
20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk 23118364 Enable ADIHEAP on security sensitive binaries 23118359 Build openssh as PIE
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     1
#
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     2
# CDDL HEADER START
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     3
#
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     7
#
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    11
# and limitations under the License.
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    12
#
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    18
#
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    19
# CDDL HEADER END
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    20
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    21
#
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    22
# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    23
#
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    24
BUILD_BITS= 64
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    25
include ../../make-rules/shared-macros.mk
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    26
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    27
COMPONENT_NAME=		sudo
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    28
SRC_VERSION=	1.8.15
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    29
SRC_PATCH_VERSION=
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    30
ifdef SRC_PATCH_VERSION
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    31
COMPONENT_VERSION=	$(SRC_VERSION).$(SRC_PATCH_VERSION)
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    32
COMPONENT_SRC=		$(COMPONENT_NAME)-$(SRC_VERSION)p$(SRC_PATCH_VERSION)
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    33
else
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    34
COMPONENT_VERSION=	$(SRC_VERSION)
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    35
COMPONENT_SRC=		$(COMPONENT_NAME)-$(SRC_VERSION)
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    36
endif
800
2ad056ed89ec 7163771 sha1 should not be used in userland-fetch and userland component/*/Makefile
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 797
diff changeset
    37
COMPONENT_ARCHIVE_HASH=	\
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    38
    sha256:4316381708324da8b6cb151f655c1a11855207c7c02244d8ffdea5104d7cc308
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    39
COMPONENT_ARCHIVE_URL=	http://www.sudo.ws/sudo/dist/$(COMPONENT_ARCHIVE)
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    40
COMPONENT_PROJECT_URL=  http://www.sudo.ws/
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    41
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    42
TPNO=			26593
1948
2d1537e7942d 18978320 Userland components should specify TPNOs in Makefiles instead of pkg manifests
John Beck <John.Beck@Oracle.COM>
parents: 1830
diff changeset
    43
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    44
include $(WS_MAKE_RULES)/common.mk
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    45
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    46
# Fix 64-bit linking via compiler.
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    47
LDFLAGS += $(CC_BITS)
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    48
LDFLAGS += -lldap_r-2.4
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    49
7245
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6023
diff changeset
    50
# Enable adiheap and adistack security extensions
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6023
diff changeset
    51
ADIHEAP_MODE =	$(ADIHEAP_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6023
diff changeset
    52
ADISTACK_MODE =	$(ADISTACK_ENABLE)
934578b959f0 20029192 Userland should build with ld -z sx=nx* flags instead of map.noexstk
Enrico Perla <enrico.perla@oracle.com>
parents: 6023
diff changeset
    53
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    54
# Allows zero-sized struct/union declarations and void functions with return
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    55
# statements returning a value to work.
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    56
CFLAGS += -features=extensions
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    57
1830
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 1790
diff changeset
    58
COMPONENT_PREP_ACTION = ( cd $(@D) ; $(AUTORECONF) -f -I m4 )
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 1790
diff changeset
    59
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    60
CPPFLAGS += -I$(USRINCDIR)/openldap
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    61
CONFIGURE_ENV +=	"MAKE=$(GMAKE)"
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    62
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    63
CONFIGURE_OPTIONS +=	--with-ldap
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    64
CONFIGURE_OPTIONS +=	--with-project
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    65
CONFIGURE_OPTIONS +=	--with-rundir=/system/volatile/sudo
2160
d7b18140ab8c 19822771 sudo(1m) calls pam_open_session() which doesn't interact well w/pam_unix_session
Brent Paulson <Brent.Paulson@Oracle.COM>
parents: 1948
diff changeset
    66
CONFIGURE_OPTIONS +=	--with-pam
d7b18140ab8c 19822771 sudo(1m) calls pam_open_session() which doesn't interact well w/pam_unix_session
Brent Paulson <Brent.Paulson@Oracle.COM>
parents: 1948
diff changeset
    67
CONFIGURE_OPTIONS +=	--with-pam-login
d7b18140ab8c 19822771 sudo(1m) calls pam_open_session() which doesn't interact well w/pam_unix_session
Brent Paulson <Brent.Paulson@Oracle.COM>
parents: 1948
diff changeset
    68
CONFIGURE_OPTIONS +=	--disable-pam-session
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 279
diff changeset
    69
CONFIGURE_OPTIONS +=	--with-tty-tickets
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 279
diff changeset
    70
CONFIGURE_OPTIONS +=	--without-insults
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 279
diff changeset
    71
CONFIGURE_OPTIONS +=	--without-lecture
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 279
diff changeset
    72
CONFIGURE_OPTIONS +=	--with-ignore-dot
1790
5185544d0b6e 16446717 add Solaris adt_*() auditing to sudo
April Chin <april.chin@oracle.com>
parents: 1209
diff changeset
    73
CONFIGURE_OPTIONS +=	--with-solaris-audit
5682
94c0ca64c022 15558602 TCL_LD_SEARCH_FLAGS is wrongly defined in tclConfig.sh
Shawn Walker-Salas <shawn.walker@oracle.com>
parents: 5497
diff changeset
    74
CONFIGURE_OPTIONS +=	--libexecdir=$(USRLIBDIR64)/sudo
864
8070f77a5a10 7174850 permanentish temporary files have returned again
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents: 840
diff changeset
    75
CONFIGURE_OPTIONS +=	"sudo_cv_var_nroff_opt_Tascii=no"
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    76
447
7ca7b95abd2f PSARC/2011/252 sudo 1.8.1
Darren J Moffat <Darren.Moffat@Oracle.COM>
parents: 279
diff changeset
    77
COMPONENT_INSTALL_TARGETS = install
1830
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 1790
diff changeset
    78
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    79
# Avoid calling "chown 0" on installed files
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    80
COMPONENT_INSTALL_ARGS += INSTALL_OWNER=
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    81
4837
5c4d5a9885cc 21757228 libmd.so check in sudo Makefile fails
naoki.tanaka@oracle.com <naoki.tanaka@oracle.com>
parents: 4339
diff changeset
    82
# Make sure that sudo is NOT built with its internal sha2 implementation
2164
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    83
# http://www.sudo.ws/bugs/show_bug.cgi?id=641
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    84
COMPONENT_TEST_ENV_CMD =
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    85
COMPONENT_TEST_CMD = \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    86
	if [[ -n $$( elfdump -s "$(VISUDO)" | grep SHA256Init | grep -v UNDEF ) ]]; then \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    87
		echo "SHA256Init is not an undefined symbol in $(VISUDO)"; \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    88
		exit 1; \
b580bc10e31a 19824924 Various Userland component test: Makefile targets should be standardized
Rich Burridge <rich.burridge@oracle.com>
parents: 2160
diff changeset
    89
	fi; \
4837
5c4d5a9885cc 21757228 libmd.so check in sudo Makefile fails
naoki.tanaka@oracle.com <naoki.tanaka@oracle.com>
parents: 4339
diff changeset
    90
	$(GMAKE)
5c4d5a9885cc 21757228 libmd.so check in sudo Makefile fails
naoki.tanaka@oracle.com <naoki.tanaka@oracle.com>
parents: 4339
diff changeset
    91
5c4d5a9885cc 21757228 libmd.so check in sudo Makefile fails
naoki.tanaka@oracle.com <naoki.tanaka@oracle.com>
parents: 4339
diff changeset
    92
# Tests may output some compilation lines, so just pull out the relevant test
5c4d5a9885cc 21757228 libmd.so check in sudo Makefile fails
naoki.tanaka@oracle.com <naoki.tanaka@oracle.com>
parents: 4339
diff changeset
    93
# output lines for the test results comparison
5497
862a4276da0f 22663737 Upgrade sudo to version 1.8.15
Lukas Rovensky <Lukas.Rovensky@oracle.com>
parents: 5125
diff changeset
    94
COMPONENT_TEST_TRANSFORMS += '-e "/^parse_gids_test\|^strsplit_test\|^atofoo_test\|^hltq_test\|^sudo_conf\|^sudo_parseln\|^check_addr\|^check_base64\|^check_fill\|^iolog_path\|^check_symbols\|^sudoers\|^testsudoers\|^visudo\|^check_ttyname/!d"'
4837
5c4d5a9885cc 21757228 libmd.so check in sudo Makefile fails
naoki.tanaka@oracle.com <naoki.tanaka@oracle.com>
parents: 4339
diff changeset
    95
COMPONENT_TEST_TRANSFORMS += '-e "s/\(\/dev\/pts\/\)[0-9][0-9]*/\1\#/"'
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    96
1830
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 1790
diff changeset
    97
VISUDO=$(BUILD_DIR_64)/plugins/sudoers/visudo
279
c6af843791cd 7044076 move sudo from sfw to userland
April Chin <april.chin@oracle.com>
parents:
diff changeset
    98
4943
1d2d4cba41b1 21935089 Missing package requirements to build Userland gate on 11.3
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 4837
diff changeset
    99
REQUIRED_PACKAGES += library/openldap
3817
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
   100
REQUIRED_PACKAGES += library/zlib
30b42c38bbc4 15786608 SUNBT7162754 create new meta package developer/opensolaris/userland
Norm Jacobs <Norm.Jacobs@Sun.COM>
parents: 2225
diff changeset
   101
REQUIRED_PACKAGES += system/library/security/crypto
6023
1285c8b9e736 23284011 openldap upgrade breaks userland build
zihao.zhu@oracle.com <zihao.zhu@oracle.com>
parents: 5682
diff changeset
   102
REQUIRED_PACKAGES += system/network/ldap/openldap
4943
1d2d4cba41b1 21935089 Missing package requirements to build Userland gate on 11.3
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 4837
diff changeset
   103
REQUIRED_PACKAGES += text/groff/groff-core