Hello,
I found out that in some rare cases grep can treat Makefile as a binary file. That happened to me on UTF-8 Gentoo if Makefile contained a character which was from extended ASCII table.
Without this patch the output of the grep command in the $(FILELIST) target is not valid (contains line "Binary file matches") and following commands fail to create feed index file.
Best Regards,
Martin Strbacka
Signed-off-by: Martin Strbacka <martin.strbacka@nic.cz>
SVN-Revision: 45966
Some kernel images need to be wrapped in a loader, which cannot be built
without a working toolchain.
Also, this speeds up the image builder run.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45836
This introduces a common macro to assemble the correct url templates to
avoid code duplication and have the feed config handling in a central place.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 45799
Update kernel sources and refresh some patches.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 45761
This is required to allow packages to ship libraries with a different API.
Previously the linker would favor the old shared libraries in STAGING_DIR
instead of the just compiled ones in PKG_BUILD_DIR.
Avoid that problem by clearing the package staging files right after
prepare.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 45759
Output warnings through stderr to allow them to be easilier spotted
when building with V=w.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 45746
As mkits.sh makes the -d argument optional, we'll make this same
argument optional in the MkFIT function as well.
With this change, MkFIT can be used both to generate FIT images with DT,
and without DT.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 45660
Most of the time, we want to make sure OpenWrt has been configured and
setup before start running make. However, in case of package/symlinks,
forcing prereq as a dependency creates multiple issues:
*when executed on a clean workspace, it will prompt for user input
and open a menuconfig window before executing the feeds command
*the only way around that is to provide a .config. However, the "prereq"
target would then run a "make defconfig", which will remove all the
packages in the .config but from external feeds, as feeds have not been
installed yet.
The only way to currently work around this, is to generate a fake config
by running "make defconfig", then "make package/symlinks", copy the real
config (which at this point disregards the previously generated config),
and run make defconfig again. Something like this:
make defconfig
make package/symlinks
cp real.config .config
make defconfig
This change is removing the need for the first defconfig, making the
process more logical for OpenWrt users using the package/symlinks target.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 45657
Linux 4.0 was released on 2014-04-12
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 45559
it has been non-functional for years and caused numerous memleaks and
crashes for people that tried to enable it.
it has no maintained upstream source, and it does not look like it's
going to be fixed any time soon
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 45423
CMAKE_ASM_COMPILER is automatically set to CMAKE_C_COMPILER by CMake, but
CMAKE_C_COMPILER_ARG1 is lost. This causes assembly builds to fail when ccache
is enabled (for example the package fastd on x86).
Fix this by explicitly defining CMAKE_ASM_COMPILER and CMAKE_ASM_COMPILER_ARG1.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 45119
Set it to the filesystem which is build. mktplinkfw need to know which filesystem
is used.
FILESYSTEM can be squashfs, jffs2-64k, ...
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 44997
set DISABLE_NLS only if CONFIG_BUILD_NLS NOT set.
like DISABLE_IPV6 which depends on CONFIG_IPV6
Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
SVN-Revision: 44930
Defining STAMP_CONFIGURED statically caused it not to reflect changes to
PKG_CONFIG_DEPENDS made after including package.mk, like the additional options
added by feeds.mk for all packages.
Furthermore, as STAMP_CONFIGURED_WILDCARD was already defined recursively, the
patsubst in its definition would never match, and in consequence, the stamps
were never removed. This caused packages not to be rebuilt when they should have
been.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 44927
When enabling SSP_SUPPORT, a lot of packages fail during compile phase
with the following error:
Package X is missing dependencies for the following libraries:
libssp.so.0
This can be solved by adding an optional dependency on libssp to all
those packages, but as there are quite a few packages both in OpenWrt
core and in the package repository, it might make sense to add this
optional dependency to all non-kernel packages, instead of polluting
lots of package dependency lines with it.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
SVN-Revision: 44911
also refresh generic patches for 3.14, 3.18, 3.19 and 4.0
targets might need a minor refresh as well, however, it looks
like everything still applies cleanly with occasional small
offsets.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 44876
Split out kmods from ALL to make it easier to create local builds that
are compatible kmod-wise with releases.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 44830
It's the eglibc packaging with a bit of spit-polishing. And testing. :-)
[blogic: merged glibc and eglibc into 1 and made eglibc a glibc variant]
Signed-off-by: Jeff Waugh <jdub@bethesignal.org>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 44701
We need to do that to pickup the prereq-build prepared symlinks for auxillary
operations like metadata scanning.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44378
If some packages are overridden (using ./scripts/feeds -f), add a new
taint flag in /etc/openwrt_release. We'll use the CONFIG_OVERRIDE_PKGS
variable reported through the .config to detect it.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 44337
Packages overridden with "./scripts/feeds -f" will show up with an
"Override: <original-package-name>" in .packageinfo.
This will be useful to create a corresponding option in .config and
use this information during the build process.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 44335
Currently, replacing a package available in openwrt.git requires
modifications in openwrt.git, or requires duplicating the package in a
feed but with a different name, which causes all kind of problems
related to dependencies (all packages selecting it would have to be
modified accordingly to select the new package).
With this change, if a package with the same name is present both in
feeds/ and package/ folders, the one in feeds/ can override the one
in package/, both in the menuconfig and during the build, by passing the
"-f" option to "./scripts/feeds install"
This mechanism is particularly useful for vendor tree, or in general for
application which needs to replace one particular package which exists
within openwrt.git by a custom/newer version.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 44334
Instead introduce a generic "make prepare" target which is executed if
include/prepare.mk exists.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44329
Perl might not be present while checking prereqs, e.g. on a fresh
FreeBSD install.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44276
Bash is not guaranteed to be present, e.g. on a fresh FreeBSD install
so perform prereq tests with /bin/sh.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44275
Also move tests from tools/Makefile and include/host.mk here to have all tests
in a central place.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44271
Those macros allow testing various commands on the host system, also process the
prereq tests in the order they're declared.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44269
Few characters in filenames (a plus sign, a dot) can be interpreted
specially by grep. This can lead to the omission of missing package
dependency. For example if we would have "some.file.so" then it
matches also "some2file.so". -F switch off special meaning
of any character and -x match against whole line.
Signed-off-by: Sławomir Demeszko <s.demeszko@wireless-instruments.com>
SVN-Revision: 44247
* enclose the fixup in brackets
* match anything in the call to AM_GNU_GETTEXT_VERSION
* call it early (before autoreconf if both are specified)
* chain a call to autoreconf since it messes with configure.ac
Signed-off-by: Nicolas Thill <nico@openwrt.org>
SVN-Revision: 44225
Anchor search pattern when testing dependencies, otherwise the check may
succeed in cases where it shouldn't, e.g. when matching "udp_tunnel.ko"
against "ip6_udp_tunnel.ko".
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 44207
Currently, replacing a package available in openwrt.git requires
modifications in openwrt.git, or requires duplicating the package in a
feed but with a different name, which causes all kind of problems
related to dependencies (all packages selecting it would have to be
modified accordingly to select the new package).
With this change, if a package with the same name is present both in
feeds/ and package/ folders, the one in feeds/ can override the one
in package/, both in the menuconfig and during the build, by passing the
"-f" option to "./scripts/feeds install"
This mechanism is particularly useful for vendor tree, or in general for
application which needs to replace one particular package which exists
within openwrt.git by a custom/newer version.
Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>
SVN-Revision: 44076
On systems with CONFIG_SITE in the environment (e.g. OpenSUSE) make will export
the CONFIG_SITE set in include/package.mk by default. This will cause host
builds to get the target site configuration, leading to all kinds of weirdness
(wrong pointer size, wrong endianess).
Fix this by explicitly unexporting CONFIG_SITE. The explicit export for the
target builds overrides the unexport, so the target builds will still correctly
get the site config.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 44019
Introduce configuration options to build an "hardened" OpenWRT.
Options to enable Stack-Smashing Protection, FORTIFY_SOURCE and RELRO
have been introduced.
uClibc makefile now automatically detects if SSP support is necessary.
hostapd makefile has been fixed to use "^" as sed separator since
using a comma was problematic when using "-Wl,-z,now" and the like in
TARGET_CFLAGS.
Currently enabling SSP on user space depends on enabling SSP kernel
side, this is due to the fact that TARGET_CFLAGS are used to build
kernel modules (at least). Suggestions on how to avoid this are welcome.
Using "select" instead of "depends on" doesn't seem to work with choice
entries.
Tested with a lantiq (WBMR) router, GCC 4.8, uClibc and a subset of
the available packages.
Needs to be tested with GCC 4.9 and the remaining packages.
PIE not currently included.
Signed-off-by: Alessandro Di Federico <ale+owrt@clearmind.me>
SVN-Revision: 44005
This simplifies building device / profile specific images, and allows
the build system to parallelize generating images
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 43907
Initialize a Git repository in the SDK and use git reset / git clean
to rollback any SDK changes with "make clean" or "make dirclean".
This approach is more robust than nuking entire directory trees because
some parts of them might have been shipped with the original archive.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 43904
Implement "%s" placeholder that expands to either the target name,
e.g. "ar71xx" if the subtarget is generic or to target.subtarget, e.g.
"ar71xx.nand" is a subtarget is choosen.
Also change the default repository url template to use "%s" instead
of "%T" to reflect the directory structure used by the buildbot systems.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 43871
This commit introduces a new option CONFIG_VERSION_FILENAMES which causes
OpenWrt to embed the version number in generated image files, SDK- and
ImageBuilder archives.
The option is enabled by default if CONFIG_VERSIONOPT is set.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 43869
When using UbinizeImage with ubifs rootfs, ubinize.cfg is no longer
needed. Yet, the absance of ubinize.cfg would make the build process
abort with an error.
Fix that by checking if ubinize.cfg is present and do no not call the
"classic" ubinize image generation if it isn't.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[missing new-line before UbinizeImage added itentionally]
SVN-Revision: 43788
Since GCC 4.7, GCC provides its own wrappers around ar, nm and ranlib, which
should be used for builds with link-time optimization. Since GCC 4.9, using them
actually necessary for LTO builds using convenience libraries to succeed.
There are some packages which try to automatically detect if gcc-{ar,nm,ranlib}
exist (one example is my package "fastd" in the package repository, which tries
to use LTO). This breaks because the OpenWrt build system explicitly sets the
binutils versions of these tools.
As it doesn't cause any issues to use gcc-{ar,nm,ranlib} instead of
{ar,nm,ranlib} even without LTO, this patch just makes OpenWrt use the
GCC-provided versions by default, which fixes the build of such packages with
GCC 4.9.
(I know that builds fail though when clang is used with -flto and
gcc-{ar,nm,ranlib}, but as all OpenWrt toolchains are based on GCC, this isn't
a real issue.)
Completely cleaning the tree (or at least `make clean toolchain/clean`) is
necessary to get a consistent state after the binutils plugins support patch and
this one (as trying to use gcc-{ar,nm,ranlib} with a binutils built without
plugin support will definitely lead to a build failure).
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
SVN-Revision: 43784