Go to file
Yann E. MORIN 5563a1c6a4 support/check-uniq-files: support weird locales and filenames
Currently, when a filename contains characters not representable in the
user's locale, we fail hard, especially when the host python is python3.

This is because python2 and python3 handle encoding/decoding strings
differently, with python3 presumable doing the right thing, but it
breaks on some systems, while python2 presumable does the wrong thing,
but it works everywhere. (Just joking, obviously...)

Part of the issue being that the csv reader in python2 is broken with
UTF8.

We fix the issue by ditching the csv reader, and simply read the file in
binary mode, manually partitioning the lines on the first comma.

Then, we use the binary-encoded (really, un-encoded) package names and
filenames as values and keys, respectively.

Finally, for each filename or package we need to print, we try to decode
them with the defaults for the user settings, but catch any decoding
exception and fall back to dumping the raw, binary values. Which codec
is used by default differs between Python version, but in all cases
something sane is printed at least.

Thanks a lot to Arnout for the live help doing this patch. :-)

Reported-by: Jaap Crezee <jaap@jcz.nl>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Jaap Crezee <jaap@jcz.nl>
[Arnout: commit log improvement]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-03-31 15:32:00 +02:00
arch arch: add Atom CPUs as Silvermont Architecture target 2018-01-01 13:05:16 +01:00
board configs/raspberrypi0w_defconfig: new defconfig for Raspberry Pi Zero W 2018-03-31 12:31:32 +02:00
boot uboot: fix build for older uboot source trees 2018-03-12 23:50:17 +01:00
configs configs/raspberrypi0w_defconfig: new defconfig for Raspberry Pi Zero W 2018-03-31 12:31:32 +02:00
docs package/pkg-generic: add the concept of extract dependency 2018-03-25 17:43:07 +02:00
fs package/pkg-generic: handle host-tar as an extract dependency 2018-03-25 17:43:20 +02:00
linux linux: bump default to version 4.15.14 2018-03-29 15:36:52 +02:00
package package/openocd: fix fallout after no-C++ fixups 2018-03-31 09:26:19 +02:00
support support/check-uniq-files: support weird locales and filenames 2018-03-31 15:32:00 +02:00
system systemd: allow to build with uClibc toolchains 2018-02-14 21:31:17 +01:00
toolchain toolchain: fix detection of SSP support 2018-03-25 22:52:33 +02:00
utils utils/genrandconfig: adjust to core-dependencies removal 2018-03-30 22:00:08 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 .flake8: ignore utils/diffconfig 2018-03-13 22:37:54 +01:00
.gitignore update gitignore 2013-05-04 12:41:55 +02:00
.gitlab-ci.yml configs/raspberrypi0w_defconfig: new defconfig for Raspberry Pi Zero W 2018-03-31 12:31:32 +02:00
.gitlab-ci.yml.in gitlab-ci: use new, tagged image 2018-02-05 22:38:30 +01:00
CHANGES Update for 2018.02 2018-03-04 22:28:34 +01:00
Config.in Config.in: Document BR2_CCACHE_DIR override 2018-03-26 22:26:02 +02:00
Config.in.legacy linux-headers: drop old unsupported 3.x versions 2018-02-04 00:02:35 +01:00
COPYING COPYING: add exception about patch licensing 2016-02-26 19:50:13 +01:00
DEVELOPERS ncmpc: bump to version 0.29 2018-03-31 08:49:14 +02:00
Makefile Makefile: fix build break in sdk target 2018-03-26 10:48:19 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README README: add reference to submitting-patches 2016-02-01 19:16:08 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches