All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Questions on package makefile variables overriding
@ 2018-01-30  7:56 Alexis Lothoré
  2018-01-30  8:33 ` Yegor Yefremov
  2018-01-30  8:35 ` Baruch Siach
  0 siblings, 2 replies; 4+ messages in thread
From: Alexis Lothoré @ 2018-01-30  7:56 UTC (permalink / raw)
  To: buildroot

Hello,
I am currently trying to adapt some buildroot packages behavior without
hardcoding my changes into the buildroot directory (using a buildroot
external), but I am encountering a few issues doint it. Here are my two
cases :
* I am trying build the janus-gateway package in buildroot 2017-08. I have
to add libcurl as a dependency (needed in my case for the streaming
module). In janus-gateway.mk in corresponding buildroot package, the
dependency variable looks like the following : JANUS_GATEWAY_DEPENDENCIES =
host-pkgconf jansson libnice \
        libsrtp host-gengetopt libglib2 openssl
I have added an external.mk file in my BR2_EXTERNAL directory with the
following line : JANUS_GATEWAY_DEPENDENCIES += libcurl. It seems to be
taken in account by buildroot, as seen when printing the proper variables :
#~ : make -C buildroot BR2_EXTERNAL=../buildroot_external O=output-dev -s
printvars VARS=JANUS_GATEWAY_%DEPENDENCIES
JANUS_GATEWAY_DEPENDENCIES=host-pkgconf jansson libnice libsrtp
host-gengetopt libglib2 openssl host-automake host-autoconf host-libtool
skeleton toolchain libcurl
JANUS_GATEWAY_FINAL_ALL_DEPENDENCIES=host-autoconf host-automake
host-gengetopt host-libtool host-pkgconf jansson libcurl libglib2 libnice
libsrtp openssl skeleton toolchain
JANUS_GATEWAY_FINAL_DEPENDENCIES=host-autoconf host-automake host-gengetopt
host-libtool host-pkgconf jansson libcurl libglib2 libnice libsrtp openssl
skeleton toolchain
JANUS_GATEWAY_FINAL_PATCH_DEPENDENCIES=

However, even after completely deleting janus-gateway in my builddir and in
the target dir, libcurl is not automatically built before janus. Am I
missing a configuration step ?

* I need a more recent version of OpenCV than the current one 2.4.13. Using
the same mechanism, I update OPENCV_VERSION in my external.mk. This time
the new version is correctly detected and the package is downloaded in the
new version. But I encounter a hash mismatch (which seems normal since hash
is fixed in the package directory). Is there a way to override the hash
file too ?
Regards,

-- 
Alexis Lothor?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180130/689c58f4/attachment.html>

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

* [Buildroot] Questions on package makefile variables overriding
  2018-01-30  7:56 [Buildroot] Questions on package makefile variables overriding Alexis Lothoré
@ 2018-01-30  8:33 ` Yegor Yefremov
  2018-01-30  8:35 ` Baruch Siach
  1 sibling, 0 replies; 4+ messages in thread
From: Yegor Yefremov @ 2018-01-30  8:33 UTC (permalink / raw)
  To: buildroot

Hi Alexis,

On Tue, Jan 30, 2018 at 8:56 AM, Alexis Lothor?
<alexis.lothore@gmail.com> wrote:
> Hello,
> I am currently trying to adapt some buildroot packages behavior without
> hardcoding my changes into the buildroot directory (using a buildroot
> external), but I am encountering a few issues doint it. Here are my two
> cases :
> * I am trying build the janus-gateway package in buildroot 2017-08. I have
> to add libcurl as a dependency (needed in my case for the streaming module).
> In janus-gateway.mk in corresponding buildroot package, the dependency
> variable looks like the following : JANUS_GATEWAY_DEPENDENCIES =
> host-pkgconf jansson libnice \
>         libsrtp host-gengetopt libglib2 openssl
> I have added an external.mk file in my BR2_EXTERNAL directory with the
> following line : JANUS_GATEWAY_DEPENDENCIES += libcurl. It seems to be taken
> in account by buildroot, as seen when printing the proper variables :
> #~ : make -C buildroot BR2_EXTERNAL=../buildroot_external O=output-dev -s
> printvars VARS=JANUS_GATEWAY_%DEPENDENCIES
> JANUS_GATEWAY_DEPENDENCIES=host-pkgconf jansson libnice libsrtp
> host-gengetopt libglib2 openssl host-automake host-autoconf host-libtool
> skeleton toolchain libcurl
> JANUS_GATEWAY_FINAL_ALL_DEPENDENCIES=host-autoconf host-automake
> host-gengetopt host-libtool host-pkgconf jansson libcurl libglib2 libnice
> libsrtp openssl skeleton toolchain
> JANUS_GATEWAY_FINAL_DEPENDENCIES=host-autoconf host-automake host-gengetopt
> host-libtool host-pkgconf jansson libcurl libglib2 libnice libsrtp openssl
> skeleton toolchain
> JANUS_GATEWAY_FINAL_PATCH_DEPENDENCIES=
>
> However, even after completely deleting janus-gateway in my builddir and in
> the target dir, libcurl is not automatically built before janus. Am I
> missing a configuration step ?

