From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [pull request] Pull request for branch fs-cleanup
Date: Fri, 9 Apr 2010 11:06:38 +0200 [thread overview]
Message-ID: <cover.1270803901.git.thomas.petazzoni@free-electrons.com> (raw)
This patchset implements a major rework of the code that generates the
root filesystem generation. It is part of a more general work that
aims at cleaning up the contents of the target/ directory.
Each patch has a description detailing its changes but here is the
list of the major steps that this patch set goes through :
* First, I introduce new packages, or new host packages. The idea is
to remove the code in target/*/*.mk that was building tools such as
genromfs, squashfs-tools, mkcramfs to package/ so that 1. we can
leverage the package infrastructure and 2. these packages can also
be made available on the target if needed.
- New genromfs package, supported for both target and host
- New genext2fs package, supported for both target and host
- New cramfs package, supported for both target and host
- New squashfs package, supported for both target and host
note that I removed support for SquashFS 3.x
- New libcap package, supported for both target and host
it is a dependency of cdrkit
- Convert bzip2 to autools + add host package
- New cmake package, supported for the host only.
it is a build dependency of cdrkit
- New cdrkit package, supported for both target and host
it is the new generation of cdrecord/mkisofs tools
- Add host support to e2fsprogs so that libuuid can be built for the
host. Needed to build mtd-utils for the host
- Package mtd-utils converted to gentargets and added host support
so that we can get mkfs.jffs2 and mkfs.ubifs for the host
- New package cloop, supported for the host only
stupid build system, didn't want to fix for cross-build
- Convert lzma to the autotargets infrastructure for the host
* Once this was done, I removed all the host utils generation code
from target/* (where * is a filesystem)
- cloop, which was also converted to use fakeroot instead of sudo
- cpio
- cramfs
- ext2
- iso9660. converted to use genisoimage instead of mkisofs. Same
utility, but genisoimage is the one of cdrkit
- jffs2
- romfs
- squashfs
- tar
- ubifs. and remove the BROKEN mark.
* Sanity work around fakeroot: conversion to autotools for the host
and removal of BR2_HOST_FAKEROOT, since we never use configuration
options for host packages.
* Remove the BR2_TARGET_ROOTFS_xxxx_COPYTO options, designed to copy
the root filesystem image to a custom location after build. Just use
"cp" after using Buildroot.
* Addition of a filesystem generation infrastructure, to factorize the
code to generate the root filesystem images. It is loosely modeled
after our packages infrastructures.
A ROOTFS_TARGET macro does all the work of creating the fakeroot
script. The only thing the filesystem-specific code has to specify
is: 1. list of host dependencies and 2. command to execute to
generate the filesystem image.
* Conversion of most filesystems to the ROOTFS_TARGET infrastructure
- cloop
- cpio
- cramfs
- romfs
- tar
- squashfs
- ext2
- jffs2
- ubifs
- initramfs
Note: iso9660 has to be kept as a manual thing, since its generation
procedure is very very different from the others.
* Removal of the IMAGE internal variable, that was the name of the
generated rootfilesystem (which could be tweaked through
configuration options for a prefix and suffix). Instead, just
hardcode the generation of rootfs.XXXX where XXXX is the filesystem
type.
* Move everything all filesystem generation code in a new top-level
directory "fs/". A new configuration category is created for
Bootloaders, so that they are not mixed with filesystems.
The following changes since commit 6cbdb507c37124d06bdac6a82c81aa5c16e164f9:
Peter Korsgaard (1):
CHANGES: add libaio
are available in the git repository at:
git://git.busybox.net/~tpetazzoni/git/buildroot fs-cleanup
Thomas Petazzoni (44):
genromfs: add new package
genext2fs: new package
cramfs: new package
squashfs: new package
libcap: new package
bzip2: convert to gentargets, add host package, bump version
cmake: new package
cdrkit: new package
e2fsprogs: add support for host package
mtd: convert to gentargets, add host package
cloop: new package
lzma: convert the host package to the autotools infrastructure
target/cloop: cleanup
target/cpio: cleanup
target/cramfs: cleanup
target/ext2: cleanup
target/iso9660: cleanup
target/jffs2: cleanup
target/romfs: cleanup
target/squashfs: cleanup, remove support for 3.x
target/tar: cleanup
target/ubifs: cleanup, unbroken
fakeroot: convert to the autotools infrastructure
fakeroot: remove all references to BR2_HOST_FAKEROOT
target/: remove the COPYTO mess
target: Add new infrastructure for filesystem generation
cloop: convert to ROOTFS_TARGET infrastructure
cpio: convert to ROOTFS_TARGET infrastructure
cramfs: convert to ROOTFS_TARGET infrastructure
romfs: convert to ROOTFS_TARGET infrastructure
tar: convert to ROOTFS_TARGET infrastructure
squashfs: convert to ROOTFS_TARGET infrastructure
ext2: convert to ROOTFS_TARGET infrastructure
jffs2: convert to ROOTFS_TARGET infrastructure
ubifs: convert to ROOTFS_TARGET infrastructure
initramfs: convert to ROOTFS_TARGET infrastructure
busybox initramfs: do not use the IMAGE variable
target/common: do not use IMAGE
iso9660: rework in a similar way to ROOTFS_TARGET
Remove IMAGE and related configuration options
Move all filesystem generation code to fs/
Coherent naming for .mk files in fs/
Update defconfigs after fs cleanup
fs/*/Config.in: remove useless configuration comments
Config.in | 2 +
Makefile | 2 +
configs/at91rm9200df_defconfig | 9 +-
configs/at91rm9200df_ext_defconfig | 9 +-
configs/at91sam9260dfc_defconfig | 9 +-
configs/at91sam9260dfc_ext_defconfig | 9 +-
configs/at91sam9260pf_defconfig | 5 +-
configs/at91sam9261ek_defconfig | 9 +-
configs/at91sam9261ek_ext_defconfig | 9 +-
configs/at91sam9263ek_defconfig | 9 +-
configs/at91sam9263ek_ext_defconfig | 9 +-
configs/at91sam9g20dfc_defconfig | 9 +-
configs/at91sam9g20dfc_ext_defconfig | 9 +-
configs/atngw100-base_defconfig | 7 +-
configs/atngw100_defconfig | 7 +-
configs/atstk1005_defconfig | 7 +-
configs/atstk100x_defconfig | 7 +-
configs/i386_defconfig | 5 +-
configs/i686_defconfig | 5 +-
configs/integrator926_defconfig | 7 +-
configs/integrator926_huge_defconfig | 7 +-
configs/kb9202_defconfig | 3 +-
configs/v100sc2_defconfig | 3 +-
fs/Config.in | 30 ++++
{target => fs}/cloop/Config.in | 0
fs/cloop/cloop.mk | 13 ++
fs/common.mk | 70 ++++++++++
fs/cpio/Config.in | 34 +++++
fs/cpio/cpio.mk | 18 +++
{target => fs}/cramfs/Config.in | 1 -
fs/cramfs/cramfs.mk | 22 +++
fs/ext2/Config.in | 55 ++++++++
fs/ext2/ext2.mk | 40 ++++++
{target => fs}/initramfs/Config.in | 0
{target => fs}/initramfs/gen_initramfs_list.sh | 0
fs/initramfs/initramfs.mk | 18 +++
{target => fs}/iso9660/Config.in | 6 -
fs/iso9660/iso9660.mk | 49 +++++++
{target => fs}/iso9660/menu.lst | 0
{target => fs}/jffs2/Config.in | 11 --
fs/jffs2/jffs2.mk | 61 ++++++++
{target => fs}/romfs/Config.in | 1 -
fs/romfs/romfs.mk | 15 ++
fs/squashfs/Config.in | 4 +
fs/squashfs/squashfs.mk | 13 ++
fs/tar/Config.in | 41 ++++++
fs/tar/tar.mk | 13 ++
fs/ubifs/Config.in | 79 +++++++++++
fs/ubifs/ubifs.mk | 25 ++++
package/Config.in | 6 +
package/Makefile.in | 4 -
package/busybox/initramfs.mk | 2 +-
package/bzip2/bzip2.mk | 140 ++++++++-----------
package/cdrkit/Config.in | 11 ++
package/cdrkit/cdrkit.mk | 63 +++++++++
package/cloop/cloop.mk | 18 +++
package/cmake/cmake.mk | 20 +++
package/cramfs/Config.in | 7 +
.../cramfs/cramfs-01-devtable.patch | 0
{target => package}/cramfs/cramfs-02-endian.patch | 0
.../cramfs/cramfs-03-cygwin_IO.patch | 0
package/cramfs/cramfs.mk | 33 +++++
package/e2fsprogs/e2fsprogs.mk | 5 +
package/fakeroot/Config.in | 4 -
package/fakeroot/fakeroot.mk | 126 ++---------------
package/genext2fs/Config.in | 9 ++
.../genext2fs}/genext2fs-1.4-nosquash.patch | 0
.../genext2fs-1.4-remove_ugly_warnings.patch | 0
package/genext2fs/genext2fs.mk | 12 ++
package/genromfs/Config.in | 6 +
package/genromfs/genromfs-0.5.2-build-system.patch | 26 ++++
package/genromfs/genromfs.mk | 31 ++++
package/libcap/Config.in | 10 ++
package/libcap/libcap-2.19-build-system.patch | 55 ++++++++
package/libcap/libcap.mk | 27 ++++
package/lzma/lzma.mk | 65 +---------
package/mtd/mtd.mk | 144 ++++++-------------
package/squashfs/Config.in | 6 +
.../squashfs/squashfs-4.0-build-system-fix.patch | 11 +-
...quashfs-4.0-mksquashfs-race-condition-fix.patch | 0
package/squashfs/squashfs.mk | 30 ++++
scripts/test/Config.in.test.buildall | 1 -
target/Config.in | 45 +------
target/Makefile.in | 1 -
target/cloop/Makefile.in | 3 -
target/cloop/cloop.mk | 108 ---------------
target/cpio/Config.in | 50 -------
target/cpio/cpioroot.mk | 87 ------------
target/cramfs/cramfs.mk | 86 ------------
target/ext2/Config.in | 75 ----------
target/ext2/ext2root.mk | 146 --------------------
target/initramfs/initramfs.mk | 43 ------
target/iso9660/iso9660.mk | 95 -------------
target/jffs2/jffs2root.mk | 99 -------------
target/romfs/romfs.mk | 71 ----------
target/squashfs/Config.in | 32 -----
.../squashfs/squashfs-3.4-build-system-fix.patch | 28 ----
target/squashfs/squashfsroot.mk | 85 ------------
target/tar/Config.in | 59 --------
target/tar/tarroot.mk | 64 ---------
target/ubifs/Config.in | 103 --------------
target/ubifs/ubifsroot.mk | 125 -----------------
target/xtensa/defconfig | 1 -
toolchain/dependencies/dependencies.sh | 2 +-
104 files changed, 1172 insertions(+), 1884 deletions(-)
create mode 100644 fs/Config.in
rename {target => fs}/cloop/Config.in (100%)
create mode 100644 fs/cloop/cloop.mk
create mode 100644 fs/common.mk
create mode 100644 fs/cpio/Config.in
create mode 100644 fs/cpio/cpio.mk
rename {target => fs}/cramfs/Config.in (84%)
create mode 100644 fs/cramfs/cramfs.mk
create mode 100644 fs/ext2/Config.in
create mode 100644 fs/ext2/ext2.mk
rename {target => fs}/initramfs/Config.in (100%)
rename {target => fs}/initramfs/gen_initramfs_list.sh (100%)
create mode 100644 fs/initramfs/initramfs.mk
rename {target => fs}/iso9660/Config.in (74%)
create mode 100644 fs/iso9660/iso9660.mk
rename {target => fs}/iso9660/menu.lst (100%)
rename {target => fs}/jffs2/Config.in (93%)
create mode 100644 fs/jffs2/jffs2.mk
rename {target => fs}/romfs/Config.in (81%)
create mode 100644 fs/romfs/romfs.mk
create mode 100644 fs/squashfs/Config.in
create mode 100644 fs/squashfs/squashfs.mk
create mode 100644 fs/tar/Config.in
create mode 100644 fs/tar/tar.mk
create mode 100644 fs/ubifs/Config.in
create mode 100644 fs/ubifs/ubifs.mk
create mode 100644 package/cdrkit/Config.in
create mode 100644 package/cdrkit/cdrkit.mk
create mode 100644 package/cloop/cloop.mk
create mode 100644 package/cmake/cmake.mk
create mode 100644 package/cramfs/Config.in
rename {target => package}/cramfs/cramfs-01-devtable.patch (100%)
rename {target => package}/cramfs/cramfs-02-endian.patch (100%)
rename {target => package}/cramfs/cramfs-03-cygwin_IO.patch (100%)
create mode 100644 package/cramfs/cramfs.mk
create mode 100644 package/genext2fs/Config.in
rename {target/ext2 => package/genext2fs}/genext2fs-1.4-nosquash.patch (100%)
rename {target/ext2 => package/genext2fs}/genext2fs-1.4-remove_ugly_warnings.patch (100%)
create mode 100644 package/genext2fs/genext2fs.mk
create mode 100644 package/genromfs/Config.in
create mode 100644 package/genromfs/genromfs-0.5.2-build-system.patch
create mode 100644 package/genromfs/genromfs.mk
create mode 100644 package/libcap/Config.in
create mode 100644 package/libcap/libcap-2.19-build-system.patch
create mode 100644 package/libcap/libcap.mk
create mode 100644 package/squashfs/Config.in
rename {target => package}/squashfs/squashfs-4.0-build-system-fix.patch (88%)
rename {target => package}/squashfs/squashfs-4.0-mksquashfs-race-condition-fix.patch (100%)
create mode 100644 package/squashfs/squashfs.mk
delete mode 100644 target/cloop/Makefile.in
delete mode 100644 target/cloop/cloop.mk
delete mode 100644 target/cpio/Config.in
delete mode 100644 target/cpio/cpioroot.mk
delete mode 100644 target/cramfs/cramfs.mk
delete mode 100644 target/ext2/Config.in
delete mode 100644 target/ext2/ext2root.mk
delete mode 100644 target/initramfs/initramfs.mk
delete mode 100644 target/iso9660/iso9660.mk
delete mode 100644 target/jffs2/jffs2root.mk
delete mode 100644 target/romfs/romfs.mk
delete mode 100644 target/squashfs/Config.in
delete mode 100644 target/squashfs/squashfs-3.4-build-system-fix.patch
delete mode 100644 target/squashfs/squashfsroot.mk
delete mode 100644 target/tar/Config.in
delete mode 100644 target/tar/tarroot.mk
delete mode 100644 target/ubifs/Config.in
delete mode 100644 target/ubifs/ubifsroot.mk
Thanks,
--
Thomas Petazzoni
next reply other threads:[~2010-04-09 9:06 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-09 9:06 Thomas Petazzoni [this message]
2010-04-09 9:06 ` [Buildroot] [PATCH 01/44] genromfs: add new package Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 02/44] genext2fs: " Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 03/44] cramfs: " Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 04/44] squashfs: " Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 05/44] libcap: " Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 06/44] bzip2: convert to gentargets, add host package, bump version Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 07/44] cmake: new package Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 08/44] cdrkit: " Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 09/44] e2fsprogs: add support for host package Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 10/44] mtd: convert to gentargets, add " Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 11/44] cloop: new package Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 12/44] lzma: convert the host package to the autotools infrastructure Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 13/44] target/cloop: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 14/44] target/cpio: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 15/44] target/cramfs: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 16/44] target/ext2: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 17/44] target/iso9660: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 18/44] target/jffs2: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 19/44] target/romfs: cleanup Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 20/44] target/squashfs: cleanup, remove support for 3.x Thomas Petazzoni
2010-04-09 9:06 ` [Buildroot] [PATCH 21/44] target/tar: cleanup Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 22/44] target/ubifs: cleanup, unbroken Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 23/44] fakeroot: convert to the autotools infrastructure Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 24/44] fakeroot: remove all references to BR2_HOST_FAKEROOT Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 25/44] target/: remove the COPYTO mess Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 26/44] target: Add new infrastructure for filesystem generation Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 27/44] cloop: convert to ROOTFS_TARGET infrastructure Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 28/44] cpio: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 29/44] cramfs: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 30/44] romfs: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 31/44] tar: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 32/44] squashfs: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 33/44] ext2: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 34/44] jffs2: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 35/44] ubifs: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 36/44] initramfs: " Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 37/44] busybox initramfs: do not use the IMAGE variable Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 38/44] target/common: do not use IMAGE Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 39/44] iso9660: rework in a similar way to ROOTFS_TARGET Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 40/44] Remove IMAGE and related configuration options Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 41/44] Move all filesystem generation code to fs/ Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 42/44] Coherent naming for .mk files in fs/ Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 43/44] Update defconfigs after fs cleanup Thomas Petazzoni
2010-04-09 9:07 ` [Buildroot] [PATCH 44/44] fs/*/Config.in: remove useless configuration comments Thomas Petazzoni
2010-04-09 9:20 ` [Buildroot] [pull request] Pull request for branch fs-cleanup Peter Korsgaard
2010-04-09 12:54 ` Thomas Petazzoni
2010-04-09 14:19 ` Peter Korsgaard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1270803901.git.thomas.petazzoni@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox