Thomas Petazzoni [Tue, 21 Jul 2015 15:36:07 +0000 (17:36 +0200)]
fs: build host-mkpasswd when BR2_ROOTFS_USERS_TABLES is used
The code in fs/common.mk properly triggers the build of host-mkpasswd
when at least one package specifies a <pkg>_USERS variable. However,
when no selected package specifies a <pkg>_USERS variable but the user
uses a custom users table through BR2_ROOTFS_USERS_TABLES, then we
forget to build host-mkpasswd, leading to build failures if you don't
have mkpasswd installed in your machine.
This commit fixes that by taking into account both the package users
table and the custom users table when deciding to depend or not on
host-mkpasswd.
Reported-by: Auke Willem Oosterhoff <oosterhoff@baopt.nl> Cc: Auke Willem Oosterhoff <oosterhoff@baopt.nl> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
When debugging packages that use the pkg-kconfig infrastructure, it
is sometime interesting to see the exact command line that is being
executed when running oldconfig.
But currently, those command lines are prefixed with '@' which makes
them silent, always.
Instead, use $(Q) so they are silent by default, and verbose with V=1.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When a package has both a target and a host variants, and there is an
override-srcdir set for the target variant, the host variant should
inherit the target's override-srcdir, unless explicitly set, like we do
for all other target-variant properties.
However, do not override it if expressly set to empty (i.e. when the
user wants to override only the target variant).
Also, as we do for the other variables, the target variant never
inherits from the host variant.
Reported-by: Mike <mikez@OpenPlayer.org> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Reviewed-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Tested-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Commit f21b2558a097 (busybox: added linux-pam support, 2015-06-02) added
linux-pam support already, no need to do this again. Commit 083aeac94e19
(busybox: added linux-pam support, 2015-07-14) also effectively annulled the
build failure fix from commit 98e1848db11e (busybox: PAM support needs thread
support, 2015-07-04). Revert it.
The startup script for the audit package did not meet the buildroot
standards when the package was initially merged. Adding a compliant
startup script for starting the audit daemon along with rotating the
logs and other features.
[Thomas:
- Replace "Failed" by "FAIL" to be consistent with the rest of the
init script and other packages
- Use $(INSTALL) -D with a complete destination path to avoid having
to create /etc/init.d before installing the init script.]
Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Sat, 11 Jul 2015 12:10:56 +0000 (14:10 +0200)]
uboot: mark Freescale i.MX28 specific formats as such
It's rather unclear that uboot.sb, uboot.sd and uboot.nand are
Freescale i.MX28 specific, so let's make that clear in the prompt of
each option, like we do for the Marvell-specific uboot.kwb.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
boot/uboot: add support for the kconfig infrastructure
With the patchset "kconfig: turnaround into single .config"
[http://lists.denx.de/pipermail/u-boot/2015-February/205490.html]
U-Boot switched to a single .config file for board configuration. This
allows us to use the kconfig-package infrastructure.
For providing backward compatibility with older U-Boot version a user
choice between the new Kconfig and the legacy build system is
introduced.
[Thomas:
- make use of the legacy build system the default, to not break
existing configurations.
- add some comments in the code checking all the configuration
options, in order to hopefully make it a bit clearer.]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Sun, 3 May 2015 21:30:39 +0000 (23:30 +0200)]
pkg-infra: munging .la files is not limited to autotools packages
Currently, we're only fixing libtool's .la files for autotools packages,
and even more so, only for those that do not define their own
_INSTALL_STAGING_CMDS.
However, .la files might also be installed by non-autotools packages,
like the NVidia GPU binary blob (libGL.la).
So, move that code into the global build rule, so all packages get their
.la files fixed, whether they be autotools packages or not, and whether
they define their own _INSTALL_STAGING_CMDS or not.
Also print a message.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/upmpdcli: Add patch to fix OPEN_MAX build error
When building upmpdcli with certain toolchains using the compiler flag
-std=c++0x let gcc not define "linux" or "__linux", but "__linux__". Therefore,
the Linux-specific code in closefrom.cpp is not used and the build fails.
[Thomas:
- fix indentation of select BR2_PACKAGE_ZLIB in Config.in
- rewrap Config.in help text, lines were too long
- remove depends on BR2_PACKAGE_QT || BR2_PACKAGE_QT5, since
quazip/Config.in is already only included if one of Qt4 or Qt5 is
enabled.
- remove QUAZIP_SOURCE definition, since its value was the default
- add the missing zlib dependency in the .mk file
- add spaces around '=' signs when setting QUAZIP_QMAKE
- pass $(TARGET_MAKE_ENV) at install time]
Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Jan Viktorin [Tue, 14 Jul 2015 15:16:08 +0000 (17:16 +0200)]
zedboard: Patch default U-Boot environment for zedboard
This patch changes the U-Boot's default environment to
boot Zedboard out-of-the-box from SD card.
The sdboot procedure tries to load a file system.bit into
the Zynq's PL (only if it exists). It is also possible to
alter the booting by an uEnv.txt file located on your SD card.
The uEnv.txt is a plain text file with <key>=<value> pairs
one per line.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Jan Viktorin [Tue, 14 Jul 2015 15:14:46 +0000 (17:14 +0200)]
zedboard: Generate BOOT.BIN automatically
The U-Boot v2015.07 builds working SPL without a manual
intervention. The BOOT.BIN is generated from the standard
SPL so no BR2_TARGET_UBOOT_SPL_NAME redefinition is needed.
The SPL requires the u-boot-dtb.img file to boot properly.
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Jan Viktorin [Tue, 14 Jul 2015 15:16:02 +0000 (17:16 +0200)]
boot/uboot: Generate BOOT.BIN file when building for Xilinx Zynq
This commit integrates generation of a bootable image
for Xilinx Zynq. The generation is independent on Xilinx
flow and utilizes the host-zynq-boot-bin package. The only
required step is to generate a proper U-Boot SPL (instead
of the FSBL).
The SPL generation might work when providing the working
ps7_init.c file to U-Boot. However, from U-Boot 2015.07
a set of generic ps7_init.c files is included and used to
build the U-Boot SPL for various boards. The ps7_init.c file
has been released under GNU/GPL license for this purpose.
For details, see
Jan Viktorin [Tue, 14 Jul 2015 15:14:13 +0000 (17:14 +0200)]
host-zynq-boot-bin: new package
The package provides a Python script that can create the file BOOT.BIN
to boot Xilinx Zynq based boards.
The script zynq-boot-bin.py is contained in the Xilinx repository of
U-Boot (it is not in upstream).
[Thomas:
- remove appearance of the package in menuconfig, U-Boot will depend
on it directly, so there's no need for it to appear in menuconfig
- use $(INSTALL) instead of cp for the installation
- remove @ before the extract and install commands.]
Signed-off-by: Jan Viktorin <viktorin@rehivetech.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
uclibc: run snapshot and ng configs through "savedefconfig"
Recently uClibc got support of "savedefconfig" target that allows
generation of compact configuration description which only lists
differences from default options.
This change represents post-processing of "uClibc-snapshot.defconfig"
and "uClibc-ng.config" with "make savedefconfig" made on current
uClibc/master and uClibc-ng/1.0 branches accordingly.
Unfortunately the most recent stable uClibc version 0.9.33.2 doesn't
have "savedefconfig" target so I'm leaving uClibc-0.9.33.config as it
is.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Matt Weber [Tue, 14 Jul 2015 20:20:22 +0000 (15:20 -0500)]
openssh: selinux and pam support
[Thomas: in the sed expression, use % as a delimiter instead of /,
since the line contains several / that all had to be escaped.]
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Matt Weber [Tue, 14 Jul 2015 20:20:21 +0000 (15:20 -0500)]
dbus: selinux file context support
[Thomas: remove S30dbus changes.]
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Matt Weber [Tue, 14 Jul 2015 20:20:20 +0000 (15:20 -0500)]
sysvinit: added libselinux dependency
[Thomas:
- remove the patch from Matthew Weber that did a lot of changes that
were not needed: the CFLAGS would not get overridden by Buildroot
ones if the Buildroot TARGET_CONFIGURE_OPTS is passed on the left
hand-side of make, and the SULOGINLIBS hack needs to be replaced
by a proper handling of the libcrypt detection.
- added a patch that changes the libcrypt detection logic to accept
a SYSROOT variable. Instead of search for /usr/lib/libcrypt.a, it
search for $(SYSROOT)/usr/lib/libcrypt.a. This avoids the need for
overriding SULOGINLIBS.
- don't modify TARGET_CONFIGURE_OPTS in sysvinit.mk, this is
completely forbidden and broken.
- don't pass ROOT= since we don't use 'make install' anyway.]
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Matt Weber [Tue, 14 Jul 2015 20:20:19 +0000 (15:20 -0500)]
busybox: added linux-pam support
Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a configure option to enable the SELinux support in the
busybox configuration from the Buildroot menuconfig.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Reviewed-by: Samuel Martin <s.martin49@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Modern ARC cores (those sporting MMU of version 3 and 4) allow selection
of different page sizes (4, 8 or 16 kB) during ASIC design creation.
And it's important to build a toolchain with page size setting that matches
hardware.
Otherwise user-space applications will fail on execution due to
unexpected data layout/alignment etc.
[Thomas: slightly improve help text, fix indentation of help text.]
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/x11r7/xdriver_xf86-video-ati: Depends on xlib_libXcomposite
When xserver_xorg-server is built without composite support building this
package will fail:
radeon_dri2.c: In function 'radeon_dri2_copy_region2':
radeon_dri2.c:438:28: error: 'struct _Pixmap' has no member named 'screen_x'
off_x = drawable->x - pPix->screen_x;
^
radeon_dri2.c:439:28: error: 'struct _Pixmap' has no member named 'screen_y'
off_y = drawable->y - pPix->screen_y;
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Makefile: fix performance regression caused by the umask handling
Commit bee5745c introduced an extra level of 'make' when the umask is
different from 0022. However, when several targets were specified on
the command line, a new make instance would be called for each target.
This introduces a huge performance overhead when many targets are
specified on the command line.
To fix this, use the same approach as used in the mkmakefile script:
an addition target on which the MAKECMDGOALS depend, so that this
target is run only once.
Note that the mkmakefile script contains a special exception for
Makefile, because the Makefile in the output directory is generated.
Since the top-level Makefile is not generated, this exception is not
needed here.
While we're at it, also fix the whitespace in the UMASK assignment.
Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[yann.morin.1998@free.fr: aggregate patches from Arnout and Guido] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This fix is done in development tree:
http://github.com/foss-for-synopsys-dwc-arc-processors/gcc/commit/366cc86e4f8ff6f00f0b731dc6f78d22c7ac9e0a
and will be a part of the next release of ARC GNU tools.
Once that new release happens this patch must be removed.
Prerequisite:
"ARC: update tools to arc-2015.06 release": http://patchwork.ozlabs.org/patch/495837/
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/upmpdcli: disable for PowerPC CS toolchains
Those toolchains use gcc <= 4.5, which is too old as they are missing to
construct an empty std::shared_ptr with a nullptr (0) as an argument. This
is only introduced with gcc-4.6.
I'm happy to update GNU tools for ARC cores to the most recent
arc-2015.06 release.
This release brings following major improvements:
* GCC: source update to v4.8.4
* GCC: C ABI compatibility between MetaWare and GNU toolchains
* uClibc: support for thread local storage and Native Pthread Library (NPTL)
* GDB: updated to version 7.9.1
Also a lot of fixes and improvements has been done, please refer to
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.06
for more details.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
release: remove manual build files from release tarballs
The Buildroot release tarballs inadvertently contain a build/docs directory,
containing the manual sources, the generated lists, and manual.text and
manual.pdf (but excluding manual.html).
This directory is populated as $(BUILD_DIR) (==$(O)/build), while O is
set explicitly from the release target to a subdirectory
buildroot-xxxx.yy-git/ which was populated with 'git archive'.
Since the generated manuals are available in docs/manual, which is
also referred to from the README, the build directory is not needed and
should be removed from the release tarball.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
After working with the audit maintainers to get patches accepted, the
following one had to be reworked to meet their standards. This patch
will be included in the next version of audit.
Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain-external: fix uClibc-ng 64bit dynamic loader link
Commit 34f95bf9dbb0 (toolchain-external: fix support of uClibc-ng toolchains,
2015-07-13) added the missing ld-uClibc.so.1 dynamic linker symlink that
binaries expect when linked with uClibc-ng. However on 64bit targets the
linker is called ld64-uClibc.so.1. Handle that case as well.
Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>