aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* kernel: update kernel 4.4 to version 4.4.28Paul Wassi2016-10-311-2/+2
| | | | | | | | Refresh patches for all targets that support kernel 4.4. compile/run-tested on ar71xx, brcm47xx, kirkwood. Signed-off-by: Paul Wassi <p.wassi@gmx.at> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* config: ext4: drop option to set maximum number of inodesJo-Philipp Wich2016-10-271-1/+0
| | | | | | | | | | | There is very little practical use to limit the number of available inodes on an ext4 filesystem and the make_ext4fs utility is able to calculate useful defaults by itself. Drop the option to make resulting ext4 filesystems more flexible by default. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Acked-by: Michael Heimpold <mhei@heimpold.de>
* include: image.mk: make ext4 reserved blocks percentage optionalJo-Philipp Wich2016-10-271-1/+1
| | | | | | | | Allow CONFIG_TARGET_EXT4_RESERVED_PCT to be empty as make_ext4fs is usually able to figure out a suitable default. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Reviewed-by: Michael Heimpold <mhei@heimpold.de>
* kernel: update kernel 3.18 to version 3.18.43Stijn Tintel2016-10-241-2/+2
| | | | | | | | | | Refresh patches for all targets supporting 3.18 and not marked broken. Compile-tested on all targets using 3.18 and not marked broken. Changes to generic/610-netfilter_match_bypass_default_checks.patch based on 84d489f64f3b382d5544e342f66d8806e94e85d3. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: update kernel 4.1 to version 4.1.34Stijn Tintel2016-10-241-2/+2
| | | | | | | | | | | | Refresh patches for all targets supporting 4.1 and not marked broken. Compile-tested on all targets using 4.1 and not marked broken. Changes to generic/610-netfilter_match_bypass_default_checks.patch based on 84d489f64f3b382d5544e342f66d8806e94e85d3. Changes to generic/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch based on a90ee92337d60fd14b6431adcda9929b955f3408. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* kernel: update kernel 4.4 to version 4.4.27Álvaro Fernández Rojas2016-10-231-2/+2
| | | | | | | Refresh patches for all targets that support kernel 4.4. compile/run-tested on brcm2708/bcm2710 only. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* kernel: update kernel 4.4 to version 4.4.26Koen Vandeputte2016-10-211-2/+2
| | | | | | | Refresh patches for all targets that support kernel 4.4. compile/run-tested on cns3xxx & imx6. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* sdk: predefine SOURCE_DATE_EPOCHJo-Philipp Wich2016-10-212-1/+3
| | | | | | | | | When building packages within the SDK, there is no Git revision history available so prepopulate SOURCE_DATE_EPOCH in version.mk, similar to how we handle REVISION already. Acked-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: update kernel 4.4 to version 4.4.25Koen Vandeputte2016-10-161-2/+2
| | | | | | | Refresh patches for all targets that support kernel 4.4. compile/run-tested on cns3xxx & imx6. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* build: copy contents of 'src' folder to build dirs (if present)Alexandru Ardelean2016-10-152-0/+2
| | | | | | | | | | | | | | | | | | | | | The normal Prepare step for a build is unpack, apply patches. But for certain packages, patches contain whole files, which would be nice to have separately and copied over as a last step in the Prepare phase. We need it for some other packages + patches, but I think the 'hostapd' package can be used as a test for this. As a quick note: the reason the condition is being evaluated as `[ ! -d ./src/ ] || $(CP) ./src/* $(HOST_BUILD_DIR)` and not with `[ -d ./src/ ] && $(CP) ./src/* $(HOST_BUILD_DIR)` is that the latter would translate in a build failure if the `src` folder is not present (the exit code would be 1). The first one, succeeds for both cases (if `src` present or not). Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* build: fix cleaning configured stamp fileYousong Zhou2016-10-151-1/+1
| | | | | | | | | | | | | | We have packages with their own parts appended to standard STAMP_CONFIGURED (mostly with an underscore character). This will render the current STAMP_CONFIGURED_WILD setting invalid and the build system may miss a rebuild on config change 1. Build with config A 2. Build with config B, yet .configured_A_xx did not get cleaned 3. Return to config A, but rebuild will not happen because stamp file of config A still exists Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>