summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* autotools: use correct version for gettext FIXUPDirk Neukirchen2016-10-131-1/+1
| | | | | | | 0.19.8.1 gettext-full uses "archive-version" of 0.19.8 to replace makros, leading to breakage of PKG_FIXUP:=gettext-version Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
* build: use CXXFLAGS if definedHauke Mehrtens2016-10-133-3/+3
| | | | | | | | | | | Instead of using TARGET_CFLAGS and EXTRA_CFLAGS in cmake and scons build use the TARGET_CXXFLAGS and EXTRA_CXXFLAGS like it is done for normal make and configure. configure used TARGET_CXXFLAGS and EXTRA_CFLAGS for the CXXFLAGS. The package-default.mk sets "EXTRA_CXXFLAGS = $(EXTRA_CFLAGS)" so using EXTRA_CXXFLAGS flags should be save. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* include: prereq-build.mk: improve gcp checkJo-Philipp Wich2016-10-111-2/+2
| | | | | | | | | Adjust the check for gcp (GNU copy command) to rule out false positives with "Goffi's CoPier" a python copy command. Fixes FS#218. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* kernel: update kernel 4.4 to version 4.4.24Álvaro Fernández Rojas2016-10-081-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>
* include: remove XZ host prereqJo-Philipp Wich2016-10-061-3/+0
| | | | | | | We build XZ as part of tools/, so no need to require it to be available on the host system. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include/package-ipkg.mk: use TARGET_PATH_PKG in Package/*/install stepsMatthias Schiffer2016-10-061-0/+2
| | | | | | | Package/*/install was using a different PATH than all other steps like Build/Install, which was confusing and easily led to mistakes. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/host-build.mk: set Host/Exports for Host/Install stepMatthias Schiffer2016-10-061-0/+1
| | | | | | | | | Having a different PATH in Host/Install than in other steps like Host/Build is confusing and easily leads to mistakes. Setting all of Host/Exports makes host builds match target builds (Build/Install is part of $(STAMP_BUILT), which has Build/Exports set). Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/host-build.mk: fix ACLOCAL_INCLUDEMatthias Schiffer2016-10-061-1/+1
| | | | | | | | It seems the intention was to add both $(STAGING_DIR_HOST)/... and $(STAGING_DIR)/host/... instead of passing $(STAGING_DIR_HOST) twice. This makes the definition match HOST_CPPFLAGS and HOST_LDFLAGS. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/host-build.mk: pass HOST_BUILD_PREFIX to Host/installMatthias Schiffer2016-10-061-2/+2
| | | | | | | | | | Using HOST_BUILD_PREFIX instead of STAGING_DIR_HOST will make the argument work as expected from packages. Nothing changes for tools, for which HOST_BUILD_PREFIX and STAGING_DIR_HOST are equivalent. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/download.mk: Use -7e compression instead of -6 by defaultDaniel Engberg2016-10-051-1/+1
| | | | | | Adds a slightly higher compression level to xz by default which roughly raises memory usage from 100MiB to about 200MiB during compression, about 10MiB for decompression. (Source: xz manpage) Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* include/prereq-build.mk: Add xz-utils to make prereqDaniel Engberg2016-10-051-0/+3
| | | | | | Add xz-utils to make prereq Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* include/download.mk: generate reproducable SCM tarballsJo-Philipp Wich2016-10-051-4/+9
| | | | | | | | | | | | | | | | | Apply a number of changes to the tarball generation in order to produce identical files on different systems: 1) Use an explicit `gzip -cn` to avoid storing file mtime in the gzip header 2) Instruct `tar` to unconditionally use uid and gid 0 for archive members 3) Instruct `tar` to sort archive members by file name 4) For SCMs that do not preserve file modification times like Git or Mercurial, use the date of the last commit to the repository and pass it as `--mtime` value to `tar` After these changes, locally produced tarballs generated from SCM checkouts should be identical on any system, simplifying the mirroring of cache archives. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix regression on running make kernel_menuconfigFelix Fietkau2016-10-041-1/+1
| | | | | | | | The build system overrides HOST_LOADLIBES to add the staging dir to the library search path. menuconfig needs -lncurses, add another override for it. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: leaving behind incomplete metadata files on cancelled buildsFelix Fietkau2016-10-041-2/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include: relax umask checkJo-Philipp Wich2016-10-041-1/+1
| | | | | | | | For now we only want to ensure that the group permission mask is permissive enough to not clobber required permissions on the rootfs, so allow less strict masks as well. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include: add umask prereq checkJo-Philipp Wich2016-10-041-0/+4
| | | | | | | | | | | When building LEDE with umask values other than 022, the resulting packages will embed improper permissions, which may lead to random errors or non- functional scripts on the target. In order to make users aware of this problem, add a build-prereq check to assert a correct umask setting before starting the build. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* netfilter: fix file conflicts between kmod-ipt- and kmod-nft- packagesMatthias Schiffer2016-09-301-8/+5
| | | | | | | | The nf_reject_* and nf_nat_masquerade_* modules are moved into the corresponding kmod-nf- packages. Appropriate dependencies are added to the kmod-nft- packages. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kernel: update to v4.4.23Álvaro Fernández Rojas2016-09-301-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.22Stijn Segers2016-09-301-2/+2
| | | | | | Forgot to update kernel-version.mk, so updated patch. Compile-tested on x86/64 and ar71xx; run-tested on x86/64 and ar71xx. Signed-off-by: Stijn Segers <francesco.borromini@inventati.org>
* kernel: add STAGING_DIR_HOST/lib to host library search pathFelix Fietkau2016-09-291-0/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* rootfs: fail on errors in postinst scriptsMatthias Schiffer2016-09-261-0/+5
| | | | | | | | | | | | | | The Gluon firmware framework [1] uses postinst scripts for sanity checks. Make the build fail when a postinst script exits with an error to make these sanity checks effective. All postinst scripts in packages from the LEDE core and the packages feed seem to work correctly with this change and will always return 0 unless something is very broken. [1] https://github.com/freifunk-gluon/gluon Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* rootfs: remove unnecessary and potentially harmful force flags from opkg callMatthias Schiffer2016-09-262-4/+1
| | | | | | | | | | | | Especially --force-overwrite and --force-depends will often lead to broken images; it's better to fail the build in such cases than to silently ignore the errors. Instead, ignore errors in the per-device rootfs opkg remove command, so the build doesn't break when packages can't be removed because of dependencies. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>