If you want to play with janus-gateway in BR2_EXTERNAL, you'll have to
create your own package called for example my-janus-gateway, i.e.just
copy the original package with new name to your BR_EXTERNAL package
directory. You'll also have to rename the whole variables in Config.in
and *.mk file to match new package's name.

I'll suggest, that you use upstream BR and create a patch adding
libcurl, i.e. turn-rest-api option and submit it via this mailing
list.

> * I need a more recent version of OpenCV than the current one 2.4.13. Using
> the same mechanism, I update OPENCV_VERSION in my external.mk. This time the
> new version is correctly detected and the package is downloaded in the new
> version. But I encounter a hash mismatch (which seems normal since hash is
> fixed in the package directory). Is there a way to override the hash file
> too ?

You can rename *.hash file as if it doesn't exist, then BR won't
perform checksum check. But here I would also suggest the you create a
OpenCV  version bump patch and submit it.

Regards,
Yegor

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

* [Buildroot] Questions on package makefile variables overriding
  2018-01-30  7:56 [Buildroot] Questions on package makefile variables overriding Alexis Lothoré
  2018-01-30  8:33 ` Yegor Yefremov
@ 2018-01-30  8:35 ` Baruch Siach
  2018-01-30  8:45   ` Alexis Lothoré
  1 sibling, 1 reply; 4+ messages in thread
From: Baruch Siach @ 2018-01-30  8:35 UTC (permalink / raw)
  To: buildroot

Hi Alexis,

On Tue, Jan 30, 2018 at 08:56:00AM +0100, Alexis Lothor? wrote:
> I am currently trying to adapt some buildroot packages behavior without
> hardcoding my changes into the buildroot directory (using a buildroot
> external), but I am encountering a few issues doint it. Here are my two
> cases :

As far as I know there is no support for overriding existing packages with the 
BR2_EXTERNAL mechanism. I'll let core developers confirm that.

> * I am trying build the janus-gateway package in buildroot 2017-08. I have
> to add libcurl as a dependency (needed in my case for the streaming
> module). In janus-gateway.mk in corresponding buildroot package, the
> dependency variable looks like the following : JANUS_GATEWAY_DEPENDENCIES =

In this case libcurl should be added as an optional dependency of 
janus-gateway. Please post a patch doing that, so that you don't need to carry 
your own local changes.

> host-pkgconf jansson libnice \
>         libsrtp host-gengetopt libglib2 openssl
> I have added an external.mk file in my BR2_EXTERNAL directory with the
> following line : JANUS_GATEWAY_DEPENDENCIES += libcurl. It seems to be
> taken in account by buildroot, as seen when printing the proper variables :
> #~ : make -C buildroot BR2_EXTERNAL=../buildroot_external O=output-dev -s
> printvars VARS=JANUS_GATEWAY_%DEPENDENCIES
> JANUS_GATEWAY_DEPENDENCIES=host-pkgconf jansson libnice libsrtp
> host-gengetopt libglib2 openssl host-automake host-autoconf host-libtool
> skeleton toolchain libcurl
> JANUS_GATEWAY_FINAL_ALL_DEPENDENCIES=host-autoconf host-automake
> host-gengetopt host-libtool host-pkgconf jansson libcurl libglib2 libnice
> libsrtp openssl skeleton toolchain
> JANUS_GATEWAY_FINAL_DEPENDENCIES=host-autoconf host-automake host-gengetopt
> host-libtool host-pkgconf jansson libcurl libglib2 libnice libsrtp openssl
> skeleton toolchain
> JANUS_GATEWAY_FINAL_PATCH_DEPENDENCIES=
> 
> However, even after completely deleting janus-gateway in my builddir and in
> the target dir, libcurl is not automatically built before janus. Am I
> missing a configuration step ?
> 
> * I need a more recent version of OpenCV than the current one 2.4.13. Using
> the same mechanism, I update OPENCV_VERSION in my external.mk. This time
> the new version is correctly detected and the package is downloaded in the
> new version. But I encounter a hash mismatch (which seems normal since hash
> is fixed in the package directory). Is there a way to override the hash
> file too ?

There is also the opencv3 package which is currently at 3.3.0. A patch bumping 
the version to the latest 3.4.0 would be welcome.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

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

* [Buildroot] Questions on package makefile variables overriding
  2018-01-30  8:35 ` Baruch Siach
