diff -r 0991d62b193d -r 73ff78fac05b components/sudo/Makefile --- a/components/sudo/Makefile Mon Jul 14 23:00:34 2014 -0700 +++ b/components/sudo/Makefile Tue Jul 08 17:46:38 2014 +0200 @@ -25,28 +25,30 @@ include ../../make-rules/shared-macros.mk COMPONENT_NAME= sudo -SRC_VERSION= 1.8.6 -SRC_PATCH_VERSION= 7 +SRC_VERSION= 1.8.9 +SRC_PATCH_VERSION= 5 COMPONENT_VERSION= $(SRC_VERSION).$(SRC_PATCH_VERSION) COMPONENT_SRC= $(COMPONENT_NAME)-$(SRC_VERSION)p$(SRC_PATCH_VERSION) COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz COMPONENT_ARCHIVE_HASH= \ - sha256:301089edb22356f59d097f6abbe1303f03927a38691b02959d618546c2125036 + sha256:bc9d5c96de5f8b4d2b014f87a37870aef60d2891c869202454069150a21a5c21 COMPONENT_ARCHIVE_URL= http://www.sudo.ws/sudo/dist/$(COMPONENT_ARCHIVE) COMPONENT_PROJECT_URL= http://www.sudo.ws/ COMPONENT_BUGDB= utility/sudo +TPNO= 16733 + include $(WS_TOP)/make-rules/prep.mk include $(WS_TOP)/make-rules/configure.mk include $(WS_TOP)/make-rules/ips.mk -# configure.in has been patched, so re-generate configure file COMPONENT_PREP_ACTION = ( cd $(@D) ; $(AUTORECONF) -f -I m4 ) CONFIGURE_ENV += "CC=$(CC)" CONFIGURE_ENV += "CFLAGS=$(CFLAGS)" CONFIGURE_ENV += "CXX=$(CXX)" CONFIGURE_ENV += "MAKE=$(GMAKE)" +CONFIGURE_ENV += "LDFLAGS=$(LDFLAGS)" CONFIGURE_OPTIONS += --with-ldap CONFIGURE_OPTIONS += --with-project @@ -64,17 +66,38 @@ COMPONENT_BUILD_ENV += "CFLAGS=$(CFLAGS)" COMPONENT_INSTALL_TARGETS = install +COMPONENT_INSTALL_ARGS += bindir=$(USRBINDIR) +COMPONENT_INSTALL_ARGS += sbindir=$(USRSBINDIR) + # Enable aslr for this component ASLR_MODE = $(ASLR_ENABLE) # common targets +# 64 build corrupts audit logs because of 17561594. Until that is fixed do 32bit build. build: $(BUILD_32) install: $(INSTALL_32) -test: $(NO_TESTS) +VISUDO=$(BUILD_DIR_32)/plugins/sudoers/visudo +test: + # Since linking with libmd.so (which provides sha2 capability on + # Solaris) is optional, we have a check here to make sure that the + # configure script found it correctly. + # http://www.sudo.ws/bugs/show_bug.cgi?id=641 + + # Make sure that sudo is NOT built with it's internal sha2 implementation + if [[ -n $$( elfdump -s "$(VISUDO)" | grep SHA256Init | grep -v UNDEF ) ]]; then \ + echo "SHA256Init is not an undefined symbol in $(VISUDO)"; \ + exit 1; \ + fi + # ... but is linked with libmd instead + if [[ -z $$( elfdump -d "$(VISUDO)" | grep 'NEEDED .* libmd.so' ) ]]; then \ + echo "$(VISUDO) is not linked against libmd.so"; \ + exit 1; \ + fi + BUILD_PKG_DEPENDENCIES = $(BUILD_TOOLS)