Commit Graph

426 Commits

Author SHA1 Message Date
Thomas De Schampheleire
fdc5ad1588 infra/pkg-kconfig: incorporate oldconfig call to avoid endless rebuilds
The configure step of the busybox package performs 'make oldconfig', which
causes the .config file to be updated. Thus, the .config file is more recent
than our stamp file .stamp_kconfig_fixup_done. On a subsequent build, our
dependency rules would kick in, and run the config fixup again, thus
kicking in the package's configure, build and install steps yet once
more, that, ad infinitum.

One solution is to modify kconfig-package to introduce an explicit touch of
the .kconfig_fixup_config_done stamp file, as post-configure hook.

Another solution, implemented by this patch, is to move the oldconfig call
from the package's .mk file to the kconfig-package infrastructure and make
sure it is done as part of the fixup commands. This way, the stamp file will
only be touched once, after the full fixup (including oldconfig) and no
endless rebuilds will occur.

Reported-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
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>
2014-08-06 19:57:22 +02:00
Gustavo Zacarias
9598aa9da2 busybox: enable ash getopts
It's increasingly used by scripts like some in the btrfs-progs package.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-06 19:53:01 +02:00
Thomas De Schampheleire
a970021831 busybox: convert to kconfig-package infrastructure
This patch converts the busybox package to the new kconfig-package
infrastructure, thus removing code duplication and ensuring a consistent
behavior of kconfig packages.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-08-04 09:54:49 +02:00
Gustavo Zacarias
d06256b661 busybox: enable fdisk in default config
As noted by mnemoc on IRC the default busybox config doesn't enable
fdisk and util-linux is hidden by !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS.
On modern systems fdisk usage is becoming more common so enable it, it
just adds up ~25 KiB to total binary size.
People who are on the edge for space savings will normally customize
their busybox config.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-26 09:16:53 +02:00
Thomas De Schampheleire
6a67ad5a3d busybox: fix typo 'overwritting'
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>
2014-07-14 13:05:26 +02:00
Thomas Petazzoni
f28b7011f7 busybox: fix interaction with version selection removal and lzo fix
The fix for the LZO issue in Busybox was merged between the moment the
patch removing the Busybox version selection was posted and
merged. This patch adjusts the Busybox patches to take into account
this issue: it removes the LZO patches for the no-longer existing
Busybox versions, and moves the LZO fix for the 1.22.1 Busybox version
as appropriate.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2014-07-12 14:29:40 +02:00
Thomas Petazzoni
b18dca0df8 busybox: support only one version
This commit removes the version selection for the busybox
package. Busybox is very well maintained, and bugs are typically fixed
in a timely fashion. Moreover, regressions are fairly unlikely in this
very stable and well-tested tool.

Therefore, there isn't a very compelling reason to have a version
selection for Busybox since we don't accept such a version selection
for the vast majority of other packages, unless there is a strong
reason to do so.

Consequently, this commit:

 * Removes the 1.19.4, 1.20.2 and 1.21.1 Busybox versions, patches and
   default configuration file.

 * Moves the 1.22.1 patches from package/busybox/1.22.1 to just
   package/busybox/ like all other packages.

 * Renames the default 1.22.1 configuration file to just
   busybox.config.

 * Adapts the busybox.mk makefile to encode the current version to
   use.

 * Adds appropriate options to Config.in.legacy. However, even though
   the BR2_BUSYBOX_VERSION_1_22_X is removed, we don't add a
   Config.in.legacy option for it, since it would cause a legacy
   warning for virtually *all* users as most people are currently
   using 1.22.x.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-10 16:40:38 +02:00
Gustavo Zacarias
b882307867 busybox: add security patch for CVE-2014-4607
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-30 23:34:43 +02:00
Maxime Hadjinlian
c962338070 packages: replace command install by $(INSTALL)
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-06-08 17:56:54 +02:00
Danomi Manchego
802bff9c42 busybox: enable noclobber option in install.sh
We support a busybox-menuconfig target so that the BusyBox
configuration can be adjusted as needed.  However, depending
on what other packages are enabled, re-installing BusyBox
symlinks that duplicate "real" apps after the configuration
change can result in bad behaviors:

* At best, the BusyBox applet will be used after the
install, versus the desired "real" app.

* At worst, the built rootfs can become unbootable.

The BusyBox install.sh has some capability to avoid this issue
by means of a --noclobber option.  By default, this option is
disabled.  When enabled, the install.sh will not overwrite a
target file with a symlink or hardlink, be it an actual file
or a previously installed BusyBox link.

The install.sh's argument processing is somewhat broken, so this
patch simply changes the default value of the noclobber option
to on, rather than add --noclobber to the install.sh invocation.

Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-04 23:21:23 +02:00
Danomi Manchego
74bc709e63 busybox: use SED macro instead of 'sed -i'
Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-04 23:19:53 +02:00
Hadrien Boutteville
d7bcc4f815 busybox: add fbset to default configs
Some drivers (like ti-gfx) need fbset and we can't select it when we
use BusyBox because it is provided by BusyBox and as a package.

Signed-off-by: Hadrien Boutteville <hadrien.boutteville@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: "Spenser Gilliland" <spenser@gillilanding.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-02 22:04:18 +02:00
Simon Dawson
0be303cacc replace references to Busybox with BusyBox
The correct capitalised form appears to be "BusyBox" rather than "Busybox";
fix all references to the latter form. (Most such references occur in the
manual and in commentary in package makefiles.)

Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01 23:58:43 +02:00
Thomas Petazzoni
43b1cd3209 busybox: allow build with musl
The musl C library does not yet implemented the getpwent_r() function,
needed by the Busybox password code when CONFIG_USE_BB_PWD_GRP is
disabled. So we enable it when the musl C library is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-05 23:53:06 +02:00
Gustavo Zacarias
fa8327edc9 busybox 1.22.1: add nc patch
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-03-01 14:48:38 +01:00
Thomas De Schampheleire
eedfc7121c busybox: copy config file from configure iso extract step
The three typical packages that use .config files in buildroot copy the
config file at different times in the build process:

    busybox copies its .config from the post-extract hook.
    linux copies its .config in the configure_cmds.
    uclibc copies its .config from the post-patch hook.

Copying the .config file from the configure step is the only way to properly
support an OVERRIDE_SRCDIR that does not yet have the .config file, because
the extract and patch steps are skipped in that case.

For example, when setting a BUSYBOX_OVERRIDE_SRCDIR to a cleanly extracted
busybox tarball:

$ make busybox-dirclean busybox
rm -Rf [..]/output/build/busybox-custom
>>> busybox custom Syncing from source dir
>>> /home/tdescham/repo/contrib/busybox-1.21.1
rsync -au --exclude .svn --exclude .git --exclude .hg --exclude .bzr
            --exclude CVS /home/tdescham/repo/contrib/busybox-1.21.1/
            [..]/output/build/busybox-custom
>>> busybox custom Configuring
/bin/sed -i -e "/\\<CONFIG_NOMMU\\>/d"
                            [..]/output/build/busybox-custom/.config
/bin/sed: can't read [..]/output/build/busybox-custom/.config:
                                            No such file or directory
make: *** [[..]/output/build/busybox-custom/.stamp_configured] Error 2

This patch modifies busybox.mk to copy the config file from the configure
step instead, as linux is doing, and fixing the described scenario.

This fixes bug #5030: https://bugs.busybox.net/show_bug.cgi?id=5030

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-14 21:36:37 +01:00
Peter Korsgaard
a37930a5ba busybox: ensure SHA passwords are supported if used
As reported on IRC, our default busybox configuration doesn't support SHA
encoded passwords, breaking login if enabled under system configuration.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-11 14:59:16 +01:00
Nathan Lynch
9b659b815b busybox: ensure $(BUSYBOX_BUILD_CONFIG) is writable
If $(BUSYBOX_CONFIG_FILE) is read-only (eg. because Buildroot's
source dir is), the sed fixups to $(BUSYBOX_BUILD_CONFIG) fail.

Fixes: #4363
Signed-off-by: Nathan Lynch <ntl@pobox.com>
[yann.morin.1998@free.fr: use $(INSTALL) instead of cp]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-28 22:55:55 +01:00
Peter Korsgaard
99fa554bd6 busybox: 1.22.1: correct ash patch
Upstream initially put the wrong patch online:

http://lists.busybox.net/pipermail/busybox/2014-January/080364.html

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-23 12:47:19 +01:00
Gustavo Zacarias
1052a4a75f busybox 1.22.1: add upstream iplink fix
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-23 12:46:14 +01:00
Peter Korsgaard
e385c1fa2b busybox: 1.22.1: add upstream date fix
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-21 08:44:31 +01:00
Gustavo Zacarias
62ca653d55 busybox: bump 1.22 series to 1.22.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-20 22:20:31 +01:00
Baruch Siach
ce2867352d busybox: udhcpc script: suppress useless error message
Suppress the following error:

route: SIOCDELRT: No such process

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-16 09:14:34 +01:00
Baruch Siach
f70de34859 busybox: udhcpc script: create resolv.conf
Eliminate the following error message on every boot:

grep: /etc/resolv.conf: No such file or directory

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-15 20:29:25 +01:00
Gustavo Zacarias
c75e5117b4 busybox 1.22.0: add line edit patch
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-15 14:20:20 +01:00
Thomas De Schampheleire
ba4ad9d27c deprecated handling: introduce BR2_DEPRECATED_SINCE_xxxx_xx
In order to keep better track of when a feature got deprecated, and hence
when it can be removed, a new set of symbols BR2_DEPRECATED_SINCE_xxxx_xx is
introduced. These symbols are automatically selected when BR2_DEPRECATED is
selected, and thus are transparent to the user.
A deprecated feature will no longer depend on BR2_DEPRECATED directly, but
rather on the appropriate BR2_DEPRECATED_SINCE_xxxx_xx. If that symbol does
not yet exist, it has to be created in Config.in.
When removing a deprecated feature, one should also check whether this was
the last feature using the BR2_DEPRECATED_SINCE_xxxx_xx symbol, in which
case the latter can be removed from Config.in.

A followup patch will make sure the overview is added to the list of
deprecated features in the manual, so that a buildroot core developer can
easily determine which features to remove in a given development cycle.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-10 15:03:53 +01:00
Peter Korsgaard
49cfa71e41 busybox: add upstream 1.22.0 fixes
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-09 16:26:03 +01:00
Gustavo Zacarias
c906a2e5c5 busybox 1.22.x: disable touch -h
Disable the busybox touch --no-dereference since it requires lutimes
support and breaks old toolchains that don't support it (example:
avr32). Probably nobody cares that much since it's a new feature. Fixes:
http://autobuild.buildroot.net/results/9c2/9c29379719ae5cf5800c0dcb4cf514c5dc15d9b6/

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-02 09:44:55 +01:00
Gustavo Zacarias
4e8dadfe4b busybox: add 1.22.x series, deprecate 1.19.x
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-01-01 18:16:25 +01:00
Thomas De Schampheleire
3d86d29bf0 packages: remove package clean commands
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-08 19:42:34 +01:00
Thomas De Schampheleire
eb7bd9ef61 packages: remove uninstall commands
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 09:40:40 +01:00
Thomas De Schampheleire
bed4e27868 Config.in files: whitespace cleanup
This patch fixes the following whitespace problems in Config.in files:
- trailing whitespace
- spaces instead of tabs for indentation
- help text not indented with tab + 2 spaces

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-11 22:19:30 +01:00
Javier Viguera
fc6b5e4411 busybox: minor fixes to S01logging bootscript
* The PID file is not created unless the '-m' option is passed to
  start-stop-daemon.

* Remove the mark '-m 0' option as it's not supported by busybox's
  syslogd.

* Syslogd and Klogd forks to background by default giving as a result
  that the pid stored in the PID file is not correct. Let the
  background job be done by 'start-stop-daemon' by passing '-n'
  (foreground) to the daemons and '-b' to start-stop-daemon. This
  way the pid stored in the PID files is correct.

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-06 12:00:41 +01:00
Thomas Petazzoni
a4ffd7ca82 busybox: add patches to fix build with the musl C library
Those patches have been submitted upstream.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-09 16:03:22 +02:00
Gustavo Zacarias
149e4f8960 busybox: set/unset CONFIG_NOMMU
Set busybox .config CONFIG_NOMMU appropiately and streamline this new
setting with the previous BUSYBOX_DISABLE_MMU_APPLETS in a single
BUSYBOX_SET_MMU definition (since it's not just applets now).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10 10:29:42 +02:00
Gustavo Zacarias
caae7fa1d7 busybox: register mdev as hotplug helper when selected
It's also done in the kernel configuration, however users may be using
some other pre-built kernel and miss functionality like firmware
loading.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-28 16:32:07 +02:00
Thomas Petazzoni
17733c2e14 busybox: don't use kernel headers directly
The kernel headers are part of the staging directory, so there is no
reason to point the Busybox CFLAGS directly to them.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 07:32:53 +02:00
Gustavo Zacarias
72da1a3464 busybox: bump 1.21.x series to 1.21.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-29 21:02:51 +02:00
Peter Korsgaard
584f418ec1 busybox: udhcpc.script: fix resolv.conf handling with multiple interfaces
When udhcpc is used on multiple network devices at the same time (or a mix
of dhcp and fixed configuration), /etc/resolv.conf should contain the
union of information from all the interfaces.

Currently that's not the case. The udhcpc script simply overwrites
resolv.conf with the information from the specific interface on each dhcp
bound/renew event.

Fix it by tagging lines with the interface they came from when added,
and drop the affected lines on deconfig/renew. As /etc/resolv.conf is
often a symlink to /tmp (and rootfs might be read only), special care
has to be taken when it is updated.

Notice that I'm not really aware of any official documentation requiring
that '#' comments in /etc/resolv.conf must be supported, but atleast
glibc and uClibc do.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-26 15:20:50 +02:00
Peter Korsgaard
8432d81a84 busybox: udhcpc.script: cleanup
ifconfig up is a no-op if the device is already running, so let's just
do that unconditionally.

Systems might have multiple network devices, and perhaps run udhcpc on
another interface even when booted over nfs, so don't disable the
per-interface deconfig based on the global nfsroot= setting on the kernel
command line.

If you don't want udhcpc to mess with kernel level IP autoconfiguration
(E.G. for nfs boot), you should instead ensure udhcpc/ifup/ifplugd isn't
started for that interface.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-26 14:34:25 +02:00
Peter Korsgaard
0c229f70ea busybox: use a single udhcpc script, with or without avahi-autoipd
We're currently using two different udhcpc scripts, one in the busybox
package and another in the avahi one, which calls avahi-autoipd on
dhcp failures.

The avahi one actually only does something differently from the default
if avahi-autoipd is available, so let's just always use this one instead
of the complicated logic about writing the file if not present /
overwriting it afterwards.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-26 14:22:13 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Gustavo Zacarias
32a2f502c6 busybox 1.21.0: update mdev patch and add ntfs volume patch
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-14 17:20:10 +02:00
Gustavo Zacarias
1cb4f40a09 busybox 1.21.0: update mdev patch
Update the mdev patch so that subsystem matching is reintroduced.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-23 20:39:23 +02:00
Gustavo Zacarias
246d12b5b4 busybox: move patches to new model
On commit 5538e47662 the versioned package
patches changed the directory structure but the packages weren't fixed.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-23 08:59:23 +02:00
Patrick Ziegler
79154f49f5 busybox: don't disable static option
Don't change the busybox STATIC option if buildroots PREFER_STATIC_LIB option
is not set. Not to prefer static linking doesn't imply prefer dynamic linking
for all packages.

Signed-off-by: Patrick Ziegler <patrick.ziegler@fh-kl.de>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-17 21:51:11 +02:00
Tilman Keskinöz
1b22957a2c Fix path to pidfile
Signed-off-by: Tilman Keskinöz <arved@arved.at>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-31 20:56:50 +02:00
Peter Korsgaard
e4ee2811e3 busybox: 1.21.0 platform fix-on-fix
The unxz hunk was missing.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-27 19:23:58 +01:00
Peter Korsgaard
44efedbec4 busybox: add 1.21.0 xz fix
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-27 18:55:02 +01:00
Peter Korsgaard
d8024d2d87 busybox: 1.21.1 fix for move_to_unaligned16()
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-27 15:57:37 +01:00