Age | Commit message (Collapse) | Author |
|
Squashfs depends on host-zlib, so we add this as a dependency. As
host-zlib is installed in $(HOST_DIR), we must pass $(HOST_CFLAGS) and
$(HOST_LDFLAGS).
Unfortunately, if we pass CFLAGS=$(HOST_CFLAGS), we override the
CFLAGS defined in the Makefile, and the build fails. Therefore, we
borrow a patch from OpenEmbedded to fix this problem.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
The "project" feature was designed to allow to several projects to be
built inside the same Buildroot source tree and allowing the toolchain
and non-configurable packages to be shared between the different
projects on the same architecture. While being interesting in theory,
this feature adds a level of complexity to Buildroot, both from an
user perspective and from a developer perspective, while one of the
main Buildroot strengh is to be simple. Moreover, this feature is only
seldomly used by our users.
From a user-level perspective, this for example allows to remove the
project_build_ARCH directory, which was very confusing. The
autotools-stamps directory is also removed, since these stamps are
back at their normal location.
Description of the changes involved :
* project/, directory removed
* Makefile
- Don't include project/Makefile.in and project/project.mk anymore
- Grab a copy of the contents of project/Makefile.in at the
location it was imported, but remove the definition related to
PROJECT_BUILD_DIR. The TARGET_DIR is now in
$(BUILD_DIR)/target_dir
- Remove the creation/removal of the $(PROJECT_BUILD_DIR) and
$(PROJECT_BUILD_DIR)/autotools-stamps directories
- Don't make world depends on target-host-info. This target was
defined by project/project.mk to customize /etc/issue,
/etc/hostname and create /etc/br-version depending on the
project definitions. We can of course imagine re-adding such a
feature later.
- Replace PROJECT_BUILD_DIR by BUILD_DIR everywhere
- Remove the update, log and lognr.$(PROJECT) target, they were
specific to the project feature.
* package/Makefile.autotools.in
- Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
configure cache
- Move the INSTALL_TARGET and HOOK_POST_INSTALL stamps to the same
directory as the other stamps (i.e, in the package directory).
* package/Makefile.in
- Replace PROJECT_BUILD_DIR by BUILD_DIR for the location of the
configure cache
* package/at/at.mk,
package/busybox/busybox.mk,
package/busybox/initramfs.mk,
package/customize/customize.mk,
package/linux-fusion/linux-fusion.mk,
package/ltp-testsuite/ltp-testsuite.mk,
package/nfs-utils/nfs-utils.mk,
target/cpio/cpioroot.mk,
target/cramfs/cramfs.mk,
target/device/Atmel/DataFlashBoot/DataflashBoot.mk,
target/device/Atmel/Makefile.in,
target/device/Atmel/at91bootstrap/at91bootstrap.mk,
target/device/KwikByte/Makefile.in,
target/ext2/ext2root.mk,
target/initramfs/initramfs.mk,
target/iso9660/iso9660.mk,
target/jffs2/jffs2root.mk,
target/linux/Makefile.in,
target/romfs/romfs.mk,
target/squashfs/squashfsroot.mk,
target/tar/tarroot.mk,
target/ubifs/ubifsroot.mk
- Replace PROJECT_BUILD_DIR by BUILD_DIR
* target/device/Config.in
- Do not include project/Config.in anymore
* target/linux/Makefile.in.advanced
- Replace PROJECT_BUILD_DIR by BUILD_DIR
- Store the stamps file in $(STAMP_DIR) instead of
$(PROJECT_BUILD_DIR)/autotools-stamps
* target/u-boot/Makefile.in
- Replace PROJECT_BUILD_DIR by BUILD_DIR
- Remove $(PROJECT) from the U-Boot target binary name
- Remove the insertion in the configuration of the project name as
the hostname
- The u-boot-autoscript target now generates
$(U_BOOT_AUTOSCRIPT).img instead of
$(U_BOOT_AUTOSCRIPT).$(PROJECT)
* toolchain/gcc/gcc-uclibc-3.x.mk
toolchain/gcc/gcc-uclibc-4.x.mk
- Move the stamps files to $(STAMP_DIR)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
Fix for the race condition in mksquashfs recently seen.
Patch by Phillip Lougher.
See http://thread.gmane.org/gmane.comp.file-systems.squashfs.devel/76
for details.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
|
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
And remove from each rootfs variant.
|
|
Squashfs 4.0 is needed to create file systems for the mainline squashfs
version (mainline from 2.6.29). This is unfortunately not compatible with
the old 3.x version and the external kernel patches, so add a choice
between the 2 versions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- use $(STRIPCMD) in packages to avoid clashes with $(STRIP)
|
|
|
|
|
|
- always error out if ldconfig for the target fails (was inconsistent..)
|
|
|
|
|
|
|
|
|
|
Closes #1250
|
|
|
|
|
|
not exist; Closes #971
Silly, unchecked sed -i -e "/[^b]zcat/s/zcat/\$\(ZCAT\)/g" $(svngrep "[^b]zcat" * -rl | grep -v Config.in)
|
|
|
|
Notice that this uses a new NON-compatible filesystem format, so you need
the v3.0 kernel patch to access it!
|
|
correct syntax is actually $(VAR_NAME)
|
|
as it seems to sometimes lose values logged during from earlier invocations.
|
|
svn 14777 seems to have broken cramfs/squashfs/tarroot.
The problem is that $(IMAGE) is the absolute path of the image including
directories, so the build tries to access
$(STAGING_DIR)/_fakeroot.</full/path/to/buildroot/directory> which doesn't
exist.
The fix is to define CRAMFS/SQUASHFS/TAR_TARGET as $(notdir
$(IMAGE).<extension>) instead.
|
|
|
|
fakeroot instances stomping eachother's temp files.
|
|
inodes by carefully regenerating fakeroot.env from package specific files.
|
|
|
|
target filesystem creation tools to also use fakeroot.
|
|
|
|
|
|
|
|
|
|
|
|
inherits device table settings and device nodes, exactly as
per mkfs* applications that support device tables natively.
|
|
permissions and device nodes into the target rootfs without needing to be root.
|
|
patch avoids this issue, by creating a .unpacked file in the squashfs directory
after the source tarball is unpacked, and making the mksquashfs target depend
on the .unpacked file.
http://bugs.busybox.net/view.php?id=234
|
|
mirrors tend to change, move, go down, etc from time to time.
|
|
general case, therefore, combine the toplevel Makefile options
such as setting TARGETS into the per-package *.mk file
|
|
|
|
|
|
|