All of lore.kernel.org
 help / color / mirror / Atom feed
* Openssl - config file not being pulled in on the install
@ 2013-01-23 20:10 Belal, Awais
  2013-01-23 21:17 ` Saul Wold
  0 siblings, 1 reply; 4+ messages in thread
From: Belal, Awais @ 2013-01-23 20:10 UTC (permalink / raw)
  To: Openembedded-core


[-- Attachment #1.1: Type: text/plain, Size: 793 bytes --]

Hi Guys,

This probably went un-noticed because I forgot to put a subject the first time around... my bad!

I have a question regarding openssl. The openssl.inc file under the poky package creates a -misc package which is not directly installed unless either put in RDPENEDS or RRECOMMENDS. This package (-misc) contains the openssl configuration file which is required while generating certificates on the target otherwise the command says:

WARNING: can't open config file: /usr/lib/ssl/openssl.cnf
Unable to load config info from /usr/lib/ssl/openssl.cnf

In an older version of the recipe attached here, the correct method is being (this is my understanding) to get that file in on the target while installing.

Any guidance here would be much appreciated.

BR,
Awais Belal

[-- Attachment #1.2: Type: text/html, Size: 1638 bytes --]

[-- Attachment #2: openssl.inc --]
[-- Type: application/octet-stream, Size: 3372 bytes --]

DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
HOMEPAGE = "http://www.openssl.org/"
LICENSE = "openssl"
SECTION = "libs/network"

SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz;name=src"
S = "${WORKDIR}/openssl-${PV}"

inherit siteinfo

INC_PR = "r14"

AR_append = " r"
CFLAG = "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
	-DTERMIO ${FULL_OPTIMIZATION} -Wall"

# -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"

PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
FILES_libcrypto = "${libdir}/libcrypto.so.*"
FILES_libssl = "${libdir}/libssl.so.*"
FILES_${PN}-misc = "${libdir}/ssl/misc"

# Add the openssl.cnf file to the openssl-conf package.  Make the libcrypto
# package RRECOMMENDS on this package.  This will enable the configuration
# file to be installed for both the base openssl package and the libcrypto
# package since the base openssl package depends on the libcrypto package.
FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
RRECOMMENDS_libcrypto += "openssl-conf"

do_configure_prepend_darwin () {
	sed -i -e '/version-script=openssl\.ld/d' Configure
}

do_configure () {
	cd util
	perl perlpath.pl ${bindir}
	cd ..
	ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/

	os=${HOST_OS}
	if [ `echo $os | grep -q linux; echo $?` -eq 0 ]; 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 | linux-viac3)
		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-powerpc64)
		target=linux-ppc64
		;;
	linux-supersparc)
		target=linux-sparcv8
		;;
	linux-sparc)
		target=linux-sparcv8
		;;
	darwin-i386)
		target=darwin-i386-cc
		;;
	esac
	# inject machine-specific flags
	sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
        useprefix=${prefix}
        if [ "x$useprefix" = "x" ]; then
                useprefix=/
        fi        
	perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl $target

	eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/,/#endif/d" ${S}/crypto/bio/bss_file.c', d)}"
	eval "${@base_contains('DISTRO_FEATURES', 'ipv6', '', 'sed -i -e "/AF_INET6/,/break/d" ${S}/crypto/bio/bss_dgram.c', d)}"
}

do_compile () {
	oe_runmake
}

do_install () {
	oe_runmake INSTALL_PREFIX="${D}" install

	# On x86_64, move lib/* to lib64
	if [ "${libdir}" != "${prefix}/lib" ]
	then
		install -d ${D}${libdir} ${D}${libdir}/pkgconfig
		mv ${D}${prefix}/lib/lib* ${D}${libdir}
		mv ${D}${prefix}/lib/pkgconfig/*.pc ${D}${libdir}/pkgconfig
	fi

	oe_libinstall -so libcrypto ${D}${libdir}
	oe_libinstall -so libssl ${D}${libdir}

	install -d ${D}${includedir}
	cp -L -R include/openssl ${D}${includedir}
}

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Openssl - config file not being pulled in on the install
  2013-01-23 20:10 Openssl - config file not being pulled in on the install Belal, Awais
@ 2013-01-23 21:17 ` Saul Wold
  2013-01-23 21:26   ` Martin Jansa
  0 siblings, 1 reply; 4+ messages in thread
From: Saul Wold @ 2013-01-23 21:17 UTC (permalink / raw)
  To: Belal, Awais; +Cc: Openembedded-core

On 01/23/2013 12:10 PM, Belal, Awais wrote:
> Hi Guys,
>
> This probably went un-noticed because I forgot to put a subject the
> first time around... my bad!
>
> I have a question regarding openssl. The openssl.inc file under the poky
> package creates a -misc package which is not directly installed unless
> either put in RDPENEDS or RRECOMMENDS. This package (-misc) contains the
> openssl configuration file which is required while generating
> certificates on the target otherwise the command says:
> /
> WARNING: can't open config file: /usr/lib/ssl/openssl.cnf//
> Unable to load config info from /usr/lib/ssl/openssl.cnf//
> /
>
> In an older version of the recipe attached here, the correct method is
> being (this is my understanding) to get that file in on the target while
> installing.
>
> Any guidance here would be much appreciated.
>
Based on reading some of the history and such, I think the best answer 
would be to move the openssl.cnf file to FILES_${PN} line, since 
ordering wise it will get pick up that file and it is needed, not 
recommeded.

We would welcome a tested patch.

Thanks
Sau!

> BR,
> Awais Belal
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Openssl - config file not being pulled in on the install
  2013-01-23 21:17 ` Saul Wold
@ 2013-01-23 21:26   ` Martin Jansa
  2013-01-23 21:31     ` Saul Wold
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Jansa @ 2013-01-23 21:26 UTC (permalink / raw)
  To: Saul Wold; +Cc: Belal, Awais, Openembedded-core

[-- Attachment #1: Type: text/plain, Size: 2054 bytes --]

On Wed, Jan 23, 2013 at 01:17:29PM -0800, Saul Wold wrote:
> On 01/23/2013 12:10 PM, Belal, Awais wrote:
> > Hi Guys,
> >
> > This probably went un-noticed because I forgot to put a subject the
> > first time around... my bad!
> >
> > I have a question regarding openssl. The openssl.inc file under the poky
> > package creates a -misc package which is not directly installed unless
> > either put in RDPENEDS or RRECOMMENDS. This package (-misc) contains the
> > openssl configuration file which is required while generating
> > certificates on the target otherwise the command says:
> > /
> > WARNING: can't open config file: /usr/lib/ssl/openssl.cnf//
> > Unable to load config info from /usr/lib/ssl/openssl.cnf//
> > /
> >
> > In an older version of the recipe attached here, the correct method is
> > being (this is my understanding) to get that file in on the target while
> > installing.
> >
> > Any guidance here would be much appreciated.
> >
> Based on reading some of the history and such, I think the best answer 
> would be to move the openssl.cnf file to FILES_${PN} line, since 
> ordering wise it will get pick up that file and it is needed, not 
> recommeded.

Can you please use u-a for that config file if you decide to do it?

Some recipes want to provide own openssl.cnf which requires bbappend
like this one:
https://github.com/webOS-ports/meta-webos/commit/f2650858ae6f78b016107e622ab7be8a67e954c7

Cheers,

> 
> We would welcome a tested patch.
> 
> Thanks
> Sau!
> 
> > BR,
> > Awais Belal
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Openssl - config file not being pulled in on the install
  2013-01-23 21:26   ` Martin Jansa
@ 2013-01-23 21:31     ` Saul Wold
  0 siblings, 0 replies; 4+ messages in thread
From: Saul Wold @ 2013-01-23 21:31 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Belal, Awais, Openembedded-core

On 01/23/2013 01:26 PM, Martin Jansa wrote:
> On Wed, Jan 23, 2013 at 01:17:29PM -0800, Saul Wold wrote:
>> On 01/23/2013 12:10 PM, Belal, Awais wrote:
>>> Hi Guys,
>>>
>>> This probably went un-noticed because I forgot to put a subject the
>>> first time around... my bad!
>>>
>>> I have a question regarding openssl. The openssl.inc file under the poky
>>> package creates a -misc package which is not directly installed unless
>>> either put in RDPENEDS or RRECOMMENDS. This package (-misc) contains the
>>> openssl configuration file which is required while generating
>>> certificates on the target otherwise the command says:
>>> /
>>> WARNING: can't open config file: /usr/lib/ssl/openssl.cnf//
>>> Unable to load config info from /usr/lib/ssl/openssl.cnf//
>>> /
>>>
>>> In an older version of the recipe attached here, the correct method is
>>> being (this is my understanding) to get that file in on the target while
>>> installing.
>>>
>>> Any guidance here would be much appreciated.
>>>
>> Based on reading some of the history and such, I think the best answer
>> would be to move the openssl.cnf file to FILES_${PN} line, since
>> ordering wise it will get pick up that file and it is needed, not
>> recommeded.
>
> Can you please use u-a for that config file if you decide to do it?
>
Excellent suggestion!

probably need to do this with a few more of the config files also!

Sau!

> Some recipes want to provide own openssl.cnf which requires bbappend
> like this one:
> https://github.com/webOS-ports/meta-webos/commit/f2650858ae6f78b016107e622ab7be8a67e954c7
>
> Cheers,
>
>>
>> We would welcome a tested patch.
>>
>> Thanks
>> Sau!
>>
>>> BR,
>>> Awais Belal
>>>
>>>
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>>>
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-23 21:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-23 20:10 Openssl - config file not being pulled in on the install Belal, Awais
2013-01-23 21:17 ` Saul Wold
2013-01-23 21:26   ` Martin Jansa
2013-01-23 21:31     ` Saul Wold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.