Commit Graph

8728 Commits

Author SHA1 Message Date
Thomas Petazzoni
9460079914 documentation: Update to explain how board support works
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 14:35:21 +01:00
Thomas Petazzoni
beb43c7d26 Re-add target/generic/Config.in options to menuconfig
The options to customize the hostname, the banner and the serial port
configuration are now inside a menu named 'System configuration'.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:19:25 +01:00
Thomas Petazzoni
9e1107ba14 Remove crazy set of empty directories
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:18:28 +01:00
Thomas Petazzoni
1a8012405e Remove Busybox skeleton from target/device/Atmel
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:17:24 +01:00
Thomas Petazzoni
9e009f3bbc Remove all Config.in/Makefile.in files in target/device
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:16:14 +01:00
Thomas Petazzoni
1a5f2d6d7a Stop referencing the crazy target/device stuff
We don't need Config.in and Makefile in target/device: defconfig files
are sufficient to describe the specificities of a board (architecture,
compilation flags, bootloader and kernel details, etc.).

However, a placeholder such as target/device will be kept in order to
host things such as kernel configuration files or various
board-specific patches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-16 12:15:52 +01:00
Thomas Petazzoni
b8065ed29a Remove mini device table, it isn't used
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 16:00:51 +01:00
Thomas Petazzoni
ad5031cc22 Use the new BR2_ROOTFS_SKELETON_CUSTOM options
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 16:00:22 +01:00
Thomas Petazzoni
8008007ca6 Move Config.in.mirrors out of target/device
Having Config.in.mirrors (which also to select various download sites)
inside target/device sounds strange. This commit moves the contents of
Config.in.mirrors directly into the main Config.in file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:26:39 +01:00
Thomas Petazzoni
47603d95ba Remove useless target/device/mips
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:26:05 +01:00
Thomas Petazzoni
e35eb04861 Remove completely useless set of Makefiles specific to Atmel
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:25:14 +01:00
Thomas Petazzoni
e96a820300 Update defconfigs after Atmel mirror related options removal
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:24:44 +01:00
Thomas Petazzoni
b91cfd979a Remove unused Atmel-specific mirror definitions
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:24:16 +01:00
Thomas Petazzoni
477cd417f1 defconfigs: keep only one defconfig per board
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-15 10:23:22 +01:00
Peter Korsgaard
f362c51f7f CHANGES: #561/#1651/#1735 are resolved
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 20:45:59 +01:00
Martin Banky
767dce8cee l2tp: convert to gentargets and change to xl2tp
l2tp is no longer being developed, and xl2tpd is forked from l2tpd and is
maintained by Xelerance Corporation.

[Peter: remove invalid pppd dependency]
Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 01:35:41 +01:00
Thomas Petazzoni
fc13fc7b57 libtheora: bump version to 1.1.1
This allows to disable the build of the format specification
documentation, which was causing issues in cross-compiling mode.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 01:29:16 +01:00
Thomas Petazzoni
6bcedeed37 mplayer: convert to gentargets, bump to a recent SVN version
Based on the conversion to gentargets done by Martin Banky, several
issues were fixed, and the mplayer package was improved:

 * Updated to a recent SVN version

 * Removed mandatory dependency on libmad

 * The AVR32 specific patch has been removed. It was a pain to remain
   blocked at the old 1.0-rc2 just for this patch. All this
   optimization work should have been submitted upstream, Buildroot is
   not the place to carry such heavy modifications.

 * Options were added to select whether mplayer and/or mencoder should
   be built/installed.

 * Support for additional options if packages have been selected:
   tremor, libmad, libtheora, libpng, jpeg, xlib_libX11,
   xlib_libXv. More could be added in the future.

 * Support for ARM-related optimization options. Similar improvements
   could be done for x86 and PowerPC architectures.

[Peter: fix build with !IPV6]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 01:28:08 +01:00
Thomas Petazzoni
1e17f73d27 libaio: add patch to support AVR32
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:57:03 +01:00
Martin Banky
20d4792e5b netplug: convert to gentargets and bump to 1.2.9.2
Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:56:10 +01:00
Martin Banky
03f36427e4 alsa-utils: convert to autotargets and bump to 1.0.23
[ Thomas: remove all patches, since they have been merged. Implement
  the target uninstallation step, fix many issues. ]

[Peter: fix target install / uninstall steps]
Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:53:12 +01:00
Thomas Petazzoni
92919160b8 hotplug: remove package
The package has been marked deprecated, is no longer developed
upstream, so let's get rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:38:47 +01:00
Thomas Petazzoni
accbd71154 libfloat: remove package
This package has been marked deprecated in Buildroot last year, no-one
complained, and it isn't developed upstream anymore. So get rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:38:03 +01:00
Thomas Petazzoni
b07fed4bf1 ng-spice-rework: remove package
This package has been marked deprecated in October, and no-one
complained. Moreover, it doesn't sound like a package that is widely
used on embedded systems. So we get rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:37:28 +01:00
Thomas Petazzoni
af6fd2d931 microcom: remove package
This package has been marked deprecated some time ago, because it has
been integrated into Busybox. Let's get rid of it now.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:36:50 +01:00
Martin Banky
39f7af961a memtester: convert to gentargets and bump to 4.2.1
Also, memtester requires largefile support

[ Thomas: add patch to fix memtester's Makefile at installation
  stage. Bump to 4.2.1. ]

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:35:51 +01:00
Martin Banky
564e0c7e65 lvm2: convert to autotargets and bump to 2.02.78
[ Thomas: simplifications and bump to 2.02.78 ]

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:30:32 +01:00
Martin Banky
8db52c6e78 lsof: convert to gentargets and bump to 4.84
lsof is packaged as a tarball inside a .tar.bz2 package, so we have a
post-extract hook to extract the source code tarball, so that for the
next steps, lsof looks like a normal package.

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:28:25 +01:00
Thomas Petazzoni
fb7226ca2f target: support generic getty with sysvinit inittabs
In sysvinit inittab the "id" field (first field) must be no longer
than 4 bytes, and is not used by init to determine the output
terminal. Therefore, we adjust the strategy used to modify the inittab
file according to the getty configuration.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:25:18 +01:00
Martin Banky
7e2bf63080 sysvint: convert to gentargets and bump to 2.88
Also, changed the site to Debian, to get the latest patches

[ Thomas: add inittab compatible with sysvinit. Minor fixes. ]

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:22:25 +01:00
Martin Banky
dfd068cd27 sysklogd: convert to gentargets and bump to 1.5
Also, changed the site to Debian, to get the latest patches

[ Thomas: Minor fixes. Removed S25sysklogd since our default
  /etc/inittab already starts klogd and sysklogd. ]

[Peter: only install syslog.conf if not available in skeleton]
Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-14 00:17:31 +01:00
Martin Banky
690df50586 mrouted: convet to gentargets and bump to version 3.9.4
mrouted is once again being actively developed.
See http://github.com/troglobit/mrouted

[ Thomas: bump to 3.9.4, patches updated, prefix fix. ]

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 23:24:14 +01:00
Martin Banky
9962388776 mii-diag: convert to gentargets and bump to 2.11.3
[ Thomas: minor fixes. ]

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 23:21:12 +01:00
Peter Korsgaard
fbda6575f0 input-tools: fix jscal build, ensure target dir exists
And at the same time only build enabled applets.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 23:17:05 +01:00
Martin Banky
fbda120387 input-tools: convert to gentargets
Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:57:01 +01:00
Thomas Petazzoni
600d1f8af3 package: pass TARGET_MAKE_ENV at install/clean/uninstall steps
TARGET_MAKE_ENV contains the PATH to the host tools built in
$(HOST_DIR), and not having this directory in the PATH while
installing packages may cause troubles.

The specific example that trigerred the problem is the following
one. libglib2 ./configure tries to find a awk version, either gawk or
mawk. On my limited testing system, only mawk is available, so
normally, libglib2 detects mawk and uses it, and it works perfectly.

However, when host-gawk has been compiled before libglib2 (which
happens for example if you have used the Crosstool-NG backend), gawk
is well detected in $(HOST_DIR)/usr/bin at ./configure time
($(HOST_DIR)/usr/bin is in the PATH at ./configure time, thanks to
TARGET_MAKE_ENV). But at install time, when libglib2 uses gawk, it
doesn't find it anymore because it is not in the PATH.

This also makes things coherent with host installation, in which
$(HOST_MAKE_ENV) was already used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:52 +01:00
Thomas Petazzoni
5c09e36cb6 toolchain: more verbose in crosstool-ng backend
By default, Crosstool-NG hides all the details of the toolchain build
process. However, this is inconsistent with the typical Buildroot
build, and the rotating progress thing makes log file resulting from
redirecting the Buildroot output a bit unusable. Therefore, switch the
Crosstool-NG configuration to a more verbose default.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:52 +01:00
Thomas Petazzoni
5eae3c577c toolchain: expose thread options in the Crosstool-NG backend
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:52 +01:00
Thomas Petazzoni
f56c5a7619 toolchain: BR2_NEEDS_GETTEXT must be y when uClibc is used
BR2_NEEDS_GETTEXT was already set to y for Buildroot internal
toolchain and external toolchains based on uClibc, but wasn't set for
toolchains based on uClibC built by the Crosstool-NG backend.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:51 +01:00
Thomas Petazzoni
227b5d2e26 gcc: disable libgomp when thread support is disabled
libgomp needs thread support on the target to build properly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:51 +01:00
Thomas Petazzoni
42e32d55b1 toolchain: check that the thread option selection is correct
When an external toolchain is used, the user is responsible for
telling Buildroot what the configuration of the toolchain is. In order
to make sure that the selection is correct, we already perform checks
against the configuration of the uClibc in the selected external
toolchain. This commit adds the check for thread support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:51 +01:00
Thomas Petazzoni
9eaad202f1 toolchain: rework thread options
The selection of linuxthreads, linuxthreads old or NPTL doesn't make a
lot of sense for external toolchains. So, instead, we :

 * Introduce an hidden BR2_TOOLCHAIN_HAS_THREADS option, which must be
   selected by toolchain specific options when thread support is
   available. Package needing to test thread support should use this
   option.

 * Move the none/linuxthreads/linuxthreads old/NPTL selection to
   Buildroot internal toolchain configuration.

 * Add an option in external toolchain to tell if thread support is
   available or not in the external toolchain. We assume that glibc
   without threads is not possible, as Ulrich Drepper said in
   http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html

