mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 14:13:16 +00:00
349c3c1605
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
|
||
---|---|---|
.. | ||
site | ||
autotools.mk | ||
bpf.mk | ||
cmake.mk | ||
debug.mk | ||
depends.mk | ||
device_table.txt | ||
download.mk | ||
feeds.mk | ||
hardened-ld-pie.specs | ||
hardening.mk | ||
host-build.mk | ||
image-commands.mk | ||
image.mk | ||
kernel-5.15 | ||
kernel-build.mk | ||
kernel-defaults.mk | ||
kernel-version.mk | ||
kernel.mk | ||
logo.png | ||
logo.svg | ||
meson.mk | ||
netfilter.mk | ||
nls.mk | ||
openssl-module.mk | ||
package-bin.mk | ||
package-defaults.mk | ||
package-dumpinfo.mk | ||
package-ipkg.mk | ||
package-seccomp.mk | ||
package.mk | ||
prereq-build.mk | ||
prereq.mk | ||
quilt.mk | ||
rootfs.mk | ||
scan.awk | ||
scan.mk | ||
shell.sh | ||
subdir.mk | ||
target.mk | ||
toolchain-build.mk | ||
toplevel.mk | ||
trusted-firmware-a.mk | ||
u-boot.mk | ||
uclibc++.mk | ||
unpack.mk | ||
verbose.mk | ||
version.mk |