@ 2018-01-30  8:45   ` Alexis Lothoré
  0 siblings, 0 replies; 4+ messages in thread
From: Alexis Lothoré @ 2018-01-30  8:45 UTC (permalink / raw)
  To: buildroot

Hello Baruch, Yegor,
thank you both for you quick answers !
indeed, a colleague of mine has sent patches upstream to get this
dependency added. I will get to him to follow the patches status. And as
you have both suggested, our current solution to override janus
configuration is to import it as an external package in our BR2_EXTERNAL
I will take a look at opencv3 package, thanks for the hint
Regards,

2018-01-30 9:35 GMT+01:00 Baruch Siach <baruch@tkos.co.il>:

> Hi Alexis,
>
> On Tue, Jan 30, 2018 at 08:56:00AM +0100, Alexis Lothor? wrote:
> > I am currently trying to adapt some buildroot packages behavior without
> > hardcoding my changes into the buildroot directory (using a buildroot
> > external), but I am encountering a few issues doint it. Here are my two
> > cases :
>
> As far as I know there is no support for overriding existing packages with
> the
> BR2_EXTERNAL mechanism. I'll let core developers confirm that.
>
> > * I am trying build the janus-gateway package in buildroot 2017-08. I
> have
> > to add libcurl as a dependency (needed in my case for the streaming
> > module). In janus-gateway.mk in corresponding buildroot package, the
> > dependency variable looks like the following :
> JANUS_GATEWAY_DEPENDENCIES =
>
> In this case libcurl should be added as an optional dependency of
> janus-gateway. Please post a patch doing that, so that you don't need to
> carry
> your own local changes.
>
> > host-pkgconf jansson libnice \
> >         libsrtp host-gengetopt libglib2 openssl
> > I have added an external.mk file in my BR2_EXTERNAL directory with the
> > following line : JANUS_GATEWAY_DEPENDENCIES += libcurl. It seems to be
> > taken in account by buildroot, as seen when printing the proper
> variables :
> > #~ : make -C buildroot BR2_EXTERNAL=../buildroot_external O=output-dev
> -s
> > printvars VARS=JANUS_GATEWAY_%DEPENDENCIES
> > JANUS_GATEWAY_DEPENDENCIES=host-pkgconf jansson libnice libsrtp
> > host-gengetopt libglib2 openssl host-automake host-autoconf host-libtool
> > skeleton toolchain libcurl
> > JANUS_GATEWAY_FINAL_ALL_DEPENDENCIES=host-autoconf host-automake
> > host-gengetopt host-libtool host-pkgconf jansson libcurl libglib2 libnice
> > libsrtp openssl skeleton toolchain
> > JANUS_GATEWAY_FINAL_DEPENDENCIES=host-autoconf host-automake
> host-gengetopt
> > host-libtool host-pkgconf jansson libcurl libglib2 libnice libsrtp
> openssl
> > skeleton toolchain
> > JANUS_GATEWAY_FINAL_PATCH_DEPENDENCIES=
> >
> > However, even after completely deleting janus-gateway in my builddir and
> in
> > the target dir, libcurl is not automatically built before janus. Am I
> > missing a configuration step ?
> >
> > * I need a more recent version of OpenCV than the current one 2.4.13.
> Using
> > the same mechanism, I update OPENCV_VERSION in my external.mk. This time
> > the new version is correctly detected and the package is downloaded in
> the
> > new version. But I encounter a hash mismatch (which seems normal since
> hash
> > is fixed in the package directory). Is there a way to override the hash
> > file too ?
>
> There is also the opencv3 package which is currently at 3.3.0. A patch
> bumping
> the version to the latest 3.4.0 would be welcome.
>
> baruch
>
> --
>      http://baruch.siach.name/blog/                  ~. .~   Tk Open
> Systems
> =}------------------------------------------------ooO--U--
> Ooo------------{=
>    - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
>



-- 
Alexis Lothor?
06.51.59.81.45
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180130/242f26ab/attachment.html>

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

end of thread, other threads:[~2018-01-30  8:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-30  7:56 [Buildroot] Questions on package makefile variables overriding Alexis Lothoré
2018-01-30  8:33 ` Yegor Yefremov
2018-01-30  8:35 ` Baruch Siach
2018-01-30  8:45   ` Alexis Lothoré

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.