ffmpeg, dmalloc and openvpn are fixed to use the new
BR2_TOOLCHAIN_HAS_THREADS option. For openvpn, --enable-threads=posix
is no longer used, as the configure script doesn't even understand
this option.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:26:41 +01:00
Thomas Petazzoni
a72a670489 ltp-testsuite: bump version and use autotargets
Reworking ltp-testsuite is needed in order to get rid of some
thread-specific options that will be cleaned-up in the next commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:10:04 +01:00
Thomas Petazzoni
ab64b95e4d toolchain: move Stack Protection Support option
The BR2_USE_SSP option is only used inside the uClibc build, so only
meaningful for Buildroot internal toolchains. Therefore, the option is
moved to the right location so that it isn't visible when working with
external toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:06:15 +01:00
Thomas Petazzoni
6b578c8d73 toolchain: rework C++ options
Instead of having BR2_GCC_CROSS_CXX and BR2_INSTALL_LIBSTDCPP, with
BR2_GCC_CROSS_CXX not being visible (and therefore being useless),
let's just keep BR2_INSTALL_LIBSTDCPP to enable C++ in the toolchain
and install C++ libraries on the target.

We also take that opportunity to make BR2_INSTALL_LIBSTDCPP an hidden
option, which is selected by an option in Buildroot toolchain support
or an option in External toolchain support, just as we did for other
toolchain features.

Some work definitely remains to be done :

 - The name BR2_INSTALL_LIBSTDCPP is ugly, but we keep it for the
   moment in order to avoid changing all packages.

 - We should clarify the other language-related options (Fortran,
   Java, Objective-C, etc.).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:04:35 +01:00
Thomas Petazzoni
01b434b27a toolchain: remove toolchain-specific stripping
We already handle the stripping of libraries in $(TARGET_DIR) at the
global level, so there's no need to have toolchain-specific option and
code for this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:02:32 +01:00
Thomas Petazzoni
6c492d5e7b toolchain: add support for external toolchain profiles and download
Instead of letting the user define all the details of his external
toolchain, we define a set of profiles for well-known external
toolchains (CodeSourcery ones only at the moment, can easily be
extended with other toolchains).

Once a profile has been choosen, the user is offered the choice of
either letting Buildroot download and install the external toolchain,
or (as before) to tell Buildroot where the toolchain is installed on
the system.

We of course provide a "custom profile", through which the user can
configure Buildroot to use a custom external toolchain for which no
profile is available.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 21:56:49 +01:00
Thomas Petazzoni
ac38fd3dc6 toolchain: remove ending semi-colon in helpers
Some helpers had their final line ending with a semi-colon, some did
not. For consistency, remove the final semi-colon from all helpers,
it's the responsability of the caller to add the final semi-colon as
needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 21:55:48 +01:00
Thomas Petazzoni
fff711786a toolchain: Improve C library option selection
Turn BR2_LARGEFILE, BR2_INET_IPV6, BR2_INET_RPC, BR2_USE_WCHAR,
BR2_ENABLE_LOCALE and BR2_PROGRAM_INVOCATION into hidden options.

Then, for Buildroot toolchains, external toolchains and Crosstool-NG
toolchains, provide visible options that selects the hidden options.

This allows :

 * To show a different label and help text in the case of Buildroot
   toolchain (do you want to enable feature X ?) and in the case of
   external toolchain (is feature X available in your toolchain ?)

 * To not show any option when a glibc external toolchain is selected
   (since glibc is assumed to support all of largefile, IPv6, RPC,
   WCHAR, locale and program invocation) and have them all selected in
   that case.

There is some amount of duplication between Buildroot toolchain config
options and Crosstool-NG toolchain config options, because kconfig
doesn't allow to source the same Config.in file twice (even if under
mutually exclusive conditions). This duplication is more readable that
the hack that consists in splitting files in multiple pieces.

However, this commit changes the name of the options visible in the
configuration interface, so existing .config files will have to be
updated accordingly.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 21:54:28 +01:00
Peter Korsgaard
742f393ffb kernel-headers: simplify
Old-style kernel headers got removed almost 2 years ago, so get rid of
the seperate kernel-headers-new.makefile file and move the content
to the main kernel-headers.mk.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 21:52:16 +01:00