Go to file
Jo-Philipp Wich 317b3556a4 include: properly update .install stamp files
Right now the $(PKG_INSTALL_STAMP) files are only written if a package is
selected as <*> but never deleted or emptied if the corresponding package
is getting deselected.

For ordinary packages this usually is no problem as the package/install
recipe performs its own check for enabled packages when assembling the
list of install stamp files to consider, but this logic might fail under
certain circumstances for packages providing multiple build variants.

In case of a multi-variant package, the buildroot first checks if any
of the variants is enabled, then resolves all variants of the common
source package and finally processes the corresponding .install stamp
files of all variants, relying on the assumption that only the selected
.install stamp file exists.

When an initially selected variant is getting deselected or changed from
<*> to <m> and another variant is marked as <*> instead, the .install
stamp file of the deselected variant remains unchanged and a second
.install stamp file for the newly selected variant is getting created,
causing the package/install recipe to pick up two .install stamps with
conflicting variants, leading to opkg file clashes.

This issue happens for example if package "ip" is set to <m> and package
"ip-full" to <*> -  the install command will eventually fail with:

     * check_conflicts_for: The following packages conflict with ip:
     * check_conflicts_for: 	ip-full *
     * opkg_install_cmd: Cannot install package ip.

In order to fix the problem, always process the removal requests or the
.install stamp files, even for deselected packages but only write the
package base name into the stamp file if the corresponding package is
marked as builtin.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-11-02 01:01:35 +01:00
.github Add Issue submission template (redirect to bugs.lede-project.org) 2016-09-01 09:01:04 -04:00
config config: ext4: increase x86 rootfs size to 2GB to support online resize2fs 2016-10-27 19:24:38 +02:00
docs build: Prevent more gzip timestamps 2015-07-14 09:57:45 +00:00
include include: properly update .install stamp files 2016-11-02 01:01:35 +01:00
package fstools: add build-depends on util-linux 2016-11-01 09:52:03 +01:00
scripts scripts/package-metadata.pl: fix handling of virtual (PROVIDES) depends 2016-11-02 01:01:34 +01:00
target ar71xx: Add support to Powerline ac TP-Link WPA8630 2016-10-31 17:13:37 +01:00
toolchain musl: fix parsing of quoted time zone names 2016-10-31 12:55:27 +01:00
tools firmware-utils: fix compilation on MacOS X 2016-10-31 12:39:09 +01:00
.gitattributes add .gitattributes to prevent the git autocrlf option from messing with CRLF/LF in files 2012-05-08 13:30:49 +00:00
.gitignore build: add integration for managing opkg package feed keys 2015-04-06 19:39:51 +00:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in branding: add LEDE branding 2016-03-24 22:40:13 +01:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile build: move merged package directory from bin/ to staging_dir 2016-08-03 12:22:18 +02:00
README README: Update project README 2016-05-12 03:29:36 +02:00
feeds.conf.default feeds: switch from github to lede-project.org mirrors 2016-08-01 22:34:18 +02:00
rules.mk rules.mk: add STAGING_DIR_HOSTPKG variable 2016-11-01 12:11:14 +01:00

README

This is the buildsystem for the LEDE Linux distribution.

Please use "make menuconfig" to choose your preferred
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, bzip2, flex, python, perl, make,
find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers.

Run "./scripts/feeds update -a" to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
and "./scripts/feeds install -a" to install symlinks of all of them into
package/feeds/.

Use "make menuconfig" to configure your image.

Simply running "make" will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

To build your own firmware you need to have access to a Linux, BSD or MacOSX system
(case-sensitive filesystem required). Cygwin will not be supported because of
the lack of case sensitiveness in the file system.


Sunshine!
	Your LEDE Community
	http://www.lede-project.org