openwrt/include
Christian Marangi 349c3c1605
quilt.mk: don't error on refresh/update if patches doesn't exist
The current code fails if we have package or host tools with no patches
to apply. The error printend is the following: (taking ubus as an
example)

make[2]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt/scripts/config'
make[2]: 'conf' is up to date.
make[2]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt/scripts/config'
make[1]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt'
make[2]: Entering directory '/home/ansuel/openwrt-ansuel/openwrt/package/system/ubus'
The source directory contains no quilt patches.
make[2]: *** [Makefile:81: quilt-check] Error 1
make[2]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt/package/system/ubus'
time: package/system/ubus/refresh#0.06#0.00#0.07
    ERROR: package/system/ubus failed to build.
make[1]: *** [package/Makefile:120: package/system/ubus/refresh] Error 1
make[1]: Leaving directory '/home/ansuel/openwrt-ansuel/openwrt'
make: *** [/home/ansuel/openwrt-ansuel/openwrt/include/toplevel.mk:232: package/ubus/refresh] Error 2

We exit 1 after saying that there are no patches because later in the
function quilt pop fails to execute.

Having no patches for a package and calling refresh should not be
a critical error and the function should just do nothing.

To handle this improve quilt.mk with the following addition.
- If we don't have any patch for the package, we print a warning and we
  create an empty series. This is useful to trick quilt and make it do
  nothing.
  We also create a status file .quilt_no_patch to detect in the other
  function that we don't have patches to handle.
- In refresh makefile target, we check if .quilt_no_patch exist and
  we skip quilt cleanup if this exist.
- In RefreshDir function we change the logic and now we delete the
  patches directory and not only the content. This is done as a cleanup
  to clean case with empty patches directory.
- In RefreshDir we check if .quilt_no_patch exist and we skip creating
  the patches directory and copying the refreshed patches.
- In RefreshDir we delete at the end any trace of .quilt_no_patch if
  present.

This is needed to support run like package/refresh that will run the
refresh process on any package present in the buildroot.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 9536446965)
2024-05-22 12:24:53 +02:00
..
site generic: groundwork for RISC-V 2023-06-14 09:22:08 +02:00
autotools.mk autotools: add list of fake paths to tools 2023-05-04 06:07:26 +02:00
bpf.mk bpf: ignore missing LLVM bins on package for non compile steps 2023-01-19 00:29:09 +01:00
cmake.mk treewide: drop use of which 2022-01-17 09:14:26 +01:00
debug.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
depends.mk build: make find_md5 reproducible with AUTOREMOVE 2022-09-30 22:26:51 +02:00
device_table.txt image: ensure that /dev/console exist in rootfs images 2013-08-27 12:02:58 +00:00
download.mk download: create immutable subversion checkout archive 2023-05-18 16:17:52 +02:00
feeds.mk build: ensure that dash isn't prepended twice to abi version suffix 2021-06-15 09:58:33 +02:00
hardened-ld-pie.specs build: add hardened builds with PIE (ASLR) support 2018-01-27 16:46:45 +01:00
hardening.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
host-build.mk host-build: always define Host/Prepare/Default 2024-05-22 11:59:23 +02:00
image-commands.mk ramips: add encrypted SGE factory image for D-Link devices 2024-01-08 21:13:30 +01:00
image.mk kernel-build.mk: add support for compiling only DTS 2024-02-10 13:29:27 +01:00
kernel-5.15 kernel: bump 5.15 to 5.15.158 2024-05-13 18:38:23 +03:00
kernel-build.mk kernel-build.mk: add support for compiling only DTS 2024-02-10 13:29:27 +01:00
kernel-defaults.mk image: Fix the CONFIG_EXTERNAL_CPIO logic 2023-10-24 14:38:58 +02:00
kernel-version.mk kernel: fix wrong detection of Linux-Testing-Version in makefile DUMP 2023-06-12 22:10:11 +02:00
kernel.mk kernel: fix KernelPackage when all KCONFIG are versioned 2023-07-08 15:43:59 +02:00
logo.png include: update logo with better kerning 2021-01-18 09:31:39 -10:00
logo.svg include: update logo with better kerning 2021-01-18 09:31:39 -10:00
meson.mk tools/meson: update to 0.61.4 2022-04-09 15:56:04 +02:00
netfilter.mk netfilter: add kmod-nf-conntrack 2023-02-18 17:12:30 +01:00
nls.mk nls.mk: fixup cmake packages 2022-11-27 00:52:06 +01:00
openssl-module.mk openssl: add legacy provider 2023-04-05 08:24:49 -03:00
package-bin.mk build: allow package to be built for all variants 2021-11-15 00:38:46 +01:00
package-defaults.mk build: disable automake dependency tracking 2023-03-13 22:53:41 +01:00
package-dumpinfo.mk package-dumpinfo,metadata: add ABI version information to package index 2023-11-02 14:44:46 +00:00
package-ipkg.mk tools: build bash on macOS and use it for ipkg-build 2022-01-27 13:38:48 +01:00
package-seccomp.mk build: use SPDX license tags 2021-02-05 14:54:47 +01:00
package.mk build: export GIT_CEILING_DIRECTORIES for package builds 2023-06-07 09:04:23 +02:00
prereq-build.mk prereq-build: remove python 2 cleanup recipe 2023-05-21 19:57:06 +02:00
prereq.mk prereq: merge common cases in SetupHostCommand 2023-10-27 01:03:38 +02:00
quilt.mk quilt.mk: don't error on refresh/update if patches doesn't exist 2024-05-22 12:24:53 +02:00
rootfs.mk build: reduce cleanup binary calls in rootfs.mk 2020-12-05 22:07:00 -10:00
scan.awk build: propagate override information to .packageinfo 2015-02-09 12:09:31 +00:00
scan.mk scan.mk: do not silence output of dump phase 2023-11-13 14:02:38 +01:00
shell.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
subdir.mk kernel-build.mk: add support for compiling only DTS 2024-02-10 13:29:27 +01:00
target.mk generic: groundwork for RISC-V 2023-06-14 09:22:08 +02:00
toolchain-build.mk toolchain: fix dangling symlink to self in FixupLibdir 2022-07-01 19:17:36 +02:00
toplevel.mk treewide: add ORIG_PATH variable 2023-06-12 22:10:20 +02:00
trusted-firmware-a.mk trusted-firmware-a.mk: fix build with binutils 2.39+ 2023-01-21 11:55:23 +01:00
u-boot.mk u-boot.mk: add support for config customization 2023-06-13 14:15:21 +02:00
uclibc++.mk uclibc++: remove 2021-10-24 18:20:50 +02:00
unpack.mk include: use libdeflate's gzip to decompress 2023-01-17 21:40:18 +01:00
verbose.mk verbose.mk: print ERROR messages in non-verbose 2022-02-28 23:52:13 +01:00
version.mk OpenWrt v23.05.3: revert to branch defaults 2024-03-22 23:26:12 +01:00