Commit Graph

20213 Commits

Author SHA1 Message Date
Sagaert Johan
48d4c312ae qlibc : new package
[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>
2014-10-12 16:23:46 +02:00
Peter Korsgaard
2f07485781 pkg-generic.mk: strip leading/trailing spaces
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>
2014-10-12 16:18:33 +02:00
Samuel Martin
2b581cc04f package/opencv: fix build failure on x86
This change adds a patch fixing some opencv asm causing build failures on
i*86 with PIC.

This patch has been sent upstream [1].

Fixes:
  http://autobuild.buildroot.org/results/483/4838285b25d6293a5cf0bb9eadd5040a7c75d766/
  http://autobuild.buildroot.org/?reason=opencv-2.4.10&&arch=i686

[1] https://github.com/Itseez/opencv/pull/3331

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 16:16:57 +02:00
Alexey Brodkin
420ccbabee uclibc: build uclibc unstripped by default
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>
2014-10-12 16:14:17 +02:00
Yann E. MORIN
02e5cef14c system: add option to choose what /bin/sh points to
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>
2014-10-12 15:51:38 +02:00
André Erdmann
2a8ceecd80 package/systemd: check BR2_TARGET_GENERIC_GETTY
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>
2014-10-12 15:43:55 +02:00
André Erdmann
c95bf441a6 package/systemd: fix getty setup
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>
2014-10-12 15:37:01 +02:00
Axel Lin
3c25f6e6c0 package/Makefile.in: Fix dependency for selecting uclinux as TARGET_OS
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>
2014-10-12 14:58:54 +02:00
Gustavo Zacarias
526e3d0ac6 sysklogd: add initscript
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>
2014-10-12 13:01:00 +02:00
Gustavo Zacarias
d61c8d73d4 package/sysvinit: don't start logging
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>
2014-10-12 13:00:48 +02:00
Spenser Gilliland
a25b48ce6b sunxi-cedarx: bump version, improve EABI support
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>
2014-10-12 12:57:59 +02:00
Gustavo Zacarias
c3bf16f884 zsh: security bump to version 5.0.7
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>
2014-10-12 12:48:35 +02:00
Gustavo Zacarias
9a0990c408 dash: bump to version 0.5.8-1
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>
2014-10-12 12:45:42 +02:00
Jörg Krause
c706ae2117 package/upmpdcli: bump to version 0.8.3
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>
2014-10-12 12:43:06 +02:00
Arnout Vandecappelle
61446d3d15 Makefile: make help: remove <package>- help, add link to online manual
We only documented a few of the <package>- targets and it's hard to
decide which ones are relevant for make help. Since the help is already
way too long, it's better to remove these advanced targets.

Instead, let's refer to the online manual.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 12:37:56 +02:00
Alexey Mednyy
ab73c6c7b9 libuci: bump version
Signed-off-by: Alexey Mednyy <swexru@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 12:30:10 +02:00
Alexey Mednyy
84a172cb18 libubox: bump version
Signed-off-by: Alexey Mednyy <swexru@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 12:29:47 +02:00
Ryan Wilkins
9faf700b11 biosdevname: new package
Signed-off-by: Ryan Wilkins <ryan@deadfrog.net>
[yann.morin.1998@free.fr: bump to 0.6.0; fix dependencies (udev+zlib);
 add hashes; fix title]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 12:22:31 +02:00
Peter Korsgaard
d313a80d62 gcc: remove gcc snapshot option
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>
2014-10-12 12:09:34 +02:00
Gustavo Zacarias
3d6392e37e kmod: needs to autoreconf
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>
2014-10-12 11:03:12 +02:00
Gustavo Zacarias
166243f998 automake: update gtk-doc.m4 to serial 2
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>
2014-10-12 11:02:25 +02:00
Eric Le Bihan
b3c5c03bde cramfs: add host utilities menu entry
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:53:43 +02:00
Arnout Vandecappelle
398e590e2d rt-tests: enable on MIPS uClibc again
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>
2014-10-12 09:39:42 +02:00
Vicente Olivert Riera
a47d19d410 uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into account
Applying an upstream patch to make __SIGEV_PAD_SIZE to take __WORDSIZE
into account for alpha, mips and ia64 arches.

Upstream patch URL:
   http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b97b4b698b023f75b54f987859c856ab4861ea00

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:38:06 +02:00
Vicente Olivert Riera
af9d0442cd uclibc: add a missing function member to siginfo.h
Applying an upstream patch to add a missing function member on ia64,
mips and sparc arches.

Upstream patch URL:
   http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b4e6e61e2f7c6fb4bf59f66efaa74591a2112912

Fixes:
   http://autobuild.buildroot.net/results/fa0/fa03ecc087a4b30df8b0366bb238be3d167a56d9/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:37:44 +02:00
Maarten ter Huurne
9840261050 vsftpd: Add build option to disable utmpx update code
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>
2014-10-12 09:32:15 +02:00
Paul Cercueil
df8ae412a4 eudev: improve S10udev script for startup
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>
2014-10-12 09:25:53 +02:00
Jörg Krause
b55f718cbc package/wpa_supplicant: security bump to version 2.3
Fix CVE-2014-3686: wpa_cli and hostapd_cli action script execution vulnerability
(http://w1.fi/security/2014-1/wpacli-action-scripts.txt)

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:16:49 +02:00
Jörg Krause
96ffe2deec package/hostapd: security bump to version 2.3
Fix CVE-2014-3686: wpa_cli and hostapd_cli action script execution vulnerability
(http://w1.fi/security/2014-1/wpacli-action-scripts.txt)

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:15:56 +02:00
Gustavo Zacarias
d634737592 mpg132: bump to version 1.21.0
Also add hash file.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:14:21 +02:00
Gustavo Zacarias
5734914f4b file: bump to version 5.20
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 09:13:31 +02:00
Peter Korsgaard
f4da996da8 libxslt: remove configure patch
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>
2014-10-12 07:46:29 +02:00
Peter Korsgaard
f1ade06b84 libxslt: add upstream patch to fix --maxvars handling
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>
2014-10-12 07:46:29 +02:00
Yann E. MORIN
25b1d130f4 docs/manual: document the asciidoc infra
[Peter: move periods outside paranthesis as suggested by Thomas De Schampheleire]
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
f70d64111a Makefile: enable generating documents from br2-external
Currently, the only way br2-external may generate a document is by
including that document's recipe from within external.mk.

But external.mk is only parsed when the tree is configured.

This is unlike our internal document (the manual) which can be generated
from within an unconfigured tree.

So, include the documents from br2-external at the same time we include
our own document:
  - expect the same layout as we have:      docs/DOC_NAME/doc-name.mk
  - do not fail if there is no document:    use "-include", not "include"

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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
e2cd2337d7 doc/asciidoc: always use UTC
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
d79042bd0b doc/asciidoc: always apply Buildroot's AsciiDoc config
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
3c40c9ee57 doc/asciidoc: allow documents to pass a global asciidoc configuration
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
3d2a49f78f docs/asciidoc: make it possible to use $(@D) in hooks
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
13f5f02e98 docs/asciidoc: call $(pkgname) and $(pkgdir) in a single place
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
ab6a6212b0 docs: rename the GENDOC infrastructure
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
2dfe1b8395 docs: separate the GENDOC infra from our manual definition
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>
2014-10-12 07:46:28 +02:00
Yann E. MORIN
d861876322 docs/manual: always look for resources in destination directory
Our manual does not use external filters in asciidoc, so we are happy
with just looking for resources from our source tree.

However, other documents (like ones in br2-external) may use such
filters, to generate diagrams, graphs...

External filters generate their output files in the output directory, so
we must also look for resources in there.

Note: external filters in asccidoc are used thus:
    ["filter-name"]
    ----
    Text to be rendered
    ----

In the future, our own manual may even make use of filters to include
some of the graphs we generate, to store in the documentation.

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>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
05d11e19c5 docs/manual: use the new hooks instead of gendoc rules
Also reorder a bit the definition of the variables, to more resemble
a package. Yet a bit more...

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>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
5b34e68369 docs/manual: allow documents to define some hooks, as for a package
Allow documents to define two hooks:
  - DOC_CHECK_EXTRA_DEPENDENCIES_HOOKS
    to check for extra dependencies required by this document
  - DOC_CHECK_EXTRA_DEPENDENCIES_FMT_HOOKS
    ditto, but for the specific format
  - DOC_POST_EXTRACT_HOOKS:
    to run additional actions to fill-in the build directory

(Replace 'DOC' with the uppercase name of the document, and 'FMT' with
the format.)

This is supposed to replace the current use of overloading the internal
dependency rules, and makes GENDOC behave yet a bit more like the
package infrastructure.

Note that GENDOC_INNER already has the uppercase name as an argument,
whereas GENDOC does not, so the two foreach loops are not exactly
similar (for now.)

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>
Acked-by: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
a2ece0cf8d docs/manual: rename the generic dependency rules
Those rules are generic, and not specific to our manual, we want them
always called:
  - manual-check-dependencies
  - manual-check-dependencies-pdf

So, rename them to be generic to gendoc.

Cascade the document's dependency checking to call those rules, too.

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>
Acked-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
3789bafc85 docs/manual: properly separate rules specific for our manual
Move the rules specific to our own manual, so that they do not interfere
with the generic rules of GENDOC.

Separate them with a shiny header. ;-)

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>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
995f9bf4d3 docs/manual: last pass at removing hard-coded path in GENDOC_INNER
GENDOC_INNER still has one hard-coded path to the document's directory:
the asciidoc .conf files.

Add a new argument to GENDOC_INNER to pass the directory of the
document.

Notes:

- this makes for overly-long lines, but splitting is not possible,
otherwise the first argument on the continuation line would get (at
least) a leading space or tab, and that would break either or all of
the variables names, the dependency rules, or the filenames we look
for. A future patch will further clean this up (see: docs/asciidoc: call
$(pkgname) and $(pkgdir) in a single place.)

- this means that another document would be missing our tweaks from
asciidoc-text.conf to not render images and sanely render hyperlinks.
But that was already the case anyway, since we were using docs/$(1)/ to
search for that file. A further patch will allow us to have such
configuration in a common place.

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>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
059190e745 docs/manual: allow a document to declare where its resources are
Avoids hard-coding document's resources in GENDOC_INNER, so we can
generate another document with different resources (if any).

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>
2014-10-12 07:46:27 +02:00
Yann E. MORIN
c7f9d2e878 docs/manual: do not hardcode name of the generated document
Currently, GENDOC_INNER hard-codes some variables to have the name of the
document in them:
    MANUAL_$(2)_ASCIIDOC_CONF
    MANUAL_$(2)_ASCIIDOC_OPTS
    MANUAL_$(2)_A2X_OPTS
    MANUAL_$(2)_INSTALL_CMDS
    ...

Also, it defines some dependency on the generation rule, onto:
    manual-check-dependencies
    manual-check-dependencies-$(3)
    manual-prepare-sources

This is problematic, as it is not possible to have another document
generated with the GENDOC infra, or it would trigger the rules, and use
the variables for our own document, 'manual'.

Add a new argument to GENDOC_INNER to be the uppercase name of the
document, much like it is done for the PKG_*_INNER functions. Replace
any reference to 'manual' with the currently passed named of the current
document, $(1).

The remaining references to 'manual' are on purpose, as they really
pertain to our manual.

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>
2014-10-12 07:46:27 +02:00