From: Hongxu Jia <hongxu.jia@windriver.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 3/5] nss: add version 3.15.1
Date: Tue, 9 Jul 2013 21:29:11 +0800 [thread overview]
Message-ID: <51DC1027.9030801@windriver.com> (raw)
In-Reply-To: <4535187.OqzhIf4Y4R@helios>
[-- Attachment #1: Type: text/plain, Size: 12419 bytes --]
Hi Paul,
1, 3.15.1 is the newest version, and file structure has more change than
previous version.
2, 3.13.3 just skip signing, and cheksum file doesn't be generated.
3, 3.13.3 doesn't completely fix incorrect shebang of perl (PATCH 5/5)
4, 3.13.3's package doesn't contain ${D}${bindir}/ and ${D}${sysconfdir}
I think 3.15.1 is better.
//Hongxu
On 07/09/2013 08:44 PM, Paul Eggleton wrote:
> Hi Hongxu,
>
> On Tuesday 09 July 2013 20:30:38 Hongxu Jia wrote:
>> Network Security Services (NSS) is a set of libraries designed to support
>> cross-platform development of security-enabled client and server
>> applications. Applications built with NSS can support SSL v2 and v3, TLS,
>> PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 v3 certificates, and other
>> security standards.
>>
>> [YOCTO #4096]
>>
>> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> ---
>> .../files/nss-fix-support-cross-compiling.patch | 71 +++++++++
>> .../files/nss-no-rpath-for-cross-compiling.patch | 26 ++++
>> meta/recipes-support/nss/files/nss.pc.in | 11 ++
>> meta/recipes-support/nss/nss.inc | 169
>> +++++++++++++++++++++ meta/recipes-support/nss/nss_3.15.1.bb |
>> 9 ++
>> 5 files changed, 286 insertions(+)
>> create mode 100644
>> meta/recipes-support/nss/files/nss-fix-support-cross-compiling.patch create
>> mode 100644
>> meta/recipes-support/nss/files/nss-no-rpath-for-cross-compiling.patch
>> create mode 100644 meta/recipes-support/nss/files/nss.pc.in
>> create mode 100644 meta/recipes-support/nss/nss.inc
>> create mode 100644 meta/recipes-support/nss/nss_3.15.1.bb
>>
>> diff --git
>> a/meta/recipes-support/nss/files/nss-fix-support-cross-compiling.patch
>> b/meta/recipes-support/nss/files/nss-fix-support-cross-compiling.patch new
>> file mode 100644
>> index 0000000..f0b3550
>> --- /dev/null
>> +++ b/meta/recipes-support/nss/files/nss-fix-support-cross-compiling.patch
>> @@ -0,0 +1,71 @@
>> +nss: fix support cross compiling
>> +
>> +Let some make variables be assigned from outside makefile.
>> +
>> +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> +Upstream-Status: Inappropriate [configuration]
>> +---
>> + nss/coreconf/Linux.mk | 12 +++++++++++-
>> + nss/coreconf/arch.mk | 2 +-
>> + nss/lib/freebl/Makefile | 6 ++++++
>> + 3 files changed, 18 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/nss/coreconf/Linux.mk b/nss/coreconf/Linux.mk
>> +--- a/nss/coreconf/Linux.mk
>> ++++ b/nss/coreconf/Linux.mk
>> +@@ -16,11 +16,21 @@ ifeq ($(USE_PTHREADS),1)
>> + IMPL_STRATEGY = _PTH
>> + endif
>> +
>> ++ifndef CC
>> + CC = gcc
>> ++endif
>> ++
>> ++ifdef CXX
>> ++CCC = $(CXX)
>> ++else
>> + CCC = g++
>> ++endif
>> ++
>> ++ifndef RANLIB
>> + RANLIB = ranlib
>> ++endif
>> +
>> +-DEFAULT_COMPILER = gcc
>> ++DEFAULT_COMPILER = $(CC)
>> +
>> + ifeq ($(OS_TARGET),Android)
>> + ifndef ANDROID_NDK
>> +diff --git a/nss/coreconf/arch.mk b/nss/coreconf/arch.mk
>> +index 6557348..b722412 100644
>> +--- a/nss/coreconf/arch.mk
>> ++++ b/nss/coreconf/arch.mk
>> +@@ -37,7 +37,7 @@ OS_TEST := $(shell uname -m)
>> + ifeq ($(OS_TEST),i86pc)
>> + OS_RELEASE := $(shell uname -r)_$(OS_TEST)
>> + else
>> +- OS_RELEASE := $(shell uname -r)
>> ++ OS_RELEASE ?= $(shell uname -r)
>> + endif
>> +
>> + #
>> +diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
>> +index 0d293f1..678f506 100644
>> +--- a/nss/lib/freebl/Makefile
>> ++++ b/nss/lib/freebl/Makefile
>> +@@ -36,6 +36,12 @@ ifdef USE_64
>> + DEFINES += -DNSS_USE_64
>> + endif
>> +
>> ++ifeq ($(OS_TEST),mips)
>> ++ifndef USE_64
>> ++ DEFINES += -DNS_PTR_LE_32
>> ++endif
>> ++endif
>> ++
>> + ifdef USE_ABI32_FPU
>> + DEFINES += -DNSS_USE_ABI32_FPU
>> + endif
>> +--
>> +1.8.1.2
>> +
>> diff --git
>> a/meta/recipes-support/nss/files/nss-no-rpath-for-cross-compiling.patch
>> b/meta/recipes-support/nss/files/nss-no-rpath-for-cross-compiling.patch new
>> file mode 100644
>> index 0000000..7661dc9
>> --- /dev/null
>> +++ b/meta/recipes-support/nss/files/nss-no-rpath-for-cross-compiling.patch
>> @@ -0,0 +1,26 @@
>> +nss:no rpath for cross compiling
>> +
>> +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
>> +Upstream-Status: Inappropriate [configuration]
>> +---
>> + nss/cmd/platlibs.mk | 4 ++--
>> + 1 file changed, 2 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/nss/cmd/platlibs.mk b/nss/cmd/platlibs.mk
>> +--- a/nss/cmd/platlibs.mk
>> ++++ b/nss/cmd/platlibs.mk
>> +@@ -18,9 +18,9 @@ endif
>> +
>> + ifeq ($(OS_ARCH), Linux)
>> + ifeq ($(USE_64), 1)
>> +-EXTRA_SHARED_LIBS +=
>> -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib'
>> ++#EXTRA_SHARED_LIBS +=
>> -Wl,-rpath,'$$ORIGIN/../lib64:/opt/sun/private/lib64:$$ORIGIN/../lib' +
>> else
>> +-EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
>> ++#EXTRA_SHARED_LIBS += -Wl,-rpath,'$$ORIGIN/../lib:/opt/sun/private/lib'
>> + endif
>> + endif
>> +
>> +--
>> +1.8.1.2
>> +
>> diff --git a/meta/recipes-support/nss/files/nss.pc.in
>> b/meta/recipes-support/nss/files/nss.pc.in new file mode 100644
>> index 0000000..200f635
>> --- /dev/null
>> +++ b/meta/recipes-support/nss/files/nss.pc.in
>> @@ -0,0 +1,11 @@
>> +prefix=OEPREFIX
>> +exec_prefix=OEEXECPREFIX
>> +libdir=OELIBDIR
>> +includedir=OEINCDIR
>> +
>> +Name: NSS
>> +Description: Network Security Services
>> +Version: %NSS_VERSION%
>> +Requires: nspr >= %NSPR_VERSION%
>> +Libs: -lssl3 -lsmime3 -lnss3 -lsoftokn3 -lnssutil3
>> +Cflags: -IOEINCDIR
>> diff --git a/meta/recipes-support/nss/nss.inc
>> b/meta/recipes-support/nss/nss.inc new file mode 100644
>> index 0000000..71b7250
>> --- /dev/null
>> +++ b/meta/recipes-support/nss/nss.inc
>> @@ -0,0 +1,169 @@
>> +SUMMARY = "Mozilla's SSL and TLS implementation"
>> +DESCRIPTION = "Network Security Services (NSS) is a set of libraries \
>> +designed to support cross-platform development of \
>> +security-enabled client and server applications. \
>> +Applications built with NSS can support SSL v2 and v3, \
>> +TLS, PKCS 5, PKCS 7, PKCS 11, PKCS 12, S/MIME, X.509 \
>> +v3 certificates, and other security standards."
>> +HOMEPAGE = "http://www.mozilla.org/projects/security/pki/nss/"
>> +SECTION = "libs"
>> +
>> +LICENSE = "MPL-1.1 GPL-2.0 LGPL-2.1"
>> +
>> +LIC_FILES_CHKSUM =
>> "file://nss/lib/freebl/mpi/doc/LICENSE;md5=491f158d09d948466afce85d6f1fe18f
>> \ +
>> file://nss/lib/freebl/mpi/doc/LICENSE-MPL;md5=6bf96825e3d7ce4de25621ae886cc
>> 859" +SRC_URI = "\
>> + file://nss-fix-support-cross-compiling.patch \
>> + file://nss-no-rpath-for-cross-compiling.patch \
>> +"
>> +SRC_URI_append_class-target += "\
>> + file://nss.pc.in \
>> +"
>> +inherit siteinfo
>> +PR = "r0"
>> +DEPENDS = "sqlite3 nspr zlib nss-native"
>> +DEPENDS_class-native = "sqlite3-native nspr-native zlib-native"
>> +
>> +TD = "${S}/tentative-dist"
>> +TDS = "${S}/tentative-dist-staging"
>> +
>> +TARGET_CC_ARCH += "${LDFLAGS}"
>> +
>> +do_compile_prepend_class-native() {
>> + export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}
>> + export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
>> +}
>> +
>> +do_compile() {
>> + export CROSS_COMPILE=1
>> + export NATIVE_CC="gcc"
>> + export BUILD_OPT=1
>> +
>> + export FREEBL_NO_DEPEND=1
>> + export FREEBL_LOWHASH=1
>> +
>> + export LIBDIR=${base_libdir}
>> + export MOZILLA_CLIENT=1
>> + export NS_USE_GCC=1
>> + export NSS_USE_SYSTEM_SQLITE=1
>> + export NSS_ENABLE_ECC=1
>> +
>> + export OS_RELEASE=3.4
>> + export OS_TARGET=Linux
>> + export OS_ARCH=Linux
>> +
>> + if [ "${TARGET_ARCH}" = "powerpc" ]; then
>> + OS_TEST=ppc
>> + elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
>> + OS_TEST=ppc64
>> + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o
>> "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then +
>> OS_TEST=mips
>> + else
>> + OS_TEST="${TARGET_ARCH}"
>> + fi
>> +
>> + if [ "${SITEINFO_BITS}" = "64" ]; then
>> + export USE_64=1
>> + fi
>> +
>> + make -C ./nss CCC="${CXX}" \
>> + OS_TEST=${OS_TEST} \
>> +}
>> +
>> +do_install() {
>> + export CROSS_COMPILE=1
>> + export NATIVE_CC="gcc"
>> + export BUILD_OPT=1
>> +
>> + export FREEBL_NO_DEPEND=1
>> +
>> + export LIBDIR=${base_libdir}
>> + export MOZILLA_CLIENT=1
>> + export NS_USE_GCC=1
>> + export NSS_USE_SYSTEM_SQLITE=1
>> + export NSS_ENABLE_ECC=1
>> +
>> + export OS_RELEASE=3.4
>> + export OS_TARGET=Linux
>> + export OS_ARCH=Linux
>> +
>> + if [ "${TARGET_ARCH}" = "powerpc" ]; then
>> + OS_TEST=ppc
>> + elif [ "${TARGET_ARCH}" = "powerpc64" ]; then
>> + OS_TEST=ppc64
>> + elif [ "${TARGET_ARCH}" = "mips" -o "${TARGET_ARCH}" = "mipsel" -o
>> "${TARGET_ARCH}" = "mips64" -o "${TARGET_ARCH}" = "mips64el" ]; then +
>> OS_TEST=mips
>> + else
>> + OS_TEST="${TARGET_ARCH}"
>> + fi
>> + if [ "${SITEINFO_BITS}" = "64" ]; then
>> + export USE_64=1
>> + fi
>> +
>> + make -C ./nss \
>> + CCC="${CXX}" \
>> + OS_TEST=${OS_TEST} \
>> + SOURCE_LIB_DIR="${TD}/${libdir}" \
>> + SOURCE_BIN_DIR="${TD}/${bindir}" \
>> + install
>> +
>> + install -d ${D}/${base_libdir}/
>> + for file in ${S}/dist/*.OBJ/lib/*.so; do
>> + echo "Installing `basename $file`..."
>> + cp $file ${D}/${base_libdir}/
>> + done
>> +
>> + for shared_lib in ${TD}/${libdir}/*.so.*; do
>> + if [ -f $shared_lib ]; then
>> + cp $shared_lib ${D}/${base_libdir}
>> + ln -sf $(basename $shared_lib) ${D}/${base_libdir}/$(basename
>> $shared_lib .1oe) + fi
>> + done
>> + for shared_lib in ${TD}/${libdir}/*.so; do
>> + if [ -f $shared_lib -a ! -e ${D}/${base_libdir}/$shared_lib ]; then
>> + cp $shared_lib ${D}/${base_libdir}
>> + fi
>> + done
>> +
>> + install -d ${D}/${includedir}/nss3
>> + install -m 644 -t ${D}/${includedir}/nss3 dist/public/nss/*
>> +
>> + install -d ${D}/${bindir}
>> + for binary in ${TD}/${bindir}/*; do
>> + install -m 755 -t ${D}/${bindir} $binary
>> + done
>> +}
>> +
>> +do_install_append_class-target() {
>> + install -d ${D}${libdir}/pkgconfig/
>> + sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed
>> 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc + sed -i
>> s:OEPREFIX:${prefix}:g ${D}${libdir}/pkgconfig/nss.pc
>> + sed -i s:OEEXECPREFIX:${exec_prefix}:g ${D}${libdir}/pkgconfig/nss.pc
>> + sed -i s:OELIBDIR:${base_libdir}:g ${D}${libdir}/pkgconfig/nss.pc
>> + sed -i s:OEINCDIR:${includedir}/nss3:g ${D}${libdir}/pkgconfig/nss.pc
>> +
>> + # Create a blank certificate
>> + mkdir -p ${D}/etc/pki/nssdb/
>> + touch ./empty_password
>> + certutil -N -d ${D}/etc/pki/nssdb/ -f ./empty_password
>> + chmod 644 ${D}/etc/pki/nssdb/*.db
>> + rm ./empty_password
>> +}
>> +
>> +FILES_${PN} = "\
>> + ${sysconfdir} \
>> + ${bindir} \
>> + ${base_libdir}/lib*.chk \
>> + ${base_libdir}/lib*.so \
>> + "
>> +FILES_${PN}-dev = "\
>> + ${base_libdir}/nss \
>> + ${libdir}/pkgconfig/* \
>> + ${includedir}/* \
>> + "
>> +FILES_${PN}-dbg = "\
>> + ${bindir}/.debug/* \
>> + ${base_libdir}/.debug/* \
>> + "
>> +
>> +BBCLASSEXTEND = "native"
>> diff --git a/meta/recipes-support/nss/nss_3.15.1.bb
>> b/meta/recipes-support/nss/nss_3.15.1.bb new file mode 100644
>> index 0000000..7b06f00
>> --- /dev/null
>> +++ b/meta/recipes-support/nss/nss_3.15.1.bb
>> @@ -0,0 +1,9 @@
>> +require nss.inc
>> +
>> +SRC_URI += "\
>> +
>> http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_15_1_RTM
>> /src/${BPN}-${PV}.tar.gz \ +"
>> +
>> +SRC_URI[md5sum] = "fb68f4d210ac9397dd0d3c39c4f938eb"
>> +SRC_URI[sha256sum] =
>> "f994106a33d1f3210f4151bbb3419a1c28fd1cb545caa7dc9afdebd6da626284" +
> How does this compare to the nss recipe in meta-browser?
>
> https://github.com/OSSystems/meta-browser/blob/master/recipes-support/nss/nss_3.13.3.bb
>
> Cheers,
> Paul
>
[-- Attachment #2: Type: text/html, Size: 13124 bytes --]
next prev parent reply other threads:[~2013-07-09 13:29 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-09 12:30 [PATCH 0/5]add nss for LSB library check Hongxu Jia
2013-07-09 12:30 ` [PATCH 1/5] nspr-native: add version 4.10 Hongxu Jia
2013-07-09 12:42 ` Martin Jansa
2013-07-09 12:52 ` Hongxu Jia
2013-07-09 12:30 ` [PATCH 2/5] packagegroup-core-lsb: add nss for LSB library check Hongxu Jia
2013-07-09 12:30 ` [PATCH 3/5] nss: add version 3.15.1 Hongxu Jia
2013-07-09 12:44 ` Paul Eggleton
2013-07-09 13:29 ` Hongxu Jia [this message]
2013-07-09 13:38 ` Paul Eggleton
2013-07-09 13:41 ` Khem Raj
2013-07-10 1:26 ` Hongxu Jia
2013-07-09 12:30 ` [PATCH 4/5] nss: Create checksum files for the NSS libraries Hongxu Jia
2013-07-09 12:30 ` [PATCH 5/5] nss: fix incorrect shebang of perl Hongxu Jia
-- strict thread matches above, loose matches on Subject: below --
2013-07-10 8:03 [PATCH V2 0/5] add nss for LSB library check Hongxu Jia
2013-07-10 8:03 ` [PATCH 3/5] nss: add version 3.15.1 Hongxu Jia
2013-07-11 10:40 ` Burton, Ross
2013-07-11 10:41 ` Burton, Ross
2013-07-11 10:45 ` Phil Blundell
2013-07-11 11:14 ` Burton, Ross
2013-07-11 11:27 ` Hongxu Jia
2013-07-11 11:34 ` Phil Blundell
2013-07-11 13:41 ` Burton, Ross
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51DC1027.9030801@windriver.com \
--to=hongxu.jia@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=paul.eggleton@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox