linphone: added recipe for v3.4.3

Submitted by Guillaume Beraudo on June 7, 2011, 12:13 p.m.

Details

Message ID 1307448812-27299-1-git-send-email-guillaume.beraudo@belledonne-communications.com
State New, archived
Headers show

Commit Message

Guillaume Beraudo June 7, 2011, 12:13 p.m.
* included alsa_8khz patch to get audio out at 8KHz rate.
* removed dependency on patches without explaination (all others).

Signed-off-by: Guillaume Beraudo <guillaume.beraudo@belledonne-communications.com>
---
 recipes/linphone/files/igep0020/alsa_8khz.patch |   13 ++++
 recipes/linphone/linphone-common.inc            |   75 +++++++++++++++++++++++
 recipes/linphone/linphone-common_3.4.3.inc      |   11 +++
 recipes/linphone/linphone_3.4.3+nogtk.bb        |    9 +++
 4 files changed, 108 insertions(+), 0 deletions(-)
 create mode 100644 recipes/linphone/files/igep0020/alsa_8khz.patch
 create mode 100644 recipes/linphone/linphone-common.inc
 create mode 100644 recipes/linphone/linphone-common_3.4.3.inc
 create mode 100644 recipes/linphone/linphone_3.4.3+nogtk.bb

Patch hide | download patch | download mbox

diff --git a/recipes/linphone/files/igep0020/alsa_8khz.patch b/recipes/linphone/files/igep0020/alsa_8khz.patch
new file mode 100644
index 0000000..17774d4
--- /dev/null
+++ b/recipes/linphone/files/igep0020/alsa_8khz.patch
@@ -0,0 +1,13 @@ 
+--- linphone/mediastreamer2/src/alsa.c_orig	2011-05-24 12:39:33.824600109 +0200
++++ linphone/mediastreamer2/src/alsa.c	2011-05-24 12:40:04.760407404 +0200
+@@ -32,8 +32,8 @@
+ /*in case of troubles with a particular driver, try incrementing ALSA_PERIOD_SIZE
+ to 512, 1024, 2048, 4096...
+ then try incrementing the number of periods*/
+-#define ALSA_PERIODS 8
+-#define ALSA_PERIOD_SIZE 256
++#define ALSA_PERIODS 4
++#define ALSA_PERIOD_SIZE 512
+ 
+ /*uncomment the following line if you have problems with an alsa driver
+ having sound quality trouble:*/
diff --git a/recipes/linphone/linphone-common.inc b/recipes/linphone/linphone-common.inc
new file mode 100644
index 0000000..98e0288
--- /dev/null
+++ b/recipes/linphone/linphone-common.inc
@@ -0,0 +1,75 @@ 
+SECTION = "x11/network"
+SECTION_liblinphone = "libs/network"
+SECTION_libmediastreamer = "libs/network"
+SECTION_libortp = "libs/network"
+SECTION_linphonec =  "console/network"
+
+SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
+
+DEPENDS = "intltool readline libosip2 libexosip2 speex alsa-lib"
+DEPENDS_append_video = " libxv ffmpeg libv4l"
+DEPENDS_append_gtk = " gtk+"
+DEPENDS_${PN} = "intltool liblinphone"
+DEPENDS_${PN}_append_gtk = " gtk+"
+DEPENDS_${PN}_append_video = " libxv"
+DEPENDS_${PN}c = "liblinphone readline"
+DEPENDS_liblinphone = "libmediastreamer libortp libosip2 libexosip2"
+DEPENDS_libmediastreamer = "speex alsa-lib libortp"
+DEPENDS_libmediastreamer_append_video = " ffmpeg libv4l"
+
+PROVIDES = "linphonec liblinphone libmediastreamer libortp"
+PROVIDES_gtk = "linphone linphonec liblinphone libmediastreamer libortp"
+
+inherit autotools pkgconfig gettext
+
+export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config
+
+
+LINPHONE_OE_ENABLE_VIDEO = "--disable-video"
+LINPHONE_OE_ENABLE_VIDEO_video = "--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"
+
+LINPHONE_OE_ENABLE_CONSOLE_UI = "no"
+LINPHONE_OE_ENABLE_CONSOLE_UI_console = "yes"
+
+LINPHONE_OE_ENABLE_GTK_UI = "no"
+LINPHONE_OE_ENABLE_GTK_UI_gtk = "yes"
+
+do_install_append(){
+	install -d ${D}${bindir}
+	install -m 0755 ${S}/coreapi/.libs/test_ecc ${D}${bindir}/test_ecc
+	install -m 0755 ${S}/coreapi/.libs/test_lsd ${D}${bindir}/test_lsd
+}
+
+EXTRA_OECONF = " \
+                ${LINPHONE_OE_ENABLE_VIDEO} \
+                --enable-alsa \
+                --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
+                --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
+                --with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
+                --disable-manual \
+		--enable-console_ui=${LINPHONE_OE_ENABLE_CONSOLE_UI} \
+		--enable-gtk_ui=${LINPHONE_OE_ENABLE_GTK_UI} \
+		--with-realprefix=/usr \
+		"
+
+PACKAGES_gtk = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale ${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
+PACKAGES = "${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
+
+FILES_${PN} = " \ 
+	    ${bindir}/linphone \
+            ${datadir}/linphone \
+ 	    ${datadir}/pixmaps \
+	    ${datadir}/applications \
+	    ${datadir}/gnome/apps \
+	    ${datadir}/sounds/linphone/hello8000.wav \
+	    ${datadir}/sounds/linphone/hello16000.wav \
+	    ${datadir}/images/nowebcamCIF.jpg \
+	    "
+FILES_${PN}c = "${bindir}/linphonec ${bindir}/linphonecsh ${bindir}/sipomatic ${datadir}/sounds/linphone/ringback.wav"
+FILES_${PN}-rings = "${datadir}/sounds/linphone/rings"
+FILES_liblinphone = "${libdir}/liblinphone.so.*"
+FILES_libmediastreamer-bin = "/usr/libexec/mediastream"
+FILES_libmediastreamer = "${libdir}/libmediastreamer.so.*"
+FILES_libortp = "${libdir}/libortp.so.*"
+FILES_${PN}-dev += "${libdir}/*.a ${libdir}/*.la ${libdir}/pkgconfig ${includedir}"
+FILES_${PN}-utils = "${bindir}/test_ecc ${bindir}/test_lsd"
diff --git a/recipes/linphone/linphone-common_3.4.3.inc b/recipes/linphone/linphone-common_3.4.3.inc
new file mode 100644
index 0000000..5865ab0
--- /dev/null
+++ b/recipes/linphone/linphone-common_3.4.3.inc
@@ -0,0 +1,11 @@ 
+
+SRC_URI = "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz \
+	file://cif10fps.patch"
+
+SRC_URI[md5sum] = "66e21f36d62c2094f7b4360262c46f20"
+SRC_URI[sha256sum] = "92e7a0a01f2bb53bfaa4d7de4972e63ad528731154c36e05a9b6ba097e296692"
+
+S = "${WORKDIR}/linphone-3.4.3"
+
+
+require linphone-common.inc
diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb b/recipes/linphone/linphone_3.4.3+nogtk.bb
new file mode 100644
index 0000000..9bec7b1
--- /dev/null
+++ b/recipes/linphone/linphone_3.4.3+nogtk.bb
@@ -0,0 +1,9 @@ 
+DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
+HOMEPAGE = "http://www.linphone.org/?lang=us"
+LICENSE = "GPLv2"
+PR="r6"
+
+DEFAULT_PREFERENCE = "2"
+OVERRIDES_append = ":video:console"
+
+require linphone-common_3.4.3.inc

Comments

Martin Jansa June 7, 2011, 12:41 p.m.
On Tue, Jun 07, 2011 at 02:13:32PM +0200, Guillaume Beraudo wrote:
> * included alsa_8khz patch to get audio out at 8KHz rate.
> * removed dependency on patches without explaination (all others).

Thanks for updating linphone, few comments will follow

the 2 patches in linphone-3.1.0 look self-explanatory, are they applied
upstream?

> Signed-off-by: Guillaume Beraudo <guillaume.beraudo@belledonne-communications.com>
> ---
>  recipes/linphone/files/igep0020/alsa_8khz.patch |   13 ++++
>  recipes/linphone/linphone-common.inc            |   75 +++++++++++++++++++++++
>  recipes/linphone/linphone-common_3.4.3.inc      |   11 +++
>  recipes/linphone/linphone_3.4.3+nogtk.bb        |    9 +++
>  4 files changed, 108 insertions(+), 0 deletions(-)
>  create mode 100644 recipes/linphone/files/igep0020/alsa_8khz.patch
>  create mode 100644 recipes/linphone/linphone-common.inc
>  create mode 100644 recipes/linphone/linphone-common_3.4.3.inc
>  create mode 100644 recipes/linphone/linphone_3.4.3+nogtk.bb
> 
> diff --git a/recipes/linphone/files/igep0020/alsa_8khz.patch b/recipes/linphone/files/igep0020/alsa_8khz.patch
> new file mode 100644
> index 0000000..17774d4
> --- /dev/null
> +++ b/recipes/linphone/files/igep0020/alsa_8khz.patch
> @@ -0,0 +1,13 @@
> +--- linphone/mediastreamer2/src/alsa.c_orig	2011-05-24 12:39:33.824600109 +0200
> ++++ linphone/mediastreamer2/src/alsa.c	2011-05-24 12:40:04.760407404 +0200
> +@@ -32,8 +32,8 @@
> + /*in case of troubles with a particular driver, try incrementing ALSA_PERIOD_SIZE
> + to 512, 1024, 2048, 4096...
> + then try incrementing the number of periods*/
> +-#define ALSA_PERIODS 8
> +-#define ALSA_PERIOD_SIZE 256
> ++#define ALSA_PERIODS 4
> ++#define ALSA_PERIOD_SIZE 512
> + 
> + /*uncomment the following line if you have problems with an alsa driver
> + having sound quality trouble:*/
> diff --git a/recipes/linphone/linphone-common.inc b/recipes/linphone/linphone-common.inc
> new file mode 100644
> index 0000000..98e0288
> --- /dev/null
> +++ b/recipes/linphone/linphone-common.inc
> @@ -0,0 +1,75 @@
> +SECTION = "x11/network"
> +SECTION_liblinphone = "libs/network"
> +SECTION_libmediastreamer = "libs/network"
> +SECTION_libortp = "libs/network"
> +SECTION_linphonec =  "console/network"
> +
> +SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
> +
> +DEPENDS = "intltool readline libosip2 libexosip2 speex alsa-lib"
> +DEPENDS_append_video = " libxv ffmpeg libv4l"
> +DEPENDS_append_gtk = " gtk+"
> +DEPENDS_${PN} = "intltool liblinphone"
> +DEPENDS_${PN}_append_gtk = " gtk+"
> +DEPENDS_${PN}_append_video = " libxv"
> +DEPENDS_${PN}c = "liblinphone readline"
> +DEPENDS_liblinphone = "libmediastreamer libortp libosip2 libexosip2"
> +DEPENDS_libmediastreamer = "speex alsa-lib libortp"
> +DEPENDS_libmediastreamer_append_video = " ffmpeg libv4l"
> +
> +PROVIDES = "linphonec liblinphone libmediastreamer libortp"
> +PROVIDES_gtk = "linphone linphonec liblinphone libmediastreamer libortp"
> +
> +inherit autotools pkgconfig gettext
> +
> +export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config
> +
> +
> +LINPHONE_OE_ENABLE_VIDEO = "--disable-video"
> +LINPHONE_OE_ENABLE_VIDEO_video = "--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"
> +
> +LINPHONE_OE_ENABLE_CONSOLE_UI = "no"
> +LINPHONE_OE_ENABLE_CONSOLE_UI_console = "yes"
> +
> +LINPHONE_OE_ENABLE_GTK_UI = "no"
> +LINPHONE_OE_ENABLE_GTK_UI_gtk = "yes"
> +
> +do_install_append(){
> +	install -d ${D}${bindir}
> +	install -m 0755 ${S}/coreapi/.libs/test_ecc ${D}${bindir}/test_ecc
> +	install -m 0755 ${S}/coreapi/.libs/test_lsd ${D}${bindir}/test_lsd
> +}
> +
> +EXTRA_OECONF = " \
> +                ${LINPHONE_OE_ENABLE_VIDEO} \
> +                --enable-alsa \
> +                --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
> +                --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
> +                --with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
> +                --disable-manual \
> +		--enable-console_ui=${LINPHONE_OE_ENABLE_CONSOLE_UI} \
> +		--enable-gtk_ui=${LINPHONE_OE_ENABLE_GTK_UI} \
> +		--with-realprefix=/usr \
> +		"
> +
> +PACKAGES_gtk = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale ${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
> +PACKAGES = "${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
> +
> +FILES_${PN} = " \ 
> +	    ${bindir}/linphone \
> +            ${datadir}/linphone \
> + 	    ${datadir}/pixmaps \
> +	    ${datadir}/applications \
> +	    ${datadir}/gnome/apps \
> +	    ${datadir}/sounds/linphone/hello8000.wav \
> +	    ${datadir}/sounds/linphone/hello16000.wav \
> +	    ${datadir}/images/nowebcamCIF.jpg \
> +	    "
> +FILES_${PN}c = "${bindir}/linphonec ${bindir}/linphonecsh ${bindir}/sipomatic ${datadir}/sounds/linphone/ringback.wav"
> +FILES_${PN}-rings = "${datadir}/sounds/linphone/rings"
> +FILES_liblinphone = "${libdir}/liblinphone.so.*"
> +FILES_libmediastreamer-bin = "/usr/libexec/mediastream"
> +FILES_libmediastreamer = "${libdir}/libmediastreamer.so.*"
> +FILES_libortp = "${libdir}/libortp.so.*"
> +FILES_${PN}-dev += "${libdir}/*.a ${libdir}/*.la ${libdir}/pkgconfig ${includedir}"
> +FILES_${PN}-utils = "${bindir}/test_ecc ${bindir}/test_lsd"
> diff --git a/recipes/linphone/linphone-common_3.4.3.inc b/recipes/linphone/linphone-common_3.4.3.inc
> new file mode 100644
> index 0000000..5865ab0
> --- /dev/null
> +++ b/recipes/linphone/linphone-common_3.4.3.inc
> @@ -0,0 +1,11 @@
> +
> +SRC_URI = "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz \
> +	file://cif10fps.patch"

where is this file?

> +
> +SRC_URI[md5sum] = "66e21f36d62c2094f7b4360262c46f20"
> +SRC_URI[sha256sum] = "92e7a0a01f2bb53bfaa4d7de4972e63ad528731154c36e05a9b6ba097e296692"
> +
> +S = "${WORKDIR}/linphone-3.4.3"
> +
> +
> +require linphone-common.inc
> diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb b/recipes/linphone/linphone_3.4.3+nogtk.bb
> new file mode 100644
> index 0000000..9bec7b1
> --- /dev/null
> +++ b/recipes/linphone/linphone_3.4.3+nogtk.bb

what does +nogtk mean in version?

> @@ -0,0 +1,9 @@
> +DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
> +HOMEPAGE = "http://www.linphone.org/?lang=us"
> +LICENSE = "GPLv2"
> +PR="r6"
> +
> +DEFAULT_PREFERENCE = "2"

why D_P = "2" when all other recipes have default D_P = "1" and this has
highest PV?

> +OVERRIDES_append = ":video:console"

This looks like someone trying to implement USE flags in OE :). But I'm
not sure it's right way and I haven't noticed this used in any other
recipe. So it would be better to discuss first.

> +
> +require linphone-common_3.4.3.inc
> -- 
> 1.7.2.5
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Koen Kooi June 7, 2011, 12:42 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07-06-11 14:13, Guillaume Beraudo wrote:
> * included alsa_8khz patch to get audio out at 8KHz rate.
> * removed dependency on patches without explaination (all others).
> 

> +SRC_URI_append_igep0020 = " file://alsa_8khz.patch"

why is it machine specific?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFN7hy+MkyGM64RGpERAgwzAJ0TNdHVdDkFHktWq5gbr+KiNyq23wCfa7XK
ix3u/fFz4xmWy9MPPzdpHrI=
=W4P3
-----END PGP SIGNATURE-----
Guillaume Beraudo June 7, 2011, 12:57 p.m.
Hi Martin,

> the 2 patches in linphone-3.1.0 look self-explanatory, are they
> applied upstream?
The doc patch seems long ago obsolete.
I don't see any "ENABLE_GTK_DOC" in configure file.

The b64 is cryptic to me, could you explain it?
Guillaume Beraudo June 7, 2011, 12:59 p.m.
Hi,

> > * included alsa_8khz patch to get audio out at 8KHz rate.
> > +SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
> why is it machine specific?

It was required for this specific hardware to work.
Moreover it slighlty damages latency.
Martin Jansa June 7, 2011, 1:09 p.m.
On Tue, Jun 07, 2011 at 02:57:13PM +0200, Guillaume BERAUDO wrote:
> Hi Martin,
> 
> > the 2 patches in linphone-3.1.0 look self-explanatory, are they
> > applied upstream?
> The doc patch seems long ago obsolete.
> I don't see any "ENABLE_GTK_DOC" in configure file.

I'm talking about those in linphone-3.1.0 dir
OE @ ~ $ ls dev/recipes/linphone/linphone-3.1.0/
fix.unused.variable.patch  preferences-segv.patch
 
> The b64 is cryptic to me, could you explain it?

agreed it's cryptic and I guess we're fine without it (imho it was used
to handle newer gcc like there was special case for __WATCOMC__, but I
haven't look to whole source)

Regards,
Guillaume Beraudo June 7, 2011, 1:23 p.m.
Sorry, I missed your other comments.
See below for my answers.

> > --git a/recipes/linphone/linphone-common_3.4.3.inc
> > b/recipes/linphone/linphone-common_3.4.3.inc new file mode 100644
> > index 0000000..5865ab0 --- /dev/null
> > +++ b/recipes/linphone/linphone-common_3.4.3.inc
> > @@ -0,0 +1,11 @@
> > +
> > +SRC_URI =
> > "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz
> > \
> > +	file://cif10fps.patch"
> where is this file?

It is a mistake, this patch should not be added.



> > +require linphone-common.inc
> > diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb
> > b/recipes/linphone/linphone_3.4.3+nogtk.bb new file mode 100644
> > index 0000000..9bec7b1
> > --- /dev/null
> > +++ b/recipes/linphone/linphone_3.4.3+nogtk.bb
>
> what does +nogtk mean in version?

It is possible to compile linphone with or without gtk GUI.

I wrote another recipe for linphone 3.4.3 with gtk GUI.
It will be sent for review later.


> > @@ -0,0 +1,9 @@
> > +DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
> > +HOMEPAGE = "http://www.linphone.org/?lang=us"
> > +LICENSE = "GPLv2"
> > +PR="r6"
> > +
> > +DEFAULT_PREFERENCE = "2"
> 
> why D_P = "2" when all other recipes have default D_P = "1" and this
> has highest PV?

Ok, I will correct it.


> 
> > +OVERRIDES_append = ":video:console"
> 
> This looks like someone trying to implement USE flags in OE :). But
> I'm not sure it's right way and I haven't noticed this used in any
> other recipe. So it would be better to discuss first.

I am new to openembedded and thus may have missed something in the
documentations. Can you point me to some elegant way to implement
recipe flavours?


Thanks,

Guillaume
Martin Jansa June 7, 2011, 1:33 p.m.
On Tue, Jun 07, 2011 at 03:23:54PM +0200, Guillaume BERAUDO wrote:
> Sorry, I missed your other comments.
> See below for my answers.
> 
> > > --git a/recipes/linphone/linphone-common_3.4.3.inc
> > > b/recipes/linphone/linphone-common_3.4.3.inc new file mode 100644
> > > index 0000000..5865ab0 --- /dev/null
> > > +++ b/recipes/linphone/linphone-common_3.4.3.inc
> > > @@ -0,0 +1,11 @@
> > > +
> > > +SRC_URI =
> > > "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz
> > > \
> > > +	file://cif10fps.patch"
> > where is this file?
> 
> It is a mistake, this patch should not be added.
> 
> 
> 
> > > +require linphone-common.inc
> > > diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb
> > > b/recipes/linphone/linphone_3.4.3+nogtk.bb new file mode 100644
> > > index 0000000..9bec7b1
> > > --- /dev/null
> > > +++ b/recipes/linphone/linphone_3.4.3+nogtk.bb
> >
> > what does +nogtk mean in version?
> 
> It is possible to compile linphone with or without gtk GUI.

then I think it's better as part of package name
linphone-nogtk_3.4.3

otherwise you risk user getting upgrade on target
from linphone-3.4.3+nogtk to linphone-3.4.4+gtk

> I wrote another recipe for linphone 3.4.3 with gtk GUI.
> It will be sent for review later.
> 
> 
> > > @@ -0,0 +1,9 @@
> > > +DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
> > > +HOMEPAGE = "http://www.linphone.org/?lang=us"
> > > +LICENSE = "GPLv2"
> > > +PR="r6"
> > > +
> > > +DEFAULT_PREFERENCE = "2"
> > 
> > why D_P = "2" when all other recipes have default D_P = "1" and this
> > has highest PV?
> 
> Ok, I will correct it.
> 
> 
> > 
> > > +OVERRIDES_append = ":video:console"
> > 
> > This looks like someone trying to implement USE flags in OE :). But
> > I'm not sure it's right way and I haven't noticed this used in any
> > other recipe. So it would be better to discuss first.
> 
> I am new to openembedded and thus may have missed something in the
> documentations. Can you point me to some elegant way to implement
> recipe flavours?

I don't think TSC agreed on some sort of USE-flag solution or policy
yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc and then
EXTRA_OECONF_append with nogtk specific options in separate files like
linphone-nogtk_3.4.3.bb would be easier to understand (at least to me),
even when not so "elegant" as your OVERRIDES solution.

Regards,
Guillaume Beraudo June 7, 2011, 1:34 p.m.
> > > the 2 patches in linphone-3.1.0 look self-explanatory, are they
> > > applied upstream?
> I'm talking about those in linphone-3.1.0 dir
> OE @ ~ $ ls dev/recipes/linphone/linphone-3.1.0/
> fix.unused.variable.patch  preferences-segv.patch

I see ;)

These patches are present upstream.
Guillaume Beraudo June 7, 2011, 2:23 p.m.
Martin,

> > > what does +nogtk mean in version?
> > 
> > It is possible to compile linphone with or without gtk GUI.
> 
> then I think it's better as part of package name
> linphone-nogtk_3.4.3
> 
> otherwise you risk user getting upgrade on target
> from linphone-3.4.3+nogtk to linphone-3.4.4+gtk

Ok, I will change this.


> > > > +OVERRIDES_append = ":video:console"
> > > 
> > > This looks like someone trying to implement USE flags in OE :).
> > > But I'm not sure it's right way and I haven't noticed this used
> > > in any other recipe. So it would be better to discuss first.
> > 
> > I am new to openembedded and thus may have missed something in the
> > documentations. Can you point me to some elegant way to implement
> > recipe flavours?
> 
> I don't think TSC agreed on some sort of USE-flag solution or policy
> yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc and then
> EXTRA_OECONF_append with nogtk specific options in separate files like
> linphone-nogtk_3.4.3.bb would be easier to understand (at least to
> me), even when not so "elegant" as your OVERRIDES solution.

There is also some conditionnals with the DEPENDS.
What is the use of all the "DEPENDS_some-package-name" directives?
Isn't it identical to only use the global "DEPENDS"?

I removed all the RDEPENDS stuff. Can you confirm it was unnecessary?

Regards,

Guillaume
Martin Jansa June 7, 2011, 3:18 p.m.
On Tue, Jun 07, 2011 at 04:23:58PM +0200, Guillaume BERAUDO wrote:
> Martin,
> 
> > > > what does +nogtk mean in version?
> > > 
> > > It is possible to compile linphone with or without gtk GUI.
> > 
> > then I think it's better as part of package name
> > linphone-nogtk_3.4.3
> > 
> > otherwise you risk user getting upgrade on target
> > from linphone-3.4.3+nogtk to linphone-3.4.4+gtk
> 
> Ok, I will change this.
> 
> 
> > > > > +OVERRIDES_append = ":video:console"
> > > > 
> > > > This looks like someone trying to implement USE flags in OE :).
> > > > But I'm not sure it's right way and I haven't noticed this used
> > > > in any other recipe. So it would be better to discuss first.
> > > 
> > > I am new to openembedded and thus may have missed something in the
> > > documentations. Can you point me to some elegant way to implement
> > > recipe flavours?
> > 
> > I don't think TSC agreed on some sort of USE-flag solution or policy
> > yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc and then
> > EXTRA_OECONF_append with nogtk specific options in separate files like
> > linphone-nogtk_3.4.3.bb would be easier to understand (at least to
> > me), even when not so "elegant" as your OVERRIDES solution.
> 
> There is also some conditionnals with the DEPENDS.
> What is the use of all the "DEPENDS_some-package-name" directives?
> Isn't it identical to only use the global "DEPENDS"?

Yes it looks weird and broken on quick glance.
but "shared" DEPENDS = "foo" in linphone-3.4.3.inc and DEPENDS_append = "gtk+"
in linphone-gtk_1.2.4.bb makes sense
 
> I removed all the RDEPENDS stuff. Can you confirm it was unnecessary?

all linked .so providers should be picked to rdepends automatically by
package.bbclass so only extra stuff like linphone-gtk-config would be
needed in extra RDEPENDS_${PN} in linphone-gtk_1.2.4.bb.

> 
> Regards,
> 
> Guillaume
Guillaume Beraudo June 8, 2011, 8:29 a.m.
Hi,

> > > > > > +OVERRIDES_append = ":video:console"
> > > > > 
> > > > > This looks like someone trying to implement USE flags in
> > > > > OE :). But I'm not sure it's right way and I haven't noticed
> > > > > this used in any other recipe. So it would be better to
> > > > > discuss first.
> > > > 
> > > > I am new to openembedded and thus may have missed something in
> > > > the documentations. Can you point me to some elegant way to
> > > > implement recipe flavours?
> > > 
> > > I don't think TSC agreed on some sort of USE-flag solution or
> > > policy yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc
> > > and then EXTRA_OECONF_append with nogtk specific options in
> > > separate files like linphone-nogtk_3.4.3.bb would be easier to
> > > understand (at least to me), even when not so "elegant" as your
> > > OVERRIDES solution.

With your advice, a typical linphone recipe would contain a block like
this:

# With video
DEPENDS_append = " libxv ffmpeg libv4l"
EXTRA_OECONF_append = "
--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"

# Without video
#EXTRA_OECONF_append = " --disable-video"


# GTK GUI
DEPENDS_append = " gtk+"
PROVIDES_append = " linphone"
PACKAGES_prepend = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale "
EXTRA_OECONF_append = " --enable-gtk_ui=yes"

# Without GTK GUI
#EXTRA_OECONF_append = " --enable-gtk_ui=no"


Though it is easier at first glance I feel it error prone.
When creating a new recipe, it is easy to forget uncommenting
directives.

Is it blocking to use my initial solution with OVERRIDES?
If yes, what about using a "@base_conditional"?
Eg:
LINPHONE_FLAVOUR_WITH_GTK = '1'
@base_conditional('LINPHONE_FLAVOUR_WITH_GTK', '1', 'something when
active', 'something when inactive')

This would keep the recipes simple and avoid using any OVERRIDES or
_append.



> > There is also some conditionnals with the DEPENDS.
> > What is the use of all the "DEPENDS_some-package-name" directives?
> > Isn't it identical to only use the global "DEPENDS"?
> 
> Yes it looks weird and broken on quick glance.
> but "shared" DEPENDS = "foo" in linphone-3.4.3.inc and DEPENDS_append
> = "gtk+" in linphone-gtk_1.2.4.bb makes sense
>  
> > I removed all the RDEPENDS stuff. Can you confirm it was
> > unnecessary?
> 
> all linked .so providers should be picked to rdepends automatically by
> package.bbclass so only extra stuff like linphone-gtk-config would be
> needed in extra RDEPENDS_${PN} in linphone-gtk_1.2.4.bb.

Isn't the "inherit pkgconfig" managing it already?

Also, do you thing this line is of any use?
"export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config"

Regards
Guillaume