mirror of
git://git.yoctoproject.org/poky
synced 2026-10-02 18:18:12 +00:00
The execstack flag gets set on libcrypto.so by default which causes SELinux to prevent it from being loaded on systems using SELinux, which includes Fedora. This patch disables the execstack flag. (Note: Red Hat do this in their openssl packaging.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
106 lines
2.4 KiB
PHP
106 lines
2.4 KiB
PHP
SUMMARY = "Secure Socket Layer"
|
|
DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
|
|
HOMEPAGE = "http://www.openssl.org/"
|
|
BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
|
|
SECTION = "libs/network"
|
|
|
|
# "openssl | SSLeay" dual license
|
|
LICENSE = "openssl"
|
|
LIC_FILES_CHKSUM = "file://LICENSE;md5=83d26c69f6f0172ee7f795790424b453"
|
|
|
|
DEPENDS = "perl-native"
|
|
|
|
SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz"
|
|
S = "${WORKDIR}/openssl-${PV}"
|
|
|
|
AR_append = " r"
|
|
CFLAG = "${@base_conditional('SITEINFO_ENDIANESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
|
|
-DTERMIO ${FULL_OPTIMIZATION}"
|
|
|
|
# Avoid binaries being marked as requiring an executable stack (which causes
|
|
# issues with SELinux on the host)
|
|
CFLAG_append_virtclass-native = " -Wa,--noexecstack"
|
|
|
|
# -02 does not work on mipsel: ssh hangs when it tries to read /dev/urandom
|
|
CFLAG_mtx-1 := "${@'${CFLAG}'.replace('-O2', '')}"
|
|
CFLAG_mtx-2 := "${@'${CFLAG}'.replace('-O2', '')}"
|
|
|
|
export DIRS = "crypto ssl apps"
|
|
export EX_LIBS = "-lgcc -ldl"
|
|
export AS = "${CC} -c"
|
|
|
|
PARALLEL_MAKE = ""
|
|
|
|
inherit pkgconfig siteinfo
|
|
|
|
PACKAGES =+ "libcrypto libssl"
|
|
FILES_libcrypto = "${libdir}/libcrypto.so.*"
|
|
FILES_libssl = "${libdir}/libssl.so.*"
|
|
FILES_${PN} =+ " ${libdir}/ssl/*"
|
|
|
|
do_configure () {
|
|
cd util
|
|
perl perlpath.pl ${STAGING_BINDIR_NATIVE}
|
|
cd ..
|
|
ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/
|
|
|
|
os=${HOST_OS}
|
|
if [ "x$os" = "xlinux-uclibc" ]; then
|
|
os=linux
|
|
fi
|
|
target="$os-${HOST_ARCH}"
|
|
case $target in
|
|
linux-arm)
|
|
target=linux-elf-arm
|
|
;;
|
|
linux-armeb)
|
|
target=linux-elf-armeb
|
|
;;
|
|
linux-sh3)
|
|
target=debian-sh3
|
|
;;
|
|
linux-sh4)
|
|
target=debian-sh4
|
|
;;
|
|
linux-i486)
|
|
target=debian-i386-i486
|
|
;;
|
|
linux-i586)
|
|
target=debian-i386-i586
|
|
;;
|
|
linux-i686)
|
|
target=debian-i386-i686/cmov
|
|
;;
|
|
linux-mips)
|
|
target=debian-mips
|
|
;;
|
|
linux-mipsel)
|
|
target=debian-mipsel
|
|
;;
|
|
linux-powerpc)
|
|
target=linux-ppc
|
|
;;
|
|
linux-supersparc)
|
|
target=linux-sparcv8
|
|
;;
|
|
linux-sparc)
|
|
target=linux-sparcv8
|
|
;;
|
|
esac
|
|
# inject machine-specific flags
|
|
sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
|
|
perl ./Configure shared --prefix=${prefix} --openssldir=${libdir}/ssl $target
|
|
}
|
|
|
|
do_compile () {
|
|
oe_runmake
|
|
}
|
|
|
|
do_install () {
|
|
install -m 0755 -d ${D}${libdir}/pkgconfig
|
|
oe_runmake INSTALL_PREFIX="${D}" install
|
|
chmod 644 ${D}${libdir}/pkgconfig/openssl.pc
|
|
oe_libinstall -so libcrypto ${D}${libdir}
|
|
oe_libinstall -so libssl ${D}${libdir}
|
|
}
|