aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* build: scan.mk: consider KernelPackage pattern as wellJo-Philipp Wich2017-01-101-1/+1
| | | | | | | | The removal of the ".+Package" pattern in scan.mk also caused the build system to skip over Makefiles defining only kmods. Adjust the grep pattern to consider packages with "call KernelPackage" signatures as well. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: scan.mk: remove overlay broad grep patternJo-Philipp Wich2017-01-101-1/+1
| | | | | | | | | | | | | | | | | Commit af0b91c "allow scan.mk to find python packages introduced in [8639]" added some special casing to scan.mk to accomodate some nonstandard python packages. Nowadays this pattern is not needed anymore and produces false positives when using the LEDE source repository as feed within the SDK since the metadata scanning wrongly picks up target/imagebuilder/Makefile as package, leading to an "ERROR: please fix feeds/base/target/imagebuilder/Makefile" message. Remove the now uneeded pattern to fix such stray errors during metadata scanning. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix HOST_CONFIGURE_VARS placementJo-Philipp Wich2017-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of passing HOST_CONFIGURE_VARS as arguments to the configure script, pass it as environment variables which brings the logic in line with the behaviour of package-defaults.mk. The change is needed since passing environment variables as configure parameters only works with GNU autoconf which evaluates command line arguments looking like variable assignments. Doing the same with non-autoconf configure scripts is not guaranteed to work since such scripts might terminate due to unknown argument errors. One example case is the cmake configure script which bails out when called as "./configure LDFLAGS=..." but not when called as "LDFLAGS=... ./configure". Also change the SHELL override to CONFIG_SHELL in the default HOST_CONFIGURE_VARS as the former is not properly propagated through the various GNU configure invocations since it gets lost when configure re- executes itself. A prior attempt to change the variable placement had to be reverted due to the missing SHELL -> CONFIG_SHELL change, leading to misgenerated libtool executables in various packages. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: remove obsolete parallel build related optionsFelix Fietkau2017-01-103-15/+5
| | | | | | Always use the main make jobserver, which has been the default for ages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix build of ubifs imagesFelix Fietkau2017-01-092-6/+6
| | | | | | --force-compr was added by the xz compression patch, which is gone now. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add image command for calling kernel2minorFelix Fietkau2017-01-071-0/+5
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump to 4.4.40Hauke Mehrtens2017-01-061-2/+2
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "build: fix HOST_CONFIGURE_VARS placement"Jo-Philipp Wich2017-01-051-1/+1
| | | | | | | | | This reverts commit 8395b63aac616f72fd835c59240fc2a4a6b28106. Various host builds currently rely on the broken behaviour of HOST_CONFIGURE_VARS so roll back to the previous state. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix HOST_CONFIGURE_VARS placementJo-Philipp Wich2017-01-051-1/+1
| | | | | | | | | | Ensure that HOST_CONFIGURE_VARS are set before the actual configure command instead of passing them as configure command arguments. This change brings host-build.mk in line with package-defaults.mk and makes host configure environment variables work as expected. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: ensure that prereq-build is run before metadata scan from feeds (FS#367)Felix Fietkau2017-01-051-1/+1
| | | | | | Fixes ./scripts/feeds update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: unzip: perform operations quietlyYousong Zhou2017-01-051-1/+1
| | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: use mkhash to replace various quirky md5sum/openssl callsFelix Fietkau2017-01-058-18/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add a small standalone utility for calculating md5/sha256 hashFelix Fietkau2017-01-051-0/+6
| | | | | | | | This will be used to simplify the build system code for checking hashes. Instead of using various variants of md5sum / openssl, use one simple utility for all of them Signed-off-by: Felix Fietkau <nbd@nbd.name>
* host-build: remove openssl include path from host cflagsFelix Fietkau2017-01-051-5/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: build libressl on all systemsFelix Fietkau2017-01-051-14/+0
| | | | | | | Useful for having a more consistent build environment and finding API issues faster Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: allow subtarget specific KernelPackageStijn Tintel2017-01-041-0/+2
| | | | | | | | | Add a call to KernelPackage/$(1)/$(BOARD)/$(SUBTARGET) to the KernelPackage macro. This allows to add kernel packages for x86/64, without breaking x86. It's not possible to do this with BOARD, as BOARD=x86 for x86_64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: drop `trapret` function from non-Linux HOST_TAR variantAlexandru Ardelean2017-01-032-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | Looks like this was meant to workaround some limitations with non-GNU tar variants (like BSD-tar which are present on Mac os BSD hosts). Though, I cannot find any use of that `+s` option that's mentioned in the comment. Last hash of this I found was 24faf55360271cd0bfc4751753384f9210d52f7f In my case, it now this fails for `python-setuptools` on Mac OS X (the host-build with): ``` trapret 2 tar -C <home-dir>/work/sources-work/lede/build_dir/target-i386_pentium4_musl-1.1.15/python-setuptools-27.2.0 --strip-components=1 -xzf <home-dir>/work/sources-work/lede/dl/setuptools-27.2.0.tar.gz bash: trapret: command not found ``` So, I was thinking maybe it's time to remove this workaround (9 years later). I could also fix the `python-setuptools` host build. If that's more preferred. [ Btw, I just recently transitioned to a Mac machine for dev-ing, so a lot of (this Mac) stuff I'm finding out is new to me too. ] Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* build: add defaults for PKG_SOURCE, PKG_SOURCE_SUBDIR, PKG_VERSIONFelix Fietkau2016-12-223-2/+10
| | | | | | | | This makes it easier to unify versioning of git based package downloads. PKG_SOURCE_DATE along with an 8-character abbreviation of the git hash is used as PKG_VERSION, PKG_RELEASE should be used like normal packages. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: add support for overlaying rootfs contentRafał Miłecki2016-12-201-0/+9
| | | | | | | | | This adds support for install-overlay define. When used in package it allows installing files to a special directory that gets copied to the root when installing it. It allows overwriting files provided by other packages. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump to 4.4.39Kevin Darbyshire-Bryant2016-12-201-2/+2
| | | | | | | | Bump & refresh patches for all 4.4 targets. Compile & run tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* build: add FIXUP option for make checkFelix Fietkau2016-12-171-1/+18
| | | | | | | | This will attempt to automatically fix common mistakes like using MD5 instead of SHA256, using the MD5SUM variable instead of HASH, or even a missing mirror file hash. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: implement make check and make package/X/checkFelix Fietkau2016-12-176-22/+91
| | | | | | | | | | | | | | | | This is intended to be used for a wide array of package sanity checks. The first check that is implemented is for the hash of downloaded files. It checks: - Missing hash - Use of SHA256 instead of MD5 - dl/<file> hash not matching hash in makefile - deprecated MD5SUM variable The deprecated MD5SUM variable check is skipped for feeds/ until OpenWrt is updated as well Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: clean up download hashesFelix Fietkau2016-12-162-6/+6
| | | | | | Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/package.mk: sync default value for hash fallback with mirror hashFelix Fietkau2016-12-162-2/+1
| | | | | | Simplifies dealing with PKG_HASH vs PKG_MD5SUM Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove duplicate Download/default definition from include/host-build.mkFelix Fietkau2016-12-163-23/+13
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: replace MD5SUM variables with HASHFelix Fietkau2016-12-162-3/+7
| | | | | | | Since we've switched to preferring SHA256 over MD5, the old variable name is misleading. Packages using the old name remain compatible. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: use SNAPSHOT instead of CURRENT to designate untagged branch buildsJo-Philipp Wich2016-12-141-1/+1
| | | | | | | Calling a build ##.##-CURRENT might mislead users into thinking that this build is the most current release of a branch. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: netfilter: split out iptable_raw into a separate packageFelix Fietkau2016-12-141-2/+0
| | | | | | | | This will avoid loading it in the default configuration, which reduces image size a bit, and (more importantly) improves performance by avoiding some unnecessary netfilter hooks Signed-off-by: Felix Fietkau <nbd@nbd.name>
* netfilter: drop proprietary xt_id matchJo-Philipp Wich2016-12-141-2/+1
| | | | | | | | The xt_id match was used by the firewall3 package to track its own rules but the approach has been changed to use xt_comment instead now, so we can drop this nonstandard extension. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* download.mk: improve download tarball reproducibilityFelix Fietkau2016-12-131-1/+1
| | | | | | | Store only numeric user/group id. Group 0 is 'root' on linux and 'wheel' on BSD and Mac OS X. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* download.mk: remove code duplication in $(TAR) callFelix Fietkau2016-12-131-9/+12
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* download.mk: use $(error) instead of a regular shell errorFelix Fietkau2016-12-131-1/+1
| | | | | | Useful for further rework Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump to 4.4.38Kevin Darbyshire-Bryant2016-12-131-2/+2
| | | | | | | | Bump & refresh patches for all 4.4 supported targets. Compile & run tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* build: support adding version code to file names (FS#323)Jo-Philipp Wich2016-12-091-2/+4
| | | | | | | | | | | | | | Now that the VERSION_NUMBER variable holds the human friendly name and not the commit ID anymore, we need to support adding the revision ID as well. Introduce a new config variable CONFIG_VERSION_CODE_FILENAMES which, if set, causes the resulting file names to contain a commit ID designation as printed by scripts/getver.sh. Also sanitize the input variables to ensure that the resulting strings are lowercased and no not contain spaces. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: bump to 4.4.36Álvaro Fernández Rojas2016-12-041-2/+2
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: brcm2708/bcm2710 - Raspberry Pi 3 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* include/kernel: Switch to git download methodFlorian Fainelli2016-12-042-10/+20
| | | | | | | | | Utilize the existing git download logic from include/download.mk and migrate the kernel download over to it. This avoids repeatedly cloning kernel sources after a make target/linux/clean for instance. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix build error]
* include/download.mk: Allow specify DownloadMethod specific optionsFlorian Fainelli2016-12-041-1/+2
| | | | | | | | This is going to be used to migrate the hand rolled git clone for the kernel into using the git download method. The kernel uses custom options that we may have to pass down. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* build: adjust version number handlingJo-Philipp Wich2016-12-021-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the revision info to the VERSION_CODE variable and default VERSION_NUMBER to CURRENT for master branch builds. Also introduce a new menuconfig option CONFIG_VERSION_CODE which allows users to override the revision value put into VERSION_CODE and adjust the template files used by the base-files package to accomodate for the changed semantics. While we're at it, also adjust the various URLs to match the current web site. After this commit, the relevent files will look like the examples given below: # cat /etc/openwrt_version r2398+1 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='CURRENT' DISTRIB_REVISION='r2398+1' DISTRIB_CODENAME='reboot' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Reboot CURRENT r2398+1' DISTRIB_TAINTS='no-all override' # cat /usr/lib/os-release NAME="LEDE" VERSION="CURRENT, Reboot" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Reboot CURRENT" VERSION_ID="current" HOME_URL="http://lede-project.org/" BUG_URL="http://bugs.lede-project.org/" SUPPORT_URL="http://forum.lede-project.org/" BUILD_ID="r2398+1" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Reboot CURRENT r2398+1" On a release branch, those files would look like: # cat /etc/openwrt_version r2399 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='16.12-CURRENT' DISTRIB_REVISION='r2399' DISTRIB_CODENAME='test_release' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Test Release 16.12-CURRENT r2399' DISTRIB_TAINTS='no-all override' # cat /usr/lib/os-release NAME="LEDE" VERSION="16.12-CURRENT, Test Release" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Test Release 16.12-CURRENT" VERSION_ID="16.12-current" HOME_URL="http://lede-project.org/" BUG_URL="http://bugs.lede-project.org/" SUPPORT_URL="http://forum.lede-project.org/" BUILD_ID="r2399" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Test Release 16.12-CURRENT r2399" On a release tag, those files would look like: # cat /etc/openwrt_version r2500 # cat /etc/openwrt_release DISTRIB_ID='LEDE' DISTRIB_RELEASE='17.02.1' DISTRIB_REVISION='r2500' DISTRIB_CODENAME='mighty_unicorn' DISTRIB_TARGET='x86/64' DISTRIB_DESCRIPTION='LEDE Mighty Unicorn 17.02.1 r2500' DISTRIB_TAINTS='no-all override' # cat /usr/lib/os-release NAME="LEDE" VERSION="17.02.1, Mighty Unicorn" ID="lede" ID_LIKE="lede openwrt" PRETTY_NAME="LEDE Mighty Unicorn 17.02.1" VERSION_ID="17.02.1" HOME_URL="http://lede-project.org/" BUG_URL="http://bugs.lede-project.org/" SUPPORT_URL="http://forum.lede-project.org/" BUILD_ID="r2500" LEDE_BOARD="x86/64" LEDE_TAINTS="no-all override" LEDE_DEVICE_MANUFACTURER="LEDE" LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/" LEDE_DEVICE_PRODUCT="Generic" LEDE_DEVICE_REVISION="v0" LEDE_RELEASE="LEDE Mighty Unicorn 17.02.1 r2500" Signed-off-by: Jo-Philipp Wich <jo@mein.io> Acked-by: Felix Fietkau <nbd@nbd.name>
* docs: remove all refrences in Makefiles/scriptsMathias Kresin2016-11-301-6/+0
| | | | | | | | | | The SDK Makefile still trys to copy the docs folder which was removed with 882f4d2d63272abce8c1966983aa10178e2e971f. This causes an SDK build error. All other removals are just cleanup. Signed-off-by: Mathias Kresin <dev@kresin.me>
* kernel: bump to 4.4.35Kevin Darbyshire-Bryant2016-11-291-2/+2
| | | | | | | | | | | Refresh patches on all 4.4 supported platforms. 077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch removed as now upstream. Compile & run tested: ar71xx - Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* build: find_md5: ignore non-existent files or directoriesYousong Zhou2016-11-241-1/+1
| | | | | | | Targets like malta can have no patches/ directory available and this commit tries quash "no such file or directory" messages from `find` Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: scan.mk: remove not used variable SCAN_STAMPYousong Zhou2016-11-241-2/+2
| | | | | | | It was left behind since rewrite of metadata scanning done with commit bdc9419 in July 2007 Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: add support code for appending metadata to imagesFelix Fietkau2016-11-192-1/+22
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: update kernel 4.4 to version 4.4.32Stijn Tintel2016-11-161-2/+2
| | | | | | | | Refresh patches for all targets that support kernel 4.4. Compile-tested on all targets that use kernel 4.4 and aren't marked broken. Runtime-tested on ar71xx, octeon. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: update kernel 4.4 to version 4.4.31Koen Vandeputte2016-11-161-2/+2
| | | | | | | + Refresh patches compile/run-tested on cns3xxx & imx6. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* build: remove stale .ipk files if package dir changesFelix Fietkau2016-11-083-6/+6
| | | | | | | | | If a package nonshared status is changed, a stale .ipk file might still be present in the old package directory. Remove the .ipk file from all package directories when building a new one (or explicitly running clean) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include: Cortex-A53 is also an AArch64 CPUFlorian Fainelli2016-11-041-0/+1
| | | | | | | | Specifying a mtune option with cortex-a53 is also valid for an aarch64 toolchain Fixes: SVN 48964 Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
* kernel: update kernel 4.4 to version 4.4.30Stijn Segers2016-11-021-2/+2
| | | | | | | | | | This patch bumps the 4.4 kernel from .28 to .30 and refreshes the patches. Compile-tested on ar71xx, x86/64, ramips/mt7621, brcm47xx and kirkwood. Run-tested on ar71xx & ramips/mt7621, brcm47xx and kirkwood (last two confirmed by P. Wassi). Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
* include: properly update .install stamp filesJo-Philipp Wich2016-11-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* include/host-build.mk: use STAGING_DIR_HOSTPKGJo-Philipp Wich2016-11-011-1/+1
| | | | | | | Instead of hardcoding $(STAGING_DIR)/host, use the new $(STAGING_DIR_HOSTPKG) variable to refer to the directory. Signed-off-by: Jo-Philipp Wich <jo@mein.io>