Although QEMU has a ./configure script, it is not an autotools-package,
so switch to providing build and install commands, and to using
generic-package.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The ecryptfs-utils scripts require the 'getent' program to be
installed to find the home directory of users. However, Buildroot
currently never installs this program, and therefore bug #7142 was
reported, explaining that ecryptfs-utils is not working properly.
In normal Linux systems, the getent program is provided by glibc, and
allows to query not only /etc/passwd, but also other NSS databases
such as LDAP and others.
In the context of Buildroot, this gives us several cases:
1/ Internal toolchain
a/ glibc/eglibc. In this case, the getent program is already built
and installed by Buildroot in the staging directory, so the
only thing missing is installing it in the target directory.
b/ uclibc. uClibc provides a simple shell script that emulates the
behavior of getent. It is located in extra/scripts/getent in
the uClibc sources, but is currently never installed.
c/ musl. There seems to be no getent implementation, and musl does
not support NSS.
2/ External toolchain
a/ glibc/eglibc. In several external toolchains that we tested,
there is a pre-built getent binary available in the sysroot,
but Buildroot is not installing it to the target.
b/ uclibc. The getent wrapper script is typically not part of any
external uClibc toolchain.
c/ musl. There is no getent implementation.
This patch proposes to solve this problem by introducing a getent
package, which has the following behavior:
- When the toolchain is glibc based (either internal or external), it
installs the getent program that was built and installed in the
staging directory. This covers cases 1/ a/ and 2/ a/ above.
- When the toolchain is uclibc or musl based, it installs a version
of uclibc's getent wrapper script that is built into the getent
package. This script is unlikely to change over time, so having it
directly built into the package should not cause much issues moving
forward. This covers all other cases above.
This solution allows to install a NSS-capable getent when glibc/eglibc
is used, and otherwise to rely on uClibc's wrapper script.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The release is a few years old but the repository is still going, so
uses the SHA1 and uses the github function to download it.
Also, it now needs AUTORECONF.
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Make sure that xlib_libXcomposite is build before xserver_xorg-server.
With this defconfig
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR=y
BR2_PACKAGE_XLIB_LIBXCOMPOSITE=y
and "make xserver_xorg-server" the package xlib_libXcomposite was ignored.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
am335x-pru-package provides an assembler and program loader for Texas
Instrument's AM335x programmable real-time units.
[Peter: fix typo in patch description]
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Thomas:
- add dependency on threads, wchar and dynamic librayr
- add dependency on libiconv when locale support is not enabled
- replace patch hacking includedir by a patch that lets the Makefile
obey to $(DESTDIR)
- remove optional OpenSSL and MySQL support which simply cannot work
due to the usage of AC_CHECK_FILE() in configure.ac, this required
an additional patch to fix the bogus AC_ARG_WITH() calls.
- move from 'Miscellaneous' to 'Libraries' -> 'Other'.
- fixup the licensing information.]
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The manual gives this example for using the github macro:
FOO_VERSION = v1.0 # tag or full commit ID
Unfortunately, people copy/pasting this example will face weird make errors,
because it leads the FOO_VERSION variable to end with a space. Similar
problems can happen when testing a version bump or similar, so strip
leading/trailing spaces before the version is used to construct the build
directory path.
Reported-by: Edd Robbins <edd.robbins@gmail.com>
Cc: Edd Robbins <edd.robbins@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
uClibc can be built stripped (implemented as link-time option in uClibc).
This could be useful for those who build root fs manually.
In Buildroot there is a global strip stage wich strips most of shared libs
in "target" folder (wexcept kernel modules known to not work properly being
stripped and libpthread required to be non-stripped for correct debugging with
gdb of multi-threaded apps).
So there're few problems with current implementation:
1. uClibc is being stripped 2 times (first on its build stage, second on
global Buildroot strip stage)
2. uClibc libs in "staging" folder are also always stripped except if
"no strip" (BR2_STRIP_none) is explicitly is selected in Buildroot config.
That makes it possible to remote debug uClibc libs on target only if target
rootfs was not stripped (which might not be possible due to huge libs
like Qt)
This patch disables embedded strip in uClibc (still users may modify uClibc
config and explicitly set "DOSTRIP=yes" if really needed).
Interesting that DOSTRIP was not only selected in uClibc config but also was
force set with Buildroot on uClibc configuration step with UCLIBC_STRIP_CONFIG.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Not all our shells do install a pointer to /bin/sh. Besides, between
those that do and multiple ones are enabled, the last one to install
wins the the symlink.
Add a new config choice in the system sub-menu that allows the user to
explicitly select the shell to provide /bin/sh. If busybox is not
enabled, default to using dash, a POSIX shell.
Remove the symlink creation from bash.mk at the same time.
Note: for every shell, we select them, except busybox, on which we
depend, on the assumption that we do not want to force busybox in case
the user decided not to enable it.
[Peter: remove redundant !BR2_PACKAGE_BUSYBOX dependency]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Do not create a [serial-]getty link if BR2_TARGET_GENERIC_GETTY is not set.
Might be useful for custom setups (rootfs overlay).
[Peter: use BR2_TARGET_GENERIC_GETTY_PORT to match the code below]
Signed-off-by: André Erdmann <dywi@mailerd.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When trying to run a buildroot system configured with
BR2_TARGET_GENERIC_GETTY_PORT="tty1" (x86_64), the boot process hangs
with the following message:
"A start job is running for dev-tty1.device (<time> / 1min 30s)"
Replacing /etc/systemd/system/getty.target.wants/serial-getty@tty1.service
(linking to serial-getty@) with getty@tty1.service (-> getty@) fixes the issue.
This patch adds a check that "detects" the tty type by removing digits at the
end of BR2_TARGET_GENERIC_GETTY_PORT and comparing the resulting base name.
An instance of getty@service gets created if the name matches "tty",
otherwise serial-getty@ gets instantiated (as before).
So, tty1,tty2,... are created as links getty@tty1.service -> getty@,
while ttyS0, ttyAMA0, ... are created as instances of serial-getty@.
[Peter: simplify logic]
Signed-off-by: André Erdmann <dywi@mailerd.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Current setting only allows blackfin to select uclinux as TARGET_OS.
However, some noMMU ARM platforms that using FLAT binary format also need to
select uclinux as TARGET_OS. Fix the dependency.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since we don't handle it in sysvinit inittab any longer let's add an
initscript to get things back into plug-and-play shape.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Don't try to start logging from /etc/inittab because busybox installs a
S01logging script that handles that and can lead to duplicate logging
processes.
Let's handle the logging in each package that provides it since we can
get multiple variants in the future like syslog-ng that have different
initialization routines.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit bumps the sunxi-cedarx package version to the latest git
commit, which also provides a better support for ARM EABI, since it
now has a non-EABIhf variant of avheap.so available.
Built tested on ARM EABI and ARM EABIhf.
[Thomas: compared to Spenser's original version, bumped to a newer
version, and dropped support for the demo since it didn't build,
and fixing it isn't trivial]
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes shellshock-alike exploits.
Install binary to /bin as all shells should be and add hash file.
[Peter: drop /bin/sh handling as we're going to handle it globally]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Add hash file and use $(INSTALL) instead of cp for proper mode handling.
[Peter: drop /bin/sh handling as we're going to handle it globally]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since version 0.8.2 upmpdcli builds with gcc >= 4.5. This allows compilation
with the CodeSourcery toolchain versions 2011.03 and 2010.09 for the PowerPC
architecture.
Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As discussed during the dev days. It is broken for uClibc/musl and
architectures not using mainline gcc, so it has only very limited
usefulness.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fixes:
http://autobuild.buildroot.net/results/7a7/7a70b179f17070d0a0883f71c60030dd7d8a9102/
Didn't see widespread failure because it autoreconfed on its own just
fine if autotools infra was already present.
And didn't work before the automake patch with AUTORECONF=YES because of
an older gtk-doc.m4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Update gtk-doc.m4 infra to serial (version) 2.
Some packages start to need/ship with the new version and can't be
properly autoreconf'ed, like kmod 18+.
The file was picked up from kmod-18 itself actually.
[Peter: don't pull in host-pkgconf as it was already needed by v1]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
We have fixes in the internal toolchain; an external toolchain is most
likely a buildroot-built toolchain anyway, so it will also have the
fix. But we still keep a comment to warn the user for potentially-broken
external toolchains.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This was modeled after a similar option for Dropbear.
The utmpx code is automatically disabled when compiling with musl,
to avoid a build error due to WTMPX_FILE being undefined. Note that
musl has an empty utmpx implementation, so no functionality is lost
by not calling it.
[Peter: use positive logic]
Signed-off-by: Maarten ter Huurne <maarten@treewalker.org>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit adjusts the S10udev script by:
* Using the --action=add option to udevadm trigger. By default, only
the "change" events are handled by 'udevadm trigger', which means
it doesn't handle all the "device add" events that occured during
the boot time, before eudev was started.
* Adds a call to 'udevadm settle' to make sure we wait for udev to
handle all the events that occured before eudev was started.
Both of these change match what the Ubuntu and Debian udev startup
scripts are doing.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
It dates back to the initial libxslt submission, has no documentation and
doesn't seem to be needed.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Needed to build the manual in PDF format if the host doesn't have a fixed
xsltproc.
(by make host-libxsltproc; PATH=output/host/usr/bin:$PATH make manual-pdf)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, the manual is rendered with the timezone of the user running
the rendering. This timezone can fluctuate, depending on the date, due
to DST (Daylight Saving Time). Currently, the manual is rendered in
either CET or CEST (Central European Time, or its DST variant.)
So, a manual rendered during the summer or the winter would refer to a
non-constant timezone. If the machine and/or user doing the rendering
also changes, there is no guarantee the timezone would still be CET/CEST.
This is not a hard issue, since the user can still deduce the time in
UTC, but is just incoherent.
Just force the timezone to be UTC when doing the rendering of the
manual, so we are not dependent on the machine or user doing the
rendering.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As suggested by Thomas: the AsciiDoc options we use ensure we get a sane
output of the document. We want that configuration to be applied to
other documents as well.
Up until now, it was implicit that the configuration was applied to
our manual, becasue we only supported document-specific configuration,
and the configuration we had was in our manual dir, so we got to use it.
But now, we can render other documents, especially ones from
br2-external, and we want those to also use the default configuration
from Buildroot, but still be able to provide their own customisation.
So, always add Buildroot's configuration first, if available, before we
append the document's configuration.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, a document can specify an output-specific configuration, like
the text output, that hides images references, and formats hyperlinks.
But sometimes it is required that a specific configuration is used for
all the output formats, to always apply the same markup rules in all
documents (like using the [specialwords] section.)
Also look for a file named 'asciidoc.conf' in the document's directory.
If that file exists, add it to the asciidoc options (before the
output-specific config, so the latter takes precedence over the former.)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Currently, it is not possible to use $(@D) in documents' hooks, because
there is no actual target file for the copying rule.
So, use the same mechanism as for generic-package.
We do not touch the target file, so it is easy to regenerate the manual
without calling the -clean rule first.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Like for all the package infrastructures, retrieve the package name and
directory in the front-end macro-variable, rather than everywhere in the
backend macro.
This allows us to clean up the ASCIIDOC macro, by removing all the calls
to $(pkgname) and $(pkgdir), and to UPPERCASE (which made the macro a
bit difficult to read.)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Rename the GENDOC infrastructure so that it more closely matches the way
we handle the packages infras.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Reviewed-by: Samuel Martin <s.martin49@gmail.com>
Reviewed-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Move the GENDOC infra to its own file, so it is even less tied to our
manual document, so that it is more obvious that GENDOC is an infra like
our packages infras, and 'manual' is a document like we have packages.
Ideally, this new file should better go in docs/ rather than in package/ .
However, docs/ is already full of our website stuff, so adding it in
there would just serve to clutter the website.
So, let's just put alongside the other infrastructures, in package/ .
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: use positive logic for ifeq, move ARM handling inside ifeq]
Signed-off-by: David du Colombier <0intro@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>