When a package uses "setuptools" as its <pkg>_SETUP_TYPE, we currently
add a dependency on host-python-setuptools. This means that:
(1) When BR2_PACKAGE_PYTHON=y, the default host Python version is
Python 2.x, and host-python-setuptools is installed for
host-python.
(2) When BR2_PACKAGE_PYTHON3=y, the default host Python version is
Python 3.x, and host-python-setuptools is installed for
host-python3.
(3) When no target Python interpreter is selected, the default host
Python version is Python 2.x, and host-python-setuptools is
installed for host-python.
Situations (1) and (3) are problematic for host Python packages that
need Python 3.x. Such packages use <pkg>_NEEDS_HOST_PYTHON = python3,
but if they use setuptools as their setup type, they will not find
setuptools installed for host-python3 in situations (1) and (3)
described above.
We currently have a single package that sets <pkg>_NEEDS_HOST_PYTHON =
python3: host-meson. host-meson generally works because if setuptools
is not found, it falls back to distutils, which is part of the
standard Python library. However, if there is a setuptools version
installed system-wide, it may be picked up, but may not necessarily be
the same version as Buildroot setuptools, potentially causing
problems.
This commit makes the necessary change to the python-package
infrastructure to fix this behavior, by identifying the following
cases:
- When a host Python package says <pkg>_NEEDS_HOST_PYTHON = python3,
then we know it wants setuptools installed for host-python3, so we
use host-python3-setuptools.
- When a host Python package says <pkg>_NEEDS_HOST_PYTHON = python2,
then we known it wants setuptools installed for host-python, so we
use host-python-setuptools.
- When BR2_PACKAGE_PYTHON3=y, and we have a target package, or a host
package with no NEEDS_HOST_PYTHON option, then we want setuptools
installed for host-python3, so we use host-python3-setuptools.
- When BR2_PACKAGE_PYTHON=y or no target interpreter is enabled at
all, and we have a target package, or a host package with no
NEEDS_HOST_PYTHON option, then we want setuptools for host-python,
so we use host-python-setuptools.
To make this happen, we use host-python3-setuptools introduced in a
previous commit, but we also change host-python-setuptools to force
its installation for host-python. The latter is needed if you build
with BR2_PACKAGE_PYTHON3=y but want to install a Python-based package
that has NEEDS_HOST_PYTHON=python2.
There is one single package that needs be adjusted following this:
lirc-tools, because it is not using the python-package
infrastructure. It directly depends on host-python-setuptools, which
no longer works because host-python-setuptools now only installs for
Python 2.x, while lirc-tools Python binding only supports Python
3.x. Switching to host-python3-setuptools solves this problem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Asaf Kahlon <asafka7@gmail.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Drop upstream patch.
Add an upstream patch fixing build without python.
Add two more patches (one of them upstream) fixing cross compile of the
python client library.
Enable devinput and uinput unconditionally to suppress non cross compile
compatible host checks.
Set DEVINPUT_HEADER to target header of input events to avoid use of
host header.
Add python3 as optional dependency.
Cc: Rhys Williams <github@wilberforce.co.nz>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Drop 0001-tools-make_rel_symlink.py-can-also-use-python2.patch. Build requires
host-python3 since the previous version bump.
Drop upstream 0002-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch.
Add a patch fixing header guard macro collision with musl libc.
Set HAVE_WORKING_POLL to skip poll(2) run test that is not compatible with
cross compilation.
Add optional dependency on libftdi1.
Cc: Rhys Williams <github@wilberforce.co.nz>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Buildroot no longer supports toolchains with glibc older than 2.17, so there
is no need to check whether librt is required for clock_* system calls.
Cc: Rhys Williams <github@wilberforce.co.nz>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We want to use SPDX identifier for license strings as much as possible.
SPDX short identifier for GPLv2/GPLv2+ is GPL-2.0/GPL-2.0+.
This change is done by using following command.
find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/\<GPLv2\>/GPL-2.0/g'
Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Upstream removed use of the GLOB_BRACE glob(3) GNU extension in release 0.9.4
(commits 493857625 and 8bff82ed9c). See
https://sourceforge.net/p/lirc/tickets/174/.
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In some older versions of glibc, clock_gettime() is in librt, so we need
to link with librt when clock_gettime() is used. This commit adds a
lirc-tools patch to make sure we link with librt when needed.
Fixes:
http://autobuild.buildroot.net/results/2770360880c9b265c8e019141925e56c35ba22dc/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Following the removal of eglibc support, this commit replaces all
occurences of "(e)glibc" by just "glibc". Most of the occurences are in
package Config.in comments.
In addition, when the form "an (e)glibc ..." was used, it is replaced by
"a glibc ...".
[Peter: add new efi* packages, s/uclibc/uClibc as suggested by Romain,
systemd / liquid-dsp tweaks as suggested by Yann]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
lirc-tools has optional support for portaudio, see configure.ac,
line 218+.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
lirc-tools has optional support for alsa-lib, see configure.ac,
line 230+.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
lirc-tools has optional support for udev, see configure.ac, line 303+.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
lirc-tools has optional support for libusb-compat, see configure.ac,
line 199+.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: update comment in the .mk file about autoreconf.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The lirc-tools package fails to build once in a while in the
autobuilders. Some quick analysis of the problematic Makefile.am has
revealed one issue. However, since the issue is difficult to
reproduce, we could only check that the new solution continue to work,
and we're not 100% sure it fixes the entire problem: only the
autobuilders can say, over time.
Supposedly fixes:
http://autobuild.buildroot.org/results/eb47d57de8182d25b1dacbf0ac3726ed20063d04/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As part of bumping to version 0.9.3a, two patches are dropped because they
are already upstream.
Signed-off-by: Joshua Henderson <digitalpeer@digitalpeer.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit adds LIRC_TOOLS_INSTALL_STAGING = YES to the lirc-tools
package to get the library headers into sysroot, which is needed to
develop lirc based applications.
Signed-off-by: Michael Schenk <michael.schenk@albistechnologies.com>
[Thomas: rework commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
--enable-sandboxed and --with-driver options were used in 0.9.1
>From 0.9.2 they are not used anymore.
Signed-off-by: David Kosir <david.kosir@bylapis.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Arnout: resend without whitespace errors]
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
'echo -n' is not a POSIX construct (no flag support), we shoud use
'printf', especially in init script.
This patch was generated by the following command line:
git grep -l 'echo -n' -- `git ls-files | grep -v 'patch'` | xargs sed -i 's/echo -n/printf/'
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The recommended form is without the trailing slash, and will become
mandatory in a coming commit.
This avoids the need for the $$($(2)_SITE:/=) magic in package/pkg-generic.mk
to avoid double slashes in download URLs, like
"https://mosh.mit.edu//mosh-1.2.5.tar.gz".
^^
Note: this work has already been done in b0b9606530 a few
months ago and earlier in c7f4b96471 and 4a9eb20de8,
but no check has been added at that time to avoid new slashes to slip
in, and so they did. This time a patch will follow immediately to
prevent future mistakes from being unnoticed.
Mass-replaced with the following command:
git grep -l '_SITE.*/$' | xargs sed -i '/_SITE.*=/s|/$||'
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Otherwise, the configure script fails with "Required program
pkg-config is missing".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package adds the userspace tools and daemons LIRC - Linux remote
control
[Thomas:
- rewrap Config.in help text, lines were too long. And do a bit of
rewording also.
- remove trailing whitespaces in Config.in.
- make sure Config.in is included from package/Config.in, otherwise
the package is not visible.
- use a full destination path when installing the sysv init script.
- add dependency on BR2_USE_MMU, since fork() is used.
- fix init script: use -n option to not daemonize since
start-stop-daemon is already doing that, use 'mkdir -p' and 'ln
-sf' to make the 'start' action re-executable.]
Signed-off-by: Rhys Williams <github@wilberforce.co.nz>
Reviewed-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>