diff --git a/README b/README index 580459b9..30a47af9 100644 --- a/README +++ b/README @@ -151,7 +151,7 @@ The three important URLs for communicating with the toybox project are: mailing list: http://lists.landley.net/listinfo.cgi/toybox-landley.net - git repo: http://github.com/landley/toybox + git repo: http://codeberg.org/landley/toybox The maintainer prefers patches be sent to the mailing list. If you use git, the easy thing to do is: @@ -161,7 +161,7 @@ the easy thing to do is: Then send a file attachment. The list holds messages from non-subscribers for moderation, but I usually get to them in a day or two. -I download github pull requests as patches and apply them with "git am" +I download codeberg pull requests as patches and apply them with "git am" (which avoids gratuitous merge commits). Sometimes I even remember to close the pull request. diff --git a/www/about.html b/www/about.html index cb37e4f4..47168ee3 100755 --- a/www/about.html +++ b/www/about.html @@ -88,7 +88,7 @@ shipped with Android due to the license. As long as we're starting over anyway, we can do a better job.

Toybox's current minimal native development environment builder is a new -tiny +tiny implementation integrated into the toybox source. The "make root" target will create a simple toybox chroot (by default in the root/host directory), and adding a LINUX= argument to @@ -98,7 +98,7 @@ bootable system with a wrapper script to run it under the emulator

The list of commands remaining before we can build Linux From Scratch under the result (with an appropriate -compiler) +compiler) is tracked in the roadmap, and doing so is one of the main goals for toybox's 1.0 release.

@@ -150,7 +150,7 @@ kind of nice to have.

Download

-

This project is maintained as a git +

This project is maintained as a git archive, and also offers source tarballs and static binaries of the release versions.

diff --git a/www/design.html b/www/design.html index 0631464c..5e29eea2 100644 --- a/www/design.html +++ b/www/design.html @@ -468,8 +468,8 @@ the linux kernel source's utf8 and unicode, and our terminal control outputs ANSI escape sequences. Toybox gets tested with gcc and llvm on glibc, -musl-libc, and bionic, plus occasional FreeBSD and -MacOS builds for subsets +musl-libc, and bionic, plus occasional FreeBSD and +MacOS builds for subsets of the commands.

For the build environment and runtime environment, toybox depends on @@ -508,7 +508,7 @@ it's not out yet.)

We use a few of the new features like compound literals (6.5.2.5) and structure initialization by member name with unnamed members zeroed (6.7.9), but mostly we "officially" went from c99 to C11 to work around a -clang compiler bug. +clang compiler bug. The main thing we use from c99 that c89 hadn't had was // single line comments. (We mostly don't even use C99's explicit width data types, ala uint32_t and friends, because LP64 handles that for us.)

diff --git a/www/faq.html b/www/faq.html index 3640e82b..8ecc2788 100644 --- a/www/faq.html +++ b/www/faq.html @@ -266,7 +266,7 @@ failing tests. The default VERBOSE=fail stops at the first such failure.


Q: When were historical toybox versions released?

A: For vanilla releases, check the -date on the commit tag +date on the commit tag or the example binaries against the output of "toybox --version". Between releases the --version @@ -299,7 +299,7 @@ info for that one.

A: Ideally on the mailing list, although emailing the maintainer is a popular if slightly less reliable alternative. -Issues submitted to github +Issues submitted to codeberg are generally dealt with less promptly, but mostly get done eventually. AOSP has its own bug reporting mechanism (although for toybox they usually forward them to the mailing list) and Android vendors usually forward them to AOSP which @@ -334,8 +334,8 @@ and its original author (Rob Landley) continues to maintain the open source project.

Android's base OS maintainer (Elliott Hughes, I.E. enh) -ported -toybox +ported +toybox to Android in 2014, merged it into Android M (Marshmallow), and remains Android's toybox maintainer. (He explained it in his own words in this podcast, starting either 18 or 20 minutes in depending how @@ -381,7 +381,7 @@ and thus spends less time coding than he does sitting in meetings where testers talk to security people about vendor issues.

Android has many other coders and security people who submit the occasional -toybox patch, but of the last 1000 commits at the time +toybox patch, but of the last 1000 commits at the time of writing this FAQ entry, Elliott submitted 276 and all other google.com or android.com addresses combined totaled 17. (Rob submitted 591, leaving 116 from other sources, but for both Rob and Elliott there's a lot of "somebody @@ -554,6 +554,8 @@ $ exit

But the rest of the hermetic build works without it:

+$ cc scripts/kconfig.c
+$ KCONFIG_ALLCONFIG=kconfig/macos_miniconfig ./a.out -n > .config
 $ scripts/prereq/build.sh #ignoring SO many warnings
 $ mkdir prereq; mv toybox-prereq prereq/
 $ for i in $(prereq/toybox-prereq); do ln -s toybox-prereq prereq/$i; done
@@ -680,13 +682,13 @@ Cobol, most people just try to get on with their lives.)

These cross compilers are built from the musl-libc maintainer's musl-cross-make -project, built by running toybox's scripts/mcm-buildall.sh in that directory, +project, built by running toybox's scripts/mcm-buildall.sh in that directory, and then symlink the resulting "ccc" subdirectory into toybox where "make root CROSS=" can find them, ala:

 cd ~
-git clone https://github.com/landley/toybox
+git clone https://codeberg.org/landley/toybox
 git clone https://github.com/richfelker/musl-cross-make
 cd musl-cross-make
 ../toybox/scripts/mcm-buildall.sh # this takes a while
@@ -720,7 +722,7 @@ LDFLAGS=--static make distclean defconfig toybox CROSS=m68k-linux-musl-
 won't run on your host unless you install musl's libc.so into the system
 libraries (which is an accident waiting to happen adding a second C library
 to most glibc linux distribution) or play with $LD_LIBRARY_PATH.
-(The dynamic package
+(The dynamic package
 in mkroot copies the shared libraries out of the toolchain to create a dynamic
 linking environment in the root filesystem, but it's not nearly as well
 tested.)

@@ -824,9 +826,12 @@ auditable version of the cmdline portion of that base.


Q: How do you build a working Linux system with toybox?

-

A: Toybox has a built-in system builder called "mkroot", with the Makefile target "make -root". To enter the resulting root filesystem, "sudo chroot -root/host/fs /init". Type "exit" to get back out.

+

A: Toybox has a built-in +system builder +called "mkroot", +with the Makefile target "make root". To enter the resulting root +filesystem, "sudo chroot root/host/fs /init". +Type "exit" to get back out.

Prebuilt binary versions of these system images, suitable for running under the emulator qemu, are uploaded to @@ -865,13 +870,14 @@ pointing at a directory full of cross compilers. The ones I test this with are built from the musl-libc maintainer's musl-cross-make project, built by running toybox's -scripts/mcm-buildall.sh in a musl-cross-make checkout directory, +scripts/mcm-buildall.sh +in a musl-cross-make checkout directory, and then symlinking the resulting "ccc" subdirectory into toybox where CROSS= can find them:

 cd ~
-git clone https://github.com/landley/toybox
+git clone https://codeberg.org/landley/toybox
 git clone https://github.com/richfelker/musl-cross-make
 cd musl-cross-make
 ../toybox/scripts/mcm-buildall.sh # this takes a while
diff --git a/www/header.html b/www/header.html
index 178c1391..f6a788a2 100644
--- a/www/header.html
+++ b/www/header.html
@@ -25,7 +25,7 @@
   Download
   
  • Git repo: -
    • github
    • + @@ -47,7 +47,7 @@ diff --git a/www/license.html b/www/license.html index a7233132..067c0209 100755 --- a/www/license.html +++ b/www/license.html @@ -37,7 +37,7 @@ public domain code and slaps To work around this perception, the above license is the OpenBSD suggested template -license, minus the half sentence +license, minus the half sentence requiring the license text be copied verbatim into derived works. If 2BSD is ok, then 0BSD should be ok, despite being equivalent to placing code in the public domain.

      diff --git a/www/quick.html b/www/quick.html index 4b5f3413..dbb1f579 100644 --- a/www/quick.html +++ b/www/quick.html @@ -45,7 +45,7 @@ $ ls --help

      To compile toybox from source:

      -$ git clone https://github.com/landley/toybox
      +$ git clone https://codeberg.org/landley/toybox
      $ cd toybox
      $ make defconfig toybox
      $ ./toybox
      @@ -61,7 +61,7 @@ to provide a portable executable without external userspace dependencies. To reproduce that:

      -$ git clone https://github.com/landley/toybox
      +$ git clone https://codeberg.org/landley/toybox
      $ cd toybox
      $ wget https://landley.net/bin/toolchains/latest/x86_64-linux-musl-cross.tar.xz
      $ tar xvf x86_64-linux-musl-cross.tar.xz
      @@ -71,7 +71,7 @@ $ ./toybox

      You can also build individual toybox commands as standalone executables, either by name ("make sed") or using the "make change" target (as in change -for a $20) to build all of them at once. This is much less efficient than +for a $20 bill) to build all of them at once. This is much less efficient than the default build, the individual commands add up to around ten times the size of the equivalent all-in-one toybox binary.