You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/include
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>
8 years ago
..
site toolchain: add support of ARC architecture 9 years ago
autotools.mk autotools: use correct version for gettext FIXUP 8 years ago
cmake.mk build: use CXXFLAGS if defined 8 years ago
debug.mk include: remove trailing whitespaces 9 years ago
depends.mk include: remove trailing whitespaces 9 years ago
device_table.txt image: ensure that /dev/console exist in rootfs images 11 years ago
download.mk include/download.mk: Use -7e compression instead of -6 by default 8 years ago
feeds.mk build: move merged package directory from bin/ to staging_dir 8 years ago
hardening.mk hardening: make override variables more intuitive 9 years ago
host-build.mk include/host-build.mk: use STAGING_DIR_HOSTPKG 8 years ago
host.mk include: remove trailing whitespaces 9 years ago
image-commands.mk image: remove padding parameter from append-kernel/append-rootfs 8 years ago
image-legacy.mk image: don't modify file permissions before rootfs generation 8 years ago
image.mk config: ext4: drop option to set maximum number of inodes 8 years ago
kernel-build.mk build: fix regression on running make kernel_menuconfig 8 years ago
kernel-defaults.mk kernel: add STAGING_DIR_HOST/lib to host library search path 8 years ago
kernel-version.mk kernel: update kernel 4.4 to version 4.4.28 8 years ago
kernel.mk kernel: make the kernel build auto-clean the build dir like package builds 8 years ago
netfilter.mk netfilter: fix file conflicts between kmod-ipt- and kmod-nft- packages 8 years ago
nls.mk nls.mk: add -rpath-link when needed for NLS support 9 years ago
package-bin.mk include: remove trailing whitespaces 9 years ago
package-defaults.mk build: copy contents of 'src' folder to build dirs (if present) 8 years ago
package-dumpinfo.mk include: fix nonshared flag handling 8 years ago
package-ipkg.mk include: properly update .install stamp files 8 years ago
package-seccomp.mk include: add a seccomp filter install wrapper 9 years ago
package.mk build: fix cleaning configured stamp file 8 years ago
prereq-build.mk include: prereq-build.mk: improve gcp check 8 years ago
prereq.mk build: do not overwrite already existing host commands 9 years ago
quilt.mk kernel: make the kernel build auto-clean the build dir like package builds 8 years ago
rootfs.mk rootfs: fail on errors in postinst scripts 8 years ago
scan.awk build: propagate override information to .packageinfo 9 years ago
scan.mk build: leaving behind incomplete metadata files on cancelled builds 8 years ago
scons.mk build: use CXXFLAGS if defined 8 years ago
shell.sh include: remove trailing whitespaces 9 years ago
subdir.mk build: add logging for package host builds 9 years ago
target.mk ubox: move logd into ubox package 8 years ago
toolchain-build.mk include: remove trailing whitespaces 9 years ago
toplevel.mk sdk: predefine SOURCE_DATE_EPOCH 8 years ago
uclibc++.mk toolchain: eliminate the INSTALL_LIBSTDCPP config symbol and make c++ support mandatory - fixes recursive config symbol dependency issues 11 years ago
unpack.mk include: remove trailing whitespaces 9 years ago
verbose.mk build: tell users to do non-paralle builds on errors 9 years ago
version.mk sdk: predefine SOURCE_DATE_EPOCH 8 